Skip to content
Snippets Groups Projects
Commit cbe794fb authored by Stéphane Del Pino's avatar Stéphane Del Pino
Browse files

Fix operator precedence

AST was not rearranged correctly
parent 3765c811
No related branches found
No related tags found
1 merge request!37Feature/language
...@@ -233,7 +233,7 @@ using selector = ...@@ -233,7 +233,7 @@ using selector =
for_statement, for_statement,
break_kw, break_kw,
continue_kw>, continue_kw>,
ASTBuilder::rearrange::on<product, affectation, expression>, ASTBuilder::rearrange::on<logical_or, logical_and, bitwise_xor, equality, compare, sum, product, affectation, expression>,
ASTBuilder::simplify_unary:: ASTBuilder::simplify_unary::
on<unary_minus, unary_plus, unary_not, function_evaluation, type_expression, unary_expression>, on<unary_minus, unary_plus, unary_not, function_evaluation, type_expression, unary_expression>,
parse_tree::remove_content::on<plus_op, parse_tree::remove_content::on<plus_op,
......
...@@ -170,39 +170,39 @@ string s; s = "foo"; ...@@ -170,39 +170,39 @@ string s; s = "foo";
std::string_view result = R"( std::string_view result = R"(
(root) (root)
`-(language::or_op)
+-(language::or_op)
| +-(language::and_op)
| | +-(language::plus_op)
| | | +-(language::integer:1)
| | | `-(language::integer:2)
| | `-(language::eqeq_op)
| | +-(language::lesser_or_eq_op)
| | | +-(language::integer:3)
| | | `-(language::minus_op)
| | | +-(language::multiply_op)
| | | | +-(language::integer:2)
| | | | `-(language::integer:4)
| | | `-(language::integer:1)
| | `-(language::integer:2)
| `-(language::and_op)
| +-(language::xor_op)
| | +-(language::greater_or_eq_op)
| | | +-(language::integer:2)
| | | `-(language::divide_op)
| | | +-(language::integer:1)
| | | `-(language::integer:5)
| | `-(language::integer:7)
| `-(language::integer:2)
`-(language::xor_op)
+-(language::greater_op)
| +-(language::lesser_op)
| | +-(language::integer:2)
| | `-(language::integer:3)
| `-(language::integer:7)
`-(language::minus_op) `-(language::minus_op)
+-(language::plus_op) +-(language::plus_op)
| +-(language::xor_op) | +-(language::unary_minus)
| | +-(language::greater_op)
| | | +-(language::lesser_op)
| | | | +-(language::or_op)
| | | | | +-(language::and_op)
| | | | | | +-(language::xor_op)
| | | | | | | +-(language::greater_or_eq_op)
| | | | | | | | +-(language::or_op)
| | | | | | | | | +-(language::eqeq_op)
| | | | | | | | | | +-(language::minus_op)
| | | | | | | | | | | +-(language::lesser_or_eq_op)
| | | | | | | | | | | | +-(language::and_op)
| | | | | | | | | | | | | +-(language::plus_op)
| | | | | | | | | | | | | | +-(language::integer:1)
| | | | | | | | | | | | | | `-(language::integer:2)
| | | | | | | | | | | | | `-(language::integer:3)
| | | | | | | | | | | | `-(language::multiply_op)
| | | | | | | | | | | | +-(language::integer:2)
| | | | | | | | | | | | `-(language::integer:4)
| | | | | | | | | | | `-(language::integer:1)
| | | | | | | | | | `-(language::integer:2)
| | | | | | | | | `-(language::integer:2)
| | | | | | | | `-(language::divide_op)
| | | | | | | | +-(language::integer:1)
| | | | | | | | `-(language::integer:5)
| | | | | | | `-(language::integer:7)
| | | | | | `-(language::integer:2)
| | | | | `-(language::integer:2)
| | | | `-(language::integer:3)
| | | `-(language::integer:7)
| | `-(language::unary_minus)
| | `-(language::integer:2) | | `-(language::integer:2)
| `-(language::true_kw) | `-(language::true_kw)
`-(language::unary_not) `-(language::unary_not)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment