diff options
author | Camil Staps | 2016-07-05 17:25:10 +0200 |
---|---|---|
committer | Camil Staps | 2016-07-05 17:25:10 +0200 |
commit | ceb0b74bd0b368124679378ebfb2cf316deb2e39 (patch) | |
tree | 7f5c562952bcf0427d838274177123765fe93cf5 /ABC/Machine/BStack.dcl | |
parent | ProgramStore as array for efficiency (diff) |
Added Machine as module level
Diffstat (limited to 'ABC/Machine/BStack.dcl')
-rw-r--r-- | ABC/Machine/BStack.dcl | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/ABC/Machine/BStack.dcl b/ABC/Machine/BStack.dcl new file mode 100644 index 0000000..488ed75 --- /dev/null +++ b/ABC/Machine/BStack.dcl @@ -0,0 +1,38 @@ +definition module ABC.Machine.BStack + +from StdOverloaded import class ==, class toString +from ABC.Machine.Def import ::NrArgs + +:: Basic = Int Int + | Bool Bool + +instance == Basic +instance toString Basic + +:: BSrc :== Int +:: BDst :== Int +:: BStack (:== [Basic]) + +instance toString BStack + +bs_copy :: BSrc BStack -> BStack +bs_get :: BSrc BStack -> Basic +bs_getB :: BSrc BStack -> Bool +bs_getI :: BSrc BStack -> Int +bs_init :: BStack +bs_popn :: NrArgs BStack -> BStack +bs_push :: Basic BStack -> BStack +bs_pushB :: Bool BStack -> BStack +bs_pushI :: Int BStack -> BStack +bs_update :: BDst Basic BStack -> BStack +bs_addI :: BStack -> BStack +bs_decI :: BStack -> BStack +bs_incI :: BStack -> BStack +bs_eqB :: BStack -> BStack +bs_eqI :: BStack -> BStack +bs_eqBi :: Bool BSrc BStack -> BStack +bs_eqIi :: Int BSrc BStack -> BStack +bs_gtI :: BStack -> BStack +bs_ltI :: BStack -> BStack +bs_mulI :: BStack -> BStack +bs_subI :: BStack -> BStack |