diff lwasm/main.c @ 335:9f58e3bca6e3

checkpoint
author lost
date Thu, 04 Mar 2010 05:13:22 +0000
parents 67224d8d1024
children 04c80c51b16a
line wrap: on
line diff
--- a/lwasm/main.c	Thu Mar 04 02:24:38 2010 +0000
+++ b/lwasm/main.c	Thu Mar 04 05:13:22 2010 +0000
@@ -28,6 +28,7 @@
 #include <lw_alloc.h>
 #include <lw_string.h>
 #include <lw_stringlist.h>
+#include <lw_expr.h>
 
 #include "lwasm.h"
 #include "input.h"
@@ -185,7 +186,34 @@
 
 	input_init(&asmstate);
 
-	do_pass1(&asmstate);
+//	do_pass1(&asmstate);
+{
+	lw_expr_t te;
+	
+	te = lw_expr_build(lw_expr_type_oper, lw_expr_oper_plus,
+			lw_expr_build_noref(lw_expr_type_oper, lw_expr_oper_plus,
+				lw_expr_build_noref(lw_expr_type_oper, lw_expr_oper_times,
+					lw_expr_build_noref(lw_expr_type_int, 2),
+					lw_expr_build_noref(lw_expr_type_var, "tvar")
+				),
+				lw_expr_build_noref(lw_expr_type_oper, lw_expr_oper_times,
+					lw_expr_build_noref(lw_expr_type_var, "tvar"),
+					lw_expr_build_noref(lw_expr_type_int, 3)
+				)
+			),
+			lw_expr_build_noref(lw_expr_type_oper, lw_expr_oper_times,
+				lw_expr_build_noref(lw_expr_type_int, 16),
+				lw_expr_build_noref(lw_expr_type_var, "avar")
+			)
+		);
+	
+	lw_expr_print(te);
+	printf("\n");
+	
+	lw_expr_simplify(te);
+	lw_expr_print(te);
+	printf("\n");
+}
 
 	exit(0);
 }