From 753f429ec8a6a789db2b6ff2a4dc6249bf9b0cff Mon Sep 17 00:00:00 2001 From: VegOwOtenks Date: Fri, 21 Feb 2025 17:26:27 +0100 Subject: [PATCH] Enabled structure access --- src/Ubc/Parse/Syntax/Expression.hs | 3 +++ src/Ubc/Parse/Syntax/Operators.hs | 1 + 2 files changed, 4 insertions(+) diff --git a/src/Ubc/Parse/Syntax/Expression.hs b/src/Ubc/Parse/Syntax/Expression.hs index 55dc542..3bff8ad 100644 --- a/src/Ubc/Parse/Syntax/Expression.hs +++ b/src/Ubc/Parse/Syntax/Expression.hs @@ -30,6 +30,9 @@ data Expression = Binary BinaryOperator Expression Expression operatorTable :: Monad m => [[Operator String u m Expression]] operatorTable = [ + [ Infix (UbcLanguage.reservedOperator "." $> Binary StructureAccess) AssocLeft + ] + , [ Infix (UbcLanguage.reservedOperator "*" $> Binary Multiply) AssocLeft , Infix (UbcLanguage.reservedOperator "/" $> Binary Divide) AssocLeft , Infix (UbcLanguage.reservedOperator "%" $> Binary Modulo) AssocLeft diff --git a/src/Ubc/Parse/Syntax/Operators.hs b/src/Ubc/Parse/Syntax/Operators.hs index 435a57b..5ae7fe7 100644 --- a/src/Ubc/Parse/Syntax/Operators.hs +++ b/src/Ubc/Parse/Syntax/Operators.hs @@ -26,4 +26,5 @@ data BinaryOperator = Plus | LogicAnd | LogicOr | Assign + | StructureAccess deriving (Show)