aboutsummaryrefslogtreecommitdiff
path: root/Smurf.dcl
diff options
context:
space:
mode:
authorCamil Staps2016-06-06 23:00:42 +0200
committerCamil Staps2016-06-06 23:00:42 +0200
commitd8297fec19292c544a32a474500eca49552215d0 (patch)
tree5558714e59aad6526cb863671822af665579df8a /Smurf.dcl
parentReadme (diff)
LaTeX formatting for derivation treesHEADmaster
Diffstat (limited to 'Smurf.dcl')
-rw-r--r--Smurf.dcl7
1 files changed, 6 insertions, 1 deletions
diff --git a/Smurf.dcl b/Smurf.dcl
index 25ea30b..53ab797 100644
--- a/Smurf.dcl
+++ b/Smurf.dcl
@@ -10,6 +10,8 @@ from GenEq import generic gEq
from Data.Maybe import ::Maybe
+from LaTeX import class toLaTeX
+
:: Stm = Push String
| Input | Output
| Cat | Head | Tail | Quotify
@@ -30,7 +32,7 @@ from Data.Maybe import ::Maybe
, output :: [String]
}
-:: Transition = (-->) infix 1 (Program, [String], State) ([String], [String], State)
+:: Transition = (-->) infix 1 (Program, Stack, State) (Stack, Stack, State)
:: DerivationTree :== [Transition]
derive gEq Stm
@@ -48,6 +50,9 @@ instance zero ListIO
instance toString Transition
instance toString DerivationTree
+instance toLaTeX Transition
+instance toLaTeX DerivationTree
+
step :: !Program State u:io u:(IO u:io) -> u:(Maybe (!Program, State), u:io)
run :: !Program State io (IO io) -> (Maybe State, io)