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 {