私はANTLRの世界では非常に新しいので、この解析ツールを使用して一連の「ノイズの多い」文字列を解釈する方法を見つけようとしています。私が達成したいことは次のとおりです。
たとえば、次のフレーズを見てみましょう。It's 10PM and the Lazy CAT is currently SLEEPING heavily on the SOFA in front of the TV
私が抽出したいのはCAT
、SLEEPING
そしてSOFA
次のパターンに簡単に一致する文法を持っていることです: SUBJECT - VERB - INDIRECT OBJECT...どこで定義できるか
VERB : 'SLEEPING' | 'WALKING';
SUBJECT : 'CAT'|'DOG'|'BIRD';
INDIRECT_OBJECT : 'CAR'| 'SOFA';
など..永続的な「NoViableException」で終わりたくありません言語構造に関するすべての可能性を説明することはできません。無駄な言葉を切り裂いて、面白い言葉だけ残しておきたい。
トークナイザーがあり、パーサーに「OK、 SUBJECT
が見つかるまでストリームを読み、動詞が見つかるまで残りを無視するなど..」と尋ねた場合のようなものです。
たとえば、私は解釈できるようになりたいと思っています (私は、この完全に基本的で間違った '
SUBJECT - VERB - INDIRECT OBJECT
INDIRECT OBJECT - SUBJECT - VERB
だから私はまたはのような文を解析し
It's 10PM and the Lazy CAT is currently SLEEPING heavily on the SOFA in front of the TV
ます
It's 10PM and, on the SOFA in front of the TV, the Lazy CAT is currently SLEEPING heavily