私はANTLRを初めて使用し、ANTLRを使用して入力を検証することについての基本的な理解を持っていますが、要件を満たしていない方法もあります。私の要件は基本的に、完全な文字列の一部を検証することです。私の入力は、ヘッダー、学生データ、学校データ、フッターの 4 つのセクションに分割されます。サンプルデータは次のようになります
HEADER,MYDATA STUDENT,NAME,ROLLNO SCHOOL,NAME,ADDRESS STUDENT,NAME,ROLLNO SCHOOL,NAME,ADDRESS FOOTER
HEADER、SCHOOL、STUDENTは異なるトークンになります
文法ファイルが一般的です。各セクションは異なるプロセスを介して提供されます。たとえば、ANTLR文法に基づいたヘッダーの詳細のみ、および学生、学校、フッターの詳細のみを検証するにはどうすればよいですか???
ANTLRStringStream を介して入力として部分的なデータ (ヘッダー データの例) のみを渡すと、NoViableException で失敗します。