| Meta-symbols of BNF
| |
| ::= | stands for ‘is defined as’ |
| | | stands for ‘or’ |
| category-names | non-terminal symbols |
| Extra meta-symbols of EBNF
| |
| [] | optional items |
| {} | repetative items |
| real | ::= | (integer | decimal)? ’E’ integer |
| decimal | ::= | integer ’.’ integer | integer ’.’ | ’.’ integer |
| integer | ::= | digit+ |
| digit | ::= | ‘0’ | ‘1’ | ‘2’ | ‘3’ | ‘4’ | ‘5’ | ‘6’ | ‘7’ | ‘8’ | ‘9’ |
Derivation:
| real | ![]() | decimal ‘E’ integer |
![]() | integer ‘.’ integer ‘E’ integer | |
![]() | digit+ ‘.’ digit+ ‘E’ digit+ | |
![]() | ‘12.3E45’ |
Derivation tree:
real
| +-------+---+----+ | | | decimal | | | | | +----+-----+ | | | | | | | integer | integer | integer | | | | | digit+ | digit+ | digit+ | | | | | +-+-+ | | | +-+-+ | | | | | | | 1 2 . 3 E 4 5 |