-SExp. Stm ::= Exp ";" ;
-SBlock. Stm ::= "{" [Stm] "}" ;
-SDecl. Stm ::= Type Ident "=" Exp ";" ;
-decl. Stm ::= Type Ident ";" ;
-define decl t v = SDecl t v EDefault ;
+SExp. Stm ::= Exp ";" ;
+SBlock. Stm ::= "{" [Stm] "}" ;
+declIntE. Stm ::= "int" Ident "=" Exp ";" ;
+declBoolE. Stm ::= "bool" Ident "=" Exp ";" ;
+define declIntE x e = SDecl TInt x e;
+define declBoolE x e = SDecl TBool x e;
+declInt. Stm ::= "int" Ident ";" ;
+declBool. Stm ::= "bool" Ident ";" ;
+define declInt x = SDecl TInt x (EInt 0);
+define declBool x = SDecl TBool x (EBool False);
+