フォームのクラスを認識する(簡略化された)文法を使用する
classDeclaration
: Class className=Identifier
( Extends parentClassIdentifier=PackageIdentifier )?
( classSpecifier )*
Semicolon
;
classSpecifier
: ( Abstract | Final )
| /* ... */
;
クラスを簡単に作成して、抽象的かつ最終的なものにすることができます
class MyContradiction abstract final;
私の現在の文法では、これらのキーワードのいくつかを組み合わせても意味がありません。意味をなさない組み合わせを確認するにはどうすればよいですか。ひどいループとチェックを含めることでこれを防ぐために文法を変更する必要がありますか、それともリスナーまたはビジターを使用して、設定されているフラグと意味のないフラグを使用してコードをチェックインする必要がありますか?