doit test1 > test1_doit.txt ----------------------------------- -- a comment x := 3; y := x - 45 * x; writeln (" x =", x, " y =", y); ------------------------------------- in simple.c Token : Id Token : Assignop Token : Iconst Token : Termsym Token : Id Token : Assignop Token : Id Token : Minussym Token : Iconst Token : Mpysym Token : Id Token : Termsym Token : Writeln Token : Lparen Token : Strconst Token : Commasym Token : Id Token : Commasym Token : Strconst Token : Commasym Token : Id Token : Rparen Token : Termsym Intermediate Representation - the Abstract Syntax Tree Statements Assign x gets Immediate Value 3 Assign y gets x subtract Immediate Value 45 multiply x Writeln parameters x = x y = y From codegen.c - DisplayRegs() marks used registers Register: 0 1 2 3 4 5 6 7 8 9 - - - - - - - - - - Used = x: x x COMPILATION COMPLETE out simple.c ------------------------------------------------------ Listing File: test2.list -- a comment x := 3; y := x - 45 * x; writeln (" x =", x, " y =", y); ------------------------------------------------------- SPIM Version 6.2 of January 11, 1999 Copyright 1990-1998 by James R. Larus (larus@cs.wisc.edu). All Rights Reserved. See the file README for a full copyright notice. Loaded: /opt/spim/bin/trap.handler x =3 y =-132