# HG changeset patch # User Michael Pavone # Date 1406325592 25200 # Node ID 66d0858692a9085e477e68372dad8462900d7a0a # Parent 526bec3b2090fda7840ec2927473fff478acaedd Fix operator argument order and add print primitive for the DBUG instruction diff -r 526bec3b2090 -r 66d0858692a9 code/lmc.tp --- a/code/lmc.tp Fri Jul 25 14:45:55 2014 -0700 +++ b/code/lmc.tp Fri Jul 25 14:59:52 2014 -0700 @@ -103,13 +103,8 @@ _opNames set: ">=" "CGTE" _exprHandlers set: (ast binary) :expr syms { - if: (expr op) = "|" { - compileExpr: (expr left) syms: syms - compileExpr: (expr right) syms: syms - } else: { - compileExpr: (expr right) syms: syms - compileExpr: (expr left) syms: syms - } + compileExpr: (expr left) syms: syms + compileExpr: (expr right) syms: syms _opNames ifget: (expr op) :i { prog add: (inst: i #[]) } else: { @@ -173,6 +168,10 @@ prog add: (inst: "LDC" #[0]) prog add: (inst: "CEQ" #[]) } + _funHandlers set: "print" :args syms { + compileExpr: (args value) syms: syms + prog add: (inst: "DBUG" #[]) + } _exprHandlers set: (ast call) :expr syms { tc <- (expr tocall)