Mercurial > hg-old > index.cgi
comparison lwasm/main.c @ 365:6a98cc90c14f
Added resolve passes
author | lost@starbug |
---|---|
date | Wed, 14 Apr 2010 20:49:04 -0600 |
parents | 0b5a26bedbe1 |
children | 34dfc9747f23 |
comparison
equal
deleted
inserted
replaced
364:0b5a26bedbe1 | 365:6a98cc90c14f |
---|---|
165 assembler on the first file | 165 assembler on the first file |
166 */ | 166 */ |
167 extern void do_pass1(asmstate_t *as); | 167 extern void do_pass1(asmstate_t *as); |
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 lw_expr_t lwasm_evaluate_special(int t, void *ptr, void *priv); | 171 extern lw_expr_t lwasm_evaluate_special(int t, void *ptr, void *priv); |
171 extern lw_expr_t lwasm_evaluate_var(char *var, void *priv); | 172 extern lw_expr_t lwasm_evaluate_var(char *var, void *priv); |
172 extern lw_expr_t lwasm_parse_term(char **p, void *priv); | 173 extern lw_expr_t lwasm_parse_term(char **p, void *priv); |
173 | 174 |
174 struct passlist_s | 175 struct passlist_s |
177 void (*fn)(asmstate_t *as); | 178 void (*fn)(asmstate_t *as); |
178 } passlist[] = { | 179 } passlist[] = { |
179 { "parse", do_pass1 }, | 180 { "parse", do_pass1 }, |
180 { "symcheck", do_pass2 }, | 181 { "symcheck", do_pass2 }, |
181 { "resolve1", do_pass3 }, | 182 { "resolve1", do_pass3 }, |
183 { "resolve2", do_pass4 }, | |
182 { NULL, NULL } | 184 { NULL, NULL } |
183 }; | 185 }; |
184 | 186 |
185 int main(int argc, char **argv) | 187 int main(int argc, char **argv) |
186 { | 188 { |