From 4cc53658a9503191f41945914e6223ccc5a95717 Mon Sep 17 00:00:00 2001 From: Adam NAILI Date: Tue, 5 Jun 2018 23:03:13 +0200 Subject: While handling --- src/tpc.y | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/tpc.y') diff --git a/src/tpc.y b/src/tpc.y index d8fd1f1..f84c0a6 100644 --- a/src/tpc.y +++ b/src/tpc.y @@ -126,7 +126,7 @@ Instr: | PRINT '(' Exp ')' ';' { gen_print($3);} | IF '(' Exp IfHandling')' Instr { gen_if_label($4); } | IF '(' Exp IfHandling')' Instr ELSE IfEndHandling Instr IfElseEndHandling -| WHILE '(' Exp ')' Instr +| WHILE {fprintf(output,".upwhile%d:\n",num_while);}'(' Exp {fprintf(output,"pop rax\ncmp rax,0\njz .downwhile%d\n",num_while);}')' Instr {fprintf(output,"jmp .upwhile%d\n.downwhile%d:\n",num_while,num_while);num_while++;} | '{' SuiteInstr '}' ; IfHandling: { gen_if_start($$ = num_if++); }; -- cgit v1.2.3