parser: token '()' returns error
This commit is contained in:
parent
116b54836f
commit
75a3f220df
16
parser.go
16
parser.go
@ -455,15 +455,6 @@ func (parser *parser) parseGeneral(scanner *scanner, ctx parserContext, termSymb
|
||||
//fmt.Println("Token:", tk)
|
||||
if firstToken {
|
||||
changePrefix(tk)
|
||||
// if tk.Sym == SymMinus {
|
||||
// tk.Sym = SymChangeSign
|
||||
// } else if tk.Sym == SymPlus {
|
||||
// tk.Sym = SymUnchangeSign
|
||||
// } else if tk.IsSymbol(SymStar) {
|
||||
// tk.SetSymbol(SymDereference)
|
||||
// } else if tk.IsSymbol(SymExclamation) {
|
||||
// tk.SetSymbol(SymNot)
|
||||
// }
|
||||
firstToken = false
|
||||
}
|
||||
|
||||
@ -471,12 +462,13 @@ func (parser *parser) parseGeneral(scanner *scanner, ctx parserContext, termSymb
|
||||
case SymOpenRound:
|
||||
var subTree *ast
|
||||
if subTree, err = parser.parseGeneral(scanner, ctx, SymClosedRound); err == nil {
|
||||
if subTree.root == nil {
|
||||
err = tk.ErrorExpectedGotString("expression", "()")
|
||||
} else {
|
||||
exprTerm := newExprTerm(subTree.root)
|
||||
err = tree.addTerm(exprTerm)
|
||||
currentTerm = exprTerm
|
||||
// subTree.root.priority = priValue
|
||||
// err = tree.addTerm(newExprTerm(subTree.root))
|
||||
// currentTerm = subTree.root
|
||||
}
|
||||
}
|
||||
case SymFuncCall:
|
||||
var funcCallTerm *term
|
||||
|
||||
@ -147,3 +147,15 @@ func TestGeneralParser(t *testing.T) {
|
||||
// runTestSuiteSpec(t, section, inputs, 114)
|
||||
runTestSuite(t, section, inputs)
|
||||
}
|
||||
|
||||
func TestSpecialParser(t *testing.T) {
|
||||
section := "Parser"
|
||||
|
||||
inputs := []inputType{
|
||||
/* 1 */ {`()`, nil, `[1:2] expected expression, got "()"`},
|
||||
}
|
||||
|
||||
// t.Setenv("EXPR_PATH", ".")
|
||||
// runTestSuiteSpec(t, section, inputs, 114)
|
||||
runTestSuite(t, section, inputs)
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user