From ac18e7a8f1dd3a4dfc7226b8ffdaf38890416a38 Mon Sep 17 00:00:00 2001 From: Kevin Duarte Date: Fri, 10 Jul 2015 21:21:59 -0400 Subject: [PATCH] Driver, could have bugs --- Driver/driver.c | 6 +++--- Driver/input.txt | 5 +++++ Driver/parserwithcodegen.c | 2 ++ mcode.txt | 8 ++++++++ parseroutput.txt | 11 +++++++++++ parserwithcodegen.c | 2 ++ parserwithcodegen.exe | Bin 0 -> 34252 bytes pmachine.exe | Bin 0 -> 31783 bytes stacktrace.txt | 20 ++++++++++++++++++++ 9 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 Driver/input.txt create mode 100644 mcode.txt create mode 100644 parseroutput.txt create mode 100644 parserwithcodegen.exe create mode 100644 pmachine.exe create mode 100644 stacktrace.txt diff --git a/Driver/driver.c b/Driver/driver.c index 7140a78..38d2297 100644 --- a/Driver/driver.c +++ b/Driver/driver.c @@ -5,10 +5,10 @@ int main() { scannermain(); - printf("Scanner successful"); + printf("Scanner successful\n"); parsermain(); - printf("Parsing and Code Generating successful"); + printf("Parsing and Code Generating successful\n"); pmachinemain(); - printf("Everything done"); + printf("Everything done\n"); return 0; } diff --git a/Driver/input.txt b/Driver/input.txt new file mode 100644 index 0000000..d3a89bc --- /dev/null +++ b/Driver/input.txt @@ -0,0 +1,5 @@ +var x, y; +begin +y := 3; /* This is a comment */ +x := y + 56; +end. \ No newline at end of file diff --git a/Driver/parserwithcodegen.c b/Driver/parserwithcodegen.c index ca15f28..87136e3 100644 --- a/Driver/parserwithcodegen.c +++ b/Driver/parserwithcodegen.c @@ -591,6 +591,8 @@ void PROGRAM() { ERROR("Error number 9, period expected."); } + //the halt at the end of the program + printToFile(9, 0, 2); } diff --git a/mcode.txt b/mcode.txt new file mode 100644 index 0000000..251cb7c --- /dev/null +++ b/mcode.txt @@ -0,0 +1,8 @@ +6 0 6 +1 0 3 +4 0 5 +3 0 5 +1 0 56 +2 0 2 +4 0 5 +9 0 2 \ No newline at end of file diff --git a/parseroutput.txt b/parseroutput.txt new file mode 100644 index 0000000..bab55b2 --- /dev/null +++ b/parseroutput.txt @@ -0,0 +1,11 @@ +6 0 6 +1 0 99 +4 0 6 +3 0 6 +1 0 1 +2 0 2 +4 0 6 +3 0 5 +1 0 2 +2 0 2 +4 0 5 diff --git a/parserwithcodegen.c b/parserwithcodegen.c index 61e63d6..1f2d6b3 100644 --- a/parserwithcodegen.c +++ b/parserwithcodegen.c @@ -591,6 +591,8 @@ void PROGRAM() { ERROR("Error number 9, period expected."); } + //the halt at the end of the program + printToFile(9, 0, 2); } diff --git a/parserwithcodegen.exe b/parserwithcodegen.exe new file mode 100644 index 0000000000000000000000000000000000000000..3e7dbe4944ba8c84d323d0f348a39ccc8133bbd6 GIT binary patch literal 34252 zcmeHw4|E&VneUY>Cn9!iLmY6a0Rg7Ct#RzcF$R(%$ChJ({0ILDhJ;RJS++%F*+`?r zVN=#YF~k*S-9o#x589-pr?lJCO?PPlDjjj5)BU(~RvyNt>G=-~BKKbipOx zFJO)$0^22W??uAxqD`TYoJOsII7~}Az~(j z$k!}8HnR4Om3@BIFG+YT;4`}zyJ2&)s{NHwLAWg!2sicx*j?BS8|d82Y6M^xReC#i z()keq(~d+}*&B<|^`1N&Hqx1O8)F;ySB8XM9z*!d^?uAu%k69E=prbO)fi65k1Fhj zjnk=NuGdBIDeOeIoG$c@=$2IrN4UIQz!9DFO`~+PqBYBwU&Ak7UxZ>WcH|PP<)F-g z)74b->+jNWKX#J02D@S7bSqbK$P;utjGgEj=|bO#PQUu^eb$*cQMdbrMmHPZua+Ka zEOU~%C>`Y2Ax9ZqrVl4hkHchRS;a(SSNXeIBsX7jQ@}j-5=^6a#ZFVMwlXHyK63c9U7enp_OCrc+^%Oq7W_}E?E5liukW){&6*$DZF2O5naD%kV?{1zgo(r zsv$(^A1IUnrVsB+W1HDi{qph6IGKE$w^{=$wbaxe$$A5f*%1RB*a;!okM{}?8Lxrb z2n4^le?nR6HWKq}`uGYnj;pAbxC?-rGBEOhlmR*ZGB>qw$A7+)P9x~0sb>mM5jZ*i zTRz zvX*pK{vb>p6XLF&S@^IC=M8Kqj2Ch$F-yH*a`zVtK~}1@?H)oHU~8dQMWh2`jo! zPTt^1F3pDm+dt1@O|x@1;oOhXk+ZlTrJ#r?f694|dNFh^QcG~mQ_sUOU(LsHvAO`q zg80IHq-!RZr_gOwH8-zA7gKS_a};oP$a9Q}nOl;cV`l9X-N|-G(vwfU)NWIi z$jpx?Tb#2}Pdq;{y>B6;P5gY~-zJ{=!&hf6NqdfQ^RMw7+xAG}Q%4!E;So1#xDL$- zwU;ZQ}+_{X30!5z-;DHGqa|*aL1h#MA5S> zEZh;sm1d%ZI@Cq-EH}P7b5@xuhDtJ(sv=w4w~$=Mn#@hT`X&stL3+k#2YfzE&>3kq zIhidem?cQ_ITt=ZK+NBg%#=Xc%;jcg%^#D`xh9{>C5Z2+@@_!|=dBSrl^=n+Ez6^S61K>5h1rmAmx1V?j3Z*gj!tsZt zdg`txJ$p#gF-%`3J$uP#f)ePxs43CiByI(D-x%RIch(lY6;a!hkTec z>Dg(N)k(6tcO^X!Q=^v|O<9>b0*s+FbN zAihb@3yIS?+@y*%AbS*KsUP5Qe4#FNY22Oq8X;)zFtaH2zv%quTGSJ#&r?rG{pWK@ zVUlzU5#2$OeuxB>_zMche@HHHWS%aeg!4@i-=$#T-c5K;@ZQkbr0kp$)J%Cq8w`7H{O#&4QY`udIHCPmVqhpR+|>2T|zYM7Q(fKf>&{khd6oN$g#Z z8bkd$jF+x_sBoM{j@13c;HE?uZTLd&%3gA19Z=Ghl*N_LjY5a!&0b9F4tY*O9-Fx} z@u`!x_}V|mn`bGlXr41^l6E_!B|RzO(C^=XeIMfvog~S3?J_t7s;nr{@Rb@Nx%xPe z)gP4>j_)R_2O(KHE%N>F8aVAIeOq-@F(2`q4L~*N&~rq}5wwaJnst=O#*Ktp3Ml$+ z8)@4LW6+hC+ z&Q+h6G7RFk1E2Z=4l|+DXLVX3@+65=0ENgL68Sn&Z_>$xpbFgWrRoUPPKPh)4Z)zO zgiuvDV1SoqT&&*5XA_t^W>p(?kEtiLd=ukSssuj6Eu+)Q&F+#4bYQ5`rcxsRxkIApbT&zlPQZ5v4GT z&3KbIn`Ls>VO_ZNPJ?o0m`7u>$Wue|Y$O68br*A2MIiX!NL;L?uiX$G*di` zL_!=(Qvn1J!7Rl?2N~BYl#Wy<;Hh;u$Q%32{qF`y@J&oZd>M(Sq$UR9SIgQbem1eK ztZU-MiEvp@>SnOxQ4NLo`yhjwy2NQm{No^Tf|z(xZ((|vgv2D6lVDAPF>!Fiv{aio z?N$$iv1&4mgbc%W=yXe+fR{}m3H}Hfi4#R6-yj;Sg`aCIyBI2|yd*URvaxMtmoW8y z6c;n~UT|=sM$a{&UlBr&D>O1~5Vr^9EP|J6L@WF(dXN68-8CC|+Af?H&0^m+kDFaZ zhs5cHhjIx^fxqi0Zn6@m^B~9t&&yzDdEx!P0w%eVh{xY393Q8vi^k~c<@jGE7w^E? z4|dY!bA>zT`Q8tRGTGpy2R!3zAvQ6czx^!&7A6wF7k;F%p^5_{@6SOj(S2x`)Wnk++2mg8P-dP>;5Wc*0{Tge6oWx{oc=gjWH@8PM7 zoAtx-@BM7+g6+?vOG|(B`6uj9wf!|h+1`YP5@;w%-3txJ3&GbvRruYa9Y+ek`#Mq?Rr?I=h6zm-lqumsrY|D(^MHW9r^ckI&rXM{dD!qGj_D623xXtoCp!ClQYlA{7){f+ejIp zE)en$<p*M>}QE2AtxFC{$n7Kb6d(2J$Kp08KoTI)*d4BN%@} zb)rHhYRb}wlk1(xxPQ^4JST|J{jUGyG{%eFZU{uumQ=ri^eqN=!Nf^abTKNr1VhI( zlE*=hu_1sAOI2|l6VvKiYF|?9L=JCQ4UW`JK<_3aC%CB-Nazz3f9`@0$O(+Q4x@q} zp`z0>pVs2b4WdkgDGL$8>iz4dHU3kuAh}cv!4dW1r2U#-#Lu0%QH!VZntxR z@_gX7Len5W0a^U0ly@kX;!0aek&>TAe?mZH+m!+hL}utU%2U6XvLkb69?*=V$isn| zXH%~st!F-?<#76n;yc`IYASt2l`KnTSt83aS&qmuEK9d6dt|A~a#WV>vK*9Uvn)5r z(kIJCS#Ff&Hd)rlvQL()WZ5N4Cd<@_u>YhiPsuW0;+?WQCgBcweL`NpEz6^_Jk3k- zSTr^C8lRrn4-*o9XN=)D4+8kbR5U^o&}{Sg&fOgfe?uW&^}1B0q- z1U5y~!C(vmhC;DeC^A5L7G=?|sBnP@Z!rV|!9LKq`uzcw6lkwA4B%CUEg^LfWRMi& zMp=DZUIo3uuwM-gNBm*e@JKM~Co#d%kzha#_GQ~y4LcF=&_HAeR=U*Tj7KhT;hhRt z6ORVD>;7fLItT&sW8D<$u6zsqm3 zb+bPj^7o?FDb7KE1ThQ;W2k;}z0_8?f{{KVGK9oTQwx&{)T~~~dJeR9GvMDmWCE^;11>;CGwCCXfcZZx*hfy)E z%|Y0M>bat?l8ksap57256}mI1(UOk;-y438=9}%#4rbftw0$_=;n<0}Z8@NH_kHxo z>2yBLit7uU3423ZQ{fX!t$*-ZP+e@dqtP?DbRMFo!L zyp08PTV02pY~BYvZrQnC_t@(T@)J3r>|0cj-!u)IpDA!ORc#5! zJvsN5TZ9omUa9V@C8E`L3&1Tn-OqKdPUf(@H zsh}Ylw9Tc5d?cDd&~8LY^7Q)j6_k1lTTDEZ?M0H z{S@|hurGj3Mc6OIei`-(>^0awfxQ`f2lfrv`>{u`k7Bxsi4ywV1 zXh;oVKGumL6+;R;!8{R~h-ZP>1vbxUNNuMnAzspa$F?@8`us7KPX`z~*N*F!;l6k{ z*zAw=g@g4-P=XOdy%^va`!~Bc0&V^<#-nTnl{vnkf3pS5R7Yn}?T!p`sePW&KyZZY zYzl>8CHtJCD;$HGb^dTX$bRUM<1MtR@Q1M@q#C1QtG0a#1SFxa~_(w(*b?XQq4=^PVL>w4fWK%-Jy^Q^}O&N}G&^K&E zEI8NN{k_9cm9^Uac;}YrJMA>-9S$IK>;j_L`vc+O7^L>u`(f0`aE#q<@5cl>!Zz9a zN1~yK+RyH=_eX=EQSJRP+zs?Iwi#!FdaJ#E3+f5jZ`g-|LxGX4jD6cK8QJ4@Oka?Z z2kbP#_hTUZ-}aaq4Gf{B{e+(p{R#VKO%)m;lJ_k38$BJZ9^Z=P{5B4(#o&Fv_MzD3 zKvdN*)6`=1m6nm2F6{=xQ_7l98=xmhXpay$lijJf~v0`M2^aWVY2^BB`Vm4J;c71g_$!W&DwGKo-j@11xauhCp;U z7V8Uc-q0Hlh5I%TvD!DZV)=$4dLDyPF!AWx9l4lJF}q`7JVMhUJcr@e_Jy%QOw{m1 z*a)>P2n_n8EQh9e@qXsAZNDD3qYh<6jWSz;&h3}uG60FT9W?2;U+!=yy?#vQY~up$ zbSV8{{{XYyBk=jS4uyfgS6ml?9Xd$7ZKnVgLqxnE4{MlhLO@C!iaIpXAMp=?@zX+Z zDa&>2g31L=UZ02AlJt^5hHQ~;a{byXP@iC!2Qt*cekcqFKVB7Gs;CoqToPosEQ%Gm=%S9hyN>F)F>K2QBR zj}h43-Px?Pcv{*zZecc^_Et|vo8sx|^0YQ8H+#F9mHO63c&f{4?P&A)l+LaWpQn}O z=!i8P^{oxfN_&T=(c94FZEIDUy{%oH%%PJswso)Zd8F9JMwY9i$i&Y2<|ej4hqbh= z>tPG^>-PGNE^ob0>F}(D{(7H}IjzVhU;SDG#W^|!sc81Lv^9E^CU09iTVzIc8c=y= z6bz|i`DR#yud9(QHp6-vn%Ayj1v;>^-RJF6d~L0370B>(vO*o#;i+!~w9(sii*j>^ zx68wdW<|1db#Qw}TT5G)N4bgH%Ffdb&1PloJLGg*6m!;O$6z4f+swq__VGgFG>;nBX_jOn_i-Q)9g zcA{RPsgsqN(PU+nvgQ`0y{D~%U7;gIYgbylov2>4Rndq(q7$H&eQj&IsmDOR@SJ5= z>S#~9*MctB(VflSrmkxCQ5`}}uBoZR<7sCf)1g#%9ZGjAnue&ikI#y0Xlq^P>F7jH z(#a}xil(;i4&{dKmUhMGZSi)ot8`RnL$jx`8~t;o4kHuRbg^Y-h_|(&(bK@HbZ9$j zw!_oa-2rXYW^iY7TSu4D)ZNOvHMU&GqMuais#erpt-x4Bllr?AI+`pD*4$)k^tN>SSgnrk^tIir5D$z^Yj( zGU(Mhx``w-peixQC}IF%pU}~0X-fUtZg#y666(CSdKA$yu>FQ{uCuMF>*jj2J?aQO z$Z$&HHJ(=ViVYYz*i#1D`gJ|k%j+_2?|=b?p1HHLtwBMaDqU^VNnot;_}KI;H1OL< za?n8HLzm2+X6&30jnMvRV9+o^|DEkm+7Mmefu`7invtWkyl$t_M2^fxP~93i9CKh# zJ;qTn3iInVoj2FF%Q2S&xD~mWf;sxb!+y-goH_Vy5x>-rx-@{JZ#a%0ahbg+gVG@R z4nFPBE=w{5CNO4In07%rBFgNp97TzXU(*zYE$EL&0(=UW^YMEy1I=~ZhvOn!o(J=} zFW@wvE#}YkY+t+|S2kPTW)$DUUN8j;8!J>4-bj32jBpBbJnQ@#(dFjQ3w=N~QVY_M z&uPdhAV1hl5wM+WyTZ97FUR>|XVC)8Udvcs-Y0O0)f1N3a-4a2*XCW9XIp|9_hMue zU3iz&A=J5rAoK#h;QS1nv4sv3kFy-OQhcd&P6nP!vKB36SLQR8XR~>i&~^T$uxW8k zM$q;7tAH-JlzEpd!|yGH5|is)a(%uX%0JlNvj}_#lI-m7akSaqDp-u84Gjz}jM)O$ zE|Yg}xRqOmAN#{`Jc-ZT6yjvo`$E8R`?m})Ui60smW5W-)t-@uv6$Ky8m=59y~Ket z+>{RVhOeSmZ(_K_@2%n%l5RM)A79_IDE#FLs^oXV_|*s@cn5D@4%qN0zZx;l+8X4w zjk#D3Wymbs&43kA<`50XthMFXZc*?LHkX;#wB7c(EuS4WdIEOP3ZKV_v2;tEF zbKpKgmzhmlC4~S$&T65yq6yLDavF4UvuqDa7(EZmvF*bV{i0#hBIW{2Mr`W67cB7ggq!3`zH3InqTC~EZYIVDiAyoG0k_uMfThTy!Kv%U_Tq*$z$QW z;58n#6=VoTwU=YN%!uaamA41*o2=0-!!Wx^7@*nWxP zCXI$E9=ao7?57zBQ60m64P4MO>P?;nK9b!BG{g6eg~G47dVuwy z*(+)6_{CNk?NjdL?`}}e=17R2zu_SuWN!pq?jkK>T6}~qiqCIBL)7|qHu0giLqyI) zMb=h{Rf)=ae2vsDxIH!s56m%alBR($bJEDwmtFvoi1RFRd;IcAhOHN9Whhthr&1G0|ybK?Tl5 zZfM+kso66GP{tnqHiB-@+1Nu?oM~**?U}`9Ia0?n_TUXkzMNVhWAyy&nMIde{i_O+ z&lI2S8G8aFaiu@#SMkPWOpnoDp^ij-VGb}`eaV&3^g4Y763w%GtxhRV&lE%5W~*Od z=XvOc9fZxX)!}G1N~`z#fyvan(mzsNrTYXFqZ`pGOq+PmZx%sl1{TC2sAg!;;>4P7 z0z%r&Er7Vr#?u%d*M5zQ z#!5bSD8lQq`V8bekW=G!cl5w8R9+FCaH=-1gCrBG08%&T-0y1T)uWf+1O*B)0xXw4$>9+ydn}Jy4 zQv&?ukfCp96CXF&M0{Mj0K*y8>0{6!>hv_O%yHCW_|L$I7!va{;LtbC=5~DiPSrVE z49~{qjgTR1HmTtXHGBRRiiAD-g8@!}!+UK{U&bCygSn(tOKGE)mt&)~Ce1M<9DNf^ z8@)B1W5d_jvuvj%4Q??&Q-Y(lapcG*M{Og=h7ZoOHjD3>F(uQQGV`B|UremyS$6da zNT>VV91XIv9443`H9LSeL23`eZVAywb1f6jO8eUu?R6IIl&@y(uf0dwPg=BBShUl; z)vW!6_elFMEZU1L+D9zf@3d&|nOEdbS+rMKwBKjZ{xggAjq}oe)S|uAqJ7k&{fidu zgY(kgMZ0Rz{%MQ$k$GuPS+vu)<)$2~8MA2rzD4`!ytLP#qcZ7QIbzZNf<=2o zw^_FLv3Y5)vS<%mv_EUn-fz*qb6(mV7VU0}cA8I_;#2#MCGu1A(q3xO-eb}JxJ5fX zHInwo$UihM?R6IIszv)@i}q2A_FePRzRIGV?o&*0u6fC#{cel)$L6KI*rL7NqWzl| z?Uz}!@12+S3XAqZi}r&S?HerG_svUtzC}Ad*E2_ck41ZtMf?7FX?Iz)Z?I_JXVLx% zi}q*drM<|a-DlDMm__@A7VU@UrJWY_G{t#kqec5Ji}nQ;?Z23pc3NuHtbL1{TCMP_gS>3=B53#E{CsHU$&BdpD;zEX3C=dH_%|E3@q4BH@oC0BebCAj+4LA+{$UvqR_(hH~N1-X*7S^S!f zMm`tq1FyJ0%@Tr3c_+2J80Xv`8=b)=!zO8JMgWtZ%FHy_EPY>yx|qv%?OyMF^sD9- z&E{F25lO#Rj%ksfo9609EjMg*M{M3Kew|g;?bGu|MwL?66z3XxZexPfR#4X@AV3{baVT8ecY~_J~EhYhK#FY0-WvTUSkcHl+4d zi}vz)X+LPup07(5nNTxm(SEz7-mB)NeZNJ!)1saF4RhA@ShUy8OZ&qX?Z>ip)wr`E zwGZnS%B*wGOZ$@+?G9bCjQmE6_8Tm|H_uD^9*g!9*}7_)vmvzybPJ{L?eo(9xJCQh z*}7_avLUs_7TQ^{J;%QMU3}NZ!S~Ux zny_Z!+++93BCQ7Jrn&lAEjMg<0W@pVe7`Q^dq97O3adhCKhG3GhCa_EA*FzbXt?n7 zJ4-As-`9v`zYR4@G|0m0jLnz_+CBsb09o7h0PW0VFQ!I(wyhIserb@in};8Rbkn%A z(xug)HeapT2GJ&(TKZK;Koq&u!U(?y!SDFo3?HP5u~LI5fYAE5w1%Ugxr=C|E&;h8 z5ZdTUKpp{PO8SnshQuNZ{9lFXzkAZmLK{y(BNtB)&%QM6PfN+V_BR00p5Y5!xd`n> zlNaX#qKy}V=1M@E+#XGG6Cm1LLeSg>2yIU60uly98}$TaJIMi_?i2*%ZvfHez2vD_ zYC=58(R4iun$zH*$P2D#01=~uM)NB`=s&%Y!-D1yfYfB-OmAL=l>q-0ir&eAuGa3B zHF%wF3|G26{1gy9VkLwuGD4~Wp*t9z>pD7RE(2FLATYoHxr5V)H-dzP2@B+NCWx^4 zPTt;y&7|e4plQz3g(8;GU}L5l{0?ZeC-y?ubAXg*xJb?~0VzX?LW>yDWFkg1X+XrR zTZ{7&RD$+=Oh~?rss)=arwR~r&eKxfdJL6tD1z@V=?2=swFxwXCNH)EqRp0tuFn7> z=HZ$>j{<_q;qO_YPP^J}#OIc5he`5xOf*2TrvcHP>Vr$cN{{$vf;PS0e+rtgDH^{5 zM5j^Y@+RWxlV;B;(A1f@?5H}*7Gf4&ECob+$|oRYRK3hCwJV|i5xU-qU61Mt(6~*K zuO}{3W_AN|UxrJO%dUv0G@6Be&}g$Ap?wGtbA2TNDb46o@Kw%0K;*M-&m*9r8r0kS z*8wRqjl@y^Bi5%8Ptjdc`-Pw>2VR%+5i=LXXERAL z($s-Qw^b{mLw~3$sO?&i$fH#v=8+gdc@XBU3zBT3P@k3c1Y_WAgT$nnYbWC z=b8ZIZ2>;)$>tbn+@`+n zZa|KLOSgG9Anh3%MJ|lBKO;wxi(&1}K)}wP02k$|USH1wV(y<`14O%<5K*Nn*50)i zkPlI%W7G4e43J%b=#rNMVr~~}06Chm2R8F%y{0k{lIR1?F_gNew*#^<6GLTKj9*i* zQs^25zA`w7i7YJ^QP~&ljSryH^hX9T50ICkNdK^Q?(gl51~+S0G+p2?|Ix}B)YEsW zeym(N0@y$#j{1?yt|?+2wy3*?@fQV+lsAVWEqE)@0MhNjD0D+Z=Hp0Q;T1+DDi?j0 zHcMz3ozE^f?dK{v5VGZWR_HQYoiZD8#Pe0|$VpKUYxB)HK_ zYe6vj*1XHpf)739IascbS4Fu_pN?6giHKO2^J*5wyfw`-f8$nqARh1w$3_FR0 z@W!{0@og;@e8YFB;#FKiM}s3+WJC$lTGn*US8b!Y!*FzKB^H-eE2{t=3DRe1id;t) zOnl*2;@IMkajBIns;g@1NJ8JRLa(X&!`#Z48N|O|W1K@Qw%12^{#_m3LnH;trr=h= zsjJrs0+6Q>U?v$OZ(ww7jZT6^YcnJ!;Q?W(l_LsoHwUduN|&#b#_3*vU=uUG3w#w{ zkvE{F=-kPhmE~G4Q^L{OAqvaNG=<_LZrUrcd^gYYO7YEK?aGxaRx-uBjG()^mfY#+ zZpCs7_@ukj)7{vHPxSF2j`q2)qJ)O9j$md1KvWR^g*L`lNGAi#9|ucntCq?wLI0*o zv=z&W=m5^%W`th31R;oEg_z<F-F+~t}7_>wU zR!+wn&oQiO8RMa+rESn(lJ$X23N2?H;&pO+d}zcc`aLrVy+I#Es#3iT`EMVNDzSKP zY%5mf9#Z7W%c4&4o-y6>8fuwCLbE``q)y4M4VgB^H7K>@(}T|&E^p0YHP(lvEiu!L z1~T#F->j2l)B2lwWom0nDhhr`G@3SdLd#}@d8P>6V9-Beh@5H7Og+yGYkj)WNx`Bl z2>MBi*oe^x36b#;@sQJ7DVg7X^X>~ZF&r~h0nbDEJ*T3;%syk@X&Iuemq`Ns13|t} z6R$ze&L=J6%~R@>v)<8w|DPn29=^Z8cZ!u4qwN^+=)BEh2m2m!^5v)HW`*AZ^mtF;!+; z!Pd|o#ElVZ+?d_QMlWKd8Z1)0lsIc>fiLi7dIRbqcn--MDS0JtJ7??1H3o67D(TH@ z(xQ%J0Q4M{lSE0Ml|iQdAr>Fjx(D7Nuao~60bTODcD&{}OvX%Fdsb>a)5swzR_ONhkQ(|^$>dP z7>z)T(0f>oPvZZEC@TG@3~18wT=pT^VK_rG5=#&NKRL|` AK>z>% literal 0 HcmV?d00001 diff --git a/pmachine.exe b/pmachine.exe new file mode 100644 index 0000000000000000000000000000000000000000..04d3f0159abaa338ce9ba41683ef6fe770456eeb GIT binary patch literal 31783 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 literal 0 HcmV?d00001 diff --git a/stacktrace.txt b/stacktrace.txt new file mode 100644 index 0000000..79fa1d9 --- /dev/null +++ b/stacktrace.txt @@ -0,0 +1,20 @@ +Line OP L M + 0 inc 0 6 + 1 lit 0 3 + 2 sto 0 5 + 3 lod 0 5 + 4 lit 0 56 + 5 opr 0 2 + 6 sto 0 5 + 7 sio 0 2 + pc bp sp stack +Initial values 0 1 0 + 0 inc 0 6 1 1 6 0 0 0 0 0 0 + 1 lit 0 3 2 1 7 0 0 0 0 0 0 3 + 2 sto 0 5 3 1 6 0 0 0 0 0 3 + 3 lod 0 5 4 1 7 0 0 0 0 0 3 3 + 4 lit 0 56 5 1 8 0 0 0 0 0 3 | 3 56 + 5 opr 0 2 6 1 7 0 0 0 0 0 3 59 + 6 sto 0 5 7 1 6 0 0 0 0 0 59 + 7 sio 0 2 8 1 6 0 0 0 0 0 59 + \ No newline at end of file