comparison lwasm/main.c @ 368:656630007668

Emit pass
author lost@starbug
date Thu, 15 Apr 2010 22:18:48 -0600
parents 34dfc9747f23
children 6b33faa21a0a
comparison
equal deleted inserted replaced
367:34dfc9747f23 368:656630007668
168 extern void do_pass2(asmstate_t *as); 168 extern void do_pass2(asmstate_t *as);
169 extern void do_pass3(asmstate_t *as); 169 extern void do_pass3(asmstate_t *as);
170 extern void do_pass4(asmstate_t *as); 170 extern void do_pass4(asmstate_t *as);
171 extern void do_pass5(asmstate_t *as); 171 extern void do_pass5(asmstate_t *as);
172 extern void do_pass6(asmstate_t *as); 172 extern void do_pass6(asmstate_t *as);
173 extern void do_pass7(asmstate_t *as);
173 extern lw_expr_t lwasm_evaluate_special(int t, void *ptr, void *priv); 174 extern lw_expr_t lwasm_evaluate_special(int t, void *ptr, void *priv);
174 extern lw_expr_t lwasm_evaluate_var(char *var, void *priv); 175 extern lw_expr_t lwasm_evaluate_var(char *var, void *priv);
175 extern lw_expr_t lwasm_parse_term(char **p, void *priv); 176 extern lw_expr_t lwasm_parse_term(char **p, void *priv);
176 177
177 struct passlist_s 178 struct passlist_s
183 { "symcheck", do_pass2 }, 184 { "symcheck", do_pass2 },
184 { "resolve1", do_pass3 }, 185 { "resolve1", do_pass3 },
185 { "resolve2", do_pass4 }, 186 { "resolve2", do_pass4 },
186 { "addressresolve", do_pass5 }, 187 { "addressresolve", do_pass5 },
187 { "finalize", do_pass6 }, 188 { "finalize", do_pass6 },
189 { "emit", do_pass7 },
188 { NULL, NULL } 190 { NULL, NULL }
189 }; 191 };
190 192
191 int main(int argc, char **argv) 193 int main(int argc, char **argv)
192 { 194 {