2017-10-06 14 views
0

ANTLR4を構成する方法ではないは親クラスを生成しますか? ANTLR4は、このクラス名は、同様に任意の用途で使用されている必要があり、すべてのXXXContextのクラスの親クラスを生成するのでANTLR4:クラス階層を制御する方法は?

考えると文法MyGrammar

statement: 'do' | 'check'; 

ANTLR4は

class MyGrammar { 
    class StatementContext {} 
} 

を生成します。だから私は

MyGrammar.StatementContext node = ...; 

を記述する必要がありますし、単にそれが任意の可読性を追加しない余分な文字で自分のコードを汚染しますので、これは、取引の十分な大きさである

NodeContext node = ...; 

を書き込むことはできません。このように、可読性、したがって理解可能性およびデバッグ性などを低下させる。

だから、どのように私は文法を作ることができるMyGrammar

statement: 'do' | 'check'; 

はANTLR4は、そのような単純なよう

class StatementContext {} // look ma: no parent MyGrammar class! 
+0

[mcve]は正確な問題を理解するのに役立ちます。 –

答えて

0

を生成します:あなたは、クラスが生成される方法を変更することはできません。それは慎重に配置されたアンサンブルであり、多くのことを壊すことになる。

関連する問題