1
我的输入文本是用JSON数组中的前缀概念编写的表达式。其中array [0] 是运算符,并且之后的任何项都是运算符的操作数。数组可以嵌套,所以如果其中一个数组项是一个数组,我必须先评估它。 例如 [ “+”,2,3] [ “+”,[ “+”,1,1],3]ANTLR语法解析嵌套的JSON数组
如何为这种表示
我的输入文本是用JSON数组中的前缀概念编写的表达式。其中array [0] 是运算符,并且之后的任何项都是运算符的操作数。数组可以嵌套,所以如果其中一个数组项是一个数组,我必须先评估它。 例如 [ “+”,2,3] [ “+”,[ “+”,1,1],3]ANTLR语法解析嵌套的JSON数组
如何为这种表示
// lexer rules:
expression:
NUMBER
|'[' OPERATOR (',' expression)* ']';
// parser rules:
QUOTE: '"';
NUMBER: '0-9'+; // not that simple
OPERATOR_PLUS: '+';
OPERATOR_MINUS: '-';
...
OPERATOR: QUOTE (OPERATOR_PLUS | OPERATOR_MINUS | ...) QUOTE;
创建语法任何建议
就是这样的。考虑词法分析器和递归规则。
你为什么不先试试自己?如果遇到问题,您可以发表您的语法并提出具体的问题。 –