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] | … | …;
このトピックの追加情報については、以下のトピックも合わせてご参照ください。