diff options
Diffstat (limited to 'assignment-13/C.dcl')
-rw-r--r-- | assignment-13/C.dcl | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/assignment-13/C.dcl b/assignment-13/C.dcl index 1ec912a..40f93d0 100644 --- a/assignment-13/C.dcl +++ b/assignment-13/C.dcl @@ -56,13 +56,11 @@ from Util import class print , name :: String } -:: CG t p = CG (CFun -> (t, CFun)) - -unCG :: (CG t p) -> CFun -> (t, CFun) -cg :: (CG t p) -> CFun - -(>>-) infixl 1 :: (CG a p) (a -> CG b q) -> CG b q -return :: (a -> CG a p) +:: CProg = + { bootstrap :: String + , globals :: [CVar] + , funs :: [CFun] + } instance print Signedness instance print CType @@ -70,3 +68,6 @@ instance print CExpr instance print CBody instance print CVar instance print CFun +instance print CProg + +combinePrograms :: CProg CProg -> CProg |