^^Python BNF.

Python modified BNF grammar notation python.org

used in the descriptions of lexical analysis and syntax.

 

| vertical bar separates alternatives
* asterisk 0 or more repetitions of the preceding item
+ plus 1 or more repetitions of the preceding item
[ ... ] brackets 0 or 1 occurrences, i.e. optional (the enclosed)
" ... "  quotes enclose literal strings
  white space only meaningful to separate tokens
( ... ) parentheses group
     

*+

operators bind as tightly as possible

|

operator least binding operator

 

digit ::=  "0"..."9"   in lexical definitions 2 literal characters separated by three dots mean a choice of any single character in the given (inclusive) range of ASCII characters.

 

There is a big difference between

Links

BNF Backus–Naur Form. EBNF Extended BNF.