aboutsummaryrefslogtreecommitdiff
path: root/ABC/BStack.dcl
blob: 95cf86ebff1d252237c1a454a50b97bde260bd0d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
definition module ABC.BStack

from StdOverloaded import class ==, class toString
from ABC.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