From 30e983e6568d8401c3135ba535611345e855e900 Mon Sep 17 00:00:00 2001 From: Mitchell Plamann Date: Mon, 6 Apr 2015 01:21:41 -0400 Subject: [PATCH] Added tests for array/struct impl, but they in general require printing to screen --- test/arrays.c0 | 12 +++++++++ test/arrays.c0.bc0 | 52 +++++++++++++++++++++++++++++++++++++++ test/arrays.c0.bc0out | 1 + test/arrays.c0.c0out | 0 test/arrays.c0.ex | Bin 0 -> 14303 bytes test/structs.c0 | 18 ++++++++++++++ test/structs.c0.bc0 | 54 +++++++++++++++++++++++++++++++++++++++++ test/structs.c0.bc0out | 1 + test/structs.c0.c0out | 1 + test/structs.c0.ex | Bin 0 -> 14379 bytes test/tests.js | 11 +++++++++ 11 files changed, 150 insertions(+) create mode 100644 test/arrays.c0 create mode 100644 test/arrays.c0.bc0 create mode 100644 test/arrays.c0.bc0out create mode 100644 test/arrays.c0.c0out create mode 100755 test/arrays.c0.ex create mode 100644 test/structs.c0 create mode 100644 test/structs.c0.bc0 create mode 100644 test/structs.c0.bc0out create mode 100644 test/structs.c0.c0out create mode 100755 test/structs.c0.ex diff --git a/test/arrays.c0 b/test/arrays.c0 new file mode 100644 index 0000000..116e811 --- /dev/null +++ b/test/arrays.c0 @@ -0,0 +1,12 @@ +#use + +int main() { + int[] A = alloc_array(int, -2); + A[3] = 0; + A[3] = 1; + A[3] = 2; + A[3] = 3; + + printint(A[3]); + return 0; +} diff --git a/test/arrays.c0.bc0 b/test/arrays.c0.bc0 new file mode 100644 index 0000000..380b6e0 --- /dev/null +++ b/test/arrays.c0.bc0 @@ -0,0 +1,52 @@ +C0 C0 FF EE # magic number +00 09 # version 4, arch = 1 (64 bits) + +00 00 # int pool count +# int pool + +00 00 # string pool total size +# string pool + +00 01 # function count +# function_pool + +#
+00 00 # number of arguments = 0 +00 01 # number of local variables = 1 +00 33 # code length = 51 bytes +10 FE # bipush -2 # -2 +BC 04 # newarray 4 # alloc_array(int, -(2)) +36 00 # vstore 0 # A = alloc_array(int, -(2)); +15 00 # vload 0 # A +10 03 # bipush 3 # 3 +63 # aadds # &A[3] +10 00 # bipush 0 # 0 +4E # imstore # A[3] = 0; +15 00 # vload 0 # A +10 03 # bipush 3 # 3 +63 # aadds # &A[3] +10 01 # bipush 1 # 1 +4E # imstore # A[3] = 1; +15 00 # vload 0 # A +10 03 # bipush 3 # 3 +63 # aadds # &A[3] +10 02 # bipush 2 # 2 +4E # imstore # A[3] = 2; +15 00 # vload 0 # A +10 03 # bipush 3 # 3 +63 # aadds # &A[3] +10 03 # bipush 3 # 3 +4E # imstore # A[3] = 3; +15 00 # vload 0 # A +10 03 # bipush 3 # 3 +63 # aadds # &A[3] +2E # imload # A[3] +B7 00 00 # invokenative 0 # printint(A[3]) +57 # pop # (ignore result) +10 00 # bipush 0 # 0 +B0 # return # + +00 01 # native count +# native pool +00 01 00 09 # printint + diff --git a/test/arrays.c0.bc0out b/test/arrays.c0.bc0out new file mode 100644 index 0000000..64bb6b7 --- /dev/null +++ b/test/arrays.c0.bc0out @@ -0,0 +1 @@ +30 diff --git a/test/arrays.c0.c0out b/test/arrays.c0.c0out new file mode 100644 index 0000000..e69de29 diff --git a/test/arrays.c0.ex b/test/arrays.c0.ex new file mode 100755 index 0000000000000000000000000000000000000000..dcc69968e860d64ee75bc072a264955e0a875ccd GIT binary patch literal 14303 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 Od* + +struct test { + int a; + string b; + int c; +}; + +int main() { + struct test* t = alloc(struct test); + t->a = 1; + t->b = "potato chip"; + t->c = 23; + print(t->b); + printint(t->a); + printint(t->c); + return 0; +} diff --git a/test/structs.c0.bc0 b/test/structs.c0.bc0 new file mode 100644 index 0000000..1a94959 --- /dev/null +++ b/test/structs.c0.bc0 @@ -0,0 +1,54 @@ +C0 C0 FF EE # magic number +00 09 # version 4, arch = 1 (64 bits) + +00 00 # int pool count +# int pool + +00 0C # string pool total size +# string pool +70 6F 74 61 74 6F 20 63 68 69 70 00 # "potato chip" + +00 01 # function count +# function_pool + +#
+00 00 # number of arguments = 0 +00 01 # number of local variables = 1 +00 38 # code length = 56 bytes +BB 18 # new 24 # alloc(struct test) +36 00 # vstore 0 # t = alloc(struct test); +15 00 # vload 0 # t +62 00 # aaddf 0 # &t->a +10 01 # bipush 1 # 1 +4E # imstore # t->a = 1; +15 00 # vload 0 # t +62 08 # aaddf 8 # &t->b +14 00 00 # aldc 0 # s[0] = "potato chip" +4F # amstore # t->b = "potato chip"; +15 00 # vload 0 # t +62 10 # aaddf 16 # &t->c +10 17 # bipush 23 # 23 +4E # imstore # t->c = 23; +15 00 # vload 0 # t +62 08 # aaddf 8 # &t->b +2F # amload # t->b +B7 00 00 # invokenative 0 # print(t->b) +57 # pop # (ignore result) +15 00 # vload 0 # t +62 00 # aaddf 0 # &t->a +2E # imload # t->a +B7 00 01 # invokenative 1 # printint(t->a) +57 # pop # (ignore result) +15 00 # vload 0 # t +62 10 # aaddf 16 # &t->c +2E # imload # t->c +B7 00 01 # invokenative 1 # printint(t->c) +57 # pop # (ignore result) +10 00 # bipush 0 # 0 +B0 # return # + +00 02 # native count +# native pool +00 01 00 06 # print +00 01 00 09 # printint + diff --git a/test/structs.c0.bc0out b/test/structs.c0.bc0out new file mode 100644 index 0000000..62b3dfa --- /dev/null +++ b/test/structs.c0.bc0out @@ -0,0 +1 @@ +potato chip1230 diff --git a/test/structs.c0.c0out b/test/structs.c0.c0out new file mode 100644 index 0000000..62b3dfa --- /dev/null +++ b/test/structs.c0.c0out @@ -0,0 +1 @@ +potato chip1230 diff --git a/test/structs.c0.ex b/test/structs.c0.ex new file mode 100755 index 0000000000000000000000000000000000000000..617b6997c1dae14b74aa848ae8e85f91e0870b8e GIT binary patch literal 14379 zcmcgz3vg7|c|Lbnk1GVy3h@w+z+wxG9cv{pD8de5c?edvz=TJNQYTHWw0CazSe7u!Bi<*-jaLOFr0znr-7Hy+wFz4U z#Z6+lr~p!qD<~zTDre}Jc5SGw^}L{E%zHH8395{yOBE*!H4&1syy+CwSw+v+Db`RS z{1TuYV;$4-vAQma8~T`zd;Y?dXsDseU7nvbgHfa8F%F|i$3Cypz&!)#o$a4}UWBJZrvLKk0{{c`|*Xtd4i$`ic`&eYj0 zI9>v0z5H%Po#%KihJPD)G5?R3z*{6fM;xdPA~&60LAIEmN~<{D3Vr{yc`mo71pXv& zUy=5C8hEjCV1h0rNTuN`DS8hl2hs@IVKlntgW-X=aH1?3g6>pGm+wU5J)$|> zn`#cndy>(^&5=YVnTj^AS>L>7?OM)ccb1mwYKa}49b2|KYXfTo>)8v|^b1IHYKB4g zB6%QJ8Xn}ynHh)pWpH|$7MaBZm}WfU_mrV{s=f=Nz6(`uU@8_q=Vpa9>Ut?c>7T z?}Y{z&i8{!eizPng-NSj_(B7MwzzPjusrAp# z@{6gJU&p<6c@R1B{WO~#pF&!Bjy!vD@`~iYOrBjbIVSlpl4n;;o{{|L$g_(lPfPw! z$+LSWPfGri}&M5Q^Lj`2TOSH#e-s*d_4@989hb(A)&xc9(uI?fTv|LQC?5lQ5jr-O_Do%oO?J|q&fbd#-ydq?I1Y{6s0n3XJM1}l@hr-dMsFT` zj-sjY+T}-yoh4`VFWm4#Ka_nwbm6C)Le`bgw{B!$e2$8tW8Y4{c`%fHLD~OE+aKNd z1%x9q&VE?#edcN%iv7s7DyOA*~lr7IdIyLVb zQh&6(kGdPKCVw=s9yNZUd>43&b^P6f7j=1|k&TxtP+)plu1fRvKR3?uvad~DIXL-l zSk^8VlQ)B+VHg%72|mYxyP2fZH3UYdAI;S=B|$p0ApB{`cI zjhCr0GG@bS9N0Lu#)w@KF}&i9+Lx4?4{BF|U8UM*rL%=>LtWg*s5Kg-vn#-^Q0pra zQ{nU>KPs~AFO9ap1W~_B)Jaj$mu?%o4>tEk&vYC;nK9 z(#t}l<=?~@3uP~yTZOWoWy3r-j9#8#JkLGJ+^fHm4LPCQ949yO@Px>$Qou1(J=^~3 zX#1;pVE!5g3JyST@+90L#))%Z2L9|7+*s*Nzm*QszfiGW6`Sow}DLbLrHmR zlm)yz+WvB00pENZUPjUFC)!^&UcRNga0+BWjVuWL{;cq+lA}4N4#Jb}@yxa1nZxt* z#>HNyK<)C6!k!*tjaNIfJ&og`6HQCJe$jbip){-z`QR_MZSydBwBCcKRB*z4(~YrfC&&>m2QAZ0JPJ-#MCYT-`bPP-6?DV{A-n+8LXkZ$>?SPJC18d3v6?W@DZl z#r$()D)S3HnW(vRVw3DPymi!f#!w<1PAB}4{(&LU&M%`o{qaQFANHpYCvHjkBZM%qiLEWpp7y=_JNG%;J38CN${s+8Ospqan zU-?mNp{7#Id6OS!GnK3*-n;m}CSOQ?RA&fuHbyB2*#|+-fbyBX0{SZGbk`Is`hz5r<^n`PPGbgf;B5mdviSPeR83k9a+WZoEdt%{9K`o~?5#JU@np zlD!vj8nNuklXv9g_XGbNz^s26<#^8cabXhemjb_mw#yQH{~wkguW)LDBbASP zKH)u4<~dMN>DKZ(LkT*DsVk)G+uizYhS@Y)GZjCnJ2L_Y*|7DJ1bN_$x>1PUh zg1Aqw(Ht#TJU@V#Zg_$ux&O@{*8XK%183QMb~QgJNM zbd{#9nr_$h1Df_~dPvjbntn>tztZ$?HGM(T?`m3D{*J9%@AR+6D$%X}b%Aw(_xRVg ztXbP~$C^9*tM^2E{Go7K;Z5sq6?wXCfi>cGcvBs!x+PexDs!!{6wNFB_o6S9{_V4s z{`<|SD6ngTrW&BOH3FIS5^kKSiWTIsE8hi?x2&B1Dtqj5e#?X4E}Be21${S%N%{>Nnb*5NKH$C$7C9o+587nq+*+$Zd{h{~EzrZ5caiCZD7 zYNqxAW<96+tA0psq2ju#?jqOFEM*6(c92`LUUIvu_L5tsWT7gD+zOWOITfsWfZWY2 z)O+guBUOA|SSuBK_7O45?g22%CNRsUjTl42m5EOvr`zsJs5#rNu+ceNc|Ob#UgpH= z)y-(xD`4RDR1T1oRo+CIRdKTf%e$aordryoTl#fMP7Ki7zcc#@X5o$hS)-Y4HZUBp z13X+^EnD+>Ae9ZsUM;V+0-*M1sOz)3ArSWcK+5M^k27z7jgkeD@!3t7RmvAirorAu zwFb%f?T=G!kz`ie-=So&WLoSeDOnV?xT`i#9FRb}&cnyQsFt z+6U%Q`%X&MT1k)*`%T)kT91Nx%)W=rCX2KENt;l4$T|V$Gj^6thh$FMC&}C`nWyYe zletGSXY4;C(`hxq=B#}S3*9AS8?*OPvfJVU`qxEOoT9JJY6jO(evXx_euxUsFe|F( zGJl@cwX5eaKh_P{Co1gq;3{l(Q)1?<|=M?-QDEsIb=MiLUViZoYDl3 zAl9{HsqJwFJ1-cULT;TNUn{<>d-TJK`Zc}{iJeUGJT?m*q!l2g8Q zsmpY!qW+&KT=kMJgAWyx^~6_EhO%6xqf+s%QkGp}{$H}lKsU6@<^*XZ*V{?0C+7Du z^tBY$&Jg-qS!OGRTp3`JUooK86OUmks5_QZ-~>{~_qWwbiTBi*M;6F7y<5d`VBz0r z7b~PAAr3-q?y#_S)4%7`KGE=s);Os(*wlMfr9#x)uQa!D6wvFUagDS9@!g)YMsXD}4)5dZVbWejgwNuCsWTlr0e6 znmeoSs_wvARe3E`P%!$srn;J_1+;QbPNfY}J78^EWNhd>*zl<>i>O$&E~n_hSH&!P zquZjZh%pUW4JtWv&^!7RWnCeNbCaqm0l_yh(}_X zo~XbYbutr4rvj0dKm=A;_tvY(fquF`GkeUd+dI!1dF7*T*f-f5?G{`s?2XUZ^-tO> zp1jY4bz^HK^gV*#9si3!u%a!RGpS@Vmgd7TE^s&ZMIt$hy*j6LT~j9hKs<3ct~c=d z;+f`k0en?8n`%f8nrZGHNT-xfBNmZJ3s>AxMZ}0@`JQMm>W3#RePk$_LKgD{U~EzJ z<4b@m{U*x>Fq5md-a@teGS8g8XRZAu`^9HYuX*E*XHK`=b07cSIOVN=T6oGVOxqRq zllDJt9?fIwg^Hid7u#wT{mp6WXIoNZ+CIIf~Xeuovo{6Uh z`r`Pg)C$-tNe>P=YpAC4YhC#}T={jb{CZcu)s=q__d5Ms@wtjd^fwKrGx6xgzGys} z9EgAoCnNnE)h?;Osn6epmf0BDu)*Jios96%Av$upl4iDX(fU25RLC_*7&Pcx=)vhR?l5osn@ z4;;SFoZeWt4~6M6y2IGYL9xjPqDh4&qv0M|LhnE<8V?Uf1&~egOmQS} z-^a-0K9Pg*{Qz4l8XiP-GD#|^Asv23zlmjx$ckjhY=RyQBgpTRWrIO zausGKo=HV}Fesob!(@e2L*%^4!4!`UbI)ri+=J0X0vnP$6v6Nzw_ZRQr4GA0Z{}uH z^Ynwof>l7=!gAO#t?SVCGDnKKV9$$Pk!u;Lui85tc_1_7sJh5*Kv;tb%uu-sDcPYk zcK}VdtIap6$j;a1?3{$E0C(9SW#c0T5l9^wgagoYQqg{sLw%#kArZiGRWz`9OGi^W z+$RG4;Z(l}^c;!9P*F5%025H)5C+9SBA&-MkR_wBFb#BWD3%rhxz89#v*iPFb2E@k z$gRIXwBPAXVjwyFJ+L*L2t?8ejJZIMA|H-G2%q7>fd~przzuEz>09~14kC;agIrpJ zYP37khmjtR_hCO(vjg$ogvp1yyOYsFhQqOlsL7)_IP3pkq$O~|R|uwAl{`UB6{F*v0v&5g2UR82KnRtz!q5Ox5YdnTG>pX32R3yK=t2T1SuVKOO0s1!fW?kukwr|mj zru@SC4;I*)b*jg-y;;|yJ=?j^{xC4crK_7;m%FMJO*=zHCKHF@Igs7<*Y&xC>)M|G z;k%Qu_i6B9P`CYfRZvRCtCYg9?nlM(U%dP@0@iJB&aoV*ReJdN%}b_y17?w-y=njc z+MpEmYx}>G-1N<~pFvI`PwyfpUDfQ(^f$2jjLM*7n2NejA0ZR9OBOAfpPO z0VeJ+C@RT}_A0bL12wljcQ~1@@NgAUVS5+avwht5yqZ2 z+?cMv83xAQ#PyAW^38dPr|^N#Wb_p`%^Un5A#lfU)`ib#`^Su-rpC_De<`px=e^qI zDFYLyabxTZ&t*VjrvBXKW(sNh)smaO725wBM2x>>T1DoJ{l)@ZH>b3r=qI=g=2ktX z%kOf7MReaPg3;tPZJ(Q12qG1h7y zD{Q}0%T%dHOvmUTjJ=^8<^?KJbJk7D;1;7;V6RzOcQf}GjP&fg6*r+fd_> zd70B>vGPx^Q}&|;!h&#=Qi;2l(RqS1q+ZOH<~zYH^dgd=C+LP`-itS!d9S;LUVJ&2 z_jNvAApBOSuaC8qBFQUH@Xi!?=!xAk>&HL2IZ7Y&@8D_>R=qN-i=9yx6(+Uuyqm8FiPo@!{xa*!*EC)YoPLH1 z;^&@8vG!~%f!_wa*g5$3mC)Z)0_SE@v3d=b&_62i*)w*Rj!C@8`yC74G1swp5lN;~ z=?qScVS&=wy6@gSPG`s7eLOAiY|G>B-kK9lpOnW+v4fLNajg89Bl0c?r`;1yUo6ob zjyZC5$q8qMg*um&j`jpv?`UZe6gUGt!{pWqwLsOA85}%f;%VQtO@_05&*q)&j^P-N z$xoLem$GCjSX-LjYjCX`?&!RC%jQn!-tF7>w(oQHZQjz^&bo5d42xLF@Da7#>jvcS z2ZXcjzFnJlc5D@{6a4bve{V48J_N6i-bYdy{o4X%ZWd_Op?$6m%O425gP$ny2LSm+ zz&ig|1#+EF{zf2QamLR8^2H`5wKOUhVdWa;|MX)BtbSteBJOYn7|WedH65S-tBF!S zbdXEpxnEA0gk^>lxx5)Rko`RfZc3QbRAvn1lMY2_-XT49gqpFrf-&HY0MQ%|)x u4lDhO2&^5e#q@kr^>Yrju%0hbzplu~)Q>XqG5uo;S3jBGb*PeM^#2XsF@_HS literal 0 HcmV?d00001 diff --git a/test/tests.js b/test/tests.js index 6229ddb..0e2116b 100644 --- a/test/tests.js +++ b/test/tests.js @@ -37,3 +37,14 @@ exports.testIF = doTest("testif.c0.bc0", 32); exports.testDSQUARED = doTest("dsquared.c0.bc0", 17068); +exports.testArrays = function(test) { + var result = c0vm.execute(parser.parse("arrays.c0.bc0"), callbacks, false); + test.ok(false, "test.bc0 - Did not print to screen correctly"); + test.done(); +} + +exports.testStructs = function(test) { + var result = c0vm.execute(parser.parse("structs.c0.bc0"), callbacks, false); + test.ok(false, "test.bc0 - Did not print to screen correctly"); + test.done(); +}