}
}
+void codegen_init(Parser* p)
+{
+ printf("@Bool = type i1\n");
+ printf("@Int = type i64\n");
+ printf("@Real = type double\n");
+ printf("@Void = type void\n");
+}
+
void codegen_symbol(Parser* p, Symbol* sym)
{
(void)p;
.size = -1
};
+void codegen_init(Parser* p)
+{
+ (void)p;
+}
+
void codegen_symbol(Parser* p, Symbol* sym)
{
(void)p;
*****************************************************************************/
extern Type VoidType, BoolType, IntType, RealType, StringType;
+void codegen_init(Parser* p);
void codegen_symbol(Parser* p, Symbol* sym);
void codegen_block(Parser* p, SsaBlock* block);
p->types[p->ntypes++] = &RealType;
symbol_new(p, 0, "String", SYM_TYPE, 0)->type = &StringType;
p->types[p->ntypes++] = &StringType;
+
+ codegen_init(p);
module(p);
}