From af3497579baaa6049a9fe6fe620334318c0fff74 Mon Sep 17 00:00:00 2001 From: setanta Date: Thu, 24 Jan 2008 05:09:09 +0000 Subject: [PATCH] Expressoes andando. Vou dormir. git-svn-id: https://toypasc.googlecode.com/svn/trunk@55 cbd757d2-8441-0410-81db-47b75ec2d254 --- llvm_codegen_visitor.c | 2 ++ pascal/sample0.pas | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/llvm_codegen_visitor.c b/llvm_codegen_visitor.c index be26eb3..d96507c 100644 --- a/llvm_codegen_visitor.c +++ b/llvm_codegen_visitor.c @@ -232,6 +232,8 @@ llvm_codegen_visit_binary_expr (struct _Visitor *visitor, struct AstNode *node) void __print_parameters(struct AstNode *node, int index) { if (index > -1) printf("%%%d", index); + else if (IS_LITERAL(node->kind)) + ast_node_accept(node, visitor); else if (node->symbol->stack_index > -1) printf("%%%d", node->symbol->stack_index); else diff --git a/pascal/sample0.pas b/pascal/sample0.pas index ad51842..430e4d0 100755 --- a/pascal/sample0.pas +++ b/pascal/sample0.pas @@ -8,16 +8,19 @@ FunCtion myfunc (i : integer) : integer; Begin myfunc := 539; x := 300 + 3 + 2 * 7 + {myfunc := x}{FIXME} End; Procedure myproc (i : integer); var ck, n : integer; var m : boolean; Begin - {ck := i * 2 + 3;} + i := 4; + ck := 5; + ck := i * 2 + 3; ck := 11 + 22; {ck := 33 - ck; - ck := 44 * myfunc(55);} + {ck := 44 * myfunc(55);} m := false and true; x := ck {m := true or m -- 2.11.4.GIT