start with c codegen
[ccc.git] / type.c
1 #include "ast.h"
2
3 struct vardecl *type_vardecl(struct vardecl *vardecl)
4 {
5 return vardecl;
6 }
7
8 struct decl *type_decl(struct decl *decl)
9 {
10 switch (decl->type) {
11 case dfundecl:
12 fprintf(stderr, "type_decl:fundecl unsupported\n");
13 break;
14 case dvardecl:
15 decl->data.dvar = type_vardecl(decl->data.dvar);
16 break;
17 }
18 return decl;
19 }
20
21 struct ast *type(struct ast *ast)
22 {
23 for (int i = 0; i<ast->ndecls; i++)
24 ast->decls[i] = type_decl(ast->decls[i]);
25 return ast;
26 }