diff options
Diffstat (limited to 'src/SPL/Syntax.hs')
-rw-r--r-- | src/SPL/Syntax.hs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/SPL/Syntax.hs b/src/SPL/Syntax.hs index e40d47c..f52b866 100644 --- a/src/SPL/Syntax.hs +++ b/src/SPL/Syntax.hs @@ -30,15 +30,17 @@ data Type = TInt | TBool | TChar + | TVoid | TList Type | TTuple Type Type | TArrow [Type] Type + | TVar Name deriving (Show) data Statement = If Expression Statement (Maybe Statement) | While Expression Statement - | Assign Name Expression + | Assign Name [Field] Expression | Eval Expression | Return (Maybe Expression) | Seq Statement Statement @@ -46,7 +48,8 @@ data Statement deriving (Show) data Expression - = Field Name Field + = Var Name + | Field Expression Field | Op2 Expression Op2 Expression | Op1 Op1 Expression | Literal Literal |