made some interfaces exportable and fixed/enhaaced some selector operator versions
This commit is contained in:
@@ -12,10 +12,10 @@ import (
|
||||
//-------- parser
|
||||
|
||||
type parser struct {
|
||||
ctx exprContext
|
||||
ctx ExprContext
|
||||
}
|
||||
|
||||
func NewParser(ctx exprContext) (p *parser) {
|
||||
func NewParser(ctx ExprContext) (p *parser) {
|
||||
p = &parser{
|
||||
ctx: ctx,
|
||||
}
|
||||
@@ -246,9 +246,9 @@ func (self *parser) parseGeneral(scanner *scanner, allowForest bool, allowVarRef
|
||||
currentTerm, err = tree.addToken2(tk)
|
||||
}
|
||||
case SymQuestion:
|
||||
if selectorTerm != nil {
|
||||
/*if selectorTerm != nil {
|
||||
err = tk.Errorf("nested selectors must be enclosed in parentheses")
|
||||
} else if selectorTerm, err = self.parseSelector(scanner, tree, allowVarRef); err == nil {
|
||||
} else*/if selectorTerm, err = self.parseSelector(scanner, tree, allowVarRef); err == nil {
|
||||
currentTerm = selectorTerm
|
||||
}
|
||||
case SymColon, SymDoubleColon:
|
||||
@@ -259,6 +259,9 @@ func (self *parser) parseGeneral(scanner *scanner, allowForest bool, allowVarRef
|
||||
selectorTerm.children = append(selectorTerm.children, caseTerm)
|
||||
caseTerm.parent = selectorTerm
|
||||
currentTerm = caseTerm
|
||||
if tk.Sym == SymDoubleColon {
|
||||
selectorTerm = nil
|
||||
}
|
||||
}
|
||||
//resetSelector = tk.Sym == SymDoubleColon
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user