; ::= (program *) ; ::= (def ( *) ) ; ::= | ; ::= | (begin +) ; ::= ; | ; | ; | ; | ; | ; | ; ::= ( (+) ) ; | (= (+) ) ; | (expr ) ; ::= "+=" | "-=" | "*=" | "/=" | "%=" ; | "&=" | "|=" | "^=" | "<<=" | ">>=" | "**=" | "//=" ; ::= (del ) ; ::= (pass) ; ::= | | | ; ::= (break) ; ::= (continue) ; ::= (return *) ; ::= (raise [ [ ] ]) ; ::= (global +) ; ::= (nonlocal +) ; ::= (assert [ ]) ; ::= | | | | ; ::= (cond ( )+ [ (else ) ]) ; ::= (while [ ]) ; ::= (for [ ]) ; ::= (try (( )*) ) ; ::= | #f ; ::= | #f ; ::= (except [ [ ] ]) ; ::= | (suite +) ; ::= (if ) ; | ; | ; ::= (lambda (*) ) ; ::= | (or +) ; ::= | (and +) ; ::= | (not ) ; ::= | (comparison ( )+) ; ::= "<" | ">" | "==" | ">=" | "<=" | "<>" | "!= " | "in" ; | "not-in" | "is" | "is-not" ; ::= | (star ) ; ::= | (bitwise-or +) ; ::= | (bitwise-xor +) ; ::= | (bitwise-and +) ; ::= | (shift ( )+) ; ::= "<<" | ">>" ; ::= | (arith ( )+) ; ::= "+" | "-" ; ::= | (term ( )+) ; ::= "*" | "/" | "%" | "//" ; ::= | ( ) ; ::= "+" | "-" | "~" ; ::= | (indexed +) ; ::= | (power ) ; ::= | (tuple) ; | (list [ ]) ; | ; | ; | ; | ; | ; | Ellipsis ; | None ; | True ; | False ; ::= (called [ ]) ; | (subscript ) ; | (dot ) ; ::= + ; ::= | (tuple +) ; ::= (dict ( )*) ; ::= (set *) ; ::= +