]> ruin.nu Git - proglang.git/blobdiff - Skelsyntax.hs
minor change
[proglang.git] / Skelsyntax.hs
index 8a3605383704b6bf4c3a36e6e4936be53876cfec..7efec8512f8ca8ea0c89e36a68268106dfd05fe4 100644 (file)
@@ -20,61 +20,73 @@ transBool x = case x of
   False  -> failure x
 
 
+transType :: Type -> Result
+transType x = case x of
+  TInt  -> failure x
+  TBool  -> failure x
+
+
+transProgram :: Program -> Result
+transProgram x = case x of
+  Program funcstms  -> failure x
+
+
 transStm :: Stm -> Result
 transStm x = case x of
-  SDecl type' id exp  -> failure x
   SExp exp  -> failure x
   SBlock stms  -> failure x
-  SIf exp stm0 stm  -> failure x
+  SDecl type' id exp  -> failure x
+  SDeclD type' id  -> failure x
   SWhile exp stm  -> failure x
+  SIf exp stm0 stm  -> failure x
   SPrint exp  -> failure x
+  SReturn exp  -> failure x
   SNoop  -> failure x
 
 
 transExp :: Exp -> Result
 transExp x = case x of
   EAss id exp  -> failure x
-  BExp exp0 bop exp  -> failure x
   EVar id  -> failure x
   EInt n  -> failure x
-  ENeg exp  -> failure x
   EBool bool  -> failure x
+  ENeg exp  -> failure x
+  ENot exp  -> failure x
   EReadI  -> failure x
   EReadB  -> failure x
-  ExpT type' exp  -> failure x
-  EDefault  -> failure x
-  OpExp exp0 op exp  -> failure x
+  EFunc id exps  -> failure x
+  BiOpExp exp0 op exp  -> failure x
   EPost id op  -> failure x
 
 
-transStms :: Stms -> Result
-transStms x = case x of
-  Program stms  -> failure x
+transDecl :: Decl -> Result
+transDecl x = case x of
+  Decl type' id  -> failure x
+
 
+transFunc :: Func -> Result
+transFunc x = case x of
+  Func type' id decls stms  -> failure x
 
-transBOp :: BOp -> Result
-transBOp x = case x of
+
+transFuncStm :: FuncStm -> Result
+transFuncStm x = case x of
+  S stm  -> failure x
+  F func  -> failure x
+
+
+transOp :: Op -> Result
+transOp x = case x of
   Lt  -> failure x
   ELt  -> failure x
   Gt  -> failure x
   EGt  -> failure x
   Eq  -> failure x
   NEq  -> failure x
-
-
-transOp :: Op -> Result
-transOp x = case x of
   Plus  -> failure x
   Minus  -> failure x
   Times  -> failure x
   Div  -> failure x
 
 
-transType :: Type -> Result
-transType x = case x of
-  TInt  -> failure x
-  TBool  -> failure x
-  NoType  -> failure x
-
-