Mercurial > repos > icfp2014
comparison code/lmc.tp @ 8:494ef2e3a756
Properly pass initial arguments to main
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Fri, 25 Jul 2014 13:59:43 -0700 |
parents | afd55b32549b |
children | 526bec3b2090 |
comparison
equal
deleted
inserted
replaced
7:afd55b32549b | 8:494ef2e3a756 |
---|---|
239 slot <- slot + 1 | 239 slot <- slot + 1 |
240 } else: { | 240 } else: { |
241 error: "Only assignments are allowed at the top level" | 241 error: "Only assignments are allowed at the top level" |
242 } | 242 } |
243 } | 243 } |
244 after_env <- prog makeLabel: "after_env" | |
245 prog add: (inst: "LDF" #[after_env]) | |
246 prog add: (inst: "TRAP" #[num]) | |
247 prog setLabel: after_env | |
244 prog add: (inst: "LDF" #["main"]) | 248 prog add: (inst: "LDF" #["main"]) |
245 prog add: (inst: "TRAP" #[num]) | 249 prog add: (inst: "TAP" #[2]) |
246 | 250 |
247 foreach: functions :fname fun { | 251 foreach: functions :fname fun { |
248 prog setLabel: fname | 252 prog setLabel: fname |
249 argsyms <- symbols tableWithParent: syms | 253 argsyms <- symbols tableWithParent: syms |
250 foreach: (fun args) :idx el { | 254 foreach: (fun args) :idx el { |