Mercurial > repos > icfp2014
comparison code/lmc.tp @ 4:eaf0a014d18b
Use TSEL instead of SEL for if:else
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Fri, 25 Jul 2014 10:56:27 -0700 |
parents | a9a2ad99adfb |
children | 80e224fff567 |
comparison
equal
deleted
inserted
replaced
3:a9a2ad99adfb | 4:eaf0a014d18b |
---|---|
121 _funHandlers set: "if:else" :args { | 121 _funHandlers set: "if:else" :args { |
122 compileExpr: (args value) | 122 compileExpr: (args value) |
123 args <- args tail | 123 args <- args tail |
124 tlabel <- prog makeLabel: "true" | 124 tlabel <- prog makeLabel: "true" |
125 flabel <- prog makeLabel: "false" | 125 flabel <- prog makeLabel: "false" |
126 prog add: (inst: "SEL" #[ | 126 prog add: (inst: "TSEL" #[ |
127 tlabel | 127 tlabel |
128 flabel | 128 flabel |
129 ]) | 129 ]) |
130 prog setLabel: tlabel | 130 prog setLabel: tlabel |
131 foreach: ((args value) expressions) :idx expr { | 131 foreach: ((args value) expressions) :idx expr { |