]> ruin.nu Git - proglang.git/blobdiff - Compile.hs
removed NoType and EDefault and added assert
[proglang.git] / Compile.hs
index c3e93f94850a720839196f010a8b6fe6294b60ce..69edecd879be433bab4f32259f8f0f79d2af0d41 100644 (file)
@@ -9,7 +9,6 @@ compileExp (EBool False) = "0";
 compileExp (EInt n) = show n
 compileExp (EVar (Ident i)) = i
 compileExp (EAss (Ident i) e) = i++"="++compileExp e
-compileExp EDefault = error "EDefault called from an illegal place"
 compileExp (BiOpExp e o e') = "("++compileExp e++")"++op o++"("++compileExp e'++")"
 compileExp (ENeg e) = "-("++compileExp e++")"
 compileExp (ENot e) ="!("++compileExp e++")" 
@@ -37,5 +36,4 @@ compileStm (SIf b s s') = "if("++compileExp b++")"++compileStm s++" \nelse "++co
 compileStm (SPrint e) = "printf(\"%d\\n\","++compileExp e++");\n"
 compileStm (SBlock ss) = "{\n"++concat (map (("\t"++).compileStm) ss)++"\n}\n"
 compileStm (SWhile e s) = "while("++compileExp e++")"++compileStm s
-compileStm (SDecl t (Ident i) EDefault) = "int "++i++"=0;\n"
 compileStm (SDecl t (Ident i) e) = "int "++i++"="++compileExp e++";\n"