diff 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
line wrap: on
line diff
--- a/lwasm/main.c	Thu Apr 01 20:56:19 2010 -0600
+++ b/lwasm/main.c	Tue Apr 06 21:03:19 2010 -0600
@@ -165,6 +165,7 @@
 assembler on the first file
 */
 extern void do_pass1(asmstate_t *as);
+extern void do_pass2(asmstate_t *as);
 extern lw_expr_t lwasm_evaluate_special(int t, void *ptr, void *priv);
 extern lw_expr_t lwasm_evaluate_var(char *var, void *priv);
 extern lw_expr_t lwasm_parse_term(char **p, void *priv);
@@ -193,5 +194,12 @@
 	input_init(&asmstate);
 
 	do_pass1(&asmstate);
+	if (asmstate.errorcount > 0)
+	{
+		lwasm_show_errors(&asmstate);
+		exit(1);
+	}
+	do_pass2(&asmstate);
+	
 	exit(0);
 }