2017-01-23 66 views
1

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

如何为这种表示

+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; 
创建语法任何建议

就是这样的。考虑词法分析器和递归规则。