Skip to content

Commit d83d1bc

Browse files
committed
ENH: Implemented order of operations with parentheses for algebraic expressions
1 parent 0972a3e commit d83d1bc

2 files changed

Lines changed: 5 additions & 2 deletions

File tree

dataframe_sql/grammar/sql.grammar

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,10 @@ column_name: [NAME "."] NAME
5959
| expression_product "/" expression_parens -> expression_div
6060

6161
?expression_parens: expression
62-
| "(" expression_parens "*" expression ")"
62+
| "(" expression_parens "*" expression ")" -> expression_mul
63+
| "(" expression_parens "/" expression ")" -> expression_div
64+
| "(" expression_parens "+" expression ")" -> expression_add
65+
| "(" expression_parens "-" expression ")" -> expression_sub
6366

6467
?expression: [NAME "."] (NAME | STAR) -> column_name
6568
| literal

dataframe_sql/tests/pandas_sql_functionality_test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1433,6 +1433,6 @@ def test_order_of_operations_with_parens():
14331433
if __name__ == "__main__":
14341434
register_env_tables()
14351435

1436-
test_sum()
1436+
test_order_of_operations_with_parens()
14371437

14381438
remove_env_tables()

0 commit comments

Comments
 (0)