From 55d84eec95fd3697148357d066bcd36c152b119a Mon Sep 17 00:00:00 2001 From: Danny Yoo Date: Thu, 10 Mar 2011 15:02:42 -0500 Subject: [PATCH] fixing bug in the assembler; it didn't see the target from PushControlFrame --- assemble.rkt | 2 +- runtime.js | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/assemble.rkt b/assemble.rkt index 060ed34..910fa2b 100644 --- a/assemble.rkt +++ b/assemble.rkt @@ -171,7 +171,7 @@ EOF [(PopEnvironment? stmt) empty] [(PushControlFrame? stmt) - empty] + (list (PushControlFrame-label stmt))] [(PopControlFrame? stmt) empty]) (loop (rest stmts))))])))) diff --git a/runtime.js b/runtime.js index 4995bc5..396214b 100644 --- a/runtime.js +++ b/runtime.js @@ -99,6 +99,14 @@ var Primitives = (function() { 'null?': function(arity, returnLabel) { var firstArg = MACHINE.env[MACHINE.env.length-1]; return firstArg === NULL; + }, + 'add1': function(arity, returnLabel) { + var firstArg = MACHINE.env[MACHINE.env.length-1]; + return firstArg + 1; + }, + 'sub1': function(arity, returnLabel) { + var firstArg = MACHINE.env[MACHINE.env.length-1]; + return firstArg - 1; } }; })();