diff --git a/src/main/asm/chocopy/common/makeint.s b/src/main/asm/chocopy/common/makeint.s index e98fbc6..9fbf065 100644 --- a/src/main/asm/chocopy/common/makeint.s +++ b/src/main/asm/chocopy/common/makeint.s @@ -1,4 +1,3 @@ -<<<<<<< HEAD # Box integer addi sp, sp, -8 sw ra, 4(sp) @@ -9,17 +8,4 @@ sw t0, @.__int__(a0) lw ra, 4(sp) addi sp, sp, 8 - jr ra -======= - - addi sp, sp, -8 - sw ra, 4(sp) - sw a0, 0(sp) - la a0, $int$prototype - jal ra, alloc - lw t0, 0(sp) - sw t0, @.__int__(a0) - lw ra, 4(sp) - addi sp, sp, 8 - jr ra ->>>>>>> origin/bill/merge-cond-cls + jr ra \ No newline at end of file diff --git a/src/main/java/chocopy/pa3/CodeGenImpl.java b/src/main/java/chocopy/pa3/CodeGenImpl.java index 766860c..939b9f0 100644 --- a/src/main/java/chocopy/pa3/CodeGenImpl.java +++ b/src/main/java/chocopy/pa3/CodeGenImpl.java @@ -56,8 +56,12 @@ public class CodeGenImpl extends CodeGenBase /** A code generator emitting instructions to BACKEND. */ public CodeGenImpl(RiscVBackend backend) { + super(backend); - + backend.defineSym("listHeaderWords", "4"); + backend.defineSym("strHeaderWords", "4"); + backend.defineSym("bool.True", "const_1"); + backend.defineSym("bool.False", "const_0"); } @@ -76,6 +80,7 @@ public class CodeGenImpl extends CodeGenBase */ protected void emitTopLevel(List statements) { + StmtAnalyzer stmtAnalyzer = new StmtAnalyzer(null); backend.emitADDI(SP, SP, -2 * backend.getWordSize(), "Saved FP and saved RA (unused at top level)."); backend.emitSW(ZERO, SP, 0, "Top saved FP is 0."); @@ -848,7 +853,6 @@ public class CodeGenImpl extends CodeGenBase * to out-of-bounds error and abort"); */ protected void emitCustomCode() { - emitStdFunc("concat"); emitStdFunc("conslist"); emitStdFunc("strcat");