===== 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 = "-" | "_" .
}