===== EBNF Example 1 ===== "EBNF defined in itself" { syntax = [ title ] "{" { production } "}" [ comment ]. production = identifier "=" expression ( "." | ";" ) . expression = term { "|" term } . term = factor { factor } . factor = identifier | literal | "[" expression "]" | "(" expression ")" | "{" expression "}" . identifier = character { character } . title = literal . comment = literal . literal = "'" character { character } "'" | '"' character { character } '"' . } ===== EBNF Example 2 ===== "Backus-Naur Form" { syntax = rule [ syntax ] . rule = opt-ws identifier opt-ws "::=" opt-ws expression opt-ws EOL . expression = list [ "|" expression ] . line-end = opt-ws EOL | line-end line-end . list = term [ WHITESPACE list ] . term = literal | identifier . identifier = "<" character {character} ">" . literal = "'" {character} "'" | '"' {character} '"' . opt-ws = { WHITESPACE } . character = lowercase-char | uppercase-char | digit | special-char . lowercase-char = "a" | "b" | "..." | "z" . uppercase-char = "A" | "B" | "..." | "Z" . digit = "0" | "1" | "..." | "2" . special-char = "-" | "_" . }