Skip to content

Commit

Permalink
make all infix expressions right-associative
Browse files Browse the repository at this point in the history
  • Loading branch information
tek committed Apr 8, 2024
1 parent 02f67ba commit 215cbfa
Show file tree
Hide file tree
Showing 5 changed files with 84 additions and 84 deletions.
2 changes: 1 addition & 1 deletion grammar/precedences.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ module.exports = {
'prefix',
'apply',
'negation-reduce',
'infix-reduce',
'infix',
'infix-reduce',
'fun',
'implicit',
'annotated',
Expand Down
72 changes: 36 additions & 36 deletions test/corpus/exp.txt
Original file line number Diff line number Diff line change
Expand Up @@ -296,15 +296,15 @@ a = (+ a A.+ a)
(exp_section_right
(operator)
(exp_infix
(exp_name
(variable))
(operator)
(exp_infix
(exp_name
(variable))
(operator)
(exp_name
(variable)))
(operator)
(exp_name
(variable)))))
(variable))))))
(function
(variable)
(exp_section_right
Expand Down Expand Up @@ -442,19 +442,19 @@ a = (a A.A.+ a A.A.+)
(variable)
(exp_section_left
(exp_infix
(exp_name
(variable))
(operator)
(exp_infix
(exp_name
(variable))
(operator)
(exp_infix
(exp_name
(variable))
(operator)
(exp_name
(variable)))
(operator)
(exp_name
(variable)))
(operator)
(exp_name
(variable)))
(variable)))))
(operator)))
(function
(variable)
Expand Down Expand Up @@ -619,19 +619,19 @@ a = (a + a)
(function
(variable)
(exp_infix
(exp_name
(constructor))
(operator)
(exp_infix
(exp_name
(variable))
(operator)
(exp_infix
(exp_name
(constructor))
(exp_literal
(string))
(operator)
(exp_name
(variable)))
(operator)
(exp_literal
(string)))
(operator)
(exp_name
(variable))))
(variable))))))
(function
(variable)
(exp_do
Expand Down Expand Up @@ -677,27 +677,27 @@ a = a . a $ a
(function
(variable)
(exp_infix
(exp_name
(variable))
(operator)
(exp_infix
(exp_name
(variable))
(operator)
(exp_name
(variable)))
(operator)
(exp_name
(variable))))
(variable)))))
(function
(variable)
(exp_infix
(exp_name
(variable))
(operator)
(exp_infix
(exp_name
(variable))
(operator)
(exp_name
(variable)))
(operator)
(exp_name
(variable))))))
(variable)))))))

================================================================================
exp: infix con/var
Expand Down Expand Up @@ -838,15 +838,15 @@ a = \ a a a -> a <$> a <*> a
(pat_name
(variable)))
(exp_infix
(exp_name
(variable))
(constructor_operator)
(exp_infix
(exp_name
(variable))
(constructor_operator)
(exp_name
(variable)))
(constructor_operator)
(exp_name
(variable)))))
(variable))))))
(function
(variable)
(exp_lambda
Expand All @@ -858,15 +858,15 @@ a = \ a a a -> a <$> a <*> a
(pat_name
(variable)))
(exp_infix
(exp_name
(variable))
(operator)
(exp_infix
(exp_name
(variable))
(operator)
(exp_name
(variable)))
(operator)
(exp_name
(variable)))))))
(variable))))))))

================================================================================
exp: parenthesized infix
Expand Down
40 changes: 20 additions & 20 deletions test/corpus/pat.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@ a a (a:a : as) (a, a, (a, [a])) = a
(variable))
(pat_parens
(pat_infix
left_operand: (pat_infix
left_operand: (pat_name
(variable))
operator: (constructor_operator)
right_operand: (pat_infix
left_operand: (pat_name
(variable))
operator: (constructor_operator)
right_operand: (pat_name
(variable)))
operator: (constructor_operator)
right_operand: (pat_name
(variable))))
(variable)))))
(pat_tuple
(pat_name
(variable))
Expand Down Expand Up @@ -589,16 +589,16 @@ a == a + a = a
(declarations
(top_splice
(exp_infix
(exp_infix
(exp_name
(variable))
(operator)
(exp_name
(variable)))
(exp_name
(variable))
(operator)
(exp_apply
(exp_name
(variable))
(exp_infix
(exp_name
(variable))
(operator)
(exp_name
(variable)))
(ERROR)
(exp_name
(variable)))))))
Expand Down Expand Up @@ -1356,6 +1356,12 @@ a (A a A.:++ A a) = a
(patterns
(pat_parens
(pat_infix
(pat_name
(variable))
(qualified_operator
(module)
(module)
(constructor_operator))
(pat_infix
(pat_name
(variable))
Expand All @@ -1364,13 +1370,7 @@ a (A a A.:++ A a) = a
(module)
(constructor_operator))
(pat_name
(variable)))
(qualified_operator
(module)
(module)
(constructor_operator))
(pat_name
(variable)))))
(variable))))))
(exp_name
(variable)))
(function
Expand Down
46 changes: 23 additions & 23 deletions test/corpus/prec.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1476,6 +1476,12 @@ a = a a + a a - a a
(function
(variable)
(exp_infix
(exp_apply
(exp_name
(variable))
(exp_name
(variable)))
(operator)
(exp_infix
(exp_apply
(exp_name
Expand All @@ -1487,13 +1493,7 @@ a = a a + a a - a a
(exp_name
(variable))
(exp_name
(variable))))
(operator)
(exp_apply
(exp_name
(variable))
(exp_name
(variable)))))
(variable))))))
(function
(variable)
(exp_infix
Expand Down Expand Up @@ -1698,6 +1698,21 @@ a = A.A.a A.A.a A.A.+++ A.A.a A.A.a A.A.+++ A.A.a A.A.a
(function
(variable)
(exp_infix
(exp_apply
(exp_name
(qualified_variable
(module)
(module)
(variable)))
(exp_name
(qualified_variable
(module)
(module)
(variable))))
(qualified_operator
(module)
(module)
(operator))
(exp_infix
(exp_apply
(exp_name
Expand All @@ -1724,19 +1739,4 @@ a = A.A.a A.A.a A.A.+++ A.A.a A.A.a A.A.+++ A.A.a A.A.a
(qualified_variable
(module)
(module)
(variable)))))
(qualified_operator
(module)
(module)
(operator))
(exp_apply
(exp_name
(qualified_variable
(module)
(module)
(variable)))
(exp_name
(qualified_variable
(module)
(module)
(variable))))))))
(variable)))))))))
8 changes: 4 additions & 4 deletions test/corpus/th.txt
Original file line number Diff line number Diff line change
Expand Up @@ -86,15 +86,15 @@ f = $(a . a $ a)
(splice
(exp_parens
(exp_infix
(exp_name
(variable))
(operator)
(exp_infix
(exp_name
(variable))
(operator)
(exp_name
(variable)))
(operator)
(exp_name
(variable))))))))
(variable)))))))))

================================================================================
th: inline typed splice
Expand Down

0 comments on commit 215cbfa

Please sign in to comment.