aboutsummaryrefslogtreecommitdiff
path: root/ABC/Machine/CStack.dcl
diff options
context:
space:
mode:
Diffstat (limited to 'ABC/Machine/CStack.dcl')
-rw-r--r--ABC/Machine/CStack.dcl15
1 files changed, 15 insertions, 0 deletions
diff --git a/ABC/Machine/CStack.dcl b/ABC/Machine/CStack.dcl
new file mode 100644
index 0000000..cab2466
--- /dev/null
+++ b/ABC/Machine/CStack.dcl
@@ -0,0 +1,15 @@
+definition module ABC.Machine.CStack
+
+from StdOverloaded import class toString
+from ABC.Machine.Def import ::InstrId
+
+:: CSrc :== Int
+:: CDst :== Int
+:: CStack (:== [InstrId])
+
+instance toString CStack
+
+cs_init :: CStack
+cs_get :: CSrc CStack -> InstrId
+cs_popn :: CSrc CStack -> CStack
+cs_push :: InstrId CStack -> CStack