2017-01-23 9 views
1

私の入力テキストは、JSON配列のプレフィックス概念で書かれた式です。ここで、配列[0] は演算子であり、それ以降の項目は演算子のオペランドです。配列は入れ子にすることができるので、配列項目の1つが配列の場合は、まずそれを評価する必要があります。 例えば [ "+"、2、3] [ "+" [ "+"、1、1]、3]入れ子にされたJSON配列を解析するANTLR文法

この表現

+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; 
ための文法を作成する方法についての提案

そういうもの。レクサーと再帰的ルールについて考えてみましょう。

関連する問題