diff --git a/generator.v b/generator.v index 42dfe56..2f4a240 100644 --- a/generator.v +++ b/generator.v @@ -159,7 +159,7 @@ fn (mut g Generator) gen_expr(expr Expr) { g.out.write_string(mangle_var(expr.name)) } UnaryExpr { - g.out.write_string('${expr.ident}${expr.op}') + g.out.write_string('(${mangle_var(expr.ident)}${expr.op})') } BinaryExpr { g.out.write_string('(') diff --git a/parser.v b/parser.v index 36d8db7..b0e7040 100644 --- a/parser.v +++ b/parser.v @@ -638,6 +638,8 @@ fn (mut p Parser) parse_func_decl() FuncDecl { else{parse_error("Expected function return type after name when declaring ${name_tok.text}")} } + p.symbols.define_func(name_tok.text, type_tok.text, Block{}) + block := p.parse_block(true) return_stmts := p.get_return_stmts_recursive(block)