From f023d7a0550d359fcf93f513e5c0dffcf959cb0e Mon Sep 17 00:00:00 2001 From: ferhatgec Date: Sun, 9 Aug 2020 12:38:04 +0300 Subject: [PATCH] Added Installscr, and more. --- fla | Bin 243432 -> 243520 bytes flascript/Interpreter/Import.cpp | 67 ++++++++++++++++++++----------- init/install.fls | 4 ++ install.scr | 3 ++ install.sh | 6 +++ test.fls | 3 +- 6 files changed, 58 insertions(+), 25 deletions(-) create mode 100644 init/install.fls create mode 100644 install.scr create mode 100644 install.sh diff --git a/fla b/fla index 1e186cb5e481469e73e60af4102b7b84134ab3da..9ed5c1775797aa98993c611839aa3dd5b8f0052e 100755 GIT binary patch delta 42109 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 c8H}Bg-YNp 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 M5G|a3a2vBa02QpUF#rGn delta 40117 zcmZ`?2V7Lg^S}3wld7PgRH=3>V2NEpqhc3Zj3t(+vG?A9A0!L=n~S42dLhYhST zF&azkMnz*3yG9c=3itoc?!GJh^1sg~Z{AMZnc3NS`{oXF^hK$H=cQIuQFrcHS#7)1 zkcxU8eTGzAc{4ZY!eNz6x>ubyt*GnU_Kb ztIE#A`ZcHEnpV@V#LgDFyv;ikFVyq};+X|esum%t)iQH*sO9Sb=BUM|3;YwqYkAn8 zmZD2)`8rBM{y&M4wcSH+3Q7xI4%t$0_^rwGctnxO6cyhpKWhF_uiX2Rf3x6!Xv;r` z_^VsRNnBgo9IcCQ zc(jUnzvnf~?Dk*YCvyJc-j5~zvex|YKDfm~dUtK%WeanuY;W~p~_wj21T{8nZ)g^)M(LoqYiS7m~GtYGWnvAX4y%2-yJ@{Zn z&o@9V_~I1Ey0X_}TxWhs(P+`TDz2k?lNVL`(0$iFbYH43-8bl)>L*R^HcO|A zN{CxQ>zI&`4sh`Lu2uaqz?IpLcyIU1$2IpWipt%u;&C0>A92cD+kZan%q;))aI)~* z!7a(^U%q*vq+}i(_7|DEXT(lidyXV6u_L$PT4_``uDwPPX5Oe2B_*-OXu|X#O_;@_ zQ*f<2hA>0N5N5>~;%PjVFr&v3hK)S~%%E|k*?Bx+>Wv3x)r6fu@0w5**WV_Pqsu4y z;68<4Pfa`t6PHXfC_t^4ycXnYQ%tM9A8Wv+dI>zZ{j%I-w3_4UBpY5hrc*uhMX4b^EWBEKh3o_tSsdHg_=9{hoV z`s@e7l-o#QKDLoCZ#EL9d@?P?PsxP&H<>UMHWAPHO@vW46DD*sEyX{ZN%O`ng!y^P z8O;CP)|m zeM+0%qF~KyYk7R|vjjapCV`kY0~c}L_^OTN@gdF|^QH9XZRv>{vdES{koe`}L-4QM zofv!DFW8pterwC)L$GbwotS&uuY_Pr%)jjmTR&M4{&xt`=#H7A?;T$UX-TQX$U7eP zKTFYdcYGZs;X)fS(f+EWT)*S5>HlocU);&k#8%Rp4Nfl4H@mPepL{xJLA>M$=X++38uy5!tpzdip4mCm=Qhsmx@UIo z+&yxx=luz|{(Rr8?CE_%Px@nmuk?9i3;3L1eaI--ov1t@t|bphxbT4=u0DTG$Mw5E zr{L=R(5$Y;LvEV|G4i3sw&rxSuwN|$zso{7#wnp21x3rU@0%i0JFQO>TcnNiIe$oo zEq{OFm#1KH`Z%~dG4fII1qdQGdH5Ax+-3Y4-0;UME2v$xGs6}qmr5!{WKW&lb!}DshLSnaq>t_{NdRQpuC@V=Glgr zj(Hv}Z!=Fl$H^l#@%amXTwPvXaZD9^@$-hOD=Qv}MK4PO@AeAX62o5|f|}>AZsGpt z*F$j)`)i1kp<}E5w+FNf0gP;CB z;{q|Up+kmLn(9P z2A7Fjs90o9N!k%f8(~E|pPH1%b==FEq)oE2v<85g-I5q3cT?50ElIG5(2BL~Lir4@G-*e&kL6aXI&#jgYm&bz;d zHSth<9i=xl%dl`y#X}>_up+%GO%*1zNJwc3bk-G{N}l{h@v}=4fyog3_84Lojei;O z%e^i5ohAPy&L84q%io3gZQgK$(^!|XieIoTUm4=Fd9$sN#+HGvgy3W8WwGRG?5q{) zMOnpPBbO<)JrzL9bJuOiSaOK5UhK4OBlJx2x9!H2; zu_zpIfwkvFg|m&q7S3Nh3NggL(wZMp2=e-$C`1yU%^NPF&>wu7n{&N*6u!4Y<#}16 z@P`+V!YFTL0)lbZ+v2X`!zoLAIHk}>@kTH`eK|7OSDD~1gErAgoFZ)AR=cFJFh6BF zRHpdx^b0Bv(`^$e(jKPUyqO~4{lTZ@;@t8ueGmKI3YABwG`i|WCuh%G#bg3%@q92Z26ZHzifqYemX_9mD70# zD0#5=Mu74f;FmzW@*}`E!AdZ|l3*oJNi*&aR`BphV_6}}3^-k@g3_7C0g+r# zL5b$xc1bhds-RR>0;NH96srBLlIaOm-&ACJS_2RB*xXHNEVz<#1R{Tv>|`A!5ujIH*s_;R zudA$p8mD^1Vys(Fxvl_Pvc6&jI8~nuzO2s$cQ?Q&ja_Mgs+q=SHbf~+V|yAZA>h2& z5XCdiII@xAMib9!iVC=w<#MpP84ZjrnkkMH*bdE=m0-QoT=Apf#|WhrSR*63IfEjV zff${PRO$e{k5ncCjB3GY2`!XH82!{j84J*$B_WMpwp6yM7@ArsQ`)49`sbEk#QQeX zj^TTpGQkhTykK0!t-v@E zu&K|Vr?ap&*nYNrwTaKBF1Jr-W58EJ@Uazbu-DRAsuk*2fqG(va*0xW9i&BHvDa-B z5BoV%LAxl_8F@b@3WZ}Ydl!XjfN9z)Rg{x)yV{r#yus%JWD z+`*#0Uk6Tk*g=`#D??D@2KKJaL3~9zo7j=_ed@?HjO~Q9O=n9xp{VX>Fkgd>b5|AutNEEv8-0-)m^Yyl)T7K_N5i2G*Lo(3yPMx&woSQY|h++r1`&H zVM-UpJ!Gh@z+MutIem{#XRo{b&w`96KAVC&Bc0WXwzw7@ZHepTXcW|RRmSn$AviM?p*^}q6$rDoQQ;tOs%LU{u(Btk)2f#(iww5M`UUv~SQPI@L}Jz}eUB1J2{E z_pykfD1_h|%9&G#qK>AsuHT^G?_;ySQGx(Aexq~(c=3(W3!u#~4w8p)IejCgJ@$$!@!nS8 zRVoB*%BhmU(x)ORGi(%R5T8vIb;)2az*j=>F}G>hZyBumGz+SeK#j0MEd|OE5|k}> z_OQ7#anhCw&RCI>_i$tFTT7b5bY#4|uRa}hU?0n#u1pD(zV(K2R_9dB<(8@c>2g2{ zT(PO7uzT)||8e==F7VkDP`I22KFyMQGq}rzR;YlP9MyQHg{z-HO}9d=2TF^=`4n4M zZ_Ko~S~!!tx^Nas-ahtW7L>3XzpVtV^B2rvBt3$wf$mY{ysL{3bh_6v#r~BVYAl)aKnnWQqV$O#WHCLIeH6% zXw%7X2LmmCHz5#GEYWI_fK6Ggmcho){h!r&y%~Hq)wEs)+Y3I;xQlc7Qarapxz4l1 zw$3~y&xM=98yXoscteAgo3H$e5dAqHg*1a5T!2D~Sl)V z&N8Z-8SMRX<%~0C6qVsvB6A&}RAv9HP1)R&)DT4rBuTw$+%C84Y zChNSOvrJzPIrz9inO;9rB*NY$ z%qFESXj?WZp=G2ED;w|!h)3?U43@u13G$Qp&+2pA!tli(zANeiaBwNS-K;c#Z9O+D z9RRj$=E~1)=E}!!LAN54?cKsd-fJsp8EoEG&@x%2ZQPn(+ql5IZCs$zb|nI|Z?<#f z%I$ts=zki#j(S8VLdaMdkU9tmBNu@Q@FhQZZ6+_H%HFd&EiaGn+iU`Zx>ctGh1(DWc*t1k~K%`sYg5P})(mxG-1?}OZtwTF}n zTHTn2;_&!JDV;8NN(Q@dNC|_Ga+vSapAJJPgZ*`w3#~qaSE5XI@CcS7liBBTh2go% z0gRrCQQ15`I-kdBAM&`|_eZ$}=Z^~HQRNi`o*YxQ0xUm{hkh0-IL_zWdxFn*;{=zR zeUi_&=_H@;#Yryib&Ah$=@cJ*5~KY;@=^YeTyDW>KHvV+0(qLxckw4a-;|$~7Vzl6 z&)7<+N-xlyA#qp~^(m`&w79y$|ZXQ(mnseYY$lW@D2_iS**%k4n}Zb zOuei8r~*6jKB|5edvYI@l60)fVlIE6#N(c-@>eaH@(>SYNor?B3IvH>$kGH&D=eQP zupTxigDk1*ehVRBv=zuD0h<@CLsDR?5C}PAD-cTp@{u48HJ7qj-~&7oZ24LcpL`?; zzS~*sEAVOF#6Cc#Ww8xbsN4s5BnUO^{sTNLv)IT#(E-yef=a8C#riDv;ZKV`--njK zb&e3vaTy)O7O)v!F^~3)O#CYPfX@VgT zwH{dvkAB1hG1>~X{E;OPnU8oNniSyFkj3^ESOhN?a7ypToO13lo;2C)(PNGr_e7bX zrO}qg?4pP2uIjQ^KgD4qi_Lh-)9&@t|24J&jJ0WdA}v>CXBU0Ef=WWR;Y6V z_1FsK{M@oU{Tqs-%T>A7ZLMfQf);wuHk}GTgJCxBVNYaM{Lz3b3w>cLkVgW=J6|8< zgpZ%&MJ=1{dVv?UY_|R-&KKEi+$+?PY*zm@&KKFN_iJqLY~#$=biT-D3;sf3&0?m% zaK0cVx@^|{4bB(h-njb>b-uF2w*9&`Jwrw3>zgp-tmu42XS2WFqVtu_e)=1ouWa_u z-!ujD{0AqEZ1&qfIB8_Fz3*_+$Y$l<EOh0-RLTssJw(m8MNm)wKYh>p60a zUfqU~hn*S@(Ath8$JudYIRi&V8C0@*xIs+>C^V?O5vE=x)Jil(jH4O}a7+Nb6OD|m zoRECLe(9o40l46z`US(rJaxZTwpMvs(oPf$=l!fyN!70eSir}^N~*rfe%8SXHAbM8 zSfNsZa)1QY&Rn*#r0QYcNGf<@MT+I5YOMuHv!QP}*kDtzI!aY71b?(Gzd!NY{1~mb zSKkPEl_K%P=|nWl!optE6Svd1p8n`8!u>~#k}t54litegr<32M+y{k+m!^0 z{~S$odu?g%c5oSWf}?c%wL4R0EAIB6M20Y98O{>nu1@fkEWedOWNbQ8u>{tr^$ai$n zf%lfttRn7Jq>aQs|@2Tb?Fw4Ev*8p?9)yn`qebgTT%KNIp01>{};QNgOeN|Mx z{cMDvIs-BM(@*VOg4P7FZd6{4<_gE{H?AzN;>~J5JK(SS16=o4uK=V4s5Jn74n zFaV_nEP?7RfTSRGD8Q#6b%>UTCrj{mDK;lqEd^3Su=)-lE<}9`LuOP^y%i@J!?jt4ExkW^)j;W1-Q$BG3Ya@Wky!70cx3% zr8ZFgSeL0vDR#Ai>JG#cLiC>jghxZwo$Z~f*emEfH&8v;h8c=0>q^+?gbftfo51>g zdQxa!dr|+~b3_@t|BNY3AmTL>Y`Mf{bM~qx*|tiyo?!EcB{rK%RxgJIHbTaMJMRfR z7jL00h|i{iwa8&#fsZ-Pg9D2ispZ(anYc@Bq{hOx8jVq%AWh}FTrMdarV-XGR z=3Zj6IatBX*G>M%&GE!%Q?lS@t)`lrUpCd;oZXbWS=1CI#K^`s1IHJ!uzh_qj`wTM z@yna5-Yjg6;>h+j=lI$Y>I8oomV18|{_n42d*!g>5hz4P)+AD$;wV{vd%z-RAt*g# zv1EJi!$zBP7b5yP625@jYRSeEpH1~q;7bcs1hKR%x&UmM2Ky9p(YQyd~snP>N)> z#EBw@jr<(dB!~5DrCxU7%gMVq6IZc;KB^b%(OTWYV&fDirnbRO&S8FSun%*LP1{g` z$ziRdP+*MgSd`kCt@##O{oAT-*-P9RC%07tlt7swn|?=Z<*{npO{AYVR_)4RS?y4C za@dmgY7N$W2|UYfulfLSqdn?Q4om8Qx|74kcT|V6{!2l=(^2gYM6*t6HGturP;GM9 zz|QJhCpp!M>xKMl#R*;1LXgHqt7iZjcSW(uF?w}Vhv?bUaK$lZm@|IIvG~YN{DeGe zadt8XNoxos#0_{)$kPRv{wA~I!u}S+6O(y^#Z3;syTGZhxajGEI5E5+hf~BbT@Jqy z!{un5ljfZ<7fCpYk1-*2)Vm%K`?ChI#%s2$;1X9!=)pNIL(H(sig4}ULX+$Mqx0V@ zuHT(7lTH`>!3DT>lD{m5e9jn*|NgbmwBVNOf*a!JE_bDErG#mGm=KpvrhO?*OFYkA zcKug)@qjy(#D@uS`NY{*atvlDJyfIAV$jW`m+qln)Ib7zuBHYy>T^NIMkUHqPG zuKS+PC={G7a2GCcc2MoaP_w5Z9D@5?C#Vn4@}cIJy`a*>xw~Ryy4cSv!q*zE3zkzl zBqRx|;<{MuogkEi5hfvt6A}{o^912r<*Un_An0)-8Mvc2gl(JvV|oicTmgnL?Zub` za;HgSX3iyJCb|4*@cT1Rr#$|MzZ1#rkBEv6g#&3^d>kH%6#Ox2@wI{z&|_X7@;G;x zT!I@IJkEg%2yB!qR*x@W(#C&d$m+OpKw!M_Lt>^2L#E1CN7n$~621X=JTmXIuMheFZ zPCiVCdqtf8NX~zt+~Pza7vRgW=L|VI9-s;rTJ83 zz)CUH?8y)glF3A!D5#oW-wCS7J89;3F)x4vupK3UMAQon6TD zD2Wdf;v(p`aItd5oXJ@%uH@`1IQbB3OPpF*?vV|awf$&{fu%eyYkszl3#q52<{&$n z16~g0c1*>wi*kSn@HCza^QmY!OAIx8z87)eIzjzPP=#MH*aCuV6PK7dA}sa}h(UZ3 zFUzPbd^&FKlb^T&N4aH5oM5vZuU_B|2)gxlj25$T0*r~dBouKC7@rVBo9*~!wlHR< zJzo&rC$5^?8z)y_&Mf{&=u9MNxy_e4i4W0<2bOPNA`Rm6C-DN25Z5J!OK_LG`P5ow z%2`MjiP?n%>lLW+h6jKXpw>m$&Dk+5Jk6<^J^mu(Tqme^1(iIA$=xMW(N%iMN|2XY z1zcgVZ-$T>$4yD%1e=f#JCv4*cih$6=6)eX3cN62ge5TU{TSb8Q5H%dw z+@&(gRmlx=_U2nm%m0zwO(JGwr4`{fM9I1`2@)c}1)!bkA8fiH#+nVUVG=zNtKzTt zps*JGDHgb#glT+;Z&83XZ^7ll$NrKtp9egN4{>lHPHhVgAx^UsF$1^+PXIq|#F2D5 zDkLP3diX@LNC3`eQ<=hE^CcGYrwd$#2b>+I>cmj9CrHGY>jd@wDJ}~~#&XB>g1nd8 za=M^`u$~VS;$nf#{Z1~yF2R}3tx6zM4~ilXu1@-NT&M{o)`SGoc5n?Rai7*sp{=cLSoE)isXT|TDg)l7(BM{@Q!&JNp>Fnm0i&l<!JQgsQIb((j+f97_(*;IwHiTJxoDg?`SheR^6Jj-|kBDRLzH*f@+gZH<8eEEF2_`#+|uIs9ATp zQ%QV`0uOXkgLIPpBM_a@SYVh=5Cdc+jk4orx0ku=SL-Dlgs!&=HPI_N@x|6JM28^s zR4;J+H42J%SmCtSvlE#6aaXgrn>^Uf0&9#Wuf2l|vy#_dL>5TT=&c4*w6bE+-bMz} z6tAdQaSOZ1DSW{C_=Xv+ov8I@4Kd=>PHJD~S-jB>*UqGNomoCm9@I`+vGOx7#M7;C z0g~@5=E34=C)orm7I~bFDcD6OHZV_-EJX)d@$&N{rs!ma(@upW#1s)yEYylcJMy-n z8Lm>L;jz)qXgaVyj>$9QyU3Hn<6KJ|0wwN>6;3-1y@ouT(@B;Lusj}b)+Wv+rwi5- zy0;mvog5ZOg)x**{J;VK##zmxogtQzmA+>A0rC;n%8E5i;=-+P{UxrWG*S*rS+Ue2 zoB`8T%VW()t7T*UIAU=;T?(AH!o^D5AuF8r47~=$kB3ru<1vnqwQ+?NYoNr3S_($Qmc|vt#DeYOeA|NiWzu8>uO;V zRV~tjh|@}24d7tCR@(f<5T&g>ci2^o>0D0!>%>qiZ6TxZorzYoWM_&uD;HlU?qEuo zxhID?vp`3+dQ4<9{Fb2sqIFP*Up3^?FmFKB2wlNj9>G@6Naniv{&?O{ky^0~IewMR)W4 z@!V8WkxVM?aOVYwYSus`p`oUbdPy3}nD3A0?j;RJo5euI2BCtp96hA@an!8h8LiD}xowyuq190u zZzTNu*#)}Eu6aih!h)Iyu!}ZO`QnzGE*O1?U7Ucggbpy%1U1l?`0;N@B!euz?zjgj zzMKcx#TBZ1=mT1aC%A}jD#DD=XZuT9DNybJ|3)D6y{*7s`ypWaOWK2ChU+;b;86`j zs|m7*-{yBSE|Py8=XVcvwH25`0ye*!ahC#pr9iN)Km!u6{q9Bz_)CGBwgUfVL%{Z1 z94U}*6h1e!6*x=+IML!1ETh^&3TzevgIe1P%pn0@@}&TMBOPta)0=pf3Z=-Y(* zv|6I@#eWYDnJ7&Uuz{1+8jU#yFI+rbENQZX@YZSa8O3C>RhmrBVFMD?>T2cvY)Lq{o4EFG$nfbF+kQovOT6ibJv84$4j+Di&t%;G+j zE|v~^GT6PTs(Z6y8L*i2U~)<;o&i5m=w+$k8BiHinE|8rQw9XGSEW^#CTWnQlxfZL z!IB4832&VTL&&$|^w5=4Y|UojtJNy{-kF7ok#+q?d(#ZagRSP&)(XaQNwN9^zvH>Z zs>jHEP(PGjex&*o7-ZvtBe#@42|HyA55`SbOE!TZIZy@Z6SdglKn~%p9cV)_I%ws< z!mL8J$w#TIHo@x#brN;22X^PnrW!p&#}qN&KhbeWXiPq5m<@ zVtW%D5+9GWvVA6Ov9bLoIHc_XnJi|eS}lxYP8WP4)r(ubhpF$)50%QWjsRTdIg{5251C@ub6 zdAbJzw%@;Mn`*BRD1oungJlm1*!=oKd$1%*fnt?pED6~B3`DCWJ)}UfN)k>2^1&jU zre_}oXA(16WV}dwn|GS&t^O;`od){#; z*}Z9OY>es`L)dt?sQFL4qTu1an_EB}~mrWgBBv&yrR_ecq3MhhJ)GKOWOqa=lW)rfsVu#<>g&~K7etH4bSTy;I#}_DnPOSg z1N3|9_K1n5Aq0|I^xBAt`1$oCU(+5hqvGQnFj?+2nbY$T4;aaLcGw!@Kt`a)B-igt z(mWZFi_x5lB8-eS_pH7Zg1c9V5LK*B&8;wn7HZApO*<_(ZL;UUY2hc!h1GZid#~5A zydFwu)1jOL@3CaG)w5?A;bjGnr5q{`8yx($f^;1LDQoESje6>O?l0a45 z00!IBc5{dlWgh0gE?v75TH&Qq>E#W42IU)y*Q^rAY2hc45Bi zCk_x6k(DHJnbb=IFHn%I4-mC>kdOTFJ1K=7+oU#DAEmH+ZPoH>uU)I#sov_59cu`btCZwbo$_L%e;bpB5~_o z_tXl(t#-1t`WGuYH~k5;YMYSv=_+Sgc_V1euSx|`TUbm9a!IvXt6X`JX_MxGc2frq3d62b<4cvi8 z{vBYnwO29YA=D-M5>%^&FOpX;Q3HBI$^4JX({5tf`9|{rPFr?vWJ8E+tEh=5k$U+g z(@N<*;AH$OA!GwXl^Xi}@MLAE;urV@Esi`{%p^uU_H)Ja4d2LOci<$*~WYPXpT^ z770II5`U`Te+j>i=01_k^^=)rf*L4(%OOg)6HP6j+cmko_=g~&;^p^5ic6OdtOuvz zNpG1Ct zTtMy-;*~^P(-412#E%+6eDhJ{+C&kaKG{Dy8a{U;!#DJ7HH z%4KSJS(qYvs`=E5qW;V z!d9RU3D|T9+e(2*DbUGQpgalKvVEZQ|p9DBWwjWk$_E$ zaDo*0Rtik975JJ2Y+8h~r9fLLFxOU~A_>^E2$x6!XCW|XnXSMh1_8WxQ?m1Qpcdg; zTb>idv(&0Vq*~<)-+%)#t<2)>>#0dmy-5LtXgOnf%2*l{Zp12&w>(uglF8OR!aM7z zM_5ByBU*%=N#H*-$#70}0sl2(^5uEd`3@ zLn#ul=@DxA@Rt2&K3qtGfK883%ZL3^pjbYvA_1Eop_UKRq(HHJ=uQGQJwh!X8VP~Y z#qyzClIRf@OM$<>gC4YZC{1{eFdUmjD;GQkR$wNX0$0|E4jbZ2&<||yiYZH9tj{1EG%Z$SbkB)-^AP_^lmCrx;oH2w$$2J;H6@i5}r#68TRTZh~Ul zBTU8~6qPS`74%y72n%6}jp=>4iTw3y(`s%y?-Bk1L9%=%#mA~zI}^LLq{|7rM1NwJFkk9ii`x2=R`>mK0)*kWUQOKv2$eNhti2&;ylgAmz0 zgu-RjB;@5{1x3TUNqGJ{bbzQyICqt35=M|lSujL9OG}jft3;EqSZ=IZ0hKmQLamfc zTO}H1#U3r)Nx-H_sFjjNQlMBVDMtb}O+u}dd|D}HC{{|YFNc6llTa%qxl*9mqh%cl z*fa^XQW7f#ij|VSBw*7e)JjPUDNwAG_>+K5mryGuc0!0%;&@*hlD z!e8%2oA4;tfj%+0DPK3-_`TVf@nnSM1^75=wrLaYBaC&!BH0ST-CIrw>o#E;Op+qz zd7La#=C|#hz-iH^toz?K;rS)Rak}6ezD}0s=R3m7BK{Ml&_bxPX%n789C@2?YCN?G zL&9p)WGIZ5KA~0^cS?$NpU`88=o8L?H1!F2(X>?d=*5_>SfB97ViGB<#EUi|-}n}Z ze-}Z*x=q*+E@@kwhj9&b%4pnPN^Qa>N`mMT9*gH)!b(f1OIS`VT1sugKum-#VY#s+ zX4@nTq3FmTFYLg)vPt+_X2SwO=4rZ!$f8N8k%xe+8OC`AgGU;+E50x>{AHCg%}9l% zD|q)?*%geVP+EFrKQ5uJV1Q@6Z;8EFTQFiVwFNz$-$}D#;$>g(F}Kgs7c}614MRyV zo_i|(`L|PoNAv|XhAxXmU(o4W(HC^1Y2|*j6ZhvyQ5AB?QeYl0R8o+%4&E{% zY1K@@Kvc6wxGUZlbO%n`llA#zmcC#WQe){0PABnVeZe6lZoSRATOqjB6S-1z>8fi* z=cac9UE6i$zTns9Kw=%p%bjoVx%jif6^rg|aUgB87ihB>RH(xE9$L)Tl=nioT$Z z%#mey0qK>?K26;70B#_^Ev4@HLh1`vR^wz_a5*Q7uj$;mn7L4$oDWGY4eDbc(xChT zY73SP0zzB)kq|8275rj8x`O_F7}$!p1?Q8fTy<{aX2@%csKu*jo&~411=~SThJQIC z#@m7c@PxMokBVUMC*cDKBN*wq;&Fz*yjm#Qf(Z+$E$E{x6kWl#q!7W8-L-=<0CISX z55-}jKbh0qs;$$B5XG8pDHcD3R8_J=^pVHJQM0Xzx^PSxDXM!t@MtmTr-v#ur!Z|a`8oIGPW*DWkN6fO zFARBDux&1Do1#{8~$*sHf9bFnO4W@V7U1D<0aY`EOA=s+d=ecN1mbP_?7_k(}p5zxto8_Hm8A^ z>CYX&c?hPX6z>aGOkt*AbO3-n3?#y*nX!k4B7OdfWvP4Au(DW0(ZsxGZepH`r6y*G zvWS&UQ(GzXjeXM8JF0znqk0V*)v0Za*ryKEMs;Y^RN3)oma0gGI>u+&>Iuu}*F)+C zg>^lkno0-_#^(FfW(rF>q=re6y2i7I)O^K3(Cg`F_=CbmQqJgoOns`v(EpCD6_Re;H-)C3aGyM?(9{L+=;%VzB*64B zg{EY{65|R@VfZ^?PrxpKYXDaO28}N?wSw%YXI*9<^WdpD>7XNoB;S9uw3~fQy>(t1NAoq!P)i%b^)zp8`@04G((1Re-s6}%k*b`32u z4Ffy~xB_rS4HyPEw^orUAFx4qk;$Q~PB#+&kW?7p6%>+QfS=VXGQ|QetdDsBci>;^ zx&XMdVNs0fJ#H>FgoWi0(ndw52*5pn0|5U3j0No61cHDinn4ioK^qtdxDidmKu>ts z0|o+402~H5A8-+%T~EjXCIDUljQbLDfIa&{&I=Cqi-90+mV8xY8V9%qzrk4pIBXC+ z1H1s354d75JoDD+*id)|*l8F%1Drb?1_C}EiHQI^jKV~K8^&NFz$0TZkq^E}9fx@U z3jl`!#^Nt_Rsf!e!A&}DJ^)?-95NAtfPRxPp`T9o7Ju+I4zMf!o?s22>%1bRwA4Ik$m4lF<|v1Lz)Oa*`q!c8WJDu^6l7~p_9CQ~oKZ|a$1OtHA}$3KI*6EM1g$#enm zP$NtP=+_t%Rn_T6HN`}L3C%DO;IihJ2rvgQ2e32w1NL7X4i2`ig6@q{+Js=2JttSKlBffxV zfM519ncS+wfj;mIa3NqXz}EdtrdYs^{oxp(-9R`7SReh^_kf!QW1bpVqL?9=2sd57 z!9;))hhZYXNy9M_;17WLfS-*(2y5ze(*dgh?gfkj^c@8`z)Pbc2iSKUQ7-Jz`=k8fLW(8(PwxH{)CADul|gA089OXc>sR}Opn2h z%UMhW7zFqVur{DueVr~7FbuHCIYb1o?ge-TX!s4G2MoCkIlzWjU?5=Et1z$umhgtj z6ag3mI1I4)Et6>lVC&o1Er5l0kW+wR`6g4OLqimZ`?UB# z&UQtnCOUi~OSvsnTb3*_)rJ0<3mu+3y5I5NNYJq_Ec9i$U+nS&#&wzykqUpgDn?FVQ)e#09%u5s+WBSXxTfukoCEy zdb`#IsXI==!^ncw@7N)d`3{JqB(ohdsgQA9fKl}cg(iEl;LJPbd;x6EI4v8A?Jd|o z5!+>q)=e%n)gf$&_pA@GZNp)D1j%{7Z^1fT2U`V<9^q&`kS1;Sp6w>KK%B9=5L-{M zZ6LNu7)8x2GzF2ineW+0VvEGlTOq_+uss8t{U<%1v$G4C^9}g(05TPDDqlmYjqlmW zi})SmceB}&i>kkBoXt`IUCx1F6zTYhrn*5>K}Ttv;rA2v6{dn%Ofp`SE|W$6A6l4~ zyw!ZY{*21km6rXJ9nMR5WnYPVGmpB|O!qV3843C<8@k9FJoR*TkoUn$LQ9&sr`0@d zmNIrpEv3D%q2D0`7AmN1Iei2A6UR|_}9?fepBt7OQ8G2v1>WDyh{XL zEdC*#KYwV!qJC5TTuR{;Vx=Q6AAlK0m}z(?SV^k3{@a4BA&i{~!6lx{z#Iiey@P+S z>ow2@ z)xH8fot# zHmr1!*oGVM&yo?_SNI1q`3_72TZi*t%K}>m_ad*b~PpTE6>wwj1m&2fd2K<||>>lDS*}+a$29^(hiNFwBm9B(^GkMPl={ z09#*TI|;Trc$eZku!kLMe;sU-@zOMqCS3@&RATdR!ovtyz5`d;vGv4uHK<5zJ|oyZ z5!+y}oewS&JMfAfdkQvnX9#n;0ar3Ya3&K%4DG8d(5E&jG995HX4$jGH({ttGuHbi7G7<}W)OVSl&u4F>5ezD z#bo$(dzk=(VQV(9JOK*q*;9zS#NkUzo&f)XjVC}B*lK<*6TroRHNFM53aw-U_&dl1 zuq%m^Kx>%*VGb-FY^uHuOSy%~cea%Y&;sl{0VaXH09c*?T^-m*(i+=dCcqT1@dP*t zw*DPu0wg=I_P>MeMJJg68DQfH;86-MW}RgMoN{36iLG&0nE?NQjVHihuuTG%CxGh6 zo)X)J?lJ)?JIVye0$WlKnExMqWlT@j`!-yehBs860AGWhCqQ2}xYAQ50QDD~ zzmN$q*cE4mFJuBt!hBHVJfxRQfDMi;{twl=615^e;dK=+la}(@!%`SrO5-hYDC>F$ z+j{UfYzo2a->`Leu)3{>v4aF34r4b7{y2jD3mD^q_vh;Q`j?ss!$9Ia$xc*j=@>bH>*)HxD~e zZhDtk3XN@sP=5N9pnk{05mcmnN>KCV+6XFCKCW5N+5ofiT+N4IK4P{O2%e^|oTyHD zyV^lwI9}a(s;bT`p18`4ms#rJOl8X3wL7>RCdf>!zRSUN=}YddGw{vIUG0>SgNw=)$gY-~sjo+fj3jx$?NTrFqFG~MY;b;{dy zFt{$wl&N|UCK1=|Su#t{LHTuXWq~UoMrLXeOu7%QUO@09b#kF91%Ewo%$+L}wU!Hu zC$8!9WR7-pp(2I&mc`j}J{2k-*GZ7*J74DNNEh}I66)Fc%;yiJ$; zn1_xQcF@o^PA2G9%<~7Nt}SFK;I0$AvdHuYE&L@H>&4cqS1m~~2?}n5FP`{bU|J}s z6R`@@5TeLRkRE@7EP^K?xBz@Zh|j4cYySW`Vodk(>n`GuLFU3BR#7!W0=58z{GWR67CZIpV&$uT_vG$L^6}?Sn?sJIo{D$8A z?J{#sFr2uaqFuuuuw`6D<_-o|jTD)=EnV4D;u;DB&)m+gB6G9AwJcR;?j%>%xBy(= z?va_h3SyMGP0;Zgfd3&PWo`u&!VzgQbJJbfZb+y%)7Y5;tbAb_djja}zE@`MG0a1m zn+2&a&`ILY*2kFVF%s|Lz9Q4YwpiEwZkGILw^TphPCvCRGJuycO#S)CBGY&}MqMh$ z;vuNwrwb{MG2OgEc81`@LiPmE<#M51-*@HYQ#1?W^@`*o+k3LcPw-4JC?-*wyglVp z)DEebrZ>JGM529sFk&YtWR*wpzY*uPIOc@;;zCerp8 z2zLGyJqh+3Q1RH;f z4hGwFSCd%f2cGOHu^lRH633{rUh*lL1-7@q@?{S4VvV1H&CkOmj!~__#*a~U=pB|V zYZAw(!CovLZ0d`$Eae$oc@M%Ga%CRa`BO9%ox@?}OyU@I7K3;U_%SLAiZ+!qiDOhE z=6jC${`547r9MRS(J{&nGLyVbrs1@YA7ehSIcK9$#*atqz4;@^ercdi*Dl1w`rvtF zpNc^Q2K2sae-?vq4BGQu3T3N8OyVh&2iX@;_67*Pm(P34rw~L=RFX@5&zr>)*Qly; zmEU;Frx3UXRg)`i@L{)zt4pX{WKSQym+gPYV>Yrn45JNr5+V<4%GIvw!`i=uNTphG zp&Ra zOMM$Qy#iMT5PX#%Lpgs81?zM-8_Ja~<;&uU>o@cO`P*uBU%r{`m!d_Q+SnvsRwqGZ ze`C4Y?R?osh^UpCFrU}hR&ATGMu5)!o5lo4CcqcRtS2xmDv(i zo`wDeJJZ^+c7MUnt?k$df=TVz5?3V7t&oCP*@7c>}f|qh)erfQ^@dw_wXcN0V3kljYe=u&LX+v2|}SdApu6F|LB0 zmw~|*(MJHeLqo&^TV- zSLVl;{w$u@Zhs|nV+q*!VY)lm%Asq@6J)hNyG3lx2Fm0(1U6mxA1|AS=w1so)$eQ^5}tmzgh9p?t6?7PHU^*Dnyo!fh}(cB08U4C!xI3vxUsmI7M< zEYFGN!MtL)WdRwxNan@YVC9d8-+}GFMCL_8FfSW!c9`Ntyv&V_VCA_{9oP>`Wo~2y z^V;Fo9mvMZWq$ktR-PYZ<0N2te!L9k1;lMDkQ-LY9PtQ|IdT@*q*XFUYKO3yA5`!9 zZ-E?x-gA8gZgmNsN}nygr1p6a#2^nG~Ok72JG*^@XbAA zw#Rz8s3$|jq7DYK{RX+HSHa5n_flXRelHibAVe(cvl{r?;s?2?m%(v9SuX0okmHN` z30T)na#5Wsh()acxgDG3qSmY+7qtVh3%ANe?Nvc6>Leh`ZkLNX0<3&dHvk*BLoVv< z3Sv=D0y$`xT+}qM@2#bsCU82H+~af52wmSEv&#F4TcSP z*-T=Ng{p6j1)wk7gIV=hH{Xi3>)TJyH!7XqA3)?M77Y=D9lo}BXdGXtcB#TUS7A_&<*#AB@BO-*QJ&)Tr96URl;zjyl#)Z;k3W*n!RDGzwVX2VTHf$ z2M5Ea^14C?1Ne_S8g>Qfo;k)C76$0zoD6^Y>oT1Tcl>p$oJsX>&IWuR`h!aq+&^_O zm;!VQN*bO9=rT$gt_A4kl_H)Kr3~8wbz5Bx4+3>ZTn!fjbyr;thXZxFZiXL&bOmmP zEkU}ur47r2bbCu1K7zB1VQsMPco{=nu5?om0zhY;OLPs7y^U5cmSc!=)0ry(sw zXY?XHkG%}HE9e$@8-A{!+w5(~uAs~DHf*Y(`@`F?qJl2ZCjdMzeGKy|>K6MNUfWgB zeXPhsN>A8k|d*9X~442!I;_cGcw&=-{eGt}lAl%4Fs z=lTg4e$h&Q&>=>0@_FP%uPdb+_MdoH-39#isrW~)bJIDT{x5uKUG;bWg-6FA>}#&Z zxT2H(z3Nk?7~4ee%_!w#x($EyiNK7qJNdF^h%pT*;)Z_k4*jzTPfN1b^}Mwo4HB z;_H27xxg1+?>8$1{(sinag`txU+>^VfiJ$^kCFtw_*&^`8*E?s2z-#O6;w16_ zRdU35Z0HMzjqAqi?GPUTm8%Z`IO>AK%Nf@A0_KKcx0;ZyaV zhP^~49}R`tU3f?IHc6y<*9gwqonP_BNO-lRu6wb9zl#loD&-&t-sd#w8p3#bRisZj z_L?TFhP}lnRA#WCX?joZYlOgTb9xGXdb6NUFpCCRsl$d(!`6!xqvdQLA-9Rqes+&E zsE8%Go-|gt9xoK=s<6`2F=Gvo#f+O+BoN-OB>%!l!Eci5=Fi3xxjveBq;B4o2(IXa zB)4aqNZnwNg}RCCA|d9P5s6Hhfd$qF36I8A6$%2Sg7;>|rYszc%1SnHhQ5~fef04D zYr=m7mlHb%W^d}-5!bj$k=(4O{EBWqdrjm{AX6Ccd@I6uRFbE&pqU_FmE`Tw5u6Yw z$)B-kkPUs&X5&t=*qQn;Wi;DI*n1jQna=JJB40xoUTJqqQ&xHwe3{09_fwoHOY6LJ z^ncT(kDK&eW#fq}nr$MmQGj#-jtNkPT_jpCQ)UC;|9MKIZ&~-pcn=N~F?`!h#1KK@pCxQAxWcbXvgg?dj&8!Q zI$aU)Zg48B*p78#_egmy4#H!C#0td9Z8K0NK2DK5B)SG7Bv8gbZ-jIk78!#CAI8SV zAi}SLLtlZLdgRT!rw_H-DH&U(#1bsXl0Oeetp|GRbzAK!u8r9lZCNTjDBQ5pVn+2k(ne{ zlcr4-RNXjX8vT5aqz~VW;DkYvY+$A5L3$?I6%?RBT?CnaOF^HToUGJfk>FD12=J2t zzHAdAhZzsd(_eOD0pICe65YJ38STH*H}px&SL}=tY5IFAq=NV9YdOlI*?lMLy-#1? zO%8|c6iYFLZ30ti?aX}Put3*k_Xw>WnH^3GbOjca0kn2vuKrG-8yW{@=$qTA1@+kG e{rb-wbLQ!}7x*i?{rdWjty0CXKMTs%2mBv+L6c?x diff --git a/flascript/Interpreter/Import.cpp b/flascript/Interpreter/Import.cpp index ff8c3e7..4d01343 100644 --- a/flascript/Interpreter/Import.cpp +++ b/flascript/Interpreter/Import.cpp @@ -38,6 +38,21 @@ bool check = false; +std::string FReadImport(std::string file) { + std::string line, text; + std::ifstream readfile(("/usr/include/flascript/" + file).c_str()); + if(readfile.is_open()) { + while (std::getline(readfile, line)) { + text.append(line + "\n"); + } + readfile.close(); + return text; + } else { + printf("Unable to open file\n"); + } + return "null"; +} + void FImport::Import(std::string file, std::string arg) { FInterpreter inp; @@ -54,6 +69,12 @@ FImport::Import(std::string file, std::string arg) { std::cout << "import(\"" << assign << "\")" << " : File not found.\n"; } + } else { + inp.GetBtwString(arg, "(<", ">)", assign); + if(assign != "error") { + type = FReadImport(assign); + if(type != "null") { check = true; } + } } } else if(inp.FindObject(arg, "put") == true) { inp.GetBtwString(arg, "[", "]", assign); @@ -63,32 +84,32 @@ FImport::Import(std::string file, std::string arg) { if(assign != "error") { type = func.FRead(file); if(type != "null") { - inp.GetBtwString(type, "import(\"", "\") -> " + assign, assign); - if(assign != "error") { - type = func.FRead(assign); - if(inp.FindObject(arg, "func ->") == true) { - inp.GetBtwString(arg, "[", " -> ", fnc); - inp.GetBtwString(arg, fnc + " -> ", " <-", put); - if(put != "error") { - inp.GetBtwString(type, put + " {", "}", type); - if(type != "error") { - inp.FlaScriptInterpreterWithArg(assign, type); - } - } - } else { - inp.GetBtwString(arg, " -> ", " <-", put); - if(put != "error") { - inp.GetBtwString(type, "defin[" + put + "] -> ", "<-", type); - if(type != "error") { - inp.FlaScriptInterpreterWithArg(assign, type); - } - } - } + std::string file; + inp.GetBtwString(type, "import(\"", "\") -> " + assign, file); + if(file != "error") { + type = func.FRead(file); + } else { + inp.GetBtwString(type, "import(<", ">) -> " + assign, file); + if(file != "error") type = FReadImport(file); } + if(inp.FindObject(arg, "func ->") == true) { + inp.GetBtwString(arg, "[", " -> ", fnc); + inp.GetBtwString(arg, fnc + " -> ", " <-", put); + if(put != "error") { + inp.GetBtwString(type, put + " {", "}", type); + if(type != "error") inp.FlaScriptInterpreterWithArg(file, type); + } + } else { + inp.GetBtwString(arg, " -> ", " <-", put); + if(put != "error") { + inp.GetBtwString(type, "defin[" + put + "] -> ", "<-", type); + if(type != "error") inp.FlaScriptInterpreterWithArg(assign, type); + } + } + } } } } } -} - +} diff --git a/init/install.fls b/init/install.fls new file mode 100644 index 0000000..bd7ca12 --- /dev/null +++ b/init/install.fls @@ -0,0 +1,4 @@ +main() -> main { + executepp("FlaScript Installer", "mkdir /usr/include/flascript") + executepp("FlaScript Installer", "cp -r ../stdlib/ /usr/include/flascript/") +} diff --git a/install.scr b/install.scr new file mode 100644 index 0000000..efec8d0 --- /dev/null +++ b/install.scr @@ -0,0 +1,3 @@ +system("g++ -I./include/ ./flascript/Interpreter/Interpreter.cpp ./flascript/Interpreter/Definitions.cpp ./flascript/Interpreter/Exec.cpp ./flascript/Interpreter/Read.cpp ./flascript/Interpreter/Print.cpp ./flascript/Interpreter/String.cpp ./flascript/Interpreter/Function.cpp ./flascript/FlaVersion.cpp ./flascript/FlaScriptMain.cpp -o fla "); +system("./fla --b test.fls"); +return diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..a682198 --- /dev/null +++ b/install.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +g++ -I./include/ ./flascript/Interpreter/Interpreter.cpp ./flascript/Interpreter/Definitions.cpp ./flascript/Interpreter/Exec.cpp \ +./flascript/Interpreter/Read.cpp ./flascript/Interpreter/Print.cpp ./flascript/Interpreter/String.cpp \ +./flascript/Interpreter/Function.cpp ./flascript/Interpreter/Import.cpp ./flascript/FlaVersion.cpp \ +./flascript/FlaScriptMain.cpp -o fla && ./fla --b test.fls diff --git a/test.fls b/test.fls index 95bfb33..37c08e1 100644 --- a/test.fls +++ b/test.fls @@ -1,5 +1,4 @@ -import("stdlib/output/Colorized.flsh") -> color <- - +import() -> color <- func -> Test() { return var(string) -> Hello world! <-