Start =
[UsingStatements], (NamespaceDeclaration | TypeDeclaration);
TypeDeclaration =
ClassDeclaration
| StructDeclaration
| InterfaceDeclaration
| EnumDeclaration
| DelegateDeclaration;
このトピックは、EBNF ファイルの読みやすさを向上する方法を説明します。
このトピックをより理解するために、以下のトピックを参照することをお勧めします。
以下は、EBNF コードの見せる役割を向上する方法を提供します。
各非終端記号を新しい行の左側で開始し、各ルート レベルのオプションを新しいインデントされた行で開始します。
Start =
[UsingStatements], (NamespaceDeclaration | TypeDeclaration);
TypeDeclaration =
ClassDeclaration
| StructDeclaration
| InterfaceDeclaration
| EnumDeclaration
| DelegateDeclaration;
ルート レベルのオプションが連結の長いリストを含む場合、リストの部分を次の行に移動し、用語が 1 行にあることを確認してインデントします。
ClassDeclaration =
[Attributes], [Modifiers], [PartialKeyword], ClassKeyword, Identifier,
[TypeParameterList], [BaseList], [TypeParameterConstraintClauses],
OpenBrace, ClassMembers, CloseBrace, [Semicolon]
| …
| …;
このトピックの追加情報については、以下のトピックも合わせてご参照ください。