Support Binary Math Operators

Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
This commit is contained in:
Will Hawkins
2026-03-26 23:48:39 -04:00
parent 12ec6a77ed
commit fafc80553e
5 changed files with 430 additions and 20 deletions
+14
View File
@@ -102,6 +102,10 @@ export default grammar({
$.binaryGreaterThanEqualOperatorExpression,
$.binaryAndOperatorExpression,
$.binaryOrOperatorExpression,
$.binaryAddOperatorExpression,
$.binarySubtractOperatorExpression,
$.binaryMultiplyOperatorExpression,
$.binaryDivideOperatorExpression,
),
arrayAccessExpression: $ => seq($.expression, $.open_bracket, $.expression, $.close_bracket),
fieldAccessExpression: $=> prec.left(2, seq($.expression, $.field_access, $.identifier)),
@@ -115,6 +119,11 @@ export default grammar({
binaryAndOperatorExpression: $ => prec.left(2, seq($.expression, $.and, $.expression)),
binaryOrOperatorExpression: $ => prec.left(2, seq($.expression, $.or, $.expression)),
binaryAddOperatorExpression: $ => prec.left(2, seq($.expression, $.add, $.expression)),
binarySubtractOperatorExpression: $ => prec.left(2, seq($.expression, $.subtract, $.expression)),
binaryMultiplyOperatorExpression: $ => prec.left(2, seq($.expression, $.multiply, $.expression)),
binaryDivideOperatorExpression: $ => prec.left(2, seq($.expression, $.divide, $.expression)),
// Tokens
_semicolon: $ => ";",
colon: $ => ":",
@@ -178,6 +187,11 @@ export default grammar({
and: $=> "&&",
or: $=> "||",
add: $=> '+',
subtract: $=> '-',
multiply: $=> '*',
divide: $=> '/',
open_bracket: $=> '[',
close_bracket: $=> ']',
field_access: $=> '.',