aboutsummaryrefslogtreecommitdiff
path: root/ABC/Machine/Def.dcl
diff options
context:
space:
mode:
authorCamil Staps2016-07-05 17:25:10 +0200
committerCamil Staps2016-07-05 17:25:10 +0200
commitceb0b74bd0b368124679378ebfb2cf316deb2e39 (patch)
tree7f5c562952bcf0427d838274177123765fe93cf5 /ABC/Machine/Def.dcl
parentProgramStore as array for efficiency (diff)
Added Machine as module level
Diffstat (limited to 'ABC/Machine/Def.dcl')
-rw-r--r--ABC/Machine/Def.dcl31
1 files changed, 31 insertions, 0 deletions
diff --git a/ABC/Machine/Def.dcl b/ABC/Machine/Def.dcl
new file mode 100644
index 0000000..ba36fb6
--- /dev/null
+++ b/ABC/Machine/Def.dcl
@@ -0,0 +1,31 @@
+definition module ABC.Machine.Def
+
+from ABC.Machine.AStack import ::AStack
+from ABC.Machine.BStack import ::BStack
+from ABC.Machine.CStack import ::CStack
+from ABC.Machine.GraphStore import ::GraphStore, ::DescStore
+from ABC.Machine.Program import ::ProgramStore
+from ABC.Machine.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]