用于解析嵌套JSON数组的ANTLR语法

时间:2017-01-23 19:39:08

标签: antlr4

我的输入文本是在JSON数组中以前缀概念编写的表达式。其中数组[0] 是运算符,之后的任何项都是运算符的操作数。数组可以嵌套,所以如果其中一个数组是一个数组,我必须先评估它。 例 [“+”,2,3] [“+”,[“+”,1,1],3]

有关如何为此表示法创建语法的任何建议

1 个答案:

答案 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;

这样的事情。想想词法分析器和递归规则。