Franck Pommereau

simple tests passed

......@@ -9,3 +9,4 @@ __pycache__
#*
cctlib/parser.out
cct-test
/ttclib
......
......@@ -194,6 +194,13 @@ class CodeGenVisitor (Visitor) :
outfile.write("\n#\n# string literals from file %r\n#\n\n"
% c.path)
outfile.write(s)
outfile.write("\n#\n"
"# call main\n"
"#\n\n"
"IRQ0:\n"
" set R9 @main\n"
" call R9\n"
" halt\n")
def _calc_function_var_addrs(self, symtab, last_fp_loc):
self._calc_function_arg_addrs(symtab)
......@@ -201,7 +208,7 @@ class CodeGenVisitor (Visitor) :
def _calc_function_arg_addrs(self, symtab):
for symbol in symtab.entries.values():
symbol.compile_loc = 2 + symbol.param_num
symbol.compile_loc = 3 + symbol.param_num
if not symbol.is_used:
self.warning("function argument '%s' is never used." % symbol.name)
......@@ -401,7 +408,7 @@ class CodeGenVisitor (Visitor) :
call = node.arglist.nodes[0].get_str()
expect = self.test[call]
ret = self._accept_and_pop(node.arglist.nodes[1])
self.o(" ### %s == %s # == %s" % (ret, expect, call))
self.o(" ### %s == %s # == %s\n" % (ret, expect, call))
self.stack.done()
return
self.c("FUNCTION CALL to %s() - begin" %
......