aboutsummaryrefslogtreecommitdiff
path: root/Sil/Syntax.dcl
diff options
context:
space:
mode:
authorCamil Staps2017-07-30 09:53:24 +0200
committerCamil Staps2017-07-30 09:53:24 +0200
commitad519a42876796f969900e687cea80c799dd40ec (patch)
tree608f3250dc4924be286d3c296f74db9bfed5dabd /Sil/Syntax.dcl
parentReorganise: make Position a field in Syntax types (diff)
Add positions to Statements
Diffstat (limited to 'Sil/Syntax.dcl')
-rw-r--r--Sil/Syntax.dcl13
1 files changed, 7 insertions, 6 deletions
diff --git a/Sil/Syntax.dcl b/Sil/Syntax.dcl
index b298c19..4f0ddf9 100644
--- a/Sil/Syntax.dcl
+++ b/Sil/Syntax.dcl
@@ -38,12 +38,12 @@ from Sil.Util.Parser import :: ParsePosition, class getPos
}
:: Statement
- = Declaration Name Expression
- | Application Expression
- | Return (Maybe Expression)
- | If [(Expression, CodeBlock)] (Maybe CodeBlock)
- | While Expression CodeBlock
- | MachineStm String
+ = Declaration ParsePosition Name Expression
+ | Application ParsePosition Expression
+ | Return ParsePosition (Maybe Expression)
+ | If ParsePosition [(Expression, CodeBlock)] (Maybe CodeBlock)
+ | While ParsePosition Expression CodeBlock
+ | MachineStm ParsePosition String
:: Expression
= Name Name
@@ -90,6 +90,7 @@ instance toString Literal
instance getPos Function
instance getPos Initialisation
+instance getPos Statement
class allStatements a :: a -> [Statement]
instance allStatements Program