diff --git a/Codes_en_COREC/tests/test3_max.corec b/Codes_en_COREC/tests/test3_max.corec new file mode 100644 index 0000000000000000000000000000000000000000..9061c9558ff0712bfce12ae644498fc817c10084 --- /dev/null +++ b/Codes_en_COREC/tests/test3_max.corec @@ -0,0 +1,70 @@ +// Aff 1D arrays + +// array1[15] = 10.10; bug ? + +prog Test3 { + def Main{ + Loc : (array1,50) + Rec : { + + array1[0] = 5.32; + array1[1] = 12; + array1[2] = 7.89; + array1[3] = 3.14; + array1[4] = 42; + array1[5] = 18.27; + array1[6] = 1.11; + array1[7] = 6; + array1[8] = 21.95; + array1[9] = 14.01; + array1[10] = 9; + array1[11] = 2.71; + array1[12] = 8.56; + array1[13] = 17; + array1[14] = 4.44; + array1[15] = 10.11; + array1[16] = 3.33; + array1[17] = 22; + array1[18] = 19.5; + array1[19] = 7.77; + array1[20] = 13.37; + array1[21] = 5; + array1[22] = 25.25; + array1[23] = 8; + array1[24] = 20.2; + array1[25] = 11.11; + array1[26] = 15; + array1[27] = 30.3; + array1[28] = 16.66; + array1[29] = 4; + array1[30] = 18; + array1[31] = 7.07; + array1[32] = 12.34; + array1[33] = 9.87; + array1[34] = 14; + array1[35] = 6.66; + array1[36] = 5.55; + array1[37] = 19; + array1[38] = 2.22; + array1[39] = 20; + array1[40] = 3; + array1[41] = 18.88; + array1[42] = 4.04; + array1[43] = 22.22; + array1[44] = 8.8; + array1[45] = 16; + array1[46] = 11.23; + array1[47] = 7.5; + array1[48] = 6.25; + array1[49] = 9.9; + + printstr("Expected result : \n5.32 12.00 7.89 3.14 42.00 18.27 1.11 6.00 21.95 14.01 9.00 2.71 8.56 17.00 4.44 ");//10.11 3.33 22 19.5 7.77 \n 13.37 5 25.25 8 20.2 11.11 15 30.3 16.66 4 18 7.07 12.34 9.87 14 6.66 5.55 19 2.22 20 \n 3 18.88 4.04 22.22 8.8 16 11.23 7.5 6.25 9.9"); + printstr("10.11 3.33 22 19.5 7.77 \n13.37 5 25.25 8 20.2 11.11 15 30.3 16.66 4 18 7.07 "); + printstr("12.34 9.87 14 6.66 5.55 19 2.22 20 \n3 18.88 4.04 22.22 8.8 16 11.23 7.5 6.25 9.9"); + + printstr("\nObtained Result : \n"); + print(array1) // contain all the values exchanges here if the code is correct + } + } +} + diff --git a/corec.y b/corec.y index 86af826fa78c71b87b95c0ea1afdeb99e7dfc424..77b2a6cac4006547022379af3b6f892a553e43e2 100644 --- a/corec.y +++ b/corec.y @@ -941,10 +941,10 @@ COND : fprintf(stderr, "BUG\n"); break; } - name_t end_condition = snprintf(end_condition, sizeof(end_condition), "end_condition_%d", t->condition); - struct symbol * label = symtable_put_label(SYMTAB,end_condition); - name_t else_condition = snprintf(else_condition, sizeof(else_condition), "else_condition_%d", t->condition); - struct symbol * label = symtable_put_label(SYMTAB,else_condition); + // name_t end_condition = snprintf(end_condition, sizeof(end_condition), "end_condition_%d", t->condition); + // struct symbol * label = symtable_put_label(SYMTAB,end_condition); + // name_t else_condition = snprintf(else_condition, sizeof(else_condition), "else_condition_%d", t->condition); + // struct symbol * label = symtable_put_label(SYMTAB,else_condition); // TODO ahndle and gencode for if and else branches } diff --git a/lib.c b/lib.c index 1b2680caea7e6610303eb462a2152b04919aab79..2f201c643b1c34b754bcc08a9a9f9d1b0eca2ce3 100644 --- a/lib.c +++ b/lib.c @@ -316,6 +316,7 @@ static void symbol_dump(struct symbol* s, FILE* fout) break; case LABEL: fprintf(fout,"%s",s->u.name); + break; // ? default: fprintf(stderr,"BUG SYMBOL DUMP NOT RECOGNIZED\n"); break;