我的输入文本是用JSON数组中的前缀表示法编写的表达式。其中array是运算符,其后的任何项都是运算符的操作数。数组可以嵌套,因此如果数组项之一是数组,我必须首先计算该数组项。示例"+",2,3"+","+",1,1,3]
关于如何为该表示创建语法的任何建议
发布于 2017-01-25 07:12:41
// 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;
差不多吧。考虑词法分析器和递归规则。
https://stackoverflow.com/questions/41814269
复制