From 9077cc1b324d70e6f52c8d8e01dfbf316a0dd76a Mon Sep 17 00:00:00 2001 From: "silveira.kaue" Date: Mon, 10 May 2010 18:26:39 -0300 Subject: [PATCH] aumentei um pouco o teste, corrigi um erro na print_tree --- Pico/src/node.c | 1 + Pico/src/pico | Bin 39742 -> 38587 bytes Pico/src/test.in | 15 +++++++++++++-- Pico/src/test3.in | 1 + 4 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 Pico/src/test3.in diff --git a/Pico/src/node.c b/Pico/src/node.c index 922196c..40d2243 100644 --- a/Pico/src/node.c +++ b/Pico/src/node.c @@ -38,6 +38,7 @@ char *node_lexema[lexpr_node + 1] = { void print_tree(Node *n, int depth) { int i; + if(!n) return; /* acontece quando o if não them else, por exemplo */ for(i = 0; i < depth; i++) printf(" "); //printf("nl %i id %i l %s t %i a %p nc %i\n", n->num_line, n->id, n->lexeme, n->type, n->attribute, n->num_children); diff --git a/Pico/src/pico b/Pico/src/pico index c756ffe1ddb86653bcbe1a726f9de12f6fbf22be..75c5716f7aa82020509166a0504644238c6df976 100755 GIT binary patch delta 4920 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 Xh9M3yRwUE=#8Qz+vpp|}>hS*qa<72A delta 5988 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 Gp8o}__b5I9 diff --git a/Pico/src/test.in b/Pico/src/test.in index 382c650..45d2ab5 100644 --- a/Pico/src/test.in +++ b/Pico/src/test.in @@ -1,11 +1,13 @@ a, x : int [ 0 : 9 ]; +z: double[1:2, 3:4]; +func, print: char; a = 7*a; { a, b, c : int; d, e, f : double; a, g, h : double [ 10 : 20 , 30 : 50 ] ; -a = 3 - x; +a = 3.5e-2 - x; {{{{{ a : int; @@ -17,6 +19,15 @@ a = a + b * x; a = x - a; while( a[0] < 9 ) { - a[0] = a[0] + 1; + a[0] = (a[0] + 1) / z[1, 4]; x[a[0]] = x[a[0]] + 1; }; + +func(1, 2, 3); +if(z[2, 3] == 3 & true) then { + a: int[1:2]; + print(a[2]); +} else { + if(a[0] != 10) then print(x, a); end; +} end; + diff --git a/Pico/src/test3.in b/Pico/src/test3.in new file mode 100644 index 0000000..6d8facf --- /dev/null +++ b/Pico/src/test3.in @@ -0,0 +1 @@ +if(true) then 1; end; -- 2.11.4.GIT