From eeba39940b9bb8ea351641f54b8a28f112d09045 Mon Sep 17 00:00:00 2001 From: Faure Paul Date: Mon, 22 Mar 2021 12:45:54 +0100 Subject: [PATCH] =?UTF-8?q?D=C3=A9but=20g=C3=A9n=C3=A9ration=20assembleur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Documentation/Projet_Syst_Info_2021.pdf | Bin 0 -> 475039 bytes Documentation/grammaire_c_minimaliste | 52 + Fichiers_Tests/progC | 15 + Lex_Yacc/a.out | Bin 0 -> 37424 bytes Lex_Yacc/al.lex | 43 + Lex_Yacc/as.output | 1290 +++++++++++++++ Lex_Yacc/as.tab.c | 1714 ++++++++++++++++++++ Lex_Yacc/as.tab.h | 102 ++ Lex_Yacc/as.y | 159 ++ Lex_Yacc/comp.sh | 5 + Lex_Yacc/lex.yy.c | 1929 +++++++++++++++++++++++ Symboles/table_symboles.c | 118 ++ Symboles/table_symboles.h | 48 + Symboles/table_symboles.o | Bin 0 -> 3856 bytes Symboles/test_table_symbole | Bin 0 -> 12928 bytes Symboles/test_table_symbole.c | 32 + Symboles/test_table_symbole.o | Bin 0 -> 4456 bytes 17 files changed, 5507 insertions(+) create mode 100644 Documentation/Projet_Syst_Info_2021.pdf create mode 100644 Documentation/grammaire_c_minimaliste create mode 100644 Fichiers_Tests/progC create mode 100755 Lex_Yacc/a.out create mode 100644 Lex_Yacc/al.lex create mode 100644 Lex_Yacc/as.output create mode 100644 Lex_Yacc/as.tab.c create mode 100644 Lex_Yacc/as.tab.h create mode 100644 Lex_Yacc/as.y create mode 100755 Lex_Yacc/comp.sh create mode 100644 Lex_Yacc/lex.yy.c create mode 100644 Symboles/table_symboles.c create mode 100644 Symboles/table_symboles.h create mode 100644 Symboles/table_symboles.o create mode 100755 Symboles/test_table_symbole create mode 100644 Symboles/test_table_symbole.c create mode 100644 Symboles/test_table_symbole.o diff --git a/Documentation/Projet_Syst_Info_2021.pdf b/Documentation/Projet_Syst_Info_2021.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ca8854ca9faab2ce2cd54f6d6cd45a1f4c6151b4 GIT binary patch literal 475039 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
    jSS_w4ic72vZASL4kl%z&gBm#Dwxdyg1 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

      %{28LAOPxgMx&E`e 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%0Dp^GT^44kov+GkExQMURHw|lf1=wV_ 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ċ@1;1w`L0s) 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

      x? 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 BO>_VN literal 0 HcmV?d00001 diff --git a/Documentation/grammaire_c_minimaliste b/Documentation/grammaire_c_minimaliste new file mode 100644 index 0000000..32f0faa --- /dev/null +++ b/Documentation/grammaire_c_minimaliste @@ -0,0 +1,52 @@ +les fonctions (avec parametres) +le if +le while +les declarations +les affectations +les operations arith. +le retour de fonction +l'invocation de fonctions + + +C : Fonctions ; +Fonctions : Fonction Fonctions | Fonction ; + +Fonction : tInt tID tPO Params tPF Body ; + +Params : | Param SuiteParams ; +Param : tInt tID ; + +SuiteParams : tVirgule Param SuiteParams | ; + +// Ps : P Ps | ; +// P : tInt tID tVirgule +// Ps =>* tInt tID tVirgule tInt tID tVirgule +// Ps => P Ps => P P Ps ... + +Body : tAO Instructions tAF ; + +Instructions : Instruction Instructions | ; + +Instruction : Aff | If | While | Return | Decl | Invocation tPV ; + +Aff : tID tEQ E tPV ; + +E : tNB | tID | E tADD E | E tMUL E | E tMINUS E | E tDIV E | Invocation | tPO E tPF | tMINUS E ; + +// E : tID tADD tID | ... + +If : tIF tPO Cond tPF Body ; + +Cond : Cond tAND Cond | Cond tOR Cond | E tEQ2 E | E tINF E | tNOT Cond ; + +Invocation : tID tPO Args tPF ; + +Args : .... cf params + +Return : tRET E tPV ; + + + + + + diff --git a/Fichiers_Tests/progC b/Fichiers_Tests/progC new file mode 100644 index 0000000..60f1c97 --- /dev/null +++ b/Fichiers_Tests/progC @@ -0,0 +1,15 @@ +int main(int x, int i){ + const int a = 4; + const int a, b, c = 2 + a - 5 * (7 / 8) + 5; + printf(coucou); + int y = 7e8; + int res_2 = x + y; + if ( (a == 2) && b || c > (7*8)) { + } + else if (a) { + int x = 90; + } else { + int a = b; + } + printf(i); +} diff --git a/Lex_Yacc/a.out b/Lex_Yacc/a.out new file mode 100755 index 0000000000000000000000000000000000000000..5bacdb878c3956a1f2f79ed8ad5c55095efc4b0e GIT binary patch literal 37424 zcmeHw3wTu3x%Qe#b`k=~1js;;+W?7#OF}@vgo`A=z#zA96^l3-l8L0`W@ZLSD+(Q= zjN7!>s-->F(pD?&snzx}3prlu97l4(HkaCKu91_(euQ&3rPoRo2=HdY9QC`cp@+hc_ z2NXR{nZed(7d%^bN znFTYa7X}&%r}1)=eUe?gVjWM3+FMoy=Vv2M81ct^)4O@}lG#)LZM65stUF-Xk`Hy|CW2x5eFxz|rnm|&?E@cx1YJtV zMEmz4ALs*rqYr#$ANarYfzRy&AKC~0Kp%KhANayPaB}zF>h1YH@MrqKf8Gb4-$y-P z(}(=_KJeB)@SFRUksSdAnqxBI-+HTAyQns4}-cgafc zb$-~Stk*SyO{Jl%HwC?QK4i2SW*cC*$?s>2mo1sUz&ovQ>U1O66Pi{y1LoE)_g49v z{MXe4g8rtp%NNu()ce=^HrFC4?{#$z_0qIgi1sRodbabCjDFQ$k`WRJ$t3rJDK3p` zNqlTmx8QF}e5VEPlK37A{&$J*wcv4y@3Y{kOGG~RTX2WO4_NSQ zi9c+?hfDmB1s^T(HVd97@e>w&qQpBa_!Nnsvf$Gt-f6*0Bp$Wkb0vPxf|p6W+k$%} z&g8lzO;i_KCh;^2zEuJ1qDI51!q?Z zM~zx=hs4t?^O%aaHMqDU21~wv6jm5JVZt2>1nn^4=K1=R2{$huJ5BgVlN~h=)8PTF zLDi<_VZznAlz3_$Cfr4U+NAwd#N|-VIcX+bt&@q7Wx~~3pYR+LPHCvkWx}bB)Ru3; zDQ&eCnQ%3B5U<#T_fx{4r6xSxgnLXlt(DbQZo&sB5OjkH&oJQ?COp%GZ!zI&&LnoD z2_I;Z-)_POoA8|`oQ^@%w#S4!6$rZ5gby*{`%E~k#nraogy$#_^neK;X2Ksf;g^{3 zLneH<3HOB0rg?PDS>a-ymbRch-r)%!PkY*sh|jph>tgY|5%_hCE=7pqTZkX)jAP3i zL~(MxSO<@%Q=D8b*2d#@iqqj&>|q}N>{`Uh^|q}N z2F1x$V*7c#iQ?oUvAsP0b&8W~#CG!dW{Q(b#2O9#>b;2bZR+2aL{47oiM-_rpE*~) zc3G?T+ziG%tr=@LnL8LM$DM_+ao#Z+2WOtvxz{7I&eN*ZfO<;0J(0JA!{7pTioyjl zHpM%u3mv0(bNic~rdIEXLw_m>w$7Ny%}n?L`ktd-BzYp|JV&GRJho>%C%*{hz~Hl+ zguwx1urGT%=MID&7MkJ-&;2nJkTc|GfJdMEIAYNZ)Ogf`pJ%if;x@|8PRiIvPs1e2 zL*koa)sUc&C$b|N37zpo)}8X`?x-i??)HRtoMM}v=G^dE7bLnPq4SW4>hANNeV*3r zeLS zLS*Kf+)=a<=FBueRwcgcYz4;UDvzF=mya6rpb4h7wYMBP6OU6hwznLSAx~>d#oI_D z($WURqYDygIYF`3mUHiLUWedu5@|U_vG$fukQ3A#+AvWN7jk;r*Qm;lK2AfN^1#U` zQFIq_*WPjfIwAwVQX%cnP~n*N7lde3>Pqv3c@FG4*P!;}@#;txLX@z_*5+v~|3YQh z*5N7P5{_@-z!p_`7cYP;&V*y0NQdVndT*NzC5@8)t|!QhV?5gX)^{<0drscZ?Fu{# z__qGCkQ7k~MOx00wtg2EhSj5;$?zb`PPlC}byv@4;73}zNi6&X5$4#fQwq9Bxpe^L zkMmV^zv78Jhu#%E`zhHLx<-qr;&S^fj9N<K^RiL7 zdD0X1(}aCaO!lRllP3wr9m$lt*78m$^R!WI!kKjKl?}Wr zjD-hz5LETsI)mYqq|qB56iKNH>9zgC8JL}Q?G|Bh3=Dp96~?){$n(&*K$N^ zE~FMgYSaN}4p$vuD-w6<$5r4g-z^Pl8=$L>d9 z4%R0jO4gkw>!Zo~SXhsJ2dJ)nA2M@CV)VaZ82TeA@DaJFPz`NuUD_d9Qbl-5y7o1m zMsO|c|9(BhTb(p|qp})^sLCq(gxXpA1tj#=L%cSfbD${(q<4AKXgcXfX$lNYoncqS-9N)PFah;2ZtZLJYtd?+nN6RNvG?U1D)i?(e8i(E7|C1k4 zE5$y9Lih_gO%!$aWu~IKk#R^o2??X9tDq^08W$C@ zpY&BxKl(dHH*FYXX#5fxjR;=~^YId{(Rzw1P1jN(<VpNUUDKW(Cz^WIbRCrN~qkC#G!pHkVv?7?qgIKDliBSyatphOM zV@^e8A}v{bMz|}74+Y4KzA6W(OQ886x^^i_kBS_v-^CMDg%k6JsHeZ8o3 zP5dN{^sRHR0vdhmBLEK)po;==1&^UHmK0ive`t-b7N>(5dz|MY(o!VKRZOJ4r4)o1 z?JXV|s%~#t#)IINBk<6MZ>F}lY(R+W^O=@wD1=N8MKK#h4`anG5#o- zk3TBXYLA}16gdeWFN%Ez8z{rC;m*-fREC%U4iJz*z$pPdK){6$0kjL?X9RQ+aF765 z>~ORKP6>zi+9VDe)0=Sic`w3_iz%ByrB)}_x00ChFRtTV)fF=Uw z3gBu2d<0Auz%l~L2^cPbc?8TOAYA~{2`D7sQ`8}{JB5Ie1VjapOTYjEUJ<|$0{-y< zfM*1dO2E4WJSu?hA^?9O;64J38YvYu@*3EpMx11Jr&*?Lr;z!*A@c$3ba{J>xP-vn zhCl}iT!E|~q+~Z!tO&6-imjy>CNtrR;iyzTVkm!)1kkg!*H`g=ef!OdY}%@5+LQiJrF!Ee`yPau`%2)GBU*mVL7Ce{u?I2O5%e zH6md4=HLl{Ju5_Anli0S5M7KQYK#*Dh<+ChAfAXA;M&*&wme3Qs&L- zCC5Tz%~J2GL}*?i<=FKY+ATS`O9|1+fD0{y5L$BtY8*>~V1cd;M9`Rplc^-AmZ7X4`%@)xfLjaETW3;(&-@EhF)Rq*wLf0MuA4>>_ zuKkFILK9;d80f^z3y1nXP(CDl9TuV$Xs>py0T`vax4ngCMmnKlu7&$>(7YIDdVoRrE({SI=yI7~drlbb*o`OlgLnh=$U&x)oGgj@@)FpjU^!{~Q|q zeN@igi`-gU24zg$%ZVtr))ouU!$IlRS_)#AAE{s8u$7-eYP@#SNWuANxMYwwy~8z>pI&{bw?T2Xh6%4ZXOYx@q430Px6McIW61o`)?G@*T_-ac8 z*WkQpG1ikyx$Cw37PZ{2{R%N^5MBEv$3yAu+C36OBd9@ z=$Lzx({a%Kf=FQ+{ER%(lEOxUq2hR|gJe+&bdHYF9)rP<8!K^lgnnR7W_+JI8Kw;2 z6j>+E`}7z*M`fhKgu6YCmQQH_F|!BCvLf>@hIhQkLX%OUN0y+{BkoRJ`!zx+mRaKs z8Vp2nUqprC6q|OIpHusAt zzgmA!MI9LH?_5Oq`WvmAEX`2sYC|c)GuaOzWHOeEvGb4}&KvtPW{yKi6nd6I$rO5u zLK=l0rBDim{*^*$6#5B;QYrL(3Js=ED}|gC3R7qZg_2w@2TJVxG|UB6cW?*rUL1*KR}{<%k~|NLV^4XHbYP z+#SlK(8m}K5A~lCL}m&Hh~T=6;o!8zK6MP$tRHW5P~z!3uI z9Gv#5ka#*lqP?`3XI$3~3-)~pY>!@^rfa_Y3&mcjK+RWXBKtMOL5)lA!2GAs@rnHWCapGy4NsRLM&7W4E$UKqp@q~jB!^6 z{Pd#9xGYGM4N+o=}cw^7p<$+RcAy4&BL`2!GTRIs-a9w8U{3xy`|6TE24 zP&%J>V|QriGUzNUb}K>7!8Urw^;}-O%Ozmqu{M4kSc{@Xc%5A5%(Vm&`Vu#V)Qc# z=GfZA6v}SSaCaf(V(g~Wb~g_|dz#Q5Zqd%ALx9(jp>}s0ybk0zep%P$P>GjOy3QyO zBS9*lzV3vl@;QCoaq?i>a~P-eb#3Gt$Ke{sXSL|X!Z*Z~IUUm?VLJXyJae>^d$2dnKF()%sNL+8NjhbH=RMgYc6V{1QqbD zzhg9m9Wez*cAN!sJ26pB&$vIraB~(dB@Sc`jZ7%`*@(88B>4>k+C~Ja;638c${gW1 zkc>CTWf8rWN~1F6VswA{#oA5Hp#( zyKAT?T!$tO*PTND%wirN%hbP?7j#UYgffw`HoGj7|dJ#sIvq)H) zl3)p0j%dZ4qvZ*K%tQg_C5U5;g@t4x@V8ls6@t9TYUJy*E8yELeE=>-W=i;8Dd;7^ zA(+-k-B}FN)PBMjwBJBzFNA*qDo&AzyK#PixEOf9LuN#_c2iK-b_m%$S}g*)`+_** zL}!(7T@Lr&;5;1(BFA**XC7B_<`e0uGURbubOR~spts=6 z4}{MV8>TTHYiESw^IStsPO`hgDbdLMngCsgi~a+(fK#Z)bL5bZ+~Tt4j_&B6#fp5N z$?omKZm3tgv(aC6|57w&rBu2enYl_Rl_n@rPS=8YB~Wnn2R)FxnHx~hU zHWIb(B45G%Y)_RUkI}XL7*vpbeq$0X2yYz;*p~_zrP9}(5$pVJ3?S6`_fZ!Z&6Q-a zX_%yb)Uz~klZDaJLVKx;DucTPuO{vq-{p|I+qiv=`vlKKa2p!oTQgBC>22F6tUJ9# zjFKvEgI9!T$XX?YW|@S4 zN{fDilOg5`?rCht?ss7_%CBYX+U?RTb?cqNY)yh$)vW_S(XFdMc(-07gy$p*>&~SF zh;CgZM201Z=*~REMYnbk2W6Uq#FK>Z*~`pjBIY14UnW!x%)h6guD!^K^9e)T7!f|F z+ugJdFsKrH>Oj}_lQ12Ao&W}2{04f|d z=LoSplbGrhS{8w_M9CD!2?kF@`*a$DxDQ2gsWLw1kn;^9Mgw!z=qO&i55SSdGZt$! zl0HEim~fgr?O53IQo!AgcH*|)_ULQL3{9i`fE(AoD@ADlnmG&}(TTYOod9=2%3Eo5 ztsXK@!V1*dqs@P!5`rJmR*-JHHXDSt*uUZjsb5ZTYdO_JE(J@DId0ucEZjqi4i6D$ zHsM%+iDeu*MM8RCOa)iWWFC>(vxMNhBN2HR7RfsHGy*(y2&@4z}fdgnFR5 zfZ1EA9cVos-f@oc6HBXyqSSXnzukR?^3pYq*5h=LjuU%y;s%lDP<3`>fEV4vciI0E)8X=~})K!TnQ47+(9B z5sB=$K(mGRD2%9e0nHYoJH62>da?(FT_bg6>hT^nx?&q*v>|wZPw=Nb!G~n9U3<_7 zJ)__ zS3P(3qKk!Ow|MyvI88750jfQ`3A1KI%Thjvtk0T&z2-i60;M7T>?k+|ye@|!D zcz;6Q5ziWgvM|ox4SC^V1D?nHJXuKps1ND=hV<){50TJQSyb#zQ1?W%QB*59k3+;b z&#R>&Dymtznp|K#RZO~LxGqKoTv10oVcJ-iW872Wb|IRtZW02!2=QXXUAQqaA93`2 zW3U2`;`HzU$D%qDT{jxZ>RA_6VE8zIwcUQpP4So&+K?Zb9cV%(+CjA4eTqnRyZbZ; zJ1N%gjuLsseHI0F@7HnUcT+uu_$oMpQ(P*nms7U(i!3b%j^@K9Xs6C_cI?K3aM6z}3BxYd+H|?Jc98PSCQ)+K zL_$ttw;(&FRA*9HFU?0?{gswJk)twc6iKed$nJd@hK0vp0=r$)d$jn1sSmB68(L?c zXnsU zRknUfv#Tt8NuUriX!K*w=mcguh*&6&VgVDv<-K&rS zH>nWH6gq%Ln8AVs+!r7db|)LR7o%42$&;m zNi}oV2K?-*EqK!gThM^Y;L1EyRt+v&=&!65AP+67sV9o$_$xh@)NfO7_Yh9|sjXku z;q3m?T!-gpAI?4On!Iqq(q*gG<{rkj;&8<^aUY)7IDB~Xg$hpNvk%t>$A>Bo#}C(y z%e?9^x-D&o=hJ?;j6^dtH*VazX#DuYhu3_8D7G)_9>lX@#hr>%TFL45R4JRD>F7Uz zrA*?{w0;@5>z*;V3}a&$8^R_PuzbeGjmO~*-wN^TWVj4DcH}76=u7i*2M-yNJsD3| z56zh{h!&8>hU^3ykJKE_JAC-sKOXKp{DviWaeHdofJ`{(wZksE@{;Mp^Gl{0y1fO8 zY#CQ2O}zYTvyx}eDIPItE?jwV_A+h6^3C%~Q>OHj?(41CaP`XmSp%<`S6Vio_CbTw zvz_qrQRL}MuE-#4<7oOFGu8!c+@-nr^=(q}M8^Y}fPK-lnQn?NUb@0DGH*s@Z`m?1 zS6cGoq?Gif6WGK_Ss9Kg)c=OeOc`3dX+TEWsKI0hCO2H|S(4g6t=|gjqqGmsP8~87 zeRMGIr|HRrrKizvN=g>6lynWh={ZWCXn!f6I(YDKil?S#^>+*%x5>y$uYojI5=%)N zGj?!l|8dE=W7GN}e?#*w9Y0}m;nZ=1)3Q=hQnbAE{!<30IFR>I1ycu4ESNYrJ*#L+ zK|w(}rGsQsQ%8)Plscs#D-|GZx%f{n$jP5HDV?s;e#ti4HD=7%apQ9H@-C%qe13lZ zgo%?TVN6Qc3Ja%9DJts47wjp_Zck!Kc4o8TMQbT`JJakeDJj`zvn64(CE4+7Pfmr5 zEjie*6))VW$J=S@SYE(||9rNF-qho&Z@7WE@~Tu$SNp3%l{NL(x%hj0T$`I+O`%#p z1YG%eAr}I*p$W6nnakzM1%_)>3;nhJAQZ?fnQWqntI^jK@Tbcp0(j?+tERpZ@8t>j zt6aebvXai+lpUE=kdjDetMTR@LVOTHhH?IVMZ*m)U(ki&*VRxBBX|{1VLDsk-yReq zu9^T_v!$k*XTeuh)r35er8U0#fJ=>b81wwWCckSI3Z9O^%+=(tY^bjf@j=a1V~Hy! zAM6ZK6tA&~vJpZpZ1dInLrus>L*3>kza%dI_C~g(iY*V-vV}FESfT!By%Pp9AtS8lFrE(6z8Cww*i~O)%!PM$jKJHpM&S)h8fJpQY&grtJTZ{v zu>Nc)8-O<%n*Z#O#H7PAA;DONM>Ig}}p3c%#;^^jLL+9^h zOX66vO{{@z{RbGE4MSI!%{H*ljWh?@1`o_0=o~U|XwJZa80bcf95`yUYv8~!&>A}~ zx0eL}FGCphjE&d8Max~VRbBN-7c&q37O*l-DJ=emaXJIPjE!d#@aC*SyiF}1@!{BK zaazQ=E+CBFr^ZI3ZAp6q{D2miL*WNQ(8jb40LI`Qw0YR2oX$nN&iya{uD}@4^JkUs z;fRpnThYWgLz=Xa$ELu~((umBba?9kA@w_}^P?`~_ zn_;M}A*j7UsNt0V!P1Gg!`TgA&{ylKuJvzsVU(_~_cvj3#C(c3+=)@VprF3N<>PC4 zS9Jr9Sr~g0XR%Xp5`G}|;n?%APr+V-eF666*ssFw!@d=J2>Z?0BiO%({YTgz!2S&O zSFxYL{vP&j?Djv$;{&k2j>}%O50POPXest9vG2sb4Lh~aKaqbq=Wh;G<86Gdx|#qM z4^ofMQ?3G2(XlRYNy&z7{-)|$ENl2`0o9UNP4rqq7?K;_FGvfEs^)rMT}`D+&TP@}=oW`R1TM0Q;MLRjMLIEeLCp%hx890XQ2A)o;b>v7YCrU%zkGH`L9_ z3ru$Ts+#<0t66!ClU>2)Mg#!X)Yk-S_}dq&X02SeWCxZw|82b$D_0nLIOwdY+~T{= zPm7vbpNqe35#fMqO>^DmhFX6hz26#IcVf*~mEI2rszHB!2r(pV8=f?q?vkLhnbRMO z$Fp%N<@lj^d=BV~pl85){de&=y<7JJXb^PQ<5)9*+HvUl281!)zT@N}3bm+U#2b~IfBj|e2dqA%TJp#HH^fc(Fpcg<3x}cB6%>mFk zpvTWbA9U{Dpbwh;9`r#Mf<6NJ2 zUI_Ls&oC1S`J6|w&O`gN%&bM3IafOR-;lPG&AVjw#LIHWk_FOVhlXWhjFhX9Aw-FPBlex(w}2Xa`%W%E{Clv!4gRhK{*4Cz2=GPlPkN%p z&`-*?kpStR#y$`Jx&zeU+qWC~7XaS_e!yYkC)GQY{s`E8{{-d-v;H!!&h5_uzZ3la zX8t0B;_0B zJP!P)FURAbgKhBb-8>D_r~Z5MEAjZt3Hm1u{bcml8R(A-6ZrEu-v#|#@UKQceF$O0 zKFVRgzo#xdkU0aHkIXXm_l!Kyo6jCYAJ-H3w;23A;Ez2WkKdiZzr)}k0Dm9&wnLW(0|q7d%!;d z{$*zUq(Y;P=}m91VeBHGGwRU(iJ`v-{Kqhs;oMmd-_P0H*A9Sx6#PG#`S$0zKn}1I z;0G`U&M@;4=IsyO?cfbC^A`8mPR6*o9elnvSN+t}!_NiZ|0Vo|;IIA?`&Hmy@g@4Z z!Jh;^KORu&ujontKJZ6@k1NVOb+f96e;oYmFX5j7KOOu&%a8H?W7KV5>F0tU1K(#( z-+m3x0M+k8@F&9lFB16o8T=~n{|)?0%=~pd`QHuxgW%_x`4v6<`@sJ#_;h4t_|Ezs z{&A^4+RXo25C07Kzk+^^nQyP+0+jz`j6Ht`f4Z69(4(IVem~5s-!${>+YJ4M;8%f9 zLceST)nx0BqNuGZxFnfbSCp3I_KQaqW(;nd}srA?W|Wtl}~nfdcGU66zP zeAuC@zsZXNAyA6zaPZ>N^wayAtX< z66(7V>N^qYyAbL-5bC=R>N^kWyAJ9*4(huNH_G(YcNtn_Tzz*zeP=;^SK(gCSKm!g z-$_v4MNr>C_@k6l-#Jj64kd^&!iP4V%#X#>Ug$;CVlefZWX z12|;h8=Wtp4W~c(wn}D@pUVM4$JDgZbt?0QLutN6>s_3xV}?>0Q0LQdNWnMUyv?^p zSx|)^k^zpF0Dl3vYhAsXd&eQ*k0ni^121etB)wG9nUXG&biJh2l5Ugq7D?}x^yiWul=K-% zUzYS8Nk5h}g`dnO!;Xd-VZNQG9x0Kgx;z8jhUN-tFvnSNW=%Q4(VTscm}KJr5%%S zeOG;dF;U)Oj7N!h7OPlnMnpIXSBTYj1kKzeT{TkA%Co6J5i-SZ(NXk53WKKEPd zIaA`D7JQ7v)%-22FkDZjxdQha$b71CY!SyVuAe$-N392x9Xi)!!&Q4Vk0^W}0=?z` zCtN;@?Ue01N+$fE#P@rIg(-rtM>*cpF8ieX6H?xFr4X!=^2a5<--16c@vNmnP}~#2 z7@Z5V;p|kA1*h}RgjYyBEY#S4N}MedfWqIG_uF zxUZcyH80W2e5l>`NxVg{*`*R6DGRhq;xiPw* z_^VRhA@QAS1)%UD93RH+vE;u{;`=48+Qki={Nz`2g&lsK1i_6GKU^$uT@cnN@t39w zfM5GU@D_>NFBACZQvUlAzj=}X`1Ldde<|@-N(HXgJ-?H9T-xE+#vpQ3;x9=-eoYK` zyTrH55_YIR)Aq8&e^DmlK0(+!zq!So<}wUr|)Ghv$T5!@Ih$b6EuKh`$!NLlz6!uS5Zv9 z?Uwj3DgThfzs+$OF_HbiDcv?px^!Jk4m~DmJlG`d=gD@-klYU7t^`RDIV-_r&p%5$CoK6tCG9LK5q9|XX9Qy$7nu3?0=JXH zvZNhE`KBRVs{aZLKDdwkjOTbJyTan1(#IKd*<=2G4`%@qG|5M6qrNY3Uq@BM@eDVST)JQxDCkR|J zY$k(%Q@st4=_>ym4Sb+Iho#B)3E|U&(JHuFq#XoP8@)d3&$gj~Ncn8O&vWeU;WREci*590vr7Z&RiU|4Ea$s-GXo_EpDsa#_IA zA>Z5hK<|1X`_^%C5|__p59Epz2g-ztB>uF-`8_`1&6IeCtpCwc-YxNGCH_r`Un%j) zvK@aU@vm`QMogp@IQ5rK*^VyB3rIUT(y!EfcVi!RzTF4@Q?d_#&awFOuYs$yOxa;4 zxSdRPNY+Dt$$UZLcgy^!ap^UQ2PLlh@7ut~nhncv8~2BckN0hu2&g}%%kl6RQr-ca z>ZerZU(FY+vMCq{;?~*1O4jpfYHzU4TS*_M4&cMoRSn+jY8y8DYQ0s#hNghm7uwD$ z8|oVIJdeMs@bZ}@#k~vBceHD~zNRK$vloxFG&SQh*?7RlTNSFSYley`=B3*{6GVN1 z!k}+6GS%E1Y{CO7wYVb|;U;>xh%nrSOSBPpE`#7fOA%g?qnWNxIv*OM(}fo_+^BU0OH8bW~{yYLV1ignApytPT!a#uA$ z{AO_a3Oqi!-rO9bhrGni+r;E9B&yel3cn37?gX--{Qbnny<(x)i&%pH zRWa|vt5=jQU$P*PBP!eLUA$tQ*X@xOJPTJd@8V@E=a((>u3WTejeD(kZQ1-~ZZD&! z%qS-T(H_AD*+4MLKOPsH)>$d{I?56ROv@Yh z)+$A{g?qif^c(YmU=>6XHR;Rtjm?P|^{36D>*UAn6L~cOUodEqug3lARf%Fqs-`{> z^7^arECLFo+K)f`hd3TLMlNdoR(aV;;E!ndn%W*~)1gG=6}iMKYRTnwzPml~G90vvwjMsLN{c=$=)@ zboV~v5~@2OJJ;1=un^ht!VuN1ED-V%Xz*_F)mNcTEAjMR6I#z|n#=pe^L`1=G<7=s zaV0Fn8N4BSECVApo`o<*Dmf(Zu@316LjhKe)~j!@CV{4*>86(+#7Dw9-Xw`ilrnN= zX%1wdq0yQ?QoN2y_puo9ZVvE43Z0W$3I%|pFnV0Uiw-U8p2`FcoT#U8%ol8^Ni+ss zOfs^9Vavb0#^PqxH#Ff<`$R3TckS{8YM@%OcDc97e_aiprfdRCQ#5~~0Y-0V@{y;J zH>!?7VLm8$E4TY-tlp@b@idb&7qpws)Cv-R!FfeK2%d79-)CfL4!?#gC}tUc$q*##0y@N zzt%?zGSpZbWQDxJ3lS{D49^OApDd)M280^;5L4*iA{Q51FajGfp(<7xjBBVcX;E4* z!1G0q_#i;TRUz7+6=Jzlhb2re>#+YWM8~H#>~^WBu1_hduG=cRBx~NrA%Z2Lp|7rE zDe5u{Bdpf_3Z9C9Szlf6QdBNimH0*a3&Hsq*Gg6X)%9dWi=-wFGx%n#Gi7`QD6NH+ zzPf&f(jm;{r;)>FF zF$Z>~udd5(_$T$>gf8V@>8tCv6;fYaFN6r+T#_pC9s=aMN?)DN@2(XR=VbjU|5o`{ zey|T>=JeI|;Ap+j=S&$SqVyI01ejUhIG@)jl(GdeewCgA=(-GHD*vuV7iVQl{c}9l z^CP%Dar!0`rC-zo@sQG=V8Kb2HZxVeD>&k}RHk1l{g>vUjo4NG)%Z*OL*-p)ir<~P b1RbXoBvYlUWXXJQ`ag>ZiT)M^OO*XDrzZyV literal 0 HcmV?d00001 diff --git a/Lex_Yacc/al.lex b/Lex_Yacc/al.lex new file mode 100644 index 0000000..7d6de8b --- /dev/null +++ b/Lex_Yacc/al.lex @@ -0,0 +1,43 @@ +%{ +#include "as.tab.h" +int yywrap(void){return 1;} +%} + +%% + +"main" { return tMAIN ;} +"{" { return tOBRACKET;} +"}" { return tCBRACKET; } +"(" { return tOBRACE; } +")" { return tCBRACE; } +"const" { return tCONST; } +"int" { return tINT; } +"printf" { return tPRINTF; } //Degeu mais à degager +"if" { return tIF; } +"while" { return tWHILE; } +"<" { return tLT; } +">" { return tGT; } +"==" { return tEQCOND; } +"&&" { return tAND; } +"||" { return tOR; } +"else" { return tELSE;} + + +[0-9]+ { yylval.nombre = atoi(yytext); return tNB; } +[0-9]+e[0-9]+ { yylval.nombre = -1; return tNBEXP; } //Renvoyer le token tNB et pas tNBEXP +"+" { return tADD; } +"-" { return tSUB; } +"*" { return tMUL; } +"/" { return tDIV; } +"=" { return tEQ; } +";" { return tPV; } +" " {} //Ne pas les retourner à Yacc +" " {} //Ne pas les retourner à Yacc +"," { return tCOMA; } +"\n" {} //Ne pas les retourner à Yacc +[a-zA-Z][a-zA-Z0-9_]* { strcpy(yylval.id, yytext); return tID; } +. { return tERROR; } + +%% + + diff --git a/Lex_Yacc/as.output b/Lex_Yacc/as.output new file mode 100644 index 0000000..fabc4db --- /dev/null +++ b/Lex_Yacc/as.output @@ -0,0 +1,1290 @@ +Terminaux inutilisés dans la grammaire + + tERROR + + +Grammaire + + 0 $accept: Main $end + + 1 Main: tINT tMAIN tOBRACE Params tCBRACE Body + + 2 Params: %empty + 3 | Param SuiteParams + + 4 Param: tINT tID + + 5 SuiteParams: tCOMA Param SuiteParams + 6 | %empty + + 7 Body: tOBRACKET Instructions tCBRACKET + + 8 Instructions: Instruction Instructions + 9 | %empty + + 10 Instruction: Aff + 11 | Decl + 12 | Invocation tPV + 13 | If + 14 | While + + 15 If: tIF tOBRACE Cond tCBRACE Body Else + + 16 Else: tELSE If + 17 | tELSE Body + 18 | %empty + + 19 While: tWHILE tOBRACE Cond tCBRACE Body + + 20 Cond: E SuiteCond + + 21 SuiteCond: %empty + 22 | tAND E SuiteCond + 23 | tOR E SuiteCond + + 24 Aff: tID tEQ E tPV + + 25 E: tNB + 26 | tNBEXP + 27 | tID + 28 | E tMUL E + 29 | E tDIV E + 30 | E tSUB E + 31 | E tADD E + 32 | Invocation + 33 | tOBRACE E tCBRACE + 34 | tSUB E + 35 | E tEQCOND E + 36 | E tGT E + 37 | E tLT E + 38 | tNOT E + + 39 Decl: tINT tID SuiteDecl FinDeclaration + 40 | tCONST tINT tID SuiteDecl tEQ E tPV + + 41 SuiteDecl: tCOMA tID SuiteDecl + 42 | %empty + + 43 FinDeclaration: tEQ E tPV + 44 | tPV + + 45 Invocation: tPRINTF tOBRACE tID tCBRACE + + +Terminaux, suivis des règles où ils apparaissent + +$end (0) 0 +error (256) +tMAIN (258) 1 +tOBRACKET (259) 7 +tCBRACKET (260) 7 +tOBRACE (261) 1 15 19 33 45 +tCBRACE (262) 1 15 19 33 45 +tINT (263) 1 4 39 40 +tCONST (264) 40 +tPV (265) 12 24 40 43 44 +tCOMA (266) 5 41 +tMUL (267) 28 +tDIV (268) 29 +tADD (269) 31 +tSUB (270) 30 34 +tEQ (271) 24 40 43 +tNB (272) 25 +tNBEXP (273) 26 +tID (274) 4 24 27 39 40 41 45 +tPRINTF (275) 45 +tERROR (276) +tIF (277) 15 +tWHILE (278) 19 +tELSE (279) 16 17 +tLT (280) 37 +tGT (281) 36 +tEQCOND (282) 35 +tAND (283) 22 +tOR (284) 23 +tNOT (285) 38 + + +Non-terminaux, suivis des règles où ils apparaissent + +$accept (31) + à gauche: 0 +Main (32) + à gauche: 1, à droite: 0 +Params (33) + à gauche: 2 3, à droite: 1 +Param (34) + à gauche: 4, à droite: 3 5 +SuiteParams (35) + à gauche: 5 6, à droite: 3 5 +Body (36) + à gauche: 7, à droite: 1 15 17 19 +Instructions (37) + à gauche: 8 9, à droite: 7 8 +Instruction (38) + à gauche: 10 11 12 13 14, à droite: 8 +If (39) + à gauche: 15, à droite: 13 16 +Else (40) + à gauche: 16 17 18, à droite: 15 +While (41) + à gauche: 19, à droite: 14 +Cond (42) + à gauche: 20, à droite: 15 19 +SuiteCond (43) + à gauche: 21 22 23, à droite: 20 22 23 +Aff (44) + à gauche: 24, à droite: 10 +E (45) + à gauche: 25 26 27 28 29 30 31 32 33 34 35 36 37 38, à droite: + 20 22 23 24 28 29 30 31 33 34 35 36 37 38 40 43 +Decl (46) + à gauche: 39 40, à droite: 11 +SuiteDecl (47) + à gauche: 41 42, à droite: 39 40 41 +FinDeclaration (48) + à gauche: 43 44, à droite: 39 +Invocation (49) + à gauche: 45, à droite: 12 32 + + +État 0 + + 0 $accept: . Main $end + + tINT décalage et aller à l'état 1 + + Main aller à l'état 2 + + +État 1 + + 1 Main: tINT . tMAIN tOBRACE Params tCBRACE Body + + tMAIN décalage et aller à l'état 3 + + +État 2 + + 0 $accept: Main . $end + + $end décalage et aller à l'état 4 + + +État 3 + + 1 Main: tINT tMAIN . tOBRACE Params tCBRACE Body + + tOBRACE décalage et aller à l'état 5 + + +État 4 + + 0 $accept: Main $end . + + $défaut accepter + + +État 5 + + 1 Main: tINT tMAIN tOBRACE . Params tCBRACE Body + + tINT décalage et aller à l'état 6 + + $défaut réduction par utilisation de la règle 2 (Params) + + Params aller à l'état 7 + Param aller à l'état 8 + + +État 6 + + 4 Param: tINT . tID + + tID décalage et aller à l'état 9 + + +État 7 + + 1 Main: tINT tMAIN tOBRACE Params . tCBRACE Body + + tCBRACE décalage et aller à l'état 10 + + +État 8 + + 3 Params: Param . SuiteParams + + tCOMA décalage et aller à l'état 11 + + $défaut réduction par utilisation de la règle 6 (SuiteParams) + + SuiteParams aller à l'état 12 + + +État 9 + + 4 Param: tINT tID . + + $défaut réduction par utilisation de la règle 4 (Param) + + +État 10 + + 1 Main: tINT tMAIN tOBRACE Params tCBRACE . Body + + tOBRACKET décalage et aller à l'état 13 + + Body aller à l'état 14 + + +État 11 + + 5 SuiteParams: tCOMA . Param SuiteParams + + tINT décalage et aller à l'état 6 + + Param aller à l'état 15 + + +État 12 + + 3 Params: Param SuiteParams . + + $défaut réduction par utilisation de la règle 3 (Params) + + +État 13 + + 7 Body: tOBRACKET . Instructions tCBRACKET + + tINT décalage et aller à l'état 16 + tCONST décalage et aller à l'état 17 + tID décalage et aller à l'état 18 + tPRINTF décalage et aller à l'état 19 + tIF décalage et aller à l'état 20 + tWHILE décalage et aller à l'état 21 + + $défaut réduction par utilisation de la règle 9 (Instructions) + + Instructions aller à l'état 22 + Instruction aller à l'état 23 + If aller à l'état 24 + While aller à l'état 25 + Aff aller à l'état 26 + Decl aller à l'état 27 + Invocation aller à l'état 28 + + +État 14 + + 1 Main: tINT tMAIN tOBRACE Params tCBRACE Body . + + $défaut réduction par utilisation de la règle 1 (Main) + + +État 15 + + 5 SuiteParams: tCOMA Param . SuiteParams + + tCOMA décalage et aller à l'état 11 + + $défaut réduction par utilisation de la règle 6 (SuiteParams) + + SuiteParams aller à l'état 29 + + +État 16 + + 39 Decl: tINT . tID SuiteDecl FinDeclaration + + tID décalage et aller à l'état 30 + + +État 17 + + 40 Decl: tCONST . tINT tID SuiteDecl tEQ E tPV + + tINT décalage et aller à l'état 31 + + +État 18 + + 24 Aff: tID . tEQ E tPV + + tEQ décalage et aller à l'état 32 + + +État 19 + + 45 Invocation: tPRINTF . tOBRACE tID tCBRACE + + tOBRACE décalage et aller à l'état 33 + + +État 20 + + 15 If: tIF . tOBRACE Cond tCBRACE Body Else + + tOBRACE décalage et aller à l'état 34 + + +État 21 + + 19 While: tWHILE . tOBRACE Cond tCBRACE Body + + tOBRACE décalage et aller à l'état 35 + + +État 22 + + 7 Body: tOBRACKET Instructions . tCBRACKET + + tCBRACKET décalage et aller à l'état 36 + + +État 23 + + 8 Instructions: Instruction . Instructions + + tINT décalage et aller à l'état 16 + tCONST décalage et aller à l'état 17 + tID décalage et aller à l'état 18 + tPRINTF décalage et aller à l'état 19 + tIF décalage et aller à l'état 20 + tWHILE décalage et aller à l'état 21 + + $défaut réduction par utilisation de la règle 9 (Instructions) + + Instructions aller à l'état 37 + Instruction aller à l'état 23 + If aller à l'état 24 + While aller à l'état 25 + Aff aller à l'état 26 + Decl aller à l'état 27 + Invocation aller à l'état 28 + + +État 24 + + 13 Instruction: If . + + $défaut réduction par utilisation de la règle 13 (Instruction) + + +État 25 + + 14 Instruction: While . + + $défaut réduction par utilisation de la règle 14 (Instruction) + + +État 26 + + 10 Instruction: Aff . + + $défaut réduction par utilisation de la règle 10 (Instruction) + + +État 27 + + 11 Instruction: Decl . + + $défaut réduction par utilisation de la règle 11 (Instruction) + + +État 28 + + 12 Instruction: Invocation . tPV + + tPV décalage et aller à l'état 38 + + +État 29 + + 5 SuiteParams: tCOMA Param SuiteParams . + + $défaut réduction par utilisation de la règle 5 (SuiteParams) + + +État 30 + + 39 Decl: tINT tID . SuiteDecl FinDeclaration + + tCOMA décalage et aller à l'état 39 + + $défaut réduction par utilisation de la règle 42 (SuiteDecl) + + SuiteDecl aller à l'état 40 + + +État 31 + + 40 Decl: tCONST tINT . tID SuiteDecl tEQ E tPV + + tID décalage et aller à l'état 41 + + +État 32 + + 24 Aff: tID tEQ . E tPV + + tOBRACE décalage et aller à l'état 42 + tSUB décalage et aller à l'état 43 + tNB décalage et aller à l'état 44 + tNBEXP décalage et aller à l'état 45 + tID décalage et aller à l'état 46 + tPRINTF décalage et aller à l'état 19 + tNOT décalage et aller à l'état 47 + + E aller à l'état 48 + Invocation aller à l'état 49 + + +État 33 + + 45 Invocation: tPRINTF tOBRACE . tID tCBRACE + + tID décalage et aller à l'état 50 + + +État 34 + + 15 If: tIF tOBRACE . Cond tCBRACE Body Else + + tOBRACE décalage et aller à l'état 42 + tSUB décalage et aller à l'état 43 + tNB décalage et aller à l'état 44 + tNBEXP décalage et aller à l'état 45 + tID décalage et aller à l'état 46 + tPRINTF décalage et aller à l'état 19 + tNOT décalage et aller à l'état 47 + + Cond aller à l'état 51 + E aller à l'état 52 + Invocation aller à l'état 49 + + +État 35 + + 19 While: tWHILE tOBRACE . Cond tCBRACE Body + + tOBRACE décalage et aller à l'état 42 + tSUB décalage et aller à l'état 43 + tNB décalage et aller à l'état 44 + tNBEXP décalage et aller à l'état 45 + tID décalage et aller à l'état 46 + tPRINTF décalage et aller à l'état 19 + tNOT décalage et aller à l'état 47 + + Cond aller à l'état 53 + E aller à l'état 52 + Invocation aller à l'état 49 + + +État 36 + + 7 Body: tOBRACKET Instructions tCBRACKET . + + $défaut réduction par utilisation de la règle 7 (Body) + + +État 37 + + 8 Instructions: Instruction Instructions . + + $défaut réduction par utilisation de la règle 8 (Instructions) + + +État 38 + + 12 Instruction: Invocation tPV . + + $défaut réduction par utilisation de la règle 12 (Instruction) + + +État 39 + + 41 SuiteDecl: tCOMA . tID SuiteDecl + + tID décalage et aller à l'état 54 + + +État 40 + + 39 Decl: tINT tID SuiteDecl . FinDeclaration + + tPV décalage et aller à l'état 55 + tEQ décalage et aller à l'état 56 + + FinDeclaration aller à l'état 57 + + +État 41 + + 40 Decl: tCONST tINT tID . SuiteDecl tEQ E tPV + + tCOMA décalage et aller à l'état 39 + + $défaut réduction par utilisation de la règle 42 (SuiteDecl) + + SuiteDecl aller à l'état 58 + + +État 42 + + 33 E: tOBRACE . E tCBRACE + + tOBRACE décalage et aller à l'état 42 + tSUB décalage et aller à l'état 43 + tNB décalage et aller à l'état 44 + tNBEXP décalage et aller à l'état 45 + tID décalage et aller à l'état 46 + tPRINTF décalage et aller à l'état 19 + tNOT décalage et aller à l'état 47 + + E aller à l'état 59 + Invocation aller à l'état 49 + + +État 43 + + 34 E: tSUB . E + + tOBRACE décalage et aller à l'état 42 + tSUB décalage et aller à l'état 43 + tNB décalage et aller à l'état 44 + tNBEXP décalage et aller à l'état 45 + tID décalage et aller à l'état 46 + tPRINTF décalage et aller à l'état 19 + tNOT décalage et aller à l'état 47 + + E aller à l'état 60 + Invocation aller à l'état 49 + + +État 44 + + 25 E: tNB . + + $défaut réduction par utilisation de la règle 25 (E) + + +État 45 + + 26 E: tNBEXP . + + $défaut réduction par utilisation de la règle 26 (E) + + +État 46 + + 27 E: tID . + + $défaut réduction par utilisation de la règle 27 (E) + + +État 47 + + 38 E: tNOT . E + + tOBRACE décalage et aller à l'état 42 + tSUB décalage et aller à l'état 43 + tNB décalage et aller à l'état 44 + tNBEXP décalage et aller à l'état 45 + tID décalage et aller à l'état 46 + tPRINTF décalage et aller à l'état 19 + tNOT décalage et aller à l'état 47 + + E aller à l'état 61 + Invocation aller à l'état 49 + + +État 48 + + 24 Aff: tID tEQ E . tPV + 28 E: E . tMUL E + 29 | E . tDIV E + 30 | E . tSUB E + 31 | E . tADD E + 35 | E . tEQCOND E + 36 | E . tGT E + 37 | E . tLT E + + tPV décalage et aller à l'état 62 + tMUL décalage et aller à l'état 63 + tDIV décalage et aller à l'état 64 + tADD décalage et aller à l'état 65 + tSUB décalage et aller à l'état 66 + tLT décalage et aller à l'état 67 + tGT décalage et aller à l'état 68 + tEQCOND décalage et aller à l'état 69 + + +État 49 + + 32 E: Invocation . + + $défaut réduction par utilisation de la règle 32 (E) + + +État 50 + + 45 Invocation: tPRINTF tOBRACE tID . tCBRACE + + tCBRACE décalage et aller à l'état 70 + + +État 51 + + 15 If: tIF tOBRACE Cond . tCBRACE Body Else + + tCBRACE décalage et aller à l'état 71 + + +État 52 + + 20 Cond: E . SuiteCond + 28 E: E . tMUL E + 29 | E . tDIV E + 30 | E . tSUB E + 31 | E . tADD E + 35 | E . tEQCOND E + 36 | E . tGT E + 37 | E . tLT E + + tMUL décalage et aller à l'état 63 + tDIV décalage et aller à l'état 64 + tADD décalage et aller à l'état 65 + tSUB décalage et aller à l'état 66 + tLT décalage et aller à l'état 67 + tGT décalage et aller à l'état 68 + tEQCOND décalage et aller à l'état 69 + tAND décalage et aller à l'état 72 + tOR décalage et aller à l'état 73 + + $défaut réduction par utilisation de la règle 21 (SuiteCond) + + SuiteCond aller à l'état 74 + + +État 53 + + 19 While: tWHILE tOBRACE Cond . tCBRACE Body + + tCBRACE décalage et aller à l'état 75 + + +État 54 + + 41 SuiteDecl: tCOMA tID . SuiteDecl + + tCOMA décalage et aller à l'état 39 + + $défaut réduction par utilisation de la règle 42 (SuiteDecl) + + SuiteDecl aller à l'état 76 + + +État 55 + + 44 FinDeclaration: tPV . + + $défaut réduction par utilisation de la règle 44 (FinDeclaration) + + +État 56 + + 43 FinDeclaration: tEQ . E tPV + + tOBRACE décalage et aller à l'état 42 + tSUB décalage et aller à l'état 43 + tNB décalage et aller à l'état 44 + tNBEXP décalage et aller à l'état 45 + tID décalage et aller à l'état 46 + tPRINTF décalage et aller à l'état 19 + tNOT décalage et aller à l'état 47 + + E aller à l'état 77 + Invocation aller à l'état 49 + + +État 57 + + 39 Decl: tINT tID SuiteDecl FinDeclaration . + + $défaut réduction par utilisation de la règle 39 (Decl) + + +État 58 + + 40 Decl: tCONST tINT tID SuiteDecl . tEQ E tPV + + tEQ décalage et aller à l'état 78 + + +État 59 + + 28 E: E . tMUL E + 29 | E . tDIV E + 30 | E . tSUB E + 31 | E . tADD E + 33 | tOBRACE E . tCBRACE + 35 | E . tEQCOND E + 36 | E . tGT E + 37 | E . tLT E + + tCBRACE décalage et aller à l'état 79 + tMUL décalage et aller à l'état 63 + tDIV décalage et aller à l'état 64 + tADD décalage et aller à l'état 65 + tSUB décalage et aller à l'état 66 + tLT décalage et aller à l'état 67 + tGT décalage et aller à l'état 68 + tEQCOND décalage et aller à l'état 69 + + +État 60 + + 28 E: E . tMUL E + 29 | E . tDIV E + 30 | E . tSUB E + 31 | E . tADD E + 34 | tSUB E . + 35 | E . tEQCOND E + 36 | E . tGT E + 37 | E . tLT E + + tMUL décalage et aller à l'état 63 + tDIV décalage et aller à l'état 64 + + $défaut réduction par utilisation de la règle 34 (E) + + +État 61 + + 28 E: E . tMUL E + 29 | E . tDIV E + 30 | E . tSUB E + 31 | E . tADD E + 35 | E . tEQCOND E + 36 | E . tGT E + 37 | E . tLT E + 38 | tNOT E . + + tMUL décalage et aller à l'état 63 + tDIV décalage et aller à l'état 64 + tADD décalage et aller à l'état 65 + tSUB décalage et aller à l'état 66 + tLT décalage et aller à l'état 67 + tGT décalage et aller à l'état 68 + tEQCOND décalage et aller à l'état 69 + + $défaut réduction par utilisation de la règle 38 (E) + + +État 62 + + 24 Aff: tID tEQ E tPV . + + $défaut réduction par utilisation de la règle 24 (Aff) + + +État 63 + + 28 E: E tMUL . E + + tOBRACE décalage et aller à l'état 42 + tSUB décalage et aller à l'état 43 + tNB décalage et aller à l'état 44 + tNBEXP décalage et aller à l'état 45 + tID décalage et aller à l'état 46 + tPRINTF décalage et aller à l'état 19 + tNOT décalage et aller à l'état 47 + + E aller à l'état 80 + Invocation aller à l'état 49 + + +État 64 + + 29 E: E tDIV . E + + tOBRACE décalage et aller à l'état 42 + tSUB décalage et aller à l'état 43 + tNB décalage et aller à l'état 44 + tNBEXP décalage et aller à l'état 45 + tID décalage et aller à l'état 46 + tPRINTF décalage et aller à l'état 19 + tNOT décalage et aller à l'état 47 + + E aller à l'état 81 + Invocation aller à l'état 49 + + +État 65 + + 31 E: E tADD . E + + tOBRACE décalage et aller à l'état 42 + tSUB décalage et aller à l'état 43 + tNB décalage et aller à l'état 44 + tNBEXP décalage et aller à l'état 45 + tID décalage et aller à l'état 46 + tPRINTF décalage et aller à l'état 19 + tNOT décalage et aller à l'état 47 + + E aller à l'état 82 + Invocation aller à l'état 49 + + +État 66 + + 30 E: E tSUB . E + + tOBRACE décalage et aller à l'état 42 + tSUB décalage et aller à l'état 43 + tNB décalage et aller à l'état 44 + tNBEXP décalage et aller à l'état 45 + tID décalage et aller à l'état 46 + tPRINTF décalage et aller à l'état 19 + tNOT décalage et aller à l'état 47 + + E aller à l'état 83 + Invocation aller à l'état 49 + + +État 67 + + 37 E: E tLT . E + + tOBRACE décalage et aller à l'état 42 + tSUB décalage et aller à l'état 43 + tNB décalage et aller à l'état 44 + tNBEXP décalage et aller à l'état 45 + tID décalage et aller à l'état 46 + tPRINTF décalage et aller à l'état 19 + tNOT décalage et aller à l'état 47 + + E aller à l'état 84 + Invocation aller à l'état 49 + + +État 68 + + 36 E: E tGT . E + + tOBRACE décalage et aller à l'état 42 + tSUB décalage et aller à l'état 43 + tNB décalage et aller à l'état 44 + tNBEXP décalage et aller à l'état 45 + tID décalage et aller à l'état 46 + tPRINTF décalage et aller à l'état 19 + tNOT décalage et aller à l'état 47 + + E aller à l'état 85 + Invocation aller à l'état 49 + + +État 69 + + 35 E: E tEQCOND . E + + tOBRACE décalage et aller à l'état 42 + tSUB décalage et aller à l'état 43 + tNB décalage et aller à l'état 44 + tNBEXP décalage et aller à l'état 45 + tID décalage et aller à l'état 46 + tPRINTF décalage et aller à l'état 19 + tNOT décalage et aller à l'état 47 + + E aller à l'état 86 + Invocation aller à l'état 49 + + +État 70 + + 45 Invocation: tPRINTF tOBRACE tID tCBRACE . + + $défaut réduction par utilisation de la règle 45 (Invocation) + + +État 71 + + 15 If: tIF tOBRACE Cond tCBRACE . Body Else + + tOBRACKET décalage et aller à l'état 13 + + Body aller à l'état 87 + + +État 72 + + 22 SuiteCond: tAND . E SuiteCond + + tOBRACE décalage et aller à l'état 42 + tSUB décalage et aller à l'état 43 + tNB décalage et aller à l'état 44 + tNBEXP décalage et aller à l'état 45 + tID décalage et aller à l'état 46 + tPRINTF décalage et aller à l'état 19 + tNOT décalage et aller à l'état 47 + + E aller à l'état 88 + Invocation aller à l'état 49 + + +État 73 + + 23 SuiteCond: tOR . E SuiteCond + + tOBRACE décalage et aller à l'état 42 + tSUB décalage et aller à l'état 43 + tNB décalage et aller à l'état 44 + tNBEXP décalage et aller à l'état 45 + tID décalage et aller à l'état 46 + tPRINTF décalage et aller à l'état 19 + tNOT décalage et aller à l'état 47 + + E aller à l'état 89 + Invocation aller à l'état 49 + + +État 74 + + 20 Cond: E SuiteCond . + + $défaut réduction par utilisation de la règle 20 (Cond) + + +État 75 + + 19 While: tWHILE tOBRACE Cond tCBRACE . Body + + tOBRACKET décalage et aller à l'état 13 + + Body aller à l'état 90 + + +État 76 + + 41 SuiteDecl: tCOMA tID SuiteDecl . + + $défaut réduction par utilisation de la règle 41 (SuiteDecl) + + +État 77 + + 28 E: E . tMUL E + 29 | E . tDIV E + 30 | E . tSUB E + 31 | E . tADD E + 35 | E . tEQCOND E + 36 | E . tGT E + 37 | E . tLT E + 43 FinDeclaration: tEQ E . tPV + + tPV décalage et aller à l'état 91 + tMUL décalage et aller à l'état 63 + tDIV décalage et aller à l'état 64 + tADD décalage et aller à l'état 65 + tSUB décalage et aller à l'état 66 + tLT décalage et aller à l'état 67 + tGT décalage et aller à l'état 68 + tEQCOND décalage et aller à l'état 69 + + +État 78 + + 40 Decl: tCONST tINT tID SuiteDecl tEQ . E tPV + + tOBRACE décalage et aller à l'état 42 + tSUB décalage et aller à l'état 43 + tNB décalage et aller à l'état 44 + tNBEXP décalage et aller à l'état 45 + tID décalage et aller à l'état 46 + tPRINTF décalage et aller à l'état 19 + tNOT décalage et aller à l'état 47 + + E aller à l'état 92 + Invocation aller à l'état 49 + + +État 79 + + 33 E: tOBRACE E tCBRACE . + + $défaut réduction par utilisation de la règle 33 (E) + + +État 80 + + 28 E: E . tMUL E + 28 | E tMUL E . + 29 | E . tDIV E + 30 | E . tSUB E + 31 | E . tADD E + 35 | E . tEQCOND E + 36 | E . tGT E + 37 | E . tLT E + + $défaut réduction par utilisation de la règle 28 (E) + + +État 81 + + 28 E: E . tMUL E + 29 | E . tDIV E + 29 | E tDIV E . + 30 | E . tSUB E + 31 | E . tADD E + 35 | E . tEQCOND E + 36 | E . tGT E + 37 | E . tLT E + + $défaut réduction par utilisation de la règle 29 (E) + + +État 82 + + 28 E: E . tMUL E + 29 | E . tDIV E + 30 | E . tSUB E + 31 | E . tADD E + 31 | E tADD E . + 35 | E . tEQCOND E + 36 | E . tGT E + 37 | E . tLT E + + tMUL décalage et aller à l'état 63 + tDIV décalage et aller à l'état 64 + + $défaut réduction par utilisation de la règle 31 (E) + + +État 83 + + 28 E: E . tMUL E + 29 | E . tDIV E + 30 | E . tSUB E + 30 | E tSUB E . + 31 | E . tADD E + 35 | E . tEQCOND E + 36 | E . tGT E + 37 | E . tLT E + + tMUL décalage et aller à l'état 63 + tDIV décalage et aller à l'état 64 + + $défaut réduction par utilisation de la règle 30 (E) + + +État 84 + + 28 E: E . tMUL E + 29 | E . tDIV E + 30 | E . tSUB E + 31 | E . tADD E + 35 | E . tEQCOND E + 36 | E . tGT E + 37 | E . tLT E + 37 | E tLT E . + + tMUL décalage et aller à l'état 63 + tDIV décalage et aller à l'état 64 + tADD décalage et aller à l'état 65 + tSUB décalage et aller à l'état 66 + tEQCOND décalage et aller à l'état 69 + + $défaut réduction par utilisation de la règle 37 (E) + + +État 85 + + 28 E: E . tMUL E + 29 | E . tDIV E + 30 | E . tSUB E + 31 | E . tADD E + 35 | E . tEQCOND E + 36 | E . tGT E + 36 | E tGT E . + 37 | E . tLT E + + tMUL décalage et aller à l'état 63 + tDIV décalage et aller à l'état 64 + tADD décalage et aller à l'état 65 + tSUB décalage et aller à l'état 66 + tEQCOND décalage et aller à l'état 69 + + $défaut réduction par utilisation de la règle 36 (E) + + +État 86 + + 28 E: E . tMUL E + 29 | E . tDIV E + 30 | E . tSUB E + 31 | E . tADD E + 35 | E . tEQCOND E + 35 | E tEQCOND E . + 36 | E . tGT E + 37 | E . tLT E + + tMUL décalage et aller à l'état 63 + tDIV décalage et aller à l'état 64 + tADD décalage et aller à l'état 65 + tSUB décalage et aller à l'état 66 + + $défaut réduction par utilisation de la règle 35 (E) + + +État 87 + + 15 If: tIF tOBRACE Cond tCBRACE Body . Else + + tELSE décalage et aller à l'état 93 + + $défaut réduction par utilisation de la règle 18 (Else) + + Else aller à l'état 94 + + +État 88 + + 22 SuiteCond: tAND E . SuiteCond + 28 E: E . tMUL E + 29 | E . tDIV E + 30 | E . tSUB E + 31 | E . tADD E + 35 | E . tEQCOND E + 36 | E . tGT E + 37 | E . tLT E + + tMUL décalage et aller à l'état 63 + tDIV décalage et aller à l'état 64 + tADD décalage et aller à l'état 65 + tSUB décalage et aller à l'état 66 + tLT décalage et aller à l'état 67 + tGT décalage et aller à l'état 68 + tEQCOND décalage et aller à l'état 69 + tAND décalage et aller à l'état 72 + tOR décalage et aller à l'état 73 + + $défaut réduction par utilisation de la règle 21 (SuiteCond) + + SuiteCond aller à l'état 95 + + +État 89 + + 23 SuiteCond: tOR E . SuiteCond + 28 E: E . tMUL E + 29 | E . tDIV E + 30 | E . tSUB E + 31 | E . tADD E + 35 | E . tEQCOND E + 36 | E . tGT E + 37 | E . tLT E + + tMUL décalage et aller à l'état 63 + tDIV décalage et aller à l'état 64 + tADD décalage et aller à l'état 65 + tSUB décalage et aller à l'état 66 + tLT décalage et aller à l'état 67 + tGT décalage et aller à l'état 68 + tEQCOND décalage et aller à l'état 69 + tAND décalage et aller à l'état 72 + tOR décalage et aller à l'état 73 + + $défaut réduction par utilisation de la règle 21 (SuiteCond) + + SuiteCond aller à l'état 96 + + +État 90 + + 19 While: tWHILE tOBRACE Cond tCBRACE Body . + + $défaut réduction par utilisation de la règle 19 (While) + + +État 91 + + 43 FinDeclaration: tEQ E tPV . + + $défaut réduction par utilisation de la règle 43 (FinDeclaration) + + +État 92 + + 28 E: E . tMUL E + 29 | E . tDIV E + 30 | E . tSUB E + 31 | E . tADD E + 35 | E . tEQCOND E + 36 | E . tGT E + 37 | E . tLT E + 40 Decl: tCONST tINT tID SuiteDecl tEQ E . tPV + + tPV décalage et aller à l'état 97 + tMUL décalage et aller à l'état 63 + tDIV décalage et aller à l'état 64 + tADD décalage et aller à l'état 65 + tSUB décalage et aller à l'état 66 + tLT décalage et aller à l'état 67 + tGT décalage et aller à l'état 68 + tEQCOND décalage et aller à l'état 69 + + +État 93 + + 16 Else: tELSE . If + 17 | tELSE . Body + + tOBRACKET décalage et aller à l'état 13 + tIF décalage et aller à l'état 20 + + Body aller à l'état 98 + If aller à l'état 99 + + +État 94 + + 15 If: tIF tOBRACE Cond tCBRACE Body Else . + + $défaut réduction par utilisation de la règle 15 (If) + + +État 95 + + 22 SuiteCond: tAND E SuiteCond . + + $défaut réduction par utilisation de la règle 22 (SuiteCond) + + +État 96 + + 23 SuiteCond: tOR E SuiteCond . + + $défaut réduction par utilisation de la règle 23 (SuiteCond) + + +État 97 + + 40 Decl: tCONST tINT tID SuiteDecl tEQ E tPV . + + $défaut réduction par utilisation de la règle 40 (Decl) + + +État 98 + + 17 Else: tELSE Body . + + $défaut réduction par utilisation de la règle 17 (Else) + + +État 99 + + 16 Else: tELSE If . + + $défaut réduction par utilisation de la règle 16 (Else) diff --git a/Lex_Yacc/as.tab.c b/Lex_Yacc/as.tab.c new file mode 100644 index 0000000..d268e6a --- /dev/null +++ b/Lex_Yacc/as.tab.c @@ -0,0 +1,1714 @@ +/* A Bison parser, made by GNU Bison 3.0.4. */ + +/* Bison implementation for Yacc-like parsers in C + + Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* As a special exception, you may create a larger work that contains + part or all of the Bison parser skeleton and distribute that work + under terms of your choice, so long as that work isn't itself a + parser generator using the skeleton or a modified version thereof + as a parser skeleton. Alternatively, if you modify or redistribute + the parser skeleton itself, you may (at your option) remove this + special exception, which will cause the skeleton and the resulting + Bison output files to be licensed under the GNU General Public + License without this special exception. + + This special exception was added by the Free Software Foundation in + version 2.2 of Bison. */ + +/* C LALR(1) parser skeleton written by Richard Stallman, by + simplifying the original so-called "semantic" parser. */ + +/* All symbols defined below should begin with yy or YY, to avoid + infringing on user name space. This should be done even for local + variables, as they might otherwise be expanded by user macros. + There are some unavoidable exceptions within include files to + define necessary library symbols; they are noted "INFRINGES ON + USER NAME SPACE" below. */ + +/* Identify Bison output. */ +#define YYBISON 1 + +/* Bison version. */ +#define YYBISON_VERSION "3.0.4" + +/* Skeleton name. */ +#define YYSKELETON_NAME "yacc.c" + +/* Pure parsers. */ +#define YYPURE 0 + +/* Push parsers. */ +#define YYPUSH 0 + +/* Pull parsers. */ +#define YYPULL 1 + + + + +/* Copy the first part of user declarations. */ + +#line 67 "as.tab.c" /* yacc.c:339 */ + +# ifndef YY_NULLPTR +# if defined __cplusplus && 201103L <= __cplusplus +# define YY_NULLPTR nullptr +# else +# define YY_NULLPTR 0 +# endif +# endif + +/* Enabling verbose error messages. */ +#ifdef YYERROR_VERBOSE +# undef YYERROR_VERBOSE +# define YYERROR_VERBOSE 1 +#else +# define YYERROR_VERBOSE 0 +#endif + +/* In a future release of Bison, this section will be replaced + by #include "as.tab.h". */ +#ifndef YY_YY_AS_TAB_H_INCLUDED +# define YY_YY_AS_TAB_H_INCLUDED +/* Debug traces. */ +#ifndef YYDEBUG +# define YYDEBUG 1 +#endif +#if YYDEBUG +extern int yydebug; +#endif + +/* Token type. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + enum yytokentype + { + tMAIN = 258, + tOBRACKET = 259, + tCBRACKET = 260, + tOBRACE = 261, + tCBRACE = 262, + tINT = 263, + tCONST = 264, + tPV = 265, + tCOMA = 266, + tMUL = 267, + tDIV = 268, + tADD = 269, + tSUB = 270, + tEQ = 271, + tNB = 272, + tNBEXP = 273, + tID = 274, + tPRINTF = 275, + tERROR = 276, + tIF = 277, + tWHILE = 278, + tELSE = 279, + tLT = 280, + tGT = 281, + tEQCOND = 282, + tAND = 283, + tOR = 284, + tNOT = 285 + }; +#endif + +/* Value type. */ +#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED + +union YYSTYPE +{ +#line 1 "as.y" /* yacc.c:355 */ + + int nombre; + char id[30]; + +#line 143 "as.tab.c" /* yacc.c:355 */ +}; + +typedef union YYSTYPE YYSTYPE; +# define YYSTYPE_IS_TRIVIAL 1 +# define YYSTYPE_IS_DECLARED 1 +#endif + + +extern YYSTYPE yylval; + +int yyparse (void); + +#endif /* !YY_YY_AS_TAB_H_INCLUDED */ + +/* Copy the second part of user declarations. */ +#line 5 "as.y" /* yacc.c:358 */ + +#include "../Symboles/table_symboles.h" +#include + +int addr = 0; + +#line 166 "as.tab.c" /* yacc.c:358 */ + +#ifdef short +# undef short +#endif + +#ifdef YYTYPE_UINT8 +typedef YYTYPE_UINT8 yytype_uint8; +#else +typedef unsigned char yytype_uint8; +#endif + +#ifdef YYTYPE_INT8 +typedef YYTYPE_INT8 yytype_int8; +#else +typedef signed char yytype_int8; +#endif + +#ifdef YYTYPE_UINT16 +typedef YYTYPE_UINT16 yytype_uint16; +#else +typedef unsigned short int yytype_uint16; +#endif + +#ifdef YYTYPE_INT16 +typedef YYTYPE_INT16 yytype_int16; +#else +typedef short int yytype_int16; +#endif + +#ifndef YYSIZE_T +# ifdef __SIZE_TYPE__ +# define YYSIZE_T __SIZE_TYPE__ +# elif defined size_t +# define YYSIZE_T size_t +# elif ! defined YYSIZE_T +# include /* INFRINGES ON USER NAME SPACE */ +# define YYSIZE_T size_t +# else +# define YYSIZE_T unsigned int +# endif +#endif + +#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) + +#ifndef YY_ +# if defined YYENABLE_NLS && YYENABLE_NLS +# if ENABLE_NLS +# include /* INFRINGES ON USER NAME SPACE */ +# define YY_(Msgid) dgettext ("bison-runtime", Msgid) +# endif +# endif +# ifndef YY_ +# define YY_(Msgid) Msgid +# endif +#endif + +#ifndef YY_ATTRIBUTE +# if (defined __GNUC__ \ + && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ + || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C +# define YY_ATTRIBUTE(Spec) __attribute__(Spec) +# else +# define YY_ATTRIBUTE(Spec) /* empty */ +# endif +#endif + +#ifndef YY_ATTRIBUTE_PURE +# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) +#endif + +#ifndef YY_ATTRIBUTE_UNUSED +# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) +#endif + +#if !defined _Noreturn \ + && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) +# if defined _MSC_VER && 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn YY_ATTRIBUTE ((__noreturn__)) +# endif +#endif + +/* Suppress unused-variable warnings by "using" E. */ +#if ! defined lint || defined __GNUC__ +# define YYUSE(E) ((void) (E)) +#else +# define YYUSE(E) /* empty */ +#endif + +#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ +/* Suppress an incorrect diagnostic about yylval being uninitialized. */ +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ + _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") +# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ + _Pragma ("GCC diagnostic pop") +#else +# define YY_INITIAL_VALUE(Value) Value +#endif +#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_END +#endif +#ifndef YY_INITIAL_VALUE +# define YY_INITIAL_VALUE(Value) /* Nothing. */ +#endif + + +#if ! defined yyoverflow || YYERROR_VERBOSE + +/* The parser invokes alloca or malloc; define the necessary symbols. */ + +# ifdef YYSTACK_USE_ALLOCA +# if YYSTACK_USE_ALLOCA +# ifdef __GNUC__ +# define YYSTACK_ALLOC __builtin_alloca +# elif defined __BUILTIN_VA_ARG_INCR +# include /* INFRINGES ON USER NAME SPACE */ +# elif defined _AIX +# define YYSTACK_ALLOC __alloca +# elif defined _MSC_VER +# include /* INFRINGES ON USER NAME SPACE */ +# define alloca _alloca +# else +# define YYSTACK_ALLOC alloca +# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS +# include /* INFRINGES ON USER NAME SPACE */ + /* Use EXIT_SUCCESS as a witness for stdlib.h. */ +# ifndef EXIT_SUCCESS +# define EXIT_SUCCESS 0 +# endif +# endif +# endif +# endif +# endif + +# ifdef YYSTACK_ALLOC + /* Pacify GCC's 'empty if-body' warning. */ +# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) +# ifndef YYSTACK_ALLOC_MAXIMUM + /* The OS might guarantee only one guard page at the bottom of the stack, + and a page size can be as small as 4096 bytes. So we cannot safely + invoke alloca (N) if N exceeds 4096. Use a slightly smaller number + to allow for a few compiler-allocated temporary stack slots. */ +# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ +# endif +# else +# define YYSTACK_ALLOC YYMALLOC +# define YYSTACK_FREE YYFREE +# ifndef YYSTACK_ALLOC_MAXIMUM +# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM +# endif +# if (defined __cplusplus && ! defined EXIT_SUCCESS \ + && ! ((defined YYMALLOC || defined malloc) \ + && (defined YYFREE || defined free))) +# include /* INFRINGES ON USER NAME SPACE */ +# ifndef EXIT_SUCCESS +# define EXIT_SUCCESS 0 +# endif +# endif +# ifndef YYMALLOC +# define YYMALLOC malloc +# if ! defined malloc && ! defined EXIT_SUCCESS +void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ +# endif +# endif +# ifndef YYFREE +# define YYFREE free +# if ! defined free && ! defined EXIT_SUCCESS +void free (void *); /* INFRINGES ON USER NAME SPACE */ +# endif +# endif +# endif +#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ + + +#if (! defined yyoverflow \ + && (! defined __cplusplus \ + || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) + +/* A type that is properly aligned for any stack member. */ +union yyalloc +{ + yytype_int16 yyss_alloc; + YYSTYPE yyvs_alloc; +}; + +/* The size of the maximum gap between one aligned stack and the next. */ +# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) + +/* The size of an array large to enough to hold all stacks, each with + N elements. */ +# define YYSTACK_BYTES(N) \ + ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + + YYSTACK_GAP_MAXIMUM) + +# define YYCOPY_NEEDED 1 + +/* Relocate STACK from its old location to the new one. The + local variables YYSIZE and YYSTACKSIZE give the old and new number of + elements in the stack, and YYPTR gives the new location of the + stack. Advance YYPTR to a properly aligned location for the next + stack. */ +# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ + do \ + { \ + YYSIZE_T yynewbytes; \ + YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ + Stack = &yyptr->Stack_alloc; \ + yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ + yyptr += yynewbytes / sizeof (*yyptr); \ + } \ + while (0) + +#endif + +#if defined YYCOPY_NEEDED && YYCOPY_NEEDED +/* Copy COUNT objects from SRC to DST. The source and destination do + not overlap. */ +# ifndef YYCOPY +# if defined __GNUC__ && 1 < __GNUC__ +# define YYCOPY(Dst, Src, Count) \ + __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) +# else +# define YYCOPY(Dst, Src, Count) \ + do \ + { \ + YYSIZE_T yyi; \ + for (yyi = 0; yyi < (Count); yyi++) \ + (Dst)[yyi] = (Src)[yyi]; \ + } \ + while (0) +# endif +# endif +#endif /* !YYCOPY_NEEDED */ + +/* YYFINAL -- State number of the termination state. */ +#define YYFINAL 4 +/* YYLAST -- Last index in YYTABLE. */ +#define YYLAST 130 + +/* YYNTOKENS -- Number of terminals. */ +#define YYNTOKENS 31 +/* YYNNTS -- Number of nonterminals. */ +#define YYNNTS 19 +/* YYNRULES -- Number of rules. */ +#define YYNRULES 46 +/* YYNSTATES -- Number of states. */ +#define YYNSTATES 100 + +/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned + by yylex, with out-of-bounds checking. */ +#define YYUNDEFTOK 2 +#define YYMAXUTOK 285 + +#define YYTRANSLATE(YYX) \ + ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) + +/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM + as returned by yylex, without out-of-bounds checking. */ +static const yytype_uint8 yytranslate[] = +{ + 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30 +}; + +#if YYDEBUG + /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ +static const yytype_uint8 yyrline[] = +{ + 0, 40, 40, 42, 43, 44, 45, 46, 48, 51, + 52, 53, 54, 55, 56, 57, 60, 61, 62, 63, + 64, 66, 67, 68, 69, 72, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 90, 91, 92, 93, 94, 95, 97 +}; +#endif + +#if YYDEBUG || YYERROR_VERBOSE || 0 +/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. + First, the terminals, then, starting at YYNTOKENS, nonterminals. */ +static const char *const yytname[] = +{ + "$end", "error", "$undefined", "tMAIN", "tOBRACKET", "tCBRACKET", + "tOBRACE", "tCBRACE", "tINT", "tCONST", "tPV", "tCOMA", "tMUL", "tDIV", + "tADD", "tSUB", "tEQ", "tNB", "tNBEXP", "tID", "tPRINTF", "tERROR", + "tIF", "tWHILE", "tELSE", "tLT", "tGT", "tEQCOND", "tAND", "tOR", "tNOT", + "$accept", "Main", "Params", "Param", "SuiteParams", "Body", + "Instructions", "Instruction", "If", "Else", "While", "Cond", + "SuiteCond", "Aff", "E", "Decl", "SuiteDecl", "FinDeclaration", + "Invocation", YY_NULLPTR +}; +#endif + +# ifdef YYPRINT +/* YYTOKNUM[NUM] -- (External) token number corresponding to the + (internal) symbol number NUM (which must be that of a token). */ +static const yytype_uint16 yytoknum[] = +{ + 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285 +}; +# endif + +#define YYPACT_NINF -69 + +#define yypact_value_is_default(Yystate) \ + (!!((Yystate) == (-69))) + +#define YYTABLE_NINF -1 + +#define yytable_value_is_error(Yytable_value) \ + 0 + + /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ +static const yytype_int8 yypact[] = +{ + -7, 1, 9, 16, -69, 20, 11, 50, 32, -69, + 66, 20, -69, 36, -69, 32, 44, 68, 67, 75, + 76, 81, 84, 36, -69, -69, -69, -69, 78, -69, + 96, 92, -1, 97, -1, -1, -69, -69, -69, 98, + -4, 96, -1, -1, -69, -69, -69, -1, 59, -69, + 108, 116, 39, 117, 96, -69, -1, -69, 109, 35, + 14, 87, -69, -1, -1, -1, -1, -1, -1, -1, + -69, 66, -1, -1, -69, 66, -69, 65, -1, -69, + -69, -69, 14, 14, 91, 91, 107, 70, 39, 39, + -69, -69, 83, -2, -69, -69, -69, -69, -69, -69 +}; + + /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. + Performed when YYTABLE does not specify something else to do. Zero + means the default is an error. */ +static const yytype_uint8 yydefact[] = +{ + 0, 0, 0, 0, 1, 3, 0, 0, 7, 5, + 0, 0, 4, 10, 2, 7, 0, 0, 0, 0, + 0, 0, 0, 10, 14, 15, 11, 12, 0, 6, + 43, 0, 0, 0, 0, 0, 8, 9, 13, 0, + 0, 43, 0, 0, 26, 27, 28, 0, 0, 33, + 0, 0, 22, 0, 43, 45, 0, 40, 0, 0, + 35, 39, 25, 0, 0, 0, 0, 0, 0, 0, + 46, 0, 0, 0, 21, 0, 42, 0, 0, 34, + 29, 30, 32, 31, 38, 37, 36, 19, 22, 22, + 20, 44, 0, 0, 16, 23, 24, 41, 18, 17 +}; + + /* YYPGOTO[NTERM-NUM]. */ +static const yytype_int8 yypgoto[] = +{ + -69, -69, -69, 115, 112, -68, 105, -69, 37, -69, + -69, 94, -50, -69, -32, -69, -33, -69, 0 +}; + + /* YYDEFGOTO[NTERM-NUM]. */ +static const yytype_int8 yydefgoto[] = +{ + -1, 2, 7, 8, 12, 14, 22, 23, 24, 94, + 25, 51, 74, 26, 52, 27, 40, 57, 49 +}; + + /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If + positive, shift that token. If negative, reduce the rule whose + number is the opposite. If YYTABLE_NINF, syntax error. */ +static const yytype_uint8 yytable[] = +{ + 48, 1, 13, 87, 3, 42, 55, 90, 58, 4, + 59, 60, 56, 28, 43, 61, 44, 45, 46, 19, + 20, 76, 5, 28, 77, 98, 63, 64, 6, 47, + 9, 80, 81, 82, 83, 84, 85, 86, 95, 96, + 88, 89, 79, 11, 16, 17, 92, 63, 64, 65, + 66, 63, 64, 65, 66, 18, 19, 10, 20, 21, + 67, 68, 69, 30, 67, 68, 69, 72, 73, 62, + 13, 63, 64, 65, 66, 91, 31, 63, 64, 65, + 66, 33, 34, 32, 67, 68, 69, 35, 38, 36, + 67, 68, 69, 97, 93, 63, 64, 65, 66, 63, + 64, 65, 66, 63, 64, 65, 66, 39, 67, 68, + 69, 41, 67, 68, 69, 70, 50, 54, 69, 63, + 64, 65, 66, 71, 75, 78, 15, 29, 37, 53, + 99 +}; + +static const yytype_uint8 yycheck[] = +{ + 32, 8, 4, 71, 3, 6, 10, 75, 41, 0, + 42, 43, 16, 13, 15, 47, 17, 18, 19, 20, + 22, 54, 6, 23, 56, 93, 12, 13, 8, 30, + 19, 63, 64, 65, 66, 67, 68, 69, 88, 89, + 72, 73, 7, 11, 8, 9, 78, 12, 13, 14, + 15, 12, 13, 14, 15, 19, 20, 7, 22, 23, + 25, 26, 27, 19, 25, 26, 27, 28, 29, 10, + 4, 12, 13, 14, 15, 10, 8, 12, 13, 14, + 15, 6, 6, 16, 25, 26, 27, 6, 10, 5, + 25, 26, 27, 10, 24, 12, 13, 14, 15, 12, + 13, 14, 15, 12, 13, 14, 15, 11, 25, 26, + 27, 19, 25, 26, 27, 7, 19, 19, 27, 12, + 13, 14, 15, 7, 7, 16, 11, 15, 23, 35, + 93 +}; + + /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing + symbol of state STATE-NUM. */ +static const yytype_uint8 yystos[] = +{ + 0, 8, 32, 3, 0, 6, 8, 33, 34, 19, + 7, 11, 35, 4, 36, 34, 8, 9, 19, 20, + 22, 23, 37, 38, 39, 41, 44, 46, 49, 35, + 19, 8, 16, 6, 6, 6, 5, 37, 10, 11, + 47, 19, 6, 15, 17, 18, 19, 30, 45, 49, + 19, 42, 45, 42, 19, 10, 16, 48, 47, 45, + 45, 45, 10, 12, 13, 14, 15, 25, 26, 27, + 7, 7, 28, 29, 43, 7, 47, 45, 16, 7, + 45, 45, 45, 45, 45, 45, 45, 36, 45, 45, + 36, 10, 45, 24, 40, 43, 43, 10, 36, 39 +}; + + /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +static const yytype_uint8 yyr1[] = +{ + 0, 31, 32, 33, 33, 34, 35, 35, 36, 37, + 37, 38, 38, 38, 38, 38, 39, 40, 40, 40, + 41, 42, 43, 43, 43, 44, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 46, 46, 47, 47, 48, 48, 49 +}; + + /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ +static const yytype_uint8 yyr2[] = +{ + 0, 2, 6, 0, 2, 2, 3, 0, 3, 2, + 0, 1, 1, 2, 1, 1, 6, 2, 2, 0, + 5, 2, 0, 3, 3, 4, 1, 1, 1, 3, + 3, 3, 3, 1, 3, 2, 3, 3, 3, 2, + 4, 7, 3, 0, 3, 1, 4 +}; + + +#define yyerrok (yyerrstatus = 0) +#define yyclearin (yychar = YYEMPTY) +#define YYEMPTY (-2) +#define YYEOF 0 + +#define YYACCEPT goto yyacceptlab +#define YYABORT goto yyabortlab +#define YYERROR goto yyerrorlab + + +#define YYRECOVERING() (!!yyerrstatus) + +#define YYBACKUP(Token, Value) \ +do \ + if (yychar == YYEMPTY) \ + { \ + yychar = (Token); \ + yylval = (Value); \ + YYPOPSTACK (yylen); \ + yystate = *yyssp; \ + goto yybackup; \ + } \ + else \ + { \ + yyerror (YY_("syntax error: cannot back up")); \ + YYERROR; \ + } \ +while (0) + +/* Error token number */ +#define YYTERROR 1 +#define YYERRCODE 256 + + + +/* Enable debugging if requested. */ +#if YYDEBUG + +# ifndef YYFPRINTF +# include /* INFRINGES ON USER NAME SPACE */ +# define YYFPRINTF fprintf +# endif + +# define YYDPRINTF(Args) \ +do { \ + if (yydebug) \ + YYFPRINTF Args; \ +} while (0) + +/* This macro is provided for backward compatibility. */ +#ifndef YY_LOCATION_PRINT +# define YY_LOCATION_PRINT(File, Loc) ((void) 0) +#endif + + +# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ +do { \ + if (yydebug) \ + { \ + YYFPRINTF (stderr, "%s ", Title); \ + yy_symbol_print (stderr, \ + Type, Value); \ + YYFPRINTF (stderr, "\n"); \ + } \ +} while (0) + + +/*----------------------------------------. +| Print this symbol's value on YYOUTPUT. | +`----------------------------------------*/ + +static void +yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) +{ + FILE *yyo = yyoutput; + YYUSE (yyo); + if (!yyvaluep) + return; +# ifdef YYPRINT + if (yytype < YYNTOKENS) + YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); +# endif + YYUSE (yytype); +} + + +/*--------------------------------. +| Print this symbol on YYOUTPUT. | +`--------------------------------*/ + +static void +yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) +{ + YYFPRINTF (yyoutput, "%s %s (", + yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); + + yy_symbol_value_print (yyoutput, yytype, yyvaluep); + YYFPRINTF (yyoutput, ")"); +} + +/*------------------------------------------------------------------. +| yy_stack_print -- Print the state stack from its BOTTOM up to its | +| TOP (included). | +`------------------------------------------------------------------*/ + +static void +yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) +{ + YYFPRINTF (stderr, "Stack now"); + for (; yybottom <= yytop; yybottom++) + { + int yybot = *yybottom; + YYFPRINTF (stderr, " %d", yybot); + } + YYFPRINTF (stderr, "\n"); +} + +# define YY_STACK_PRINT(Bottom, Top) \ +do { \ + if (yydebug) \ + yy_stack_print ((Bottom), (Top)); \ +} while (0) + + +/*------------------------------------------------. +| Report that the YYRULE is going to be reduced. | +`------------------------------------------------*/ + +static void +yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) +{ + unsigned long int yylno = yyrline[yyrule]; + int yynrhs = yyr2[yyrule]; + int yyi; + YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", + yyrule - 1, yylno); + /* The symbols being reduced. */ + for (yyi = 0; yyi < yynrhs; yyi++) + { + YYFPRINTF (stderr, " $%d = ", yyi + 1); + yy_symbol_print (stderr, + yystos[yyssp[yyi + 1 - yynrhs]], + &(yyvsp[(yyi + 1) - (yynrhs)]) + ); + YYFPRINTF (stderr, "\n"); + } +} + +# define YY_REDUCE_PRINT(Rule) \ +do { \ + if (yydebug) \ + yy_reduce_print (yyssp, yyvsp, Rule); \ +} while (0) + +/* Nonzero means print parse trace. It is left uninitialized so that + multiple parsers can coexist. */ +int yydebug; +#else /* !YYDEBUG */ +# define YYDPRINTF(Args) +# define YY_SYMBOL_PRINT(Title, Type, Value, Location) +# define YY_STACK_PRINT(Bottom, Top) +# define YY_REDUCE_PRINT(Rule) +#endif /* !YYDEBUG */ + + +/* YYINITDEPTH -- initial size of the parser's stacks. */ +#ifndef YYINITDEPTH +# define YYINITDEPTH 200 +#endif + +/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only + if the built-in stack extension method is used). + + Do not make this value too large; the results are undefined if + YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) + evaluated with infinite-precision integer arithmetic. */ + +#ifndef YYMAXDEPTH +# define YYMAXDEPTH 10000 +#endif + + +#if YYERROR_VERBOSE + +# ifndef yystrlen +# if defined __GLIBC__ && defined _STRING_H +# define yystrlen strlen +# else +/* Return the length of YYSTR. */ +static YYSIZE_T +yystrlen (const char *yystr) +{ + YYSIZE_T yylen; + for (yylen = 0; yystr[yylen]; yylen++) + continue; + return yylen; +} +# endif +# endif + +# ifndef yystpcpy +# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE +# define yystpcpy stpcpy +# else +/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in + YYDEST. */ +static char * +yystpcpy (char *yydest, const char *yysrc) +{ + char *yyd = yydest; + const char *yys = yysrc; + + while ((*yyd++ = *yys++) != '\0') + continue; + + return yyd - 1; +} +# endif +# endif + +# ifndef yytnamerr +/* Copy to YYRES the contents of YYSTR after stripping away unnecessary + quotes and backslashes, so that it's suitable for yyerror. The + heuristic is that double-quoting is unnecessary unless the string + contains an apostrophe, a comma, or backslash (other than + backslash-backslash). YYSTR is taken from yytname. If YYRES is + null, do not copy; instead, return the length of what the result + would have been. */ +static YYSIZE_T +yytnamerr (char *yyres, const char *yystr) +{ + if (*yystr == '"') + { + YYSIZE_T yyn = 0; + char const *yyp = yystr; + + for (;;) + switch (*++yyp) + { + case '\'': + case ',': + goto do_not_strip_quotes; + + case '\\': + if (*++yyp != '\\') + goto do_not_strip_quotes; + /* Fall through. */ + default: + if (yyres) + yyres[yyn] = *yyp; + yyn++; + break; + + case '"': + if (yyres) + yyres[yyn] = '\0'; + return yyn; + } + do_not_strip_quotes: ; + } + + if (! yyres) + return yystrlen (yystr); + + return yystpcpy (yyres, yystr) - yyres; +} +# endif + +/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message + about the unexpected token YYTOKEN for the state stack whose top is + YYSSP. + + Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is + not large enough to hold the message. In that case, also set + *YYMSG_ALLOC to the required number of bytes. Return 2 if the + required number of bytes is too large to store. */ +static int +yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, + yytype_int16 *yyssp, int yytoken) +{ + YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); + YYSIZE_T yysize = yysize0; + enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; + /* Internationalized format string. */ + const char *yyformat = YY_NULLPTR; + /* Arguments of yyformat. */ + char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; + /* Number of reported tokens (one for the "unexpected", one per + "expected"). */ + int yycount = 0; + + /* There are many possibilities here to consider: + - If this state is a consistent state with a default action, then + the only way this function was invoked is if the default action + is an error action. In that case, don't check for expected + tokens because there are none. + - The only way there can be no lookahead present (in yychar) is if + this state is a consistent state with a default action. Thus, + detecting the absence of a lookahead is sufficient to determine + that there is no unexpected or expected token to report. In that + case, just report a simple "syntax error". + - Don't assume there isn't a lookahead just because this state is a + consistent state with a default action. There might have been a + previous inconsistent state, consistent state with a non-default + action, or user semantic action that manipulated yychar. + - Of course, the expected token list depends on states to have + correct lookahead information, and it depends on the parser not + to perform extra reductions after fetching a lookahead from the + scanner and before detecting a syntax error. Thus, state merging + (from LALR or IELR) and default reductions corrupt the expected + token list. However, the list is correct for canonical LR with + one exception: it will still contain any token that will not be + accepted due to an error action in a later state. + */ + if (yytoken != YYEMPTY) + { + int yyn = yypact[*yyssp]; + yyarg[yycount++] = yytname[yytoken]; + if (!yypact_value_is_default (yyn)) + { + /* Start YYX at -YYN if negative to avoid negative indexes in + YYCHECK. In other words, skip the first -YYN actions for + this state because they are default actions. */ + int yyxbegin = yyn < 0 ? -yyn : 0; + /* Stay within bounds of both yycheck and yytname. */ + int yychecklim = YYLAST - yyn + 1; + int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; + int yyx; + + for (yyx = yyxbegin; yyx < yyxend; ++yyx) + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR + && !yytable_value_is_error (yytable[yyx + yyn])) + { + if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) + { + yycount = 1; + yysize = yysize0; + break; + } + yyarg[yycount++] = yytname[yyx]; + { + YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); + if (! (yysize <= yysize1 + && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + return 2; + yysize = yysize1; + } + } + } + } + + switch (yycount) + { +# define YYCASE_(N, S) \ + case N: \ + yyformat = S; \ + break + YYCASE_(0, YY_("syntax error")); + YYCASE_(1, YY_("syntax error, unexpected %s")); + YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); + YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); + YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); + YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); +# undef YYCASE_ + } + + { + YYSIZE_T yysize1 = yysize + yystrlen (yyformat); + if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + return 2; + yysize = yysize1; + } + + if (*yymsg_alloc < yysize) + { + *yymsg_alloc = 2 * yysize; + if (! (yysize <= *yymsg_alloc + && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) + *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; + return 1; + } + + /* Avoid sprintf, as that infringes on the user's name space. + Don't have undefined behavior even if the translation + produced a string with the wrong number of "%s"s. */ + { + char *yyp = *yymsg; + int yyi = 0; + while ((*yyp = *yyformat) != '\0') + if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) + { + yyp += yytnamerr (yyp, yyarg[yyi++]); + yyformat += 2; + } + else + { + yyp++; + yyformat++; + } + } + return 0; +} +#endif /* YYERROR_VERBOSE */ + +/*-----------------------------------------------. +| Release the memory associated to this symbol. | +`-----------------------------------------------*/ + +static void +yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) +{ + YYUSE (yyvaluep); + if (!yymsg) + yymsg = "Deleting"; + YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); + + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + YYUSE (yytype); + YY_IGNORE_MAYBE_UNINITIALIZED_END +} + + + + +/* The lookahead symbol. */ +int yychar; + +/* The semantic value of the lookahead symbol. */ +YYSTYPE yylval; +/* Number of syntax errors so far. */ +int yynerrs; + + +/*----------. +| yyparse. | +`----------*/ + +int +yyparse (void) +{ + int yystate; + /* Number of tokens to shift before error messages enabled. */ + int yyerrstatus; + + /* The stacks and their tools: + 'yyss': related to states. + 'yyvs': related to semantic values. + + Refer to the stacks through separate pointers, to allow yyoverflow + to reallocate them elsewhere. */ + + /* The state stack. */ + yytype_int16 yyssa[YYINITDEPTH]; + yytype_int16 *yyss; + yytype_int16 *yyssp; + + /* The semantic value stack. */ + YYSTYPE yyvsa[YYINITDEPTH]; + YYSTYPE *yyvs; + YYSTYPE *yyvsp; + + YYSIZE_T yystacksize; + + int yyn; + int yyresult; + /* Lookahead token as an internal (translated) token number. */ + int yytoken = 0; + /* The variables used to return semantic value and location from the + action routines. */ + YYSTYPE yyval; + +#if YYERROR_VERBOSE + /* Buffer for error messages, and its allocated size. */ + char yymsgbuf[128]; + char *yymsg = yymsgbuf; + YYSIZE_T yymsg_alloc = sizeof yymsgbuf; +#endif + +#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) + + /* The number of symbols on the RHS of the reduced rule. + Keep to zero when no symbol should be popped. */ + int yylen = 0; + + yyssp = yyss = yyssa; + yyvsp = yyvs = yyvsa; + yystacksize = YYINITDEPTH; + + YYDPRINTF ((stderr, "Starting parse\n")); + + yystate = 0; + yyerrstatus = 0; + yynerrs = 0; + yychar = YYEMPTY; /* Cause a token to be read. */ + goto yysetstate; + +/*------------------------------------------------------------. +| yynewstate -- Push a new state, which is found in yystate. | +`------------------------------------------------------------*/ + yynewstate: + /* In all cases, when you get here, the value and location stacks + have just been pushed. So pushing a state here evens the stacks. */ + yyssp++; + + yysetstate: + *yyssp = yystate; + + if (yyss + yystacksize - 1 <= yyssp) + { + /* Get the current used size of the three stacks, in elements. */ + YYSIZE_T yysize = yyssp - yyss + 1; + +#ifdef yyoverflow + { + /* Give user a chance to reallocate the stack. Use copies of + these so that the &'s don't force the real ones into + memory. */ + YYSTYPE *yyvs1 = yyvs; + yytype_int16 *yyss1 = yyss; + + /* Each stack pointer address is followed by the size of the + data in use in that stack, in bytes. This used to be a + conditional around just the two extra args, but that might + be undefined if yyoverflow is a macro. */ + yyoverflow (YY_("memory exhausted"), + &yyss1, yysize * sizeof (*yyssp), + &yyvs1, yysize * sizeof (*yyvsp), + &yystacksize); + + yyss = yyss1; + yyvs = yyvs1; + } +#else /* no yyoverflow */ +# ifndef YYSTACK_RELOCATE + goto yyexhaustedlab; +# else + /* Extend the stack our own way. */ + if (YYMAXDEPTH <= yystacksize) + goto yyexhaustedlab; + yystacksize *= 2; + if (YYMAXDEPTH < yystacksize) + yystacksize = YYMAXDEPTH; + + { + yytype_int16 *yyss1 = yyss; + union yyalloc *yyptr = + (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); + if (! yyptr) + goto yyexhaustedlab; + YYSTACK_RELOCATE (yyss_alloc, yyss); + YYSTACK_RELOCATE (yyvs_alloc, yyvs); +# undef YYSTACK_RELOCATE + if (yyss1 != yyssa) + YYSTACK_FREE (yyss1); + } +# endif +#endif /* no yyoverflow */ + + yyssp = yyss + yysize - 1; + yyvsp = yyvs + yysize - 1; + + YYDPRINTF ((stderr, "Stack size increased to %lu\n", + (unsigned long int) yystacksize)); + + if (yyss + yystacksize - 1 <= yyssp) + YYABORT; + } + + YYDPRINTF ((stderr, "Entering state %d\n", yystate)); + + if (yystate == YYFINAL) + YYACCEPT; + + goto yybackup; + +/*-----------. +| yybackup. | +`-----------*/ +yybackup: + + /* Do appropriate processing given the current state. Read a + lookahead token if we need one and don't already have one. */ + + /* First try to decide what to do without reference to lookahead token. */ + yyn = yypact[yystate]; + if (yypact_value_is_default (yyn)) + goto yydefault; + + /* Not known => get a lookahead token if don't already have one. */ + + /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ + if (yychar == YYEMPTY) + { + YYDPRINTF ((stderr, "Reading a token: ")); + yychar = yylex (); + } + + if (yychar <= YYEOF) + { + yychar = yytoken = YYEOF; + YYDPRINTF ((stderr, "Now at end of input.\n")); + } + else + { + yytoken = YYTRANSLATE (yychar); + YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); + } + + /* If the proper action on seeing token YYTOKEN is to reduce or to + detect an error, take that action. */ + yyn += yytoken; + if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) + goto yydefault; + yyn = yytable[yyn]; + if (yyn <= 0) + { + if (yytable_value_is_error (yyn)) + goto yyerrlab; + yyn = -yyn; + goto yyreduce; + } + + /* Count tokens shifted since error; after three, turn off error + status. */ + if (yyerrstatus) + yyerrstatus--; + + /* Shift the lookahead token. */ + YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); + + /* Discard the shifted token. */ + yychar = YYEMPTY; + + yystate = yyn; + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + *++yyvsp = yylval; + YY_IGNORE_MAYBE_UNINITIALIZED_END + + goto yynewstate; + + +/*-----------------------------------------------------------. +| yydefault -- do the default action for the current state. | +`-----------------------------------------------------------*/ +yydefault: + yyn = yydefact[yystate]; + if (yyn == 0) + goto yyerrlab; + goto yyreduce; + + +/*-----------------------------. +| yyreduce -- Do a reduction. | +`-----------------------------*/ +yyreduce: + /* yyn is the number of a rule to reduce with. */ + yylen = yyr2[yyn]; + + /* If YYLEN is nonzero, implement the default value of the action: + '$$ = $1'. + + Otherwise, the following line sets YYVAL to garbage. + This behavior is undocumented and Bison + users should not rely upon it. Assigning to YYVAL + unconditionally makes the parser a bit smaller, and it avoids a + GCC warning that YYVAL may be used uninitialized. */ + yyval = yyvsp[1-yylen]; + + + YY_REDUCE_PRINT (yyn); + switch (yyn) + { + case 2: +#line 40 "as.y" /* yacc.c:1646 */ + { print(pile); printf("addr = %d\n",addr);} +#line 1310 "as.tab.c" /* yacc.c:1646 */ + break; + + case 3: +#line 42 "as.y" /* yacc.c:1646 */ + { printf("Sans Params\n"); } +#line 1316 "as.tab.c" /* yacc.c:1646 */ + break; + + case 5: +#line 44 "as.y" /* yacc.c:1646 */ + { printf("Prametre : %s\n", (yyvsp[0].id)); } +#line 1322 "as.tab.c" /* yacc.c:1646 */ + break; + + case 8: +#line 48 "as.y" /* yacc.c:1646 */ + { struct symbole_t symbole = {"Salut", 0x77b58af, INT, 1}; push(symbole, pile); } +#line 1328 "as.tab.c" /* yacc.c:1646 */ + break; + + case 16: +#line 60 "as.y" /* yacc.c:1646 */ + { printf("If reconnu\n"); } +#line 1334 "as.tab.c" /* yacc.c:1646 */ + break; + + case 17: +#line 61 "as.y" /* yacc.c:1646 */ + { printf("Else if reconnu\n"); } +#line 1340 "as.tab.c" /* yacc.c:1646 */ + break; + + case 18: +#line 62 "as.y" /* yacc.c:1646 */ + { printf("Else reconnu\n"); } +#line 1346 "as.tab.c" /* yacc.c:1646 */ + break; + + case 20: +#line 64 "as.y" /* yacc.c:1646 */ + { printf("While reconnu\n"); } +#line 1352 "as.tab.c" /* yacc.c:1646 */ + break; + + case 25: +#line 72 "as.y" /* yacc.c:1646 */ + { printf("%s prend une valeur\n", (yyvsp[-3].id)); } +#line 1358 "as.tab.c" /* yacc.c:1646 */ + break; + + case 26: +#line 74 "as.y" /* yacc.c:1646 */ + { printf("Nombre\n"); } +#line 1364 "as.tab.c" /* yacc.c:1646 */ + break; + + case 27: +#line 75 "as.y" /* yacc.c:1646 */ + { printf("Nombre exp\n"); } +#line 1370 "as.tab.c" /* yacc.c:1646 */ + break; + + case 28: +#line 76 "as.y" /* yacc.c:1646 */ + { printf("Id\n"); } +#line 1376 "as.tab.c" /* yacc.c:1646 */ + break; + + case 29: +#line 77 "as.y" /* yacc.c:1646 */ + { printf("Mul\n"); } +#line 1382 "as.tab.c" /* yacc.c:1646 */ + break; + + case 30: +#line 78 "as.y" /* yacc.c:1646 */ + { printf("Div\n"); } +#line 1388 "as.tab.c" /* yacc.c:1646 */ + break; + + case 31: +#line 79 "as.y" /* yacc.c:1646 */ + { printf("Sub\n"); } +#line 1394 "as.tab.c" /* yacc.c:1646 */ + break; + + case 32: +#line 80 "as.y" /* yacc.c:1646 */ + { printf("Add\n"); } +#line 1400 "as.tab.c" /* yacc.c:1646 */ + break; + + case 33: +#line 81 "as.y" /* yacc.c:1646 */ + { printf("Invoc\n"); } +#line 1406 "as.tab.c" /* yacc.c:1646 */ + break; + + case 34: +#line 82 "as.y" /* yacc.c:1646 */ + { printf("Parentheses\n"); } +#line 1412 "as.tab.c" /* yacc.c:1646 */ + break; + + case 35: +#line 83 "as.y" /* yacc.c:1646 */ + { printf("Moins\n"); } +#line 1418 "as.tab.c" /* yacc.c:1646 */ + break; + + case 36: +#line 84 "as.y" /* yacc.c:1646 */ + { printf("==\n"); } +#line 1424 "as.tab.c" /* yacc.c:1646 */ + break; + + case 37: +#line 85 "as.y" /* yacc.c:1646 */ + { printf(">\n"); } +#line 1430 "as.tab.c" /* yacc.c:1646 */ + break; + + case 38: +#line 86 "as.y" /* yacc.c:1646 */ + { printf("<\n"); } +#line 1436 "as.tab.c" /* yacc.c:1646 */ + break; + + case 39: +#line 87 "as.y" /* yacc.c:1646 */ + { printf("!\n"); } +#line 1442 "as.tab.c" /* yacc.c:1646 */ + break; + + case 40: +#line 90 "as.y" /* yacc.c:1646 */ + { printf("Declaration de %s\n", (yyvsp[-2].id)); } +#line 1448 "as.tab.c" /* yacc.c:1646 */ + break; + + case 41: +#line 91 "as.y" /* yacc.c:1646 */ + { printf("Declaration de %s (CONSTANTE)\n", (yyvsp[-4].id)); } +#line 1454 "as.tab.c" /* yacc.c:1646 */ + break; + + case 42: +#line 92 "as.y" /* yacc.c:1646 */ + { printf("Declaration de %s\n", (yyvsp[-1].id)); } +#line 1460 "as.tab.c" /* yacc.c:1646 */ + break; + + case 44: +#line 94 "as.y" /* yacc.c:1646 */ + { printf("Declaration avec valeur\n"); } +#line 1466 "as.tab.c" /* yacc.c:1646 */ + break; + + case 45: +#line 95 "as.y" /* yacc.c:1646 */ + { printf("Declaration sans valeur\n"); } +#line 1472 "as.tab.c" /* yacc.c:1646 */ + break; + + case 46: +#line 97 "as.y" /* yacc.c:1646 */ + { printf("Appel de printf sur %s\n", (yyvsp[-1].id)); } +#line 1478 "as.tab.c" /* yacc.c:1646 */ + break; + + +#line 1482 "as.tab.c" /* yacc.c:1646 */ + default: break; + } + /* User semantic actions sometimes alter yychar, and that requires + that yytoken be updated with the new translation. We take the + approach of translating immediately before every use of yytoken. + One alternative is translating here after every semantic action, + but that translation would be missed if the semantic action invokes + YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or + if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an + incorrect destructor might then be invoked immediately. In the + case of YYERROR or YYBACKUP, subsequent parser actions might lead + to an incorrect destructor call or verbose syntax error message + before the lookahead is translated. */ + YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); + + YYPOPSTACK (yylen); + yylen = 0; + YY_STACK_PRINT (yyss, yyssp); + + *++yyvsp = yyval; + + /* Now 'shift' the result of the reduction. Determine what state + that goes to, based on the state we popped back to and the rule + number reduced by. */ + + yyn = yyr1[yyn]; + + yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; + if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) + yystate = yytable[yystate]; + else + yystate = yydefgoto[yyn - YYNTOKENS]; + + goto yynewstate; + + +/*--------------------------------------. +| yyerrlab -- here on detecting error. | +`--------------------------------------*/ +yyerrlab: + /* Make sure we have latest lookahead translation. See comments at + user semantic actions for why this is necessary. */ + yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); + + /* If not already recovering from an error, report this error. */ + if (!yyerrstatus) + { + ++yynerrs; +#if ! YYERROR_VERBOSE + yyerror (YY_("syntax error")); +#else +# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ + yyssp, yytoken) + { + char const *yymsgp = YY_("syntax error"); + int yysyntax_error_status; + yysyntax_error_status = YYSYNTAX_ERROR; + if (yysyntax_error_status == 0) + yymsgp = yymsg; + else if (yysyntax_error_status == 1) + { + if (yymsg != yymsgbuf) + YYSTACK_FREE (yymsg); + yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); + if (!yymsg) + { + yymsg = yymsgbuf; + yymsg_alloc = sizeof yymsgbuf; + yysyntax_error_status = 2; + } + else + { + yysyntax_error_status = YYSYNTAX_ERROR; + yymsgp = yymsg; + } + } + yyerror (yymsgp); + if (yysyntax_error_status == 2) + goto yyexhaustedlab; + } +# undef YYSYNTAX_ERROR +#endif + } + + + + if (yyerrstatus == 3) + { + /* If just tried and failed to reuse lookahead token after an + error, discard it. */ + + if (yychar <= YYEOF) + { + /* Return failure if at end of input. */ + if (yychar == YYEOF) + YYABORT; + } + else + { + yydestruct ("Error: discarding", + yytoken, &yylval); + yychar = YYEMPTY; + } + } + + /* Else will try to reuse lookahead token after shifting the error + token. */ + goto yyerrlab1; + + +/*---------------------------------------------------. +| yyerrorlab -- error raised explicitly by YYERROR. | +`---------------------------------------------------*/ +yyerrorlab: + + /* Pacify compilers like GCC when the user code never invokes + YYERROR and the label yyerrorlab therefore never appears in user + code. */ + if (/*CONSTCOND*/ 0) + goto yyerrorlab; + + /* Do not reclaim the symbols of the rule whose action triggered + this YYERROR. */ + YYPOPSTACK (yylen); + yylen = 0; + YY_STACK_PRINT (yyss, yyssp); + yystate = *yyssp; + goto yyerrlab1; + + +/*-------------------------------------------------------------. +| yyerrlab1 -- common code for both syntax error and YYERROR. | +`-------------------------------------------------------------*/ +yyerrlab1: + yyerrstatus = 3; /* Each real token shifted decrements this. */ + + for (;;) + { + yyn = yypact[yystate]; + if (!yypact_value_is_default (yyn)) + { + yyn += YYTERROR; + if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) + { + yyn = yytable[yyn]; + if (0 < yyn) + break; + } + } + + /* Pop the current state because it cannot handle the error token. */ + if (yyssp == yyss) + YYABORT; + + + yydestruct ("Error: popping", + yystos[yystate], yyvsp); + YYPOPSTACK (1); + yystate = *yyssp; + YY_STACK_PRINT (yyss, yyssp); + } + + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + *++yyvsp = yylval; + YY_IGNORE_MAYBE_UNINITIALIZED_END + + + /* Shift the error token. */ + YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); + + yystate = yyn; + goto yynewstate; + + +/*-------------------------------------. +| yyacceptlab -- YYACCEPT comes here. | +`-------------------------------------*/ +yyacceptlab: + yyresult = 0; + goto yyreturn; + +/*-----------------------------------. +| yyabortlab -- YYABORT comes here. | +`-----------------------------------*/ +yyabortlab: + yyresult = 1; + goto yyreturn; + +#if !defined yyoverflow || YYERROR_VERBOSE +/*-------------------------------------------------. +| yyexhaustedlab -- memory exhaustion comes here. | +`-------------------------------------------------*/ +yyexhaustedlab: + yyerror (YY_("memory exhausted")); + yyresult = 2; + /* Fall through. */ +#endif + +yyreturn: + if (yychar != YYEMPTY) + { + /* Make sure we have latest lookahead translation. See comments at + user semantic actions for why this is necessary. */ + yytoken = YYTRANSLATE (yychar); + yydestruct ("Cleanup: discarding lookahead", + yytoken, &yylval); + } + /* Do not reclaim the symbols of the rule whose action triggered + this YYABORT or YYACCEPT. */ + YYPOPSTACK (yylen); + YY_STACK_PRINT (yyss, yyssp); + while (yyssp != yyss) + { + yydestruct ("Cleanup: popping", + yystos[*yyssp], yyvsp); + YYPOPSTACK (1); + } +#ifndef yyoverflow + if (yyss != yyssa) + YYSTACK_FREE (yyss); +#endif +#if YYERROR_VERBOSE + if (yymsg != yymsgbuf) + YYSTACK_FREE (yymsg); +#endif + return yyresult; +} +#line 111 "as.y" /* yacc.c:1906 */ + +void main(void) { + init(); + yyparse(); +} diff --git a/Lex_Yacc/as.tab.h b/Lex_Yacc/as.tab.h new file mode 100644 index 0000000..7635040 --- /dev/null +++ b/Lex_Yacc/as.tab.h @@ -0,0 +1,102 @@ +/* A Bison parser, made by GNU Bison 3.0.4. */ + +/* Bison interface for Yacc-like parsers in C + + Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* As a special exception, you may create a larger work that contains + part or all of the Bison parser skeleton and distribute that work + under terms of your choice, so long as that work isn't itself a + parser generator using the skeleton or a modified version thereof + as a parser skeleton. Alternatively, if you modify or redistribute + the parser skeleton itself, you may (at your option) remove this + special exception, which will cause the skeleton and the resulting + Bison output files to be licensed under the GNU General Public + License without this special exception. + + This special exception was added by the Free Software Foundation in + version 2.2 of Bison. */ + +#ifndef YY_YY_AS_TAB_H_INCLUDED +# define YY_YY_AS_TAB_H_INCLUDED +/* Debug traces. */ +#ifndef YYDEBUG +# define YYDEBUG 1 +#endif +#if YYDEBUG +extern int yydebug; +#endif + +/* Token type. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + enum yytokentype + { + tMAIN = 258, + tOBRACKET = 259, + tCBRACKET = 260, + tOBRACE = 261, + tCBRACE = 262, + tINT = 263, + tCONST = 264, + tPV = 265, + tCOMA = 266, + tMUL = 267, + tDIV = 268, + tADD = 269, + tSUB = 270, + tEQ = 271, + tNB = 272, + tNBEXP = 273, + tID = 274, + tPRINTF = 275, + tERROR = 276, + tIF = 277, + tWHILE = 278, + tELSE = 279, + tLT = 280, + tGT = 281, + tEQCOND = 282, + tAND = 283, + tOR = 284, + tNOT = 285 + }; +#endif + +/* Value type. */ +#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED + +union YYSTYPE +{ +#line 1 "as.y" /* yacc.c:1909 */ + + int nombre; + char id[30]; + +#line 90 "as.tab.h" /* yacc.c:1909 */ +}; + +typedef union YYSTYPE YYSTYPE; +# define YYSTYPE_IS_TRIVIAL 1 +# define YYSTYPE_IS_DECLARED 1 +#endif + + +extern YYSTYPE yylval; + +int yyparse (void); + +#endif /* !YY_YY_AS_TAB_H_INCLUDED */ diff --git a/Lex_Yacc/as.y b/Lex_Yacc/as.y new file mode 100644 index 0000000..8d41803 --- /dev/null +++ b/Lex_Yacc/as.y @@ -0,0 +1,159 @@ +%union { + int nombre; + char id[30]; +} +%{ +#include "../Symboles/table_symboles.h" +#include +#include +#include + +int addr = 0; + +%} + +%token tMAIN +%token tOBRACKET tCBRACKET +%token tOBRACE tCBRACE +%token tINT +%token tCONST +%token tPV tCOMA#include +%token tMUL tDIV tADD tSUB tEQ +%token tNB tNBEXP +%token tID +%token tPRINTF +%token tERROR +%token tIF tWHILE tELSE +%token tLT tGT tEQCOND +%token tAND tOR + +%left tAND tOR +%left tNOT +%left tLT tGT +%left tEQCOND +%left tADD tSUB +%left tMUL tDIV + + + +//%type E + +/******************************************** FAIRE LA GENERATION DU CODE ASSEMBLEUR DANS UN TABLEAU AVEC UN FPRINTF *******************/ + +%% + +Main : tINT tMAIN tOBRACE Params tCBRACE Body { print(pile); printf("addr = %d\n",addr);} ; + +Params : { printf("Sans Params\n"); } ; +Params : Param SuiteParams ; +Param : tINT tID { printf("Prametre : %s\n", $2); }; +SuiteParams : tCOMA Param SuiteParams ; +SuiteParams : ; + +Body : tOBRACKET Instructions tCBRACKET { struct symbole_t symbole = {"Salut", 0x77b58af, INT, 1}; push(symbole, pile); } ; + + +Instructions : Instruction Instructions ; +Instructions : ; +Instruction : Aff ; +Instruction : Decl ; +Instruction : Invocation tPV ; +Instruction : If; +Instruction : While; + + +If : tIF tOBRACE Cond tCBRACE Body Else { printf("If reconnu\n"); }; +Else : tELSE If { printf("Else if reconnu\n"); }; +Else : tELSE Body { printf("Else reconnu\n"); }; +Else : ; +While : tWHILE tOBRACE Cond tCBRACE Body { printf("While reconnu\n"); }; + +Cond : E SuiteCond ; +SuiteCond : ; +SuiteCond : tAND E SuiteCond; +SuiteCond : tOR E SuiteCond; + + +Aff : tID tEQ E tPV { printf("%s prend une valeur\n", $1);} ; //besoin de get_address + +E : tNB { printf("Nombre\n"); + struct symbole_t symbole = ("", addr, INT, 1}; + push(symbole, pile); +$$=addr; + addr++; + printf("AFC %d %d",addr,$1); } ; + +E : tNBEXP { printf("Nombre exp\n"); struct symbole_t symbole = {"", addr, INT, 1}; push(symbole, pile); $$=addr; addr++; printf("AFC %d %d",addr,$1); }; +E : tID { printf("Id\n"); /*Faire un get_address sur la pile*/}; +E : E tMUL E { printf("Mul\n"); struct symbole_t symbole = {"", addr, INT, 1}; push(symbole, pile); $$=addr; addr++; printf("MUL %d %d %d",addr, $1,$2);}; +E : E tDIV E { printf("Div\n"); struct symbole_t symbole = {"", addr, INT, 1}; push(symbole, pile); $$=addr; addr++; printf("DIV %d %d %d",addr, $1,$2);}; +E : E tSUB E { printf("Sub\n"); struct symbole_t symbole = {"", addr, INT, 1}; push(symbole, pile); $$=addr; addr++; printf("SOU %d %d %d",addr, $1,$2);}; +E : E tADD E { printf("Add\n"); struct symbole_t symbole = {"", addr, INT, 1}; push(symbole, pile); $$=addr; addr++; printf("ADD %d %d %d",addr, $1,$2);}}; +E : Invocation { printf("Invoc\n"); struct symbole_t symbole = {"", addr, INT, 1}; push(symbole, pile); $$=addr; addr++; printf("AFC %d %d",addr, $1);}; +E : tOBRACE E tCBRACE { printf("Parentheses\n"); $$=$2}; +E : tSUB E { printf("Moins\n"); printf("SUB %d 0 %d",addr,$2);}; +E : E tEQCOND E { printf("==\n"); struct symbole_t symbole = {"", addr, INT, 1}; push(symbole, pile); $$=addr; addr++; printf("EQU %d %d %d",addr, $1,$3);}; +E : E tGT E { printf(">\n"); struct symbole_t symbole = {"", addr, INT, 1}; push(symbole, pile); $$=addr; addr++; printf("SUP %d %d %d",addr, $1,$3);}; +E : E tLT E { printf("<\n"); struct symbole_t symbole = {"", addr, INT, 1}; push(symbole, pile); $$=addr; addr++; printf("SUP %d %d %d",addr, $1,$3);}; +E : tNOT E { printf("!\n"); }; + + + +//Créer un champ isConst dans la table des symboles +Decl : tCONST tINT tID SuiteDeclConst { int init = ($3 != -1); + if (init){ + int val = *$2; + printf("AFC %ld %d",addr,val); + } +struct symbole_t symbole = {$2, addr, INT, init}; +push(symbole, pile); +addr++;} ; +SuiteDeclConst : tCOMA tID SuiteDecl { $$=$3; int init = ($3 != -1); + if (init){ + int val = *$2; + printf("AFC %ld %d",addr,val); + } +struct symbole_t symbole = {$2, addr, INT, init}; push(symbole, pile); addr++;}; +SuiteDeclConst : tEQ E tPV { $$=$2; }; +SuiteDeclConst : tPV { $$=$2; }; + +Decl : tINT tID SuiteDecl { int init = ($3 != -1); + if (init){ + int val = *$2; + printf("AFC %ld %d",addr,val); + } + struct symbole_t symbole = {$2, addr, INT, init}; +push(symbole, pile); +addr++;} ; +SuiteDecl : tCOMA tID SuiteDecl + { $$=$3; + int init = ($3 != -1); + if (init){ + int val = *$2; + printf("AFC %ld %d",addr,val); + } + struct symbole_t symbole = {$2, addr, INT, init}; + push(symbole, pile); + addr++;}; +SuiteDecl : tEQ E tPV { $$=$2;}; +SuiteDecl : tPV { $$=$2; }; + +Invocation : tPRINTF tOBRACE tID tCBRACE { printf("Appel de printf sur %s\n", $3); } ; + +/*S : E tPV + { printf("RES: %d\n", $1); } + S + | { printf("END\n"); } + ; + +E : E tADD E { $$ = $1 + $3; } + | E tSUB E { $$ = $1 - $3; } + | tOB E tCB { $$ = $2; } + | tNB { $$ = $1; } + ;*/ + +%% +void main(void) { + init(); + yyparse(); +} diff --git a/Lex_Yacc/comp.sh b/Lex_Yacc/comp.sh new file mode 100755 index 0000000..b63a0e4 --- /dev/null +++ b/Lex_Yacc/comp.sh @@ -0,0 +1,5 @@ +bison -d -t as.y -v +flex al.lex +gcc *.c ../Symboles/table_symboles.c -ly +cat ../Fichiers_Tests/progC | ./a.out + diff --git a/Lex_Yacc/lex.yy.c b/Lex_Yacc/lex.yy.c new file mode 100644 index 0000000..f1f2fb5 --- /dev/null +++ b/Lex_Yacc/lex.yy.c @@ -0,0 +1,1929 @@ + +#line 3 "lex.yy.c" + +#define YY_INT_ALIGNED short int + +/* A lexical scanner generated by flex */ + +#define FLEX_SCANNER +#define YY_FLEX_MAJOR_VERSION 2 +#define YY_FLEX_MINOR_VERSION 6 +#define YY_FLEX_SUBMINOR_VERSION 4 +#if YY_FLEX_SUBMINOR_VERSION > 0 +#define FLEX_BETA +#endif + +/* First, we deal with platform-specific or compiler-specific issues. */ + +/* begin standard C headers. */ +#include +#include +#include +#include + +/* end standard C headers. */ + +/* flex integer type definitions */ + +#ifndef FLEXINT_H +#define FLEXINT_H + +/* C99 systems have . Non-C99 systems may or may not. */ + +#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + +/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, + * if you want the limit (max/min) macros for int types. + */ +#ifndef __STDC_LIMIT_MACROS +#define __STDC_LIMIT_MACROS 1 +#endif + +#include +typedef int8_t flex_int8_t; +typedef uint8_t flex_uint8_t; +typedef int16_t flex_int16_t; +typedef uint16_t flex_uint16_t; +typedef int32_t flex_int32_t; +typedef uint32_t flex_uint32_t; +#else +typedef signed char flex_int8_t; +typedef short int flex_int16_t; +typedef int flex_int32_t; +typedef unsigned char flex_uint8_t; +typedef unsigned short int flex_uint16_t; +typedef unsigned int flex_uint32_t; + +/* Limits of integral types. */ +#ifndef INT8_MIN +#define INT8_MIN (-128) +#endif +#ifndef INT16_MIN +#define INT16_MIN (-32767-1) +#endif +#ifndef INT32_MIN +#define INT32_MIN (-2147483647-1) +#endif +#ifndef INT8_MAX +#define INT8_MAX (127) +#endif +#ifndef INT16_MAX +#define INT16_MAX (32767) +#endif +#ifndef INT32_MAX +#define INT32_MAX (2147483647) +#endif +#ifndef UINT8_MAX +#define UINT8_MAX (255U) +#endif +#ifndef UINT16_MAX +#define UINT16_MAX (65535U) +#endif +#ifndef UINT32_MAX +#define UINT32_MAX (4294967295U) +#endif + +#ifndef SIZE_MAX +#define SIZE_MAX (~(size_t)0) +#endif + +#endif /* ! C99 */ + +#endif /* ! FLEXINT_H */ + +/* begin standard C++ headers. */ + +/* TODO: this is always defined, so inline it */ +#define yyconst const + +#if defined(__GNUC__) && __GNUC__ >= 3 +#define yynoreturn __attribute__((__noreturn__)) +#else +#define yynoreturn +#endif + +/* Returned upon end-of-file. */ +#define YY_NULL 0 + +/* Promotes a possibly negative, possibly signed char to an + * integer in range [0..255] for use as an array index. + */ +#define YY_SC_TO_UI(c) ((YY_CHAR) (c)) + +/* Enter a start condition. This macro really ought to take a parameter, + * but we do it the disgusting crufty way forced on us by the ()-less + * definition of BEGIN. + */ +#define BEGIN (yy_start) = 1 + 2 * +/* Translate the current start state into a value that can be later handed + * to BEGIN to return to the state. The YYSTATE alias is for lex + * compatibility. + */ +#define YY_START (((yy_start) - 1) / 2) +#define YYSTATE YY_START +/* Action number for EOF rule of a given start state. */ +#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) +/* Special action meaning "start processing a new file". */ +#define YY_NEW_FILE yyrestart( yyin ) +#define YY_END_OF_BUFFER_CHAR 0 + +/* Size of default input buffer. */ +#ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else +#define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ +#endif + +/* The state buf must be large enough to hold one state per character in the main buffer. + */ +#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) + +#ifndef YY_TYPEDEF_YY_BUFFER_STATE +#define YY_TYPEDEF_YY_BUFFER_STATE +typedef struct yy_buffer_state *YY_BUFFER_STATE; +#endif + +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef size_t yy_size_t; +#endif + +extern int yyleng; + +extern FILE *yyin, *yyout; + +#define EOB_ACT_CONTINUE_SCAN 0 +#define EOB_ACT_END_OF_FILE 1 +#define EOB_ACT_LAST_MATCH 2 + + #define YY_LESS_LINENO(n) + #define YY_LINENO_REWIND_TO(ptr) + +/* Return all but the first "n" matched characters back to the input stream. */ +#define yyless(n) \ + do \ + { \ + /* Undo effects of setting up yytext. */ \ + int yyless_macro_arg = (n); \ + YY_LESS_LINENO(yyless_macro_arg);\ + *yy_cp = (yy_hold_char); \ + YY_RESTORE_YY_MORE_OFFSET \ + (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ + YY_DO_BEFORE_ACTION; /* set up yytext again */ \ + } \ + while ( 0 ) +#define unput(c) yyunput( c, (yytext_ptr) ) + +#ifndef YY_STRUCT_YY_BUFFER_STATE +#define YY_STRUCT_YY_BUFFER_STATE +struct yy_buffer_state + { + FILE *yy_input_file; + + char *yy_ch_buf; /* input buffer */ + char *yy_buf_pos; /* current position in input buffer */ + + /* Size of input buffer in bytes, not including room for EOB + * characters. + */ + int yy_buf_size; + + /* Number of characters read into yy_ch_buf, not including EOB + * characters. + */ + int yy_n_chars; + + /* Whether we "own" the buffer - i.e., we know we created it, + * and can realloc() it to grow it, and should free() it to + * delete it. + */ + int yy_is_our_buffer; + + /* Whether this is an "interactive" input source; if so, and + * if we're using stdio for input, then we want to use getc() + * instead of fread(), to make sure we stop fetching input after + * each newline. + */ + int yy_is_interactive; + + /* Whether we're considered to be at the beginning of a line. + * If so, '^' rules will be active on the next match, otherwise + * not. + */ + int yy_at_bol; + + int yy_bs_lineno; /**< The line count. */ + int yy_bs_column; /**< The column count. */ + + /* Whether to try to fill the input buffer when we reach the + * end of it. + */ + int yy_fill_buffer; + + int yy_buffer_status; + +#define YY_BUFFER_NEW 0 +#define YY_BUFFER_NORMAL 1 + /* When an EOF's been seen but there's still some text to process + * then we mark the buffer as YY_EOF_PENDING, to indicate that we + * shouldn't try reading from the input source any more. We might + * still have a bunch of tokens to match, though, because of + * possible backing-up. + * + * When we actually see the EOF, we change the status to "new" + * (via yyrestart()), so that the user can continue scanning by + * just pointing yyin at a new input file. + */ +#define YY_BUFFER_EOF_PENDING 2 + + }; +#endif /* !YY_STRUCT_YY_BUFFER_STATE */ + +/* Stack of input buffers. */ +static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ +static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ +static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */ + +/* We provide macros for accessing buffer states in case in the + * future we want to put the buffer states in a more general + * "scanner state". + * + * Returns the top of the stack, or NULL. + */ +#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ + ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ + : NULL) +/* Same as previous macro, but useful when we know that the buffer stack is not + * NULL or when we need an lvalue. For internal use only. + */ +#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] + +/* yy_hold_char holds the character lost when yytext is formed. */ +static char yy_hold_char; +static int yy_n_chars; /* number of characters read into yy_ch_buf */ +int yyleng; + +/* Points to current character in buffer. */ +static char *yy_c_buf_p = NULL; +static int yy_init = 0; /* whether we need to initialize */ +static int yy_start = 0; /* start state number */ + +/* Flag which is used to allow yywrap()'s to do buffer switches + * instead of setting up a fresh yyin. A bit of a hack ... + */ +static int yy_did_buffer_switch_on_eof; + +void yyrestart ( FILE *input_file ); +void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer ); +YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size ); +void yy_delete_buffer ( YY_BUFFER_STATE b ); +void yy_flush_buffer ( YY_BUFFER_STATE b ); +void yypush_buffer_state ( YY_BUFFER_STATE new_buffer ); +void yypop_buffer_state ( void ); + +static void yyensure_buffer_stack ( void ); +static void yy_load_buffer_state ( void ); +static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file ); +#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER ) + +YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size ); +YY_BUFFER_STATE yy_scan_string ( const char *yy_str ); +YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len ); + +void *yyalloc ( yy_size_t ); +void *yyrealloc ( void *, yy_size_t ); +void yyfree ( void * ); + +#define yy_new_buffer yy_create_buffer +#define yy_set_interactive(is_interactive) \ + { \ + if ( ! YY_CURRENT_BUFFER ){ \ + yyensure_buffer_stack (); \ + YY_CURRENT_BUFFER_LVALUE = \ + yy_create_buffer( yyin, YY_BUF_SIZE ); \ + } \ + YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ + } +#define yy_set_bol(at_bol) \ + { \ + if ( ! YY_CURRENT_BUFFER ){\ + yyensure_buffer_stack (); \ + YY_CURRENT_BUFFER_LVALUE = \ + yy_create_buffer( yyin, YY_BUF_SIZE ); \ + } \ + YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ + } +#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) + +/* Begin user sect3 */ +typedef flex_uint8_t YY_CHAR; + +FILE *yyin = NULL, *yyout = NULL; + +typedef int yy_state_type; + +extern int yylineno; +int yylineno = 1; + +extern char *yytext; +#ifdef yytext_ptr +#undef yytext_ptr +#endif +#define yytext_ptr yytext + +static yy_state_type yy_get_previous_state ( void ); +static yy_state_type yy_try_NUL_trans ( yy_state_type current_state ); +static int yy_get_next_buffer ( void ); +static void yynoreturn yy_fatal_error ( const char* msg ); + +/* Done after the current pattern has been matched and before the + * corresponding action - sets up yytext. + */ +#define YY_DO_BEFORE_ACTION \ + (yytext_ptr) = yy_bp; \ + yyleng = (int) (yy_cp - yy_bp); \ + (yy_hold_char) = *yy_cp; \ + *yy_cp = '\0'; \ + (yy_c_buf_p) = yy_cp; +#define YY_NUM_RULES 31 +#define YY_END_OF_BUFFER 32 +/* This struct is not used in this scanner, + but its presence is necessary. */ +struct yy_trans_info + { + flex_int32_t yy_verify; + flex_int32_t yy_nxt; + }; +static const flex_int16_t yy_accept[62] = + { 0, + 0, 0, 32, 30, 28, 25, 30, 4, 5, 21, + 19, 27, 20, 22, 17, 24, 11, 23, 12, 29, + 29, 29, 29, 29, 29, 29, 2, 30, 3, 0, + 14, 17, 0, 13, 29, 29, 29, 9, 29, 29, + 29, 29, 15, 26, 18, 29, 29, 7, 29, 29, + 29, 29, 16, 1, 29, 29, 6, 29, 10, 8, + 0 + } ; + +static const YY_CHAR yy_ec[256] = + { 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 3, 1, 1, 1, 1, 1, 4, 1, 5, + 6, 7, 8, 9, 10, 1, 11, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 1, 13, 14, + 15, 16, 1, 1, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 1, 1, 1, 1, 18, 1, 19, 17, 20, 17, + + 21, 22, 17, 23, 24, 17, 17, 25, 26, 27, + 28, 29, 17, 30, 31, 32, 17, 17, 33, 17, + 17, 17, 34, 35, 36, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1 + } ; + +static const YY_CHAR yy_meta[37] = + { 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 1, 1, 1, 1, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 1, 1, 1 + } ; + +static const flex_int16_t yy_base[63] = + { 0, + 0, 0, 71, 72, 72, 67, 65, 72, 72, 72, + 72, 72, 72, 72, 25, 72, 72, 53, 72, 0, + 39, 41, 16, 46, 34, 40, 72, 27, 72, 58, + 72, 27, 48, 72, 0, 32, 27, 0, 25, 32, + 31, 30, 72, 72, 41, 21, 30, 0, 23, 22, + 22, 13, 0, 0, 12, 21, 0, 19, 0, 0, + 72, 38 + } ; + +static const flex_int16_t yy_def[63] = + { 0, + 61, 1, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 62, + 62, 62, 62, 62, 62, 62, 61, 61, 61, 61, + 61, 61, 61, 61, 62, 62, 62, 62, 62, 62, + 62, 62, 61, 61, 61, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 0, 61 + } ; + +static const flex_int16_t yy_nxt[109] = + { 0, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 4, 20, 21, + 22, 20, 20, 23, 20, 24, 20, 20, 25, 20, + 20, 20, 26, 27, 28, 29, 32, 38, 32, 35, + 60, 59, 39, 58, 57, 33, 56, 33, 55, 54, + 53, 52, 45, 51, 50, 49, 48, 47, 46, 45, + 44, 43, 42, 41, 40, 37, 36, 34, 31, 30, + 61, 3, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + + 61, 61, 61, 61, 61, 61, 61, 61 + } ; + +static const flex_int16_t yy_chk[109] = + { 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 15, 23, 32, 62, + 58, 56, 23, 55, 52, 15, 51, 32, 50, 49, + 47, 46, 45, 42, 41, 40, 39, 37, 36, 33, + 30, 28, 26, 25, 24, 22, 21, 18, 7, 6, + 3, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + + 61, 61, 61, 61, 61, 61, 61, 61 + } ; + +static yy_state_type yy_last_accepting_state; +static char *yy_last_accepting_cpos; + +extern int yy_flex_debug; +int yy_flex_debug = 0; + +/* The intent behind this definition is that it'll catch + * any uses of REJECT which flex missed. + */ +#define REJECT reject_used_but_not_detected +#define yymore() yymore_used_but_not_detected +#define YY_MORE_ADJ 0 +#define YY_RESTORE_YY_MORE_OFFSET +char *yytext; +#line 1 "al.lex" +#line 2 "al.lex" +#include "as.tab.h" +int yywrap(void){return 1;} +#line 487 "lex.yy.c" +#line 488 "lex.yy.c" + +#define INITIAL 0 + +#ifndef YY_NO_UNISTD_H +/* Special case for "unistd.h", since it is non-ANSI. We include it way + * down here because we want the user's section 1 to have been scanned first. + * The user has a chance to override it with an option. + */ +#include +#endif + +#ifndef YY_EXTRA_TYPE +#define YY_EXTRA_TYPE void * +#endif + +static int yy_init_globals ( void ); + +/* Accessor methods to globals. + These are made visible to non-reentrant scanners for convenience. */ + +int yylex_destroy ( void ); + +int yyget_debug ( void ); + +void yyset_debug ( int debug_flag ); + +YY_EXTRA_TYPE yyget_extra ( void ); + +void yyset_extra ( YY_EXTRA_TYPE user_defined ); + +FILE *yyget_in ( void ); + +void yyset_in ( FILE * _in_str ); + +FILE *yyget_out ( void ); + +void yyset_out ( FILE * _out_str ); + + int yyget_leng ( void ); + +char *yyget_text ( void ); + +int yyget_lineno ( void ); + +void yyset_lineno ( int _line_number ); + +/* Macros after this point can all be overridden by user definitions in + * section 1. + */ + +#ifndef YY_SKIP_YYWRAP +#ifdef __cplusplus +extern "C" int yywrap ( void ); +#else +extern int yywrap ( void ); +#endif +#endif + +#ifndef YY_NO_UNPUT + + static void yyunput ( int c, char *buf_ptr ); + +#endif + +#ifndef yytext_ptr +static void yy_flex_strncpy ( char *, const char *, int ); +#endif + +#ifdef YY_NEED_STRLEN +static int yy_flex_strlen ( const char * ); +#endif + +#ifndef YY_NO_INPUT +#ifdef __cplusplus +static int yyinput ( void ); +#else +static int input ( void ); +#endif + +#endif + +/* Amount of stuff to slurp up with each read. */ +#ifndef YY_READ_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k */ +#define YY_READ_BUF_SIZE 16384 +#else +#define YY_READ_BUF_SIZE 8192 +#endif /* __ia64__ */ +#endif + +/* Copy whatever the last rule matched to the standard output. */ +#ifndef ECHO +/* This used to be an fputs(), but since the string might contain NUL's, + * we now use fwrite(). + */ +#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0) +#endif + +/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, + * is returned in "result". + */ +#ifndef YY_INPUT +#define YY_INPUT(buf,result,max_size) \ + if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ + { \ + int c = '*'; \ + int n; \ + for ( n = 0; n < max_size && \ + (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ + buf[n] = (char) c; \ + if ( c == '\n' ) \ + buf[n++] = (char) c; \ + if ( c == EOF && ferror( yyin ) ) \ + YY_FATAL_ERROR( "input in flex scanner failed" ); \ + result = n; \ + } \ + else \ + { \ + errno=0; \ + while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \ + { \ + if( errno != EINTR) \ + { \ + YY_FATAL_ERROR( "input in flex scanner failed" ); \ + break; \ + } \ + errno=0; \ + clearerr(yyin); \ + } \ + }\ +\ + +#endif + +/* No semi-colon after return; correct usage is to write "yyterminate();" - + * we don't want an extra ';' after the "return" because that will cause + * some compilers to complain about unreachable statements. + */ +#ifndef yyterminate +#define yyterminate() return YY_NULL +#endif + +/* Number of entries by which start-condition stack grows. */ +#ifndef YY_START_STACK_INCR +#define YY_START_STACK_INCR 25 +#endif + +/* Report a fatal error. */ +#ifndef YY_FATAL_ERROR +#define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) +#endif + +/* end tables serialization structures and prototypes */ + +/* Default declaration of generated scanner - a define so the user can + * easily add parameters. + */ +#ifndef YY_DECL +#define YY_DECL_IS_OURS 1 + +extern int yylex (void); + +#define YY_DECL int yylex (void) +#endif /* !YY_DECL */ + +/* Code executed at the beginning of each rule, after yytext and yyleng + * have been set up. + */ +#ifndef YY_USER_ACTION +#define YY_USER_ACTION +#endif + +/* Code executed at the end of each rule. */ +#ifndef YY_BREAK +#define YY_BREAK /*LINTED*/break; +#endif + +#define YY_RULE_SETUP \ + YY_USER_ACTION + +/** The main scanner function which does all the work. + */ +YY_DECL +{ + yy_state_type yy_current_state; + char *yy_cp, *yy_bp; + int yy_act; + + if ( !(yy_init) ) + { + (yy_init) = 1; + +#ifdef YY_USER_INIT + YY_USER_INIT; +#endif + + if ( ! (yy_start) ) + (yy_start) = 1; /* first start state */ + + if ( ! yyin ) + yyin = stdin; + + if ( ! yyout ) + yyout = stdout; + + if ( ! YY_CURRENT_BUFFER ) { + yyensure_buffer_stack (); + YY_CURRENT_BUFFER_LVALUE = + yy_create_buffer( yyin, YY_BUF_SIZE ); + } + + yy_load_buffer_state( ); + } + + { +#line 6 "al.lex" + + +#line 708 "lex.yy.c" + + while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ + { + yy_cp = (yy_c_buf_p); + + /* Support of yytext. */ + *yy_cp = (yy_hold_char); + + /* yy_bp points to the position in yy_ch_buf of the start of + * the current run. + */ + yy_bp = yy_cp; + + yy_current_state = (yy_start); +yy_match: + do + { + YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; + if ( yy_accept[yy_current_state] ) + { + (yy_last_accepting_state) = yy_current_state; + (yy_last_accepting_cpos) = yy_cp; + } + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) + { + yy_current_state = (int) yy_def[yy_current_state]; + if ( yy_current_state >= 62 ) + yy_c = yy_meta[yy_c]; + } + yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; + ++yy_cp; + } + while ( yy_base[yy_current_state] != 72 ); + +yy_find_action: + yy_act = yy_accept[yy_current_state]; + if ( yy_act == 0 ) + { /* have to back up */ + yy_cp = (yy_last_accepting_cpos); + yy_current_state = (yy_last_accepting_state); + yy_act = yy_accept[yy_current_state]; + } + + YY_DO_BEFORE_ACTION; + +do_action: /* This label is used only to access EOF actions. */ + + switch ( yy_act ) + { /* beginning of action switch */ + case 0: /* must back up */ + /* undo the effects of YY_DO_BEFORE_ACTION */ + *yy_cp = (yy_hold_char); + yy_cp = (yy_last_accepting_cpos); + yy_current_state = (yy_last_accepting_state); + goto yy_find_action; + +case 1: +YY_RULE_SETUP +#line 8 "al.lex" +{ return tMAIN ;} + YY_BREAK +case 2: +YY_RULE_SETUP +#line 9 "al.lex" +{ return tOBRACKET;} + YY_BREAK +case 3: +YY_RULE_SETUP +#line 10 "al.lex" +{ return tCBRACKET; } + YY_BREAK +case 4: +YY_RULE_SETUP +#line 11 "al.lex" +{ return tOBRACE; } + YY_BREAK +case 5: +YY_RULE_SETUP +#line 12 "al.lex" +{ return tCBRACE; } + YY_BREAK +case 6: +YY_RULE_SETUP +#line 13 "al.lex" +{ return tCONST; } + YY_BREAK +case 7: +YY_RULE_SETUP +#line 14 "al.lex" +{ return tINT; } + YY_BREAK +case 8: +YY_RULE_SETUP +#line 15 "al.lex" +{ return tPRINTF; } //Degeu mais à degager + YY_BREAK +case 9: +YY_RULE_SETUP +#line 16 "al.lex" +{ return tIF; } + YY_BREAK +case 10: +YY_RULE_SETUP +#line 17 "al.lex" +{ return tWHILE; } + YY_BREAK +case 11: +YY_RULE_SETUP +#line 18 "al.lex" +{ return tLT; } + YY_BREAK +case 12: +YY_RULE_SETUP +#line 19 "al.lex" +{ return tGT; } + YY_BREAK +case 13: +YY_RULE_SETUP +#line 20 "al.lex" +{ return tEQCOND; } + YY_BREAK +case 14: +YY_RULE_SETUP +#line 21 "al.lex" +{ return tAND; } + YY_BREAK +case 15: +YY_RULE_SETUP +#line 22 "al.lex" +{ return tOR; } + YY_BREAK +case 16: +YY_RULE_SETUP +#line 23 "al.lex" +{ return tELSE;} + YY_BREAK +case 17: +YY_RULE_SETUP +#line 26 "al.lex" +{ yylval.nombre = atoi(yytext); return tNB; } + YY_BREAK +case 18: +YY_RULE_SETUP +#line 27 "al.lex" +{ yylval.nombre = -1; return tNBEXP; } //Renvoyer le token tNB et pas tNBEXP + YY_BREAK +case 19: +YY_RULE_SETUP +#line 28 "al.lex" +{ return tADD; } + YY_BREAK +case 20: +YY_RULE_SETUP +#line 29 "al.lex" +{ return tSUB; } + YY_BREAK +case 21: +YY_RULE_SETUP +#line 30 "al.lex" +{ return tMUL; } + YY_BREAK +case 22: +YY_RULE_SETUP +#line 31 "al.lex" +{ return tDIV; } + YY_BREAK +case 23: +YY_RULE_SETUP +#line 32 "al.lex" +{ return tEQ; } + YY_BREAK +case 24: +YY_RULE_SETUP +#line 33 "al.lex" +{ return tPV; } + YY_BREAK +case 25: +YY_RULE_SETUP +#line 34 "al.lex" +{} //Ne pas les retourner à Yacc + YY_BREAK +case 26: +YY_RULE_SETUP +#line 35 "al.lex" +{} //Ne pas les retourner à Yacc + YY_BREAK +case 27: +YY_RULE_SETUP +#line 36 "al.lex" +{ return tCOMA; } + YY_BREAK +case 28: +/* rule 28 can match eol */ +YY_RULE_SETUP +#line 37 "al.lex" +{} //Ne pas les retourner à Yacc + YY_BREAK +case 29: +YY_RULE_SETUP +#line 38 "al.lex" +{ strcpy(yylval.id, yytext); return tID; } + YY_BREAK +case 30: +YY_RULE_SETUP +#line 39 "al.lex" +{ return tERROR; } + YY_BREAK +case 31: +YY_RULE_SETUP +#line 41 "al.lex" +ECHO; + YY_BREAK +#line 921 "lex.yy.c" +case YY_STATE_EOF(INITIAL): + yyterminate(); + + case YY_END_OF_BUFFER: + { + /* Amount of text matched not including the EOB char. */ + int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; + + /* Undo the effects of YY_DO_BEFORE_ACTION. */ + *yy_cp = (yy_hold_char); + YY_RESTORE_YY_MORE_OFFSET + + if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) + { + /* We're scanning a new file or input source. It's + * possible that this happened because the user + * just pointed yyin at a new source and called + * yylex(). If so, then we have to assure + * consistency between YY_CURRENT_BUFFER and our + * globals. Here is the right place to do so, because + * this is the first action (other than possibly a + * back-up) that will match for the new input source. + */ + (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; + } + + /* Note that here we test for yy_c_buf_p "<=" to the position + * of the first EOB in the buffer, since yy_c_buf_p will + * already have been incremented past the NUL character + * (since all states make transitions on EOB to the + * end-of-buffer state). Contrast this with the test + * in input(). + */ + if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) + { /* This was really a NUL. */ + yy_state_type yy_next_state; + + (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; + + yy_current_state = yy_get_previous_state( ); + + /* Okay, we're now positioned to make the NUL + * transition. We couldn't have + * yy_get_previous_state() go ahead and do it + * for us because it doesn't know how to deal + * with the possibility of jamming (and we don't + * want to build jamming into it because then it + * will run more slowly). + */ + + yy_next_state = yy_try_NUL_trans( yy_current_state ); + + yy_bp = (yytext_ptr) + YY_MORE_ADJ; + + if ( yy_next_state ) + { + /* Consume the NUL. */ + yy_cp = ++(yy_c_buf_p); + yy_current_state = yy_next_state; + goto yy_match; + } + + else + { + yy_cp = (yy_c_buf_p); + goto yy_find_action; + } + } + + else switch ( yy_get_next_buffer( ) ) + { + case EOB_ACT_END_OF_FILE: + { + (yy_did_buffer_switch_on_eof) = 0; + + if ( yywrap( ) ) + { + /* Note: because we've taken care in + * yy_get_next_buffer() to have set up + * yytext, we can now set up + * yy_c_buf_p so that if some total + * hoser (like flex itself) wants to + * call the scanner after we return the + * YY_NULL, it'll still work - another + * YY_NULL will get returned. + */ + (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; + + yy_act = YY_STATE_EOF(YY_START); + goto do_action; + } + + else + { + if ( ! (yy_did_buffer_switch_on_eof) ) + YY_NEW_FILE; + } + break; + } + + case EOB_ACT_CONTINUE_SCAN: + (yy_c_buf_p) = + (yytext_ptr) + yy_amount_of_matched_text; + + yy_current_state = yy_get_previous_state( ); + + yy_cp = (yy_c_buf_p); + yy_bp = (yytext_ptr) + YY_MORE_ADJ; + goto yy_match; + + case EOB_ACT_LAST_MATCH: + (yy_c_buf_p) = + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; + + yy_current_state = yy_get_previous_state( ); + + yy_cp = (yy_c_buf_p); + yy_bp = (yytext_ptr) + YY_MORE_ADJ; + goto yy_find_action; + } + break; + } + + default: + YY_FATAL_ERROR( + "fatal flex scanner internal error--no action found" ); + } /* end of action switch */ + } /* end of scanning one token */ + } /* end of user's declarations */ +} /* end of yylex */ + +/* yy_get_next_buffer - try to read in a new buffer + * + * Returns a code representing an action: + * EOB_ACT_LAST_MATCH - + * EOB_ACT_CONTINUE_SCAN - continue scanning from current position + * EOB_ACT_END_OF_FILE - end of file + */ +static int yy_get_next_buffer (void) +{ + char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; + char *source = (yytext_ptr); + int number_to_move, i; + int ret_val; + + if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) + YY_FATAL_ERROR( + "fatal flex scanner internal error--end of buffer missed" ); + + if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) + { /* Don't try to fill the buffer, so this is an EOF. */ + if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) + { + /* We matched a single character, the EOB, so + * treat this as a final EOF. + */ + return EOB_ACT_END_OF_FILE; + } + + else + { + /* We matched some text prior to the EOB, first + * process it. + */ + return EOB_ACT_LAST_MATCH; + } + } + + /* Try to read more data. */ + + /* First move last chars to start of buffer. */ + number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1); + + for ( i = 0; i < number_to_move; ++i ) + *(dest++) = *(source++); + + if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) + /* don't do the read, it's not guaranteed to return an EOF, + * just force an EOF + */ + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; + + else + { + int num_to_read = + YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; + + while ( num_to_read <= 0 ) + { /* Not enough room in the buffer - grow it. */ + + /* just a shorter name for the current buffer */ + YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; + + int yy_c_buf_p_offset = + (int) ((yy_c_buf_p) - b->yy_ch_buf); + + if ( b->yy_is_our_buffer ) + { + int new_size = b->yy_buf_size * 2; + + if ( new_size <= 0 ) + b->yy_buf_size += b->yy_buf_size / 8; + else + b->yy_buf_size *= 2; + + b->yy_ch_buf = (char *) + /* Include room in for 2 EOB chars. */ + yyrealloc( (void *) b->yy_ch_buf, + (yy_size_t) (b->yy_buf_size + 2) ); + } + else + /* Can't grow it, we don't own it. */ + b->yy_ch_buf = NULL; + + if ( ! b->yy_ch_buf ) + YY_FATAL_ERROR( + "fatal error - scanner input buffer overflow" ); + + (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; + + num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - + number_to_move - 1; + + } + + if ( num_to_read > YY_READ_BUF_SIZE ) + num_to_read = YY_READ_BUF_SIZE; + + /* Read in more data. */ + YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), + (yy_n_chars), num_to_read ); + + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); + } + + if ( (yy_n_chars) == 0 ) + { + if ( number_to_move == YY_MORE_ADJ ) + { + ret_val = EOB_ACT_END_OF_FILE; + yyrestart( yyin ); + } + + else + { + ret_val = EOB_ACT_LAST_MATCH; + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = + YY_BUFFER_EOF_PENDING; + } + } + + else + ret_val = EOB_ACT_CONTINUE_SCAN; + + if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + /* Extend the array by 50%, plus the number we really need. */ + int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc( + (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size ); + if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); + /* "- 2" to take care of EOB's */ + YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2); + } + + (yy_n_chars) += number_to_move; + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; + + (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; + + return ret_val; +} + +/* yy_get_previous_state - get the state just before the EOB char was reached */ + + static yy_state_type yy_get_previous_state (void) +{ + yy_state_type yy_current_state; + char *yy_cp; + + yy_current_state = (yy_start); + + for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) + { + YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); + if ( yy_accept[yy_current_state] ) + { + (yy_last_accepting_state) = yy_current_state; + (yy_last_accepting_cpos) = yy_cp; + } + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) + { + yy_current_state = (int) yy_def[yy_current_state]; + if ( yy_current_state >= 62 ) + yy_c = yy_meta[yy_c]; + } + yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; + } + + return yy_current_state; +} + +/* yy_try_NUL_trans - try to make a transition on the NUL character + * + * synopsis + * next_state = yy_try_NUL_trans( current_state ); + */ + static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) +{ + int yy_is_jam; + char *yy_cp = (yy_c_buf_p); + + YY_CHAR yy_c = 1; + if ( yy_accept[yy_current_state] ) + { + (yy_last_accepting_state) = yy_current_state; + (yy_last_accepting_cpos) = yy_cp; + } + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) + { + yy_current_state = (int) yy_def[yy_current_state]; + if ( yy_current_state >= 62 ) + yy_c = yy_meta[yy_c]; + } + yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; + yy_is_jam = (yy_current_state == 61); + + return yy_is_jam ? 0 : yy_current_state; +} + +#ifndef YY_NO_UNPUT + + static void yyunput (int c, char * yy_bp ) +{ + char *yy_cp; + + yy_cp = (yy_c_buf_p); + + /* undo effects of setting up yytext */ + *yy_cp = (yy_hold_char); + + if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) + { /* need to shift things up to make room */ + /* +2 for EOB chars. */ + int number_to_move = (yy_n_chars) + 2; + char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ + YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; + char *source = + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; + + while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) + *--dest = *--source; + + yy_cp += (int) (dest - source); + yy_bp += (int) (dest - source); + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = + (yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size; + + if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) + YY_FATAL_ERROR( "flex scanner push-back overflow" ); + } + + *--yy_cp = (char) c; + + (yytext_ptr) = yy_bp; + (yy_hold_char) = *yy_cp; + (yy_c_buf_p) = yy_cp; +} + +#endif + +#ifndef YY_NO_INPUT +#ifdef __cplusplus + static int yyinput (void) +#else + static int input (void) +#endif + +{ + int c; + + *(yy_c_buf_p) = (yy_hold_char); + + if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) + { + /* yy_c_buf_p now points to the character we want to return. + * If this occurs *before* the EOB characters, then it's a + * valid NUL; if not, then we've hit the end of the buffer. + */ + if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) + /* This was really a NUL. */ + *(yy_c_buf_p) = '\0'; + + else + { /* need more input */ + int offset = (int) ((yy_c_buf_p) - (yytext_ptr)); + ++(yy_c_buf_p); + + switch ( yy_get_next_buffer( ) ) + { + case EOB_ACT_LAST_MATCH: + /* This happens because yy_g_n_b() + * sees that we've accumulated a + * token and flags that we need to + * try matching the token before + * proceeding. But for input(), + * there's no matching to consider. + * So convert the EOB_ACT_LAST_MATCH + * to EOB_ACT_END_OF_FILE. + */ + + /* Reset buffer status. */ + yyrestart( yyin ); + + /*FALLTHROUGH*/ + + case EOB_ACT_END_OF_FILE: + { + if ( yywrap( ) ) + return 0; + + if ( ! (yy_did_buffer_switch_on_eof) ) + YY_NEW_FILE; +#ifdef __cplusplus + return yyinput(); +#else + return input(); +#endif + } + + case EOB_ACT_CONTINUE_SCAN: + (yy_c_buf_p) = (yytext_ptr) + offset; + break; + } + } + } + + c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ + *(yy_c_buf_p) = '\0'; /* preserve yytext */ + (yy_hold_char) = *++(yy_c_buf_p); + + return c; +} +#endif /* ifndef YY_NO_INPUT */ + +/** Immediately switch to a different input stream. + * @param input_file A readable stream. + * + * @note This function does not reset the start condition to @c INITIAL . + */ + void yyrestart (FILE * input_file ) +{ + + if ( ! YY_CURRENT_BUFFER ){ + yyensure_buffer_stack (); + YY_CURRENT_BUFFER_LVALUE = + yy_create_buffer( yyin, YY_BUF_SIZE ); + } + + yy_init_buffer( YY_CURRENT_BUFFER, input_file ); + yy_load_buffer_state( ); +} + +/** Switch to a different input buffer. + * @param new_buffer The new input buffer. + * + */ + void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) +{ + + /* TODO. We should be able to replace this entire function body + * with + * yypop_buffer_state(); + * yypush_buffer_state(new_buffer); + */ + yyensure_buffer_stack (); + if ( YY_CURRENT_BUFFER == new_buffer ) + return; + + if ( YY_CURRENT_BUFFER ) + { + /* Flush out information for old buffer. */ + *(yy_c_buf_p) = (yy_hold_char); + YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); + } + + YY_CURRENT_BUFFER_LVALUE = new_buffer; + yy_load_buffer_state( ); + + /* We don't actually know whether we did this switch during + * EOF (yywrap()) processing, but the only time this flag + * is looked at is after yywrap() is called, so it's safe + * to go ahead and always set it. + */ + (yy_did_buffer_switch_on_eof) = 1; +} + +static void yy_load_buffer_state (void) +{ + (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; + yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; + (yy_hold_char) = *(yy_c_buf_p); +} + +/** Allocate and initialize an input buffer state. + * @param file A readable stream. + * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. + * + * @return the allocated buffer state. + */ + YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) +{ + YY_BUFFER_STATE b; + + b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) ); + if ( ! b ) + YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); + + b->yy_buf_size = size; + + /* yy_ch_buf has to be 2 characters longer than the size given because + * we need to put in 2 end-of-buffer characters. + */ + b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) ); + if ( ! b->yy_ch_buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); + + b->yy_is_our_buffer = 1; + + yy_init_buffer( b, file ); + + return b; +} + +/** Destroy the buffer. + * @param b a buffer created with yy_create_buffer() + * + */ + void yy_delete_buffer (YY_BUFFER_STATE b ) +{ + + if ( ! b ) + return; + + if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ + YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; + + if ( b->yy_is_our_buffer ) + yyfree( (void *) b->yy_ch_buf ); + + yyfree( (void *) b ); +} + +/* Initializes or reinitializes a buffer. + * This function is sometimes called more than once on the same buffer, + * such as during a yyrestart() or at EOF. + */ + static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) + +{ + int oerrno = errno; + + yy_flush_buffer( b ); + + b->yy_input_file = file; + b->yy_fill_buffer = 1; + + /* If b is the current buffer, then yy_init_buffer was _probably_ + * called from yyrestart() or through yy_get_next_buffer. + * In that case, we don't want to reset the lineno or column. + */ + if (b != YY_CURRENT_BUFFER){ + b->yy_bs_lineno = 1; + b->yy_bs_column = 0; + } + + b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; + + errno = oerrno; +} + +/** Discard all buffered characters. On the next scan, YY_INPUT will be called. + * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. + * + */ + void yy_flush_buffer (YY_BUFFER_STATE b ) +{ + if ( ! b ) + return; + + b->yy_n_chars = 0; + + /* We always need two end-of-buffer characters. The first causes + * a transition to the end-of-buffer state. The second causes + * a jam in that state. + */ + b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; + b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; + + b->yy_buf_pos = &b->yy_ch_buf[0]; + + b->yy_at_bol = 1; + b->yy_buffer_status = YY_BUFFER_NEW; + + if ( b == YY_CURRENT_BUFFER ) + yy_load_buffer_state( ); +} + +/** Pushes the new state onto the stack. The new state becomes + * the current state. This function will allocate the stack + * if necessary. + * @param new_buffer The new state. + * + */ +void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) +{ + if (new_buffer == NULL) + return; + + yyensure_buffer_stack(); + + /* This block is copied from yy_switch_to_buffer. */ + if ( YY_CURRENT_BUFFER ) + { + /* Flush out information for old buffer. */ + *(yy_c_buf_p) = (yy_hold_char); + YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); + } + + /* Only push if top exists. Otherwise, replace top. */ + if (YY_CURRENT_BUFFER) + (yy_buffer_stack_top)++; + YY_CURRENT_BUFFER_LVALUE = new_buffer; + + /* copied from yy_switch_to_buffer. */ + yy_load_buffer_state( ); + (yy_did_buffer_switch_on_eof) = 1; +} + +/** Removes and deletes the top of the stack, if present. + * The next element becomes the new top. + * + */ +void yypop_buffer_state (void) +{ + if (!YY_CURRENT_BUFFER) + return; + + yy_delete_buffer(YY_CURRENT_BUFFER ); + YY_CURRENT_BUFFER_LVALUE = NULL; + if ((yy_buffer_stack_top) > 0) + --(yy_buffer_stack_top); + + if (YY_CURRENT_BUFFER) { + yy_load_buffer_state( ); + (yy_did_buffer_switch_on_eof) = 1; + } +} + +/* Allocates the stack if it does not exist. + * Guarantees space for at least one push. + */ +static void yyensure_buffer_stack (void) +{ + yy_size_t num_to_alloc; + + if (!(yy_buffer_stack)) { + + /* First allocation is just for 2 elements, since we don't know if this + * scanner will even need a stack. We use 2 instead of 1 to avoid an + * immediate realloc on the next call. + */ + num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ + (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc + (num_to_alloc * sizeof(struct yy_buffer_state*) + ); + if ( ! (yy_buffer_stack) ) + YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); + + memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); + + (yy_buffer_stack_max) = num_to_alloc; + (yy_buffer_stack_top) = 0; + return; + } + + if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ + + /* Increase the buffer to prepare for a possible push. */ + yy_size_t grow_size = 8 /* arbitrary grow size */; + + num_to_alloc = (yy_buffer_stack_max) + grow_size; + (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc + ((yy_buffer_stack), + num_to_alloc * sizeof(struct yy_buffer_state*) + ); + if ( ! (yy_buffer_stack) ) + YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); + + /* zero only the new slots.*/ + memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); + (yy_buffer_stack_max) = num_to_alloc; + } +} + +/** Setup the input buffer state to scan directly from a user-specified character buffer. + * @param base the character buffer + * @param size the size in bytes of the character buffer + * + * @return the newly allocated buffer state object. + */ +YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) +{ + YY_BUFFER_STATE b; + + if ( size < 2 || + base[size-2] != YY_END_OF_BUFFER_CHAR || + base[size-1] != YY_END_OF_BUFFER_CHAR ) + /* They forgot to leave room for the EOB's. */ + return NULL; + + b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) ); + if ( ! b ) + YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); + + b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */ + b->yy_buf_pos = b->yy_ch_buf = base; + b->yy_is_our_buffer = 0; + b->yy_input_file = NULL; + b->yy_n_chars = b->yy_buf_size; + b->yy_is_interactive = 0; + b->yy_at_bol = 1; + b->yy_fill_buffer = 0; + b->yy_buffer_status = YY_BUFFER_NEW; + + yy_switch_to_buffer( b ); + + return b; +} + +/** Setup the input buffer state to scan a string. The next call to yylex() will + * scan from a @e copy of @a str. + * @param yystr a NUL-terminated string to scan + * + * @return the newly allocated buffer state object. + * @note If you want to scan bytes that may contain NUL values, then use + * yy_scan_bytes() instead. + */ +YY_BUFFER_STATE yy_scan_string (const char * yystr ) +{ + + return yy_scan_bytes( yystr, (int) strlen(yystr) ); +} + +/** Setup the input buffer state to scan the given bytes. The next call to yylex() will + * scan from a @e copy of @a bytes. + * @param yybytes the byte buffer to scan + * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * + * @return the newly allocated buffer state object. + */ +YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len ) +{ + YY_BUFFER_STATE b; + char *buf; + yy_size_t n; + int i; + + /* Get memory for full buffer, including space for trailing EOB's. */ + n = (yy_size_t) (_yybytes_len + 2); + buf = (char *) yyalloc( n ); + if ( ! buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); + + for ( i = 0; i < _yybytes_len; ++i ) + buf[i] = yybytes[i]; + + buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; + + b = yy_scan_buffer( buf, n ); + if ( ! b ) + YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); + + /* It's okay to grow etc. this buffer, and we should throw it + * away when we're done. + */ + b->yy_is_our_buffer = 1; + + return b; +} + +#ifndef YY_EXIT_FAILURE +#define YY_EXIT_FAILURE 2 +#endif + +static void yynoreturn yy_fatal_error (const char* msg ) +{ + fprintf( stderr, "%s\n", msg ); + exit( YY_EXIT_FAILURE ); +} + +/* Redefine yyless() so it works in section 3 code. */ + +#undef yyless +#define yyless(n) \ + do \ + { \ + /* Undo effects of setting up yytext. */ \ + int yyless_macro_arg = (n); \ + YY_LESS_LINENO(yyless_macro_arg);\ + yytext[yyleng] = (yy_hold_char); \ + (yy_c_buf_p) = yytext + yyless_macro_arg; \ + (yy_hold_char) = *(yy_c_buf_p); \ + *(yy_c_buf_p) = '\0'; \ + yyleng = yyless_macro_arg; \ + } \ + while ( 0 ) + +/* Accessor methods (get/set functions) to struct members. */ + +/** Get the current line number. + * + */ +int yyget_lineno (void) +{ + + return yylineno; +} + +/** Get the input stream. + * + */ +FILE *yyget_in (void) +{ + return yyin; +} + +/** Get the output stream. + * + */ +FILE *yyget_out (void) +{ + return yyout; +} + +/** Get the length of the current token. + * + */ +int yyget_leng (void) +{ + return yyleng; +} + +/** Get the current token. + * + */ + +char *yyget_text (void) +{ + return yytext; +} + +/** Set the current line number. + * @param _line_number line number + * + */ +void yyset_lineno (int _line_number ) +{ + + yylineno = _line_number; +} + +/** Set the input stream. This does not discard the current + * input buffer. + * @param _in_str A readable stream. + * + * @see yy_switch_to_buffer + */ +void yyset_in (FILE * _in_str ) +{ + yyin = _in_str ; +} + +void yyset_out (FILE * _out_str ) +{ + yyout = _out_str ; +} + +int yyget_debug (void) +{ + return yy_flex_debug; +} + +void yyset_debug (int _bdebug ) +{ + yy_flex_debug = _bdebug ; +} + +static int yy_init_globals (void) +{ + /* Initialization is the same as for the non-reentrant scanner. + * This function is called from yylex_destroy(), so don't allocate here. + */ + + (yy_buffer_stack) = NULL; + (yy_buffer_stack_top) = 0; + (yy_buffer_stack_max) = 0; + (yy_c_buf_p) = NULL; + (yy_init) = 0; + (yy_start) = 0; + +/* Defined in main.c */ +#ifdef YY_STDINIT + yyin = stdin; + yyout = stdout; +#else + yyin = NULL; + yyout = NULL; +#endif + + /* For future reference: Set errno on error, since we are called by + * yylex_init() + */ + return 0; +} + +/* yylex_destroy is for both reentrant and non-reentrant scanners. */ +int yylex_destroy (void) +{ + + /* Pop the buffer stack, destroying each element. */ + while(YY_CURRENT_BUFFER){ + yy_delete_buffer( YY_CURRENT_BUFFER ); + YY_CURRENT_BUFFER_LVALUE = NULL; + yypop_buffer_state(); + } + + /* Destroy the stack itself. */ + yyfree((yy_buffer_stack) ); + (yy_buffer_stack) = NULL; + + /* Reset the globals. This is important in a non-reentrant scanner so the next time + * yylex() is called, initialization will occur. */ + yy_init_globals( ); + + return 0; +} + +/* + * Internal utility routines. + */ + +#ifndef yytext_ptr +static void yy_flex_strncpy (char* s1, const char * s2, int n ) +{ + + int i; + for ( i = 0; i < n; ++i ) + s1[i] = s2[i]; +} +#endif + +#ifdef YY_NEED_STRLEN +static int yy_flex_strlen (const char * s ) +{ + int n; + for ( n = 0; s[n]; ++n ) + ; + + return n; +} +#endif + +void *yyalloc (yy_size_t size ) +{ + return malloc(size); +} + +void *yyrealloc (void * ptr, yy_size_t size ) +{ + + /* The cast to (char *) in the following accommodates both + * implementations that use char* generic pointers, and those + * that use void* generic pointers. It works with the latter + * because both ANSI C and C++ allow castless assignment from + * any pointer type to void*, and deal with argument conversions + * as though doing an assignment. + */ + return realloc(ptr, size); +} + +void yyfree (void * ptr ) +{ + free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ +} + +#define YYTABLES_NAME "yytables" + +#line 41 "al.lex" + + + + diff --git a/Symboles/table_symboles.c b/Symboles/table_symboles.c new file mode 100644 index 0000000..695381b --- /dev/null +++ b/Symboles/table_symboles.c @@ -0,0 +1,118 @@ +/* TABLE DES SYMBOLE DU COMPILATEUR (PILE) + +----------------------------------------------------- +| symbole | adresse | type | initialisé | +----------------------------------------------------- +| | | | | +| | | | | +| | | | | +| i | 0x777756b8 | int | false | +| size | 0x777756b8 | int | true | +----------------------------------------------------- + +Types pour l'implémentation : + - enum type_t : [int] + - struct symbole : { + char nom[30]; + uintptr_t adresse; + enum type_t type; + char initialized; + } + +Opérations possible : + - init -> pile * -> void + - push -> symbole -> pile * -> void + - pop -> pile * -> symbole + - exist -> pile * -> symbole -> char + - initialized -> pile * -> symbole -> char */ + +#include "table_symboles.h" +#include +#include +#include + +struct element_t { + struct symbole_t symbole; + struct element_t * suivant; +}; + +struct pile_t { + int taille; + struct element_t * first; +}; + +char * type_to_string(enum type_t type) { + if (type == INT) { + return "int"; + } else { + return "unknown"; + } +} + +void print_symbole(struct symbole_t symbole) { + if (symbole.initialized) { + printf("\t\t{nom:%s, adresse:%p, type:%s, initialized:OUI}\n", symbole.nom, (void *)(symbole.adresse), type_to_string(symbole.type)); + } else { + printf("\t\t{nom:%s, adresse:%p, type:%s, initialized:NON}\n", symbole.nom, (void *)(symbole.adresse), type_to_string(symbole.type)); + } +} + +void init (void) { + pile = malloc(sizeof(struct pile_t)); + pile->first = NULL; + pile->taille = 0; +} + +void push(struct symbole_t symbole, struct pile_t * pile) { + struct element_t * aux = malloc(sizeof(struct element_t)); + aux->symbole = symbole; + aux->suivant = pile->first; + pile->first = aux; + pile->taille++; +} + +struct symbole_t pop(struct pile_t * pile) { + struct symbole_t retour = {"", 0, UNKNOWN, 0}; + struct element_t * aux; + if (pile->taille > 0) { + aux = pile->first; + pile->first = pile->first->suivant; + retour = aux->symbole; + free(aux); + pile->taille--; + } + return retour; +} + +char status(char * nom, struct pile_t * pile) { + char retour = 0; + struct element_t * aux = pile->first; + int i; + for (i=0; i < pile->taille; i++) { + if (!strcmp(nom, aux->symbole.nom)) { + if (aux->symbole.initialized) { + retour = 1; + } else { + retour = 2; + } + break; + } else { + aux = aux->suivant; + } + } + return retour; +} + +void print(struct pile_t * pile) { + printf("Affichage de la Table des Symboles\n\tSize : %d\n\tContenu : \n", pile->taille); + struct element_t * aux = pile->first; + int i; + for (i=0; i < pile->taille; i++) { + if (aux->symbole.initialized) { + printf("\t\t{nom:%s, adresse:%p, type:%s, initialized:OUI}\n", aux->symbole.nom, (void *)(aux->symbole.adresse), type_to_string(aux->symbole.type)); + } else { + printf("\t\t{nom:%s, adresse:%p, type:%s, initialized:NON}\n", aux->symbole.nom, (void *)(aux->symbole.adresse), type_to_string(aux->symbole.type)); + } + aux = aux->suivant; + } +} diff --git a/Symboles/table_symboles.h b/Symboles/table_symboles.h new file mode 100644 index 0000000..d8fc90e --- /dev/null +++ b/Symboles/table_symboles.h @@ -0,0 +1,48 @@ +/* TABLE DES SYMBOLE DU COMPILATEUR (PILE) + +----------------------------------------------------- +| symbole | adresse | type | initialisé | +----------------------------------------------------- +| | | | | +| | | | | +| | | | | +| i | 0x777756b8 | int | false | +| size | 0x777756b8 | int | true | +----------------------------------------------------- + +Types pour l'implémentation : + - enum type_t : [int] + - struct symbole : { + char nom[30]; + uintptr_t adresse; + enum type_t type; + char initialized; + } + +Opérations possible : + - init -> pile * -> void + - push -> symbole -> pile * -> void + - pop -> pile * -> symbole + - status -> nom -> pile -> char */ + +#include + +enum type_t {UNKNOWN, INT}; + +struct symbole_t { + char nom[30]; + uintptr_t adresse; + enum type_t type; + char initialized; +}; + +void print_symbole(struct symbole_t symbole); + +struct pile_t * pile; + +void init(void); +void push(struct symbole_t symbole, struct pile_t * pile); +struct symbole_t pop(struct pile_t * pile); +// renvoi 0 si nom n'existe pas, 2 si nom existe sans etre initialisée, 1 sinon +char status(char * nom, struct pile_t * pile); +void print(struct pile_t * pile); diff --git a/Symboles/table_symboles.o b/Symboles/table_symboles.o new file mode 100644 index 0000000000000000000000000000000000000000..093f0a3a7e33dbd5ffadb9760013b317028df001 GIT binary patch literal 3856 zcmbtXO=w(I6uvX*PZC=*tx6*;^tp&cNr!|+o5re>#@D_|(j-krK`hgk%$sJ&{5kW+ zHf>WYvBl>z5ZnnaQrvXst`rnHDs&>K#D&sD7ZDL6sh}o{Srp=T?z?w#eVKsO1Mi-5 zzVmy3CwWKjI~EKCn4|!EiLGlAWo+S*bveSt2;0eau&Cku>P$VDo_Y`{HW)Ko$+Wy( z2&ca$bJI=z$a^I_?CM=kd5Ihh=PSe2+YRRjl4gn_W9CJ|Z_&U#mfIf2d)6y-J0!ym zhc{xl9xF%cDYH<^Br_3XOyAcGXKLwo7ckMBUNPK$e0s=mqs@jBFr1-!s2bE(!|4e@ zZ{`zlqg~LEV5k-PlHm@LU&U|++dVx>GGR+Dn;8s{;Dlzs;p>9ZXHfcv;S}fMhP$Pu z6)hN!Ug;#nZY&6?I5iG z2BZ=eXnuXY7NFi$)@u>^lCoY1DOTdf!A?GNdn=ztb!{}-7Oc(U9esr%IimS=DrJ3@ zroH?!(p6x9(@(OmtEFNypi0xtNE^=FHpB*&pTZbi-b*-g;MnPvX?>M8W6@=Y_0>x^ zaYR>qh542_cQ%|%Uhtot{B{lPC{>>)*^RWywQ{~B0HrY{I`}vf8}lxA{+B3`Se+A2 z8s^mW;l$e78crH56)2gpSurz_$)3w_y`kY^CY$bVDYR*3JZ}{WR(DITO|vI+5CA4K zNjqt#k{7Ia_dxW-R3ndK>|x?g4xFsU^&}F>v2pXPrNu2RWojelXo}>5HawXg&8DnE zW5Y12Y28{&ys@D-o3X7-5gG~~@9pi@TBD=Ij9t_Yg`W$zA2?X#TF2#%u5f$jGagDU zJ}&wUTsXx7=R<+LJGR%);z8R7oIaxcH1s?gx)$u+x$O-&KqcD|!a+$Iq&*nt4rG6m za8M@=(w<$9zeG6bA`Q|We7hR|3E`l9^uS7c-JSqBQ2sB-2%4lp+JkmA{vP3=A8DxC z7rX`tt3gz13;T1ehKbeHeCZkRx?1i)w`_v*XLf_Fj&0w75m3iy#WzwN+qMDR4P+Pl zYfVN-z6bbjrGLJsz@8Sk)cIZlqdlXa2S2?EpcXy^obtaf0{EUoer*%~)52fwAwL7a zMg@LI{HXH12bREBtM0@m_$85NI0ym6&j|Q5zFK)c08agXEByJH0mf{)c(H=Gbm1|U zOQtMF_daH4V+A{(%$#L8jJ9-QvEzLMM|=8W1ILaH>m#v|o}+zw%=1a$VM*F7ZKhIL zq$(E1SuUGniM(a87_ymT6S1-JiCDr+rWjPaSOCk9rE^|3>4ODbEg}4+~BwcPBpS9}~Dg&p8FBJg*4-UBUf%K2q=|$TI)O0;l{9 z3O=_9{@Et@_X4N7YW@{*o(QKqBJ1{3K@j1O;gh(l;7=&{F9Ih<^QCh}^t};H*J%JM+*fO&SyPkESpYS z`1KBFvbGgIelmK1Un@9Jm^B_t<5IuxCTOFtPK+7^t=DtczRzbr+Sv4vL%u5 zb5azN{Y&UD1d4B$fZ(6fqJWBOMVm>jLxlzaZi(z6AdM zPr+Vm|4OuBpc@|Jcb{Tqyxc$P$6uR5=IJtnT7{ARouqfsA5WNn?*Oqs#Gewgq$uQ{ T|1Q{S#gB{sUri;JM1TC>0_(?` literal 0 HcmV?d00001 diff --git a/Symboles/test_table_symbole b/Symboles/test_table_symbole new file mode 100755 index 0000000000000000000000000000000000000000..7e9f45231733c9b60dd40732e3b7ac523b476e2d GIT binary patch literal 12928 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 + +int main() { + printf("Procedure de test de la Table des Symboles\n"); + init(); + printf("Affichage de la Table des Symboles (vide)\n"); + print(pile); + + printf("Test de la fonction push :\n"); + struct symbole_t symbole = {"Salut", 0x77b58af, INT, 1}; + push(symbole, pile); + printf("Affichage de la Table des Symboles (1 élément : Salut)\n"); + print(pile); + struct symbole_t symbole2 = {"Coucou", 0x77b54af, UNKNOWN, 0}; + push(symbole2, pile); + printf("Affichage de la Table des Symboles (2 élément : Salut, Coucou)\n"); + print(pile); + + printf("Test de la fonction status :\n\tStatus de Salut (1 expected) : %d\n\tStatus de Coucou (2 expected) : %d\n\tStatus de Truc (0 expected) : %d\n", (int)status("Salut",pile), (int)status("Coucou",pile), (int)status("Truc",pile)); + + printf("Test de la fonction pop :\n"); + printf("Symbole expected Coucou\n\t"); + print_symbole(pop(pile)); + print(pile); + printf("Symbole expected Salut\n\t"); + print_symbole(pop(pile)); + print(pile); + printf("Symbole expected Aucun\n\t"); + print_symbole(pop(pile)); + print(pile); +} diff --git a/Symboles/test_table_symbole.o b/Symboles/test_table_symbole.o new file mode 100644 index 0000000000000000000000000000000000000000..48fae3ab7ad8658260e2b7f86b476ea2708d251e GIT binary patch literal 4456 zcmbtWUuauZ7(Z>gb(`(htt!Lr;XbUA>K2-A>a0$Zc5N?O-RvKo=!j`@W5UuTCihCG zq8&4`Scel81YZWeY=X283sxUSabpo5L=j{-gej;6_pl9wA?oq_&Y$+{&An3e3-_My z{Lb(E&hMU+bMAe0V0f^xp@HdWU=Ok7nnoE5Zd}eIB8{+C*22ck%FofUQS<0k?3OfV znmU8fY*q#q!wcq#y+~bLx>3NKS%bJ)sfqR#P4lDitYbs#XOdFB_BZEd<-MC&)XI!= zjt#Z)I+dkr_YbnXD-w8{dp&mcb1JBpa4dLSk%hhP)MVDR0c*L6e+YuAekLQqo!)TSRTe~$tdEy ziacIL1ztr(UPXCcm1C{WsP=u4KFz*O=dLU*!-|$o=Pvm*EbOcNSoyx9>GSw}^(!b> zo;1$fhD7s3`2biqE8ppL=hZ3kFa>c>i~FI({@2T&=m5^Q@cp-dJy+=U9#i0Q!;uttRIybOp)kf1jB|kRj?AamFxnGok>cO;zqFNUpVN( z2zI*}o;C{k0?eISj-?*zfi|qKZxJ578lq0Z$w31f>hJG0g5wiT&UTFZLidEackXgT zE&NJ&PpEr$mqZ!6RZV=uizBRIs;!};rFq>+IODbhzD>171CT^Fw!Pli-@5kUHv`9- z0zCoXsbU7S{KLcsHlz*qo&UJ(E#uLv-4;@33=SaThQK!AB$4zRU#{M!N9 z%x-YqLzf+ZZz2B0+yG|4)drV4?ghXLf4~Qi_~3&+_#-~}h!6gh4}Qo8KkS1uJX2ye zo+h!9JV`)*6HW|<4SZru`e_wPswtsMNbYLtt7VR4zh_QlWmslp3v00&*$-y1Y z4JNmtL{bcPgG{w7i^YJEI2=o)564pROcor;`NpylF8mk#iHAExCxQ_8k7=l1D#LZdaO;Q<5WtZS8*NEv0CEiEpvl@>~U4P^=B3C z*1t^nn;_TvzYspo1AgRS{3eS!|2Guw*8hX>ssDqxks;jt*A$Nash_t9AN`!g&Jgbs zK3$g&2%pa9hlEf4eB{GFOK=?bcQGnspAsG1hkD*F5I!CED}tkro|kWZbbcUws`D$s zQAd9gU-i-X%f)X|^=6!S2%P85aB2S=6^;e!zoYo=giq)B4j2Dp#otc&RR3N$nENhahb1d;aj&mD87u?e;E3r=8Cn0`f(+w&l7+|X#cu?KP1?{ zTLY>rtLN75OWmyf>#`3TbgnsA&Z_s zxPI7I_t!Z3agPlUyQap!sSMu&816H7f5hBt2M}9SpPnycg@pV0@oezwzo7ibNncFe G{r>^tY3OAD literal 0 HcmV?d00001