我的输入文本是在JSON数组中以前缀概念编写的表达式。其中数组[0] 是运算符,之后的任何项都是运算符的操作数。数组可以嵌套,所以如果其中一个数组是一个数组,我必须先评估它。 例 [“+”,2,3] [“+”,[“+”,1,1],3]
有关如何为此表示法创建语法的任何建议
答案 0 :(得分:0)
// 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;
这样的事情。想想词法分析器和递归规则。