0
我想能够使用“NULL”既是参数(价值空),并在我的语法一个函数名。看到这个减少的例子:ANTLR:解析NULL作为函数的名称和参数
grammar test;
expr
: value # valueExpr
| FUNCTION_NAME '(' (expr (',' expr)*)* ')' # functionExpr
;
value
: INT
| 'NULL'
;
FUNCTION_NAME
: [a-zA-Z] [a-zA-Z0-9]*
;
INT: [0-9]+;
现在,试图解析:解析树失败
NULL(1)
的结果,因为它解析为NULL值,而不是一个函数名。
理想情况下,我甚至应该能够解析NULL(NULL)
..
你能告诉我,如果这是可能的,如果是,如何做到这一点?