Mercurial > hg-old > index.cgi
comparison lwasm/main.c @ 363:d96c30e60ddf
Added pass2 and various supporting logic including symbol lookups
author | lost@starbug |
---|---|
date | Tue, 06 Apr 2010 21:03:19 -0600 |
parents | f5b77989f675 |
children | 0b5a26bedbe1 |
comparison
equal
deleted
inserted
replaced
362:4867f18c872f | 363:d96c30e60ddf |
---|---|
163 /* | 163 /* |
164 main function; parse command line, set up assembler state, and run the | 164 main function; parse command line, set up assembler state, and run the |
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 lw_expr_t lwasm_evaluate_special(int t, void *ptr, void *priv); | 169 extern lw_expr_t lwasm_evaluate_special(int t, void *ptr, void *priv); |
169 extern lw_expr_t lwasm_evaluate_var(char *var, void *priv); | 170 extern lw_expr_t lwasm_evaluate_var(char *var, void *priv); |
170 extern lw_expr_t lwasm_parse_term(char **p, void *priv); | 171 extern lw_expr_t lwasm_parse_term(char **p, void *priv); |
171 int main(int argc, char **argv) | 172 int main(int argc, char **argv) |
172 { | 173 { |
191 } | 192 } |
192 | 193 |
193 input_init(&asmstate); | 194 input_init(&asmstate); |
194 | 195 |
195 do_pass1(&asmstate); | 196 do_pass1(&asmstate); |
197 if (asmstate.errorcount > 0) | |
198 { | |
199 lwasm_show_errors(&asmstate); | |
200 exit(1); | |
201 } | |
202 do_pass2(&asmstate); | |
203 | |
196 exit(0); | 204 exit(0); |
197 } | 205 } |