2017-01-23 2 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; 

Что-то в этом роде. Подумайте о лексерах и рекурсивных правилах.

Смежные вопросы