From 72023962f5c7226e36f613184b094dd118923cf0 Mon Sep 17 00:00:00 2001 From: Clemens-Dautermann Date: Fri, 18 Dec 2020 12:15:15 +0100 Subject: [PATCH] The current error to fix: division returns the last number, and doesn't divide by it (e.g. 6/3/2 returns 2 instead of 1) --- Compiler/DevFunctions.cs | 4 ++-- stage_3/valid/div_2 | Bin 0 -> 16336 bytes stage_3/valid/div_2.c | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100755 stage_3/valid/div_2 create mode 100644 stage_3/valid/div_2.c diff --git a/Compiler/DevFunctions.cs b/Compiler/DevFunctions.cs index 77a3219..d9f21cc 100644 --- a/Compiler/DevFunctions.cs +++ b/Compiler/DevFunctions.cs @@ -112,12 +112,12 @@ namespace Compiler { */ - string file = "/home/clemens/repositorys/lcc/stage_3/valid/precedence_add_a_lot.c"; + string file = "/home/clemens/repositorys/lcc/stage_3/valid/div_2.c"; Console.WriteLine("-------------"); List tokens = TestLexer(file, 0); Node programNode = TestParser(tokens, file, 1); - //TestGenerator(programNode, 1); + TestGenerator(programNode, 1); //} /* diff --git a/stage_3/valid/div_2 b/stage_3/valid/div_2 new file mode 100755 index 0000000000000000000000000000000000000000..221cd842490e17735ba1c2a0a0a0e2803ac74c95 GIT binary patch literal 16336 zcmb<-^>JfjWMqH=W(GS35Kln>BH{p{7z8Y#3jQ<2h8{$Lh8-%+0QENql!oa8aY6bl zp!zJJ`e5_|kb@W)7+^FkJV9;*;Ugde7#JAPX%~p~3@{p`792K~Vc}h06`7|6nwf%b=f=nPg_7pOd1SlbKgqp<7{L zrfX)RSDdeB1Wtb<3=H5j7L1G~M0ZAN`Hb7z^`~yiGTwZ_#NAYL~jE2By2#kinXb6mkz-S1JhQMeD z43iM}%rE!LqxlVoM>p$DeFg@P)&nI>|1WqnAK^F*_8~~#@U3U(#W;`7M;^^jJ_LmL z^s=@wGB9}b^74Zz+lveg4F5$Z=`%2Vnc&fDdl6(#FY74~W%;8-)T5g<55#UgP{R5D z0l$0$$l$|J+N0NYAxN^I#xeU|V9$*bqaiRF0;3@?8UmvsFd71*Aut*OqaiRF0;3@?8Umvs01W{~ z1||kZX=ZEC^eJpzAy(p?ugnP-!S1w!Tve%7?871@$RGLNNKS|NiHL`JhfJ z0|NuBFSrBB2dxJM$!kFQpxIjxzZOI=FfedKX$dGT3Z-EbY%OyJbTKH*-UCntoKPC3 z|M!20dl(oPz)Jr?`5sXH|Dk+XIDLTf&7kr>p?s)wp{CQHf~_mZWixEut-G_cm4b%5 zU#O;np@E)}o&hcmNaD;4j0~`K{Yb(L%nVHM_35bM%nUC;Q|!os;C0;VjikX3x z0T$oLT9_Hw7+~oFRh*px7XGN>91O5{Llx&_fTagiaV`e%zyz`&*qz)AuzeHAQp^lI z@O*$O&Wm;NI5Ptu18f~Ws(O9~4bVUhvLM)A0r>iAWGQ9_K?YcULKPQcz!vY!48jbs z_0_2AML?TAkcGf(W(H9P3Fta)umF@`W)Nf0z$z{dRe_*D`GbYw<9~z*gas;37#R@h z0p@Kn@V*gD^|Cm`H5fpv(771`pyd+8bOr`3sCWaKxGhv1R?flH2Qz@yxFh@payLjW z9xRR-&TUY0VC5!AEeKBntH+ElT<+fpR?p9{1r`7xL!cO2xa|ka31Gzg1+Y1o@qQDk z9#$@cxeN>pZ@>)9bO?$lM$l*=TKukL1cftZz7S<(U=U*9W;g(?2Vmv4DkIjU&yWcg z$4pm_jG!zhijl75LFO}I<}VMBIM@%UL^{+Q^mJPSwii_`h}X=>z#zyZ$^a_|L1G{b z8v7Ik)pF2yffnlw^TGCVGXy~W3m*GqU|=}S0CK+=g8^E&u6& z#e-aeqBK6Q;PHBGZOPsKznjL{o{*EQZn=6ON&!eV8()60tyL+`1qva zVyH3TT|e>hA->MAzyR&_!McG5b@LFa(-`!MD|1T{lNj`hONt^Z%X)QS=Yy|m1{Oa{H8d{Brn=%r>r(?do|5rPNN0ZAAT9WZuE zWnN-#W-^0bdVUF*&@0F(VbFsZmQ-BKpqHGVo124gw-qhalNh%Bg1hOr=Y9B3^nlKWxpJs1sYSAbN)+z)dnjLv3YU;wq{VSHG-5Jtno z57gg4c0b5W5Uv8ZLlEwVwI5+LtUm#>AKm|;RjD9zLFR+ZgSRuG?G#Y@0*gZl^!V!n z*YgbE@C7M>)hjT1Dade;1QbJ!h4L5}K=A`o0<$01e}mDmejQ8$y8Y9j_QUr+!U7CR zqpOGUVe~wxepvX!+QBfIQ2JkkrXSW`hS4DZ!Q2j_Vc`#AgYY&61_nN88U*oS?IPHI zRdn?*K8!xZz`($dq#xG)Hh}Kug{cFX4Z<)!j6TNzi91+#2i8u9?FWYK`-R01Odl*B zuS5M0(+_LU-+(qOK<#0Wy)X>Z52Np(>1TkoSD+m}SU$z2|0$Y&SUXDssvqV~bp0^? zYiNfW=6+avMgyuJ=1!P;P+EntLG%Zx{ZQo~AuxvNho?)hD5Cs;nFFF>X%DIdOgTUe zya3I(pz#dQ-d31f#D}u J6@oz54*;I|%6I?( literal 0 HcmV?d00001 diff --git a/stage_3/valid/div_2.c b/stage_3/valid/div_2.c new file mode 100644 index 0000000..4fc9ab2 --- /dev/null +++ b/stage_3/valid/div_2.c @@ -0,0 +1,3 @@ +int main(){ + return 10 / 1 / 2 / 5; +}