def test_python_expr(self) -> None:
grammar = """
- start: expr NEWLINE? $ { ast.Expression(expr, lineno=1, col_offset=0) }
+ start: expr NEWLINE? $ { ast.Expression(expr) }
expr: ( expr '+' term { ast.BinOp(expr, ast.Add(), term, lineno=expr.lineno, col_offset=expr.col_offset, end_lineno=term.end_lineno, end_col_offset=term.end_col_offset) }
| expr '-' term { ast.BinOp(expr, ast.Sub(), term, lineno=expr.lineno, col_offset=expr.col_offset, end_lineno=term.end_lineno, end_col_offset=term.end_col_offset) }
| term { term }
def test_locations_in_alt_action_and_group(self) -> None:
grammar = """
- start: t=term NEWLINE? $ { ast.Expression(t, LOCATIONS) }
+ start: t=term NEWLINE? $ { ast.Expression(t) }
term:
| l=term '*' r=factor { ast.BinOp(l, ast.Mult(), r, LOCATIONS) }
| l=term '/' r=factor { ast.BinOp(l, ast.Div(), r, LOCATIONS) }