Hello. In 'augop' non-terminal : http://docs.python.org/ref/augassign.html the delimiter '//=' was skipped. Why? In 'Boolean operations': http://docs.python.org/ref/Booleans.html In 'expression' rule - what does 'if', 'else' mean? I guess 'if' and 'else' must be keywords, not non-terminals.