-#$parser.syms.each do |name, val|
-# $parser.syms.open_scope
-# puts "func #{name.to_sym.inspect}, #{val.value.args.length} do"
-# puts " locals #{val.value.locals.length}" if val.value.locals.length > 0
-# state.locals = val.value.locals
-# val.value.args.each_with_index do |name, idx|
-# $parser.syms.add_sym(
-# name.name, name.loc, :param, name.type, idx)
-# end
-# val.value.body.each do |stmnt|
-# Codegen.emit(state, stmnt)
-# end
-# puts "end\n\n"
-# $parser.syms.close_scope
-#end
+$parser.syms.each do |name, val|
+ $parser.syms.open_scope
+ puts "func #{name.to_sym.inspect}, #{val.value.args.length} do"
+ puts " locals #{val.value.locals.length}" if val.value.locals.length > 0
+ state.locals = val.value.locals
+ val.value.args.each_with_index do |name, idx|
+ $parser.syms.add_sym(
+ name.name, name.loc, :param, name.type, idx)
+ end
+ val.value.body.each do |stmnt|
+ Codegen.emit(state, stmnt)
+ end
+ puts "end\n\n"
+ $parser.syms.close_scope
+end