aboutsummaryrefslogtreecommitdiff
path: root/ABC/Def.dcl
diff options
context:
space:
mode:
authorCamil Staps2016-07-01 19:37:38 +0200
committerCamil Staps2016-07-01 19:37:38 +0200
commitb3f1e3ff0404a5182b6eed2d88014b4b4fbd69c2 (patch)
treec2dbd5b0a43fffc6119510bdc2f5324aa3a0e3b5 /ABC/Def.dcl
parentAssembler (diff)
Moved to directory, added test program
Diffstat (limited to 'ABC/Def.dcl')
-rw-r--r--ABC/Def.dcl31
1 files changed, 31 insertions, 0 deletions
diff --git a/ABC/Def.dcl b/ABC/Def.dcl
new file mode 100644
index 0000000..db2c0c0
--- /dev/null
+++ b/ABC/Def.dcl
@@ -0,0 +1,31 @@
+definition module ABC.Def
+
+from ABC.AStack import ::AStack
+from ABC.BStack import ::BStack
+from ABC.CStack import ::CStack
+from ABC.GraphStore import ::GraphStore, ::DescStore
+from ABC.Program import ::ProgramStore
+from ABC.IO import ::IO
+
+:: State = { astack :: AStack
+ , bstack :: BStack
+ , cstack :: CStack
+ , graphstore :: GraphStore
+ , descstore :: DescStore
+ , pc :: InstrId
+ , program :: ProgramStore
+ , io :: IO
+ }
+
+:: NodeId :== Int
+:: NrArgs :== Int
+:: ArgNr :== Int
+:: DescId :== Int
+:: InstrId :== Int
+:: Name :== String
+:: Arity :== Int
+
+:: Instruction :== State -> State
+
+:: APEntry :== InstrId
+:: Args :== [NodeId]