基本的な知識が不足しています。今日ATLRで遊んで始めましたが、次の方法を教えてくれるソースがありませんでした。
私のプログラムが現在非常に醜い方法で読み取っている構成ファイルを解析したいと思います。基本的には次のようになります。
A [Data] [Data]
B [Data] [Data] [Data]
ここで、A / B / ...は、関連するデータが続くオブジェクトです(動的量、単純な数字のみ)。文法はそれほど難しいものではありませんが、ANTLRを今どのように使用するのですか?
- レクサーのみ:A / Bはトークンであり、彼が読んだトークンを要求します。これを尋ねる方法と、不正な入力を検出する方法は?
- レクサーとパーサー:A/Bはパーサールールです...パーサーが正常にA/Bを処理したことを知る方法は?同じオブジェクトがファイルに複数回表示される可能性があるため、すべてを考慮する必要があります。これは、構成ファイルにインスタンスをリストするようなものです。
編集:私の問題は文法ではなく、パーサー/レクサーが実際に見つけた/解析したものをどのように通知するかです。最良の方法は次のとおりです。再帰下降のようなルールを認識したときに関数を呼び出す