equal
deleted
inserted
replaced
208 // minus2 := minus1 + minus2; |
208 // minus2 := minus1 + minus2; |
209 Assign("minus1",Var("temp")), // minus1 := temp; |
209 Assign("minus1",Var("temp")), // minus1 := temp; |
210 Assign("n",Aop("-",Var("n"),Num(1))))), // n := n - 1 }; |
210 Assign("n",Aop("-",Var("n"),Num(1))))), // n := n - 1 }; |
211 Write("minus1")) // write minus1 |
211 Write("minus1")) // write minus1 |
212 |
212 |
213 |
|
214 |
|
215 // prints out the JVM-assembly program |
213 // prints out the JVM-assembly program |
216 |
214 |
217 println(compile(fib_test, "fib")) |
215 println(compile(fib_test, "fib")) |
218 |
216 |
219 // can be assembled with |
217 // can be assembled with |
233 val fw = new java.io.FileWriter(class_name + ".j") |
231 val fw = new java.io.FileWriter(class_name + ".j") |
234 fw.write(output) |
232 fw.write(output) |
235 fw.close() |
233 fw.close() |
236 } |
234 } |
237 |
235 |
238 def compile_and_run(bl: Block, class_name: String) : Unit = { |
236 def compile_all(bl: Block, class_name: String) : Unit = { |
239 compile_tofile(bl, class_name) |
237 compile_tofile(bl, class_name) |
240 println("compiled ") |
238 println("compiled ") |
241 val test = ("java -jar jvm/jasmin-2.4/jasmin.jar " + class_name + ".j").!! |
239 val test = ("java -jar jvm/jasmin-2.4/jasmin.jar " + class_name + ".j").!! |
242 println("assembled ") |
240 println("assembled ") |
243 ("java " + class_name + "/" + class_name).!! |
241 } |
244 } |
242 |
245 |
243 |
246 |
244 compile_all(fib_test, "fib") |
247 compile_and_run(fib_test, "fib") |
245 |
248 |
|