From fa75bb1a52a028336dec8f103622af521c738940 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Thu, 2 Sep 2021 18:04:56 -0500 Subject: [PATCH] added blocked private_file and private flags --- bin/onyx | Bin 430984 -> 430984 bytes core/container/iter.onyx | 2 +- include/onyxparser.h | 2 ++ src/onyxparser.c | 54 ++++++++++++++++++++++++++++++--------- 4 files changed, 45 insertions(+), 13 deletions(-) diff --git a/bin/onyx b/bin/onyx index f4d515716ef1e05a460e52ec6e516df41ed7319b..122314bb0ef4dc366ba45d8e150944a0f1793f77 100755 GIT binary patch delta 55624 zcmaHT33!di_kZ5=CJ}@iB9aIa5)qP+AcP3Hl5j(8jhzs+?^|LgNP_D&XfKY|-quo7 zt5LDnPVIYX)xNw}s%lq4{-2rmCg}71{XLJ&oH=LCoH=vm%$eoAv)5Lby|%)SE=q}o za~&PTzlC$HWtCdR2f8W}9GH`!G^KK1ZHoCi>8$hJtxuPIXKnqq-dc5zC13zva<+6Suh9M;))QTaDov~nyDe0rt*5*Fpft`&@4nWV77fh_ z`t+S+@lN9$9ZcD!u8+;BJs={Oy5#2c|KdBPj3YUi%#XB1PI@}kDaUWYWTJNd*5!*T zQ%az950aR`oNJ4^maF`{9XVv}O?68&ztn6pZ^)cZ4i1UnaHXBKpBvdoZG3iPskYV#bo zpC>5FP3xSkzxkJp6Pyj1Js_pg(mG7GaQ>Ci+&s*-^IbuKb}ZJKnHxlVW38KVeQ8Ck z^>l6}nigyQJJ+AO$6DRD`BVK^Yvi^{)36T>2fpcBH*metUI?=rFqS) z*MS?^%=&Jdf7Mpa^hVprM$x4&jW4H!8O@!-Z29?UGq{;GcDp}0H?t1hUWx7-t+N2_ zH(EDtuj)S4DC=ff--`ZB4br|hT5oQz>mF$@UtCx|K$Lq}8}F#>{v<}PbF~mx#b_P2 zql^12d$|`nDtT>vmRhpJm7W zP*`VcQ|slO$?l%^^6okv+A}8 zzb}O~w9eh1MOVCXJPw>8`pwaL|IjAl239`Ylmh!&FCVT?d%9WOj(kUI7wgU=uc>oT zPVUjZ3Y{%ut#mBMdsmofC#|*7;uw(eDlqMr1k2=rAgy1R)po2dopH;le7uaJoUn$S z2vd$*d!Oitzquz`;jenK8U8juSyMS?9d)uZ{{DKh0sbnd#NUResw=79w^eEo?1CrD6*3%dL)7Qs~$?fECb<$Z6fcrC9Cb^*Q89zq{ZH|tA z^MxH>5A(o|-y!gWb^Q54e5?2PZv?)jj^9v-|MWfnGvGUDHFbiFLV_RP6O0rLO6d6R zh4`)lpB>#*;3~uNppaBg*~RRLPNMKiT+X3O4~UYZtedZdQY~Z7jVtL2B|pmP{l{XZ z)cMzn@No&|!`ji;R_8x^mAhX_3}9;a1bD0%a0=2cR?3<1=btLouaMK_W=o=$uX4V< z{kc+#pV;dj)INKX)9kLI(1bhI_&i8dAl8HeqK(`f4V4C|3S{S$N37qa?aWMG)$qu{2cAsJ(b>Fvz~c1kA_{#>HY6p zh5jzEro5@DmT;h)tT!hV+WEqo^tK8ueqkN^whr}uk+c47b%mmySkJ#R*GM_8I2g@) z!}rF+7MGhWv3gIsURE67xB*AXo+VtiW);Mddf9rs;3_$t`uRKM8-*N<+=i5T%EH_X zQkp1~_ks_o${~t-#d92$hLrG#4>>BIQIuzHl9SR%pgp)f)D zg(@la!aKk5v8qaSpCvjn)2FCLOc2x>rtM$PuKvn23R{~y*Izm8Lfa1Jb_!9R5+$AF zR<)H1)OiUHsI4?9{c@#H$0O(}Nb_0FIklDXbn^g*hAEAx-?H36VajMnDzi5C&w9#F zO1Wi+F?_7^szk5m%r%jF!=Q2Cag zF3bI+q4K%ndS-{6ht_Fn?)WHWs!Chu=e}y9cq+7;xlD|bM6;LV_K#6=9jW$K_KjDz z(#y|te~VZARr=&7&No5T-RI_xNl>Oc(W}pLU$jxaFHTp^@ep8b4inaLdZxAbm%U_0lrSPwpm5NC2T~;4yYj zhVr66rCy+rn(TZHhANd)lgC|Cj5+87T3D&mb){Kh{_yqpl^WboPN3ZJ zrV@ap#!aO+5{nM~cvI;J$oZC%h2*nail1vr#tp?b=(#?G+ioe#+)_*#2mM6pu4j5_ zzuU?{ke|9OIX=CuL;?!AqYOu~F1h_5CTA1&Q`hwp9CX z1)C9JlQsF|->?LGKJt;MlRM*)^0hFIYLAsVMTQ@GMb}UN$I2(bZ3m7vU*m_5rOG9% zMm|)MGoMHiWx>NI()Oht%ORccREb7qsjGWWm7!Hr6hl@kClNR#V-`KqYF;WRuta4P z)G}lRIy*RsnU?xY>f=3=lFua**}|CTQay!8C%*Umy>X!V@;vN?G`B(uXTJTSP?fc~ z_e&*2^ss_x`{g;khf7~7Z;J}^&gzBhUMV#p`T19J#AFBJ{*{A0?O&y95&4EQI=S|* zau4LEUn^~jG&tb2jthAsM`r9BIQFZp_@_6@fFhb9r*xX2e5F0=Pt2FX@6A^xVO$!& z)%`}tcgiqjdhUUDuq70qEWq4E3J>;$7`8=3J&<6D5p%AqN_CKYrqWm>DjYeIx{f4_ z94f4V^_zr)fr4st7blvmmxr+8OeW;fRq3Rhb0;{Hi{hWMPDzVtZ5bXWwukTb3#T{5 zK@QkB1c*k%*5)bvZ855Xs)vh_aH4fx2wsm@yO8h?tLji78;VQbGC%c${KMi@&m+b5 z02{*oh5N$zaOrUCmmoh>?_7d}b-R?Ln@FS$lyjvxV>4cJ1s!+k2?((P&qOqxm%9fA*t^{Gmvcecwf0md76u&ljTYH z#>eGp91__Tt0$!(|ICwwJM;FU)<_0;(GDb4z29?K>rH!6G_V4#MIx(W^2H!O$%kem zajZzf3kO%E-AHT|r3^zWQDs1uO4J64tmRmlgkR}UnQ9l=pt4a{%ommAApKF9fmQao4)w2o-XD-L#bQL++a-KA+DkYON-+z$z@|QHSeC7xFXCLH0 z4WOu^R`0LY1>1;1G^7Q{J{qcFcv84cHToLK<7%`J$*e#cjpTKpRM6MeQT3H7F6t!cu4cw+7igmz)j4@vo~%$w-`osRNSk z!PF4R!eA19Vs9{2g6UifrUgy_KW|S#xl6*yNhk|eFNPmURsN)|G(O~O@Ts~a*SLCe zK9)iiURIB6Ae|Kg1*)J-uo0UVIj=FUc`6)DLcqZ}0}Nq93UXrY8Iyt)|$6t%N+mYw63W-#K_Ts4-4 zLzvHFG1%bzI*x>UO^m0VD0OL0#g#f@DGD=)W3Kz!hzwCZE#t>w(Q)S5(qRlbcJ-{EZ}AME#1QRv!My4%pUa^`evD{WFL{!UwB z5Xk)3?WD(ptqQ}0m5Vh7P#8ykLXVISN}?J_K1q@`HYJI|ij?u&*g|pkB#|eGE+vtO zeiNT>?Oo)&e%VEOft0S2Z*Et)V%6v-bD$ngfT~O$jOpTGWPNtqk zF7L`v-R12_mW$Y}WC|_9rP*1m$ZO;y$V;_0LJtw#@$ln zIwy5dr8lKgi>=JPsVAzu=q-bTz)z(M-SsK$LZNie-}I4_P`Y!EzElt8E&Iw)L3lQP z)K@NB5}n>pc1BjC{?fx2#$IAEljT}}8I$-7kPC(sW%d9$x_=Fzk?2J7K$;{vab=M7 z?OubWH@6Iy3Vkt{z5?#^A=2RKQUZi_0Vbm9VXWB+_}T4tY~@F2-*9dBju7gWu$aSFGtdJ;7*T5-2BZbIg;pG zC|4N$ekGedT6PLF=!m`;4j!XBc92%Yp?3?kjKCH$?7+FGkYQOTU4|E9qcE&nxDRveiwLmXK{8ln3%>J4<-G#R2I*jfxIb-MJJi>K2s zfV#|(5=@#wzJQj@fRrh@KhJ=t04OBqe=|tzU1fekrt~x4WXej1Gv%n=%`6=E5FV5z zElCnz$f8jHPR5SL4)Ni4IwqMcExMS@Z^Y?TDN~cfb&9j}ouAKDW|K#HY-~XR zP$f*3Az>L)LW-rPZLg0=cZWZMROmZ=?;f1_IA|3?CP)M+$XpGXPjD(@iFYvMp6MU$ ztQa!C0zCb-sB6e9jeN#ye?w+8K#Z1>R!)rFeK3*Xbd(`$1NJ}NlZ`GtjLF8H2l~(F zy)(%>eK#`y2f@9(5P{jAB4(yHOY`QSlERnsf#J=oFTJs2?&jg zrnu}FB`&I2{?r;K%S6p&8U0UUcAqYZ=3CpvWt4W(<(*y!9V#L>H+yv?-EoFsEMlZ} zFyKzbqz<&og>s|4TP`}@WN8&9y=6wjDQRIg!op?nbqL?98LJ3|8nSHStQumsmxn{K zVHuHA44D^DsB=%fAf(P1{7QiqbR`&kx$P_}Ut*q7=a8=Qh*{)QZm@(?OXDyzEMt6# zqapLMGyBda&vH#a#uPVXPI1yP&F`1$q<9e zax&~kjiSjA@WEtA|NqQ}YEJ*hY;c?*7#B{4+0dVmV=P*hBZ>=JghkX6J*xNb!2f|r%yr0xxDZRyLLuM?{`hXn7 zxM4sN&3}g%XajKbD({pmQ9B|9>lfE`)<+y*66p3}lX;+v81O{%z%WCZ7&rX)gA2e- zRC^cWi-Uftj>x$gGw#HQToP`kV%rIq>uTyV{#90iA?pJ8bPq4E&vjeOb65ND8@48; zAn3|GXUM81hYvmpy}ui6S2Oe^F8;JFl?w`fnF222K6-6s_H!l=j~~|%e2$n2ffc1< z{ie0j*Ni0F*HE>tH=zVW)^6d5z_}AR?|~lVXnK#9dWy8I5LnCPSFhytu3k?oDcX#( zxB0G;-e$3)HmCS}+@@-K@QTZPM(&M`-@%S2?bq$NzlaEg9pi}ky0)PTopSI)<{E7L#2?MXy z29l>alUI5hjI&9Mv+V~c^8IABOg{4pDBG7Pg}G)-ahPJrdhx2D!1gcx%!f7v{%??I zD@&lX-djm0%fU}n?J28fLU5?lGBRujrn#8Mt=6Ict@g?Ohh>$-1?_tU^o#mX0i6MT zq<~9Tg#ya+)NCp(c4(O=Ffulmf}+`><@sP#8lfR^mv_yFans~k{_Z!z5{$wWx_N&z zEVawMM*G?%QA@a1%oT08&!QA6-%ZvLRUUd3RZ)aHO|%RQGacD`8LhU?dYI~#&?o+t zDcf-x{vQ&B3Cf}Hhl%DPVYY$b4drPi1^Y=-sDs+O3U*T|YGBIy21L|YeZYP(@iQ7t zF`1LX3|S9fppSpyPvNncRHmGJ+0jujIBm!;x-m_E`Jpbe8h)tDaezM3<%{3>%v`FT z4r8iVXiVWC`p}pHF=UD6etx#%a(MNz)S~`?B_U=oZqsMV5tI3nZ7DpGZY2lNYn!i> zcN+SP>nU$^Us$Km?j`_Y=}I&|Fczc+`0?J$<}&+yP9fEP9wH^wy}ftgNT05+k90;s2x2)! z4_Lm8kl{~&SP~E)Bc3XeS`p(Pr1!O(&MC|`8cqxNygO1-ETv*lc6<#<8|)I2rX7DT zWk)phUdk4Lgff1Cp@~vMR<|bw2y;@x!uPiJ%DR(iFx|+Tt0|rzOqgfo^$GKKd7(ca zQ%VFrCXVJxr++b!_5d+PJQ{SSM+3SCO^u}ll`+X(R!cIt}0@e~|F;9Im7 zw@lvu%I@JaAdj{f zgHhB|3joY)2)=45IkZP`z||H|*$TzVikfo7qz^S&+J#B>*SP%xs*s)pzp2#{oRaOj zuA+15EaD4+JEtvZ5-5g z0|4_&OVY{V6EuWPkc^}40d&*<-9l>Z|8Pg>CHN;k1~+|OuvJBW?D@QDg_#RRM5ML@ zAp2mQZ6QJ-Zm^I_H&Q-y@gmv?M2T+0#tw;nZY4oJ^Ks!nw2kM*Vtz}E-4SiYHcnrN zr(rvz|H;fjkWu0;J@ z5gLkclt(TiA8gS-TSWd;DvCD)O)t;#%SBYZ)Ty(21c~R0iOo3}N230h-@Ply^VRE0 z6Zge-(Z96tNBaJ_K^`+xsL$fsn3}sV#jvn`5N&89-@W7OOpWQ{w_Is4RU~T|M=hpK z6cxtS#Z;3FVf@QtT1)+F^T01@86By`#lE5zG_@AD`-&z}!f`(N6?szFalZEz)uL^o zTz(0~(AZG!vV@FOHDs^AK#i6hxoMrUUg;GVo%4A3kj5|_$7Rrs5 zf_V}7GaYm z9xuWELim@4lk4aUUtw!F(yw5oSHVa(X!kE?ezKfGXj2XLTS2{R1v~5e5qNo2o#du9 zs`0J>+da)a3{RXq71S~7cd zI>@iqz%s2>IBG4`DRupT=)Vc!K&cA{c;Z@WTg_jb=IGo_Ux-J2hZA5FAFAW=+jso; zTB=94rf|SI3MkWKKAwK<65*u?erE#Rbsfdl`EkEs{t1|StVY)6j)+k3vU4wnS|744 zgLw zpy_-0srFZ7*Ns%)d;f%@$&~ts$>MJB=9_Hp zz7exG`Cp#Ckvh@~AHKYi7Ers#Jp6kq?>8`0ia1Cn1Kmt!n|8ONeF!Yk>v!|F-&0kp z|Co<{Prb>1HwSMb6J6QGX`66jK57^LxrqXc+h#~E4`#6I4^*A5Sa|b~uz%|dZuJAr zq)9vZ{0~&i`;R%~U}=Xf^~jG#^x$)@@FUe8xHCV4^UU>y2r!vMqoH^Y|CMGtU}B;NmG>-UjYaWd<|c|PYOKcWx5JGk~{sz#=z+-Wo6 z3ND+!66rtX`Pybmq^jFFv)=#jMX4}{` zhrXa%9=tM#qRNfRRUHzu`(b`XJ5QCA#isJ39P%yJ1Q>05Iri8>@$_UX_t-+drOs{@ zG}4X^Z{^urD6r~sQKYw3cZ%dt4@r^PYS()4KR;0g`gAM*wT1f8BzI2wnTAtIcRuhl zO{dvqx%pQ5hH@5h-c~#W4c;P{z`16I4YM`hK0Lnxs58*n1vj?jhdFb^%IJ-hX~D#(<#PJ;Hlf7nKeK0x^2{p z4jH)kcIsH_@6AQ++}_MXwo^Fm_2lK-q3)lo{MUA>TPIYIm`epBF>H0ZK2CMmcf)tz zD_^tI@gb^%CDt)RbIN$-VVLCvH;>KH^ek?_1B=e4A9>{t@Ox8=&+nkGs8=Z-v6JH4 zM~;;;H$YD{qs-i2$^P(fjdsD%XKq}Ilj&+LM4j^4y&c2ghfQj*8+rsiIeQ{k)jNMH4V zhcBV=h20cJrtjH#57I>?IC2k}N}bp!m`aP-w~@2=P!GCYob&cTO&%M0-!FLg(e)RY zaP|fP%qDdMx7tfthM^OMFR`zh1$X%RUWyJ5TQ8Wk^3$8Qv-LrttsRzLJ&;MvPKnfJ z72_8B;9uJp<0<=SK)5Ek`4utLZewd|=oGPCf(6f@qig6yHIXD*M&j#^ z$J!d_BCj-LE#E$X8T;&aE^&}*2E~jM-4zkS@|*Cm2=pSQY%Aq1Jo?LFvc<24agT!( zRO;v&0ZOIrUc;XsB%kswU?7T$#vQCG-sJrUsYA6+lKK1IZ@uwB?|WfSW{EzY!cm8) zYMB;eFu2%bA>0=mt&ul)_#sTrIF;udqTa^#V?XxrH?M!dY0fjm`txSJEod*~7mMq) z(I1olbe%&ElULb+|6w!xI(IruwbPHRRvoq%z;SjoSv>XwFlC3H|5kNK!mXVtyVAg3 z!Wn%NhFcKr>SYlRM=TUX7LP@R713xjX6-BF^_RHJFV}@ zDMz5luYc#sM<~AdkmaIt5pff8j~$_(s8$RNbjM!FBVuJ5hB7<)J0x0U#@qKtPzZ!N zppE%sdHpe(N{z>I&EqtsPQR7lWqvEZ7y2E$Zn1eo06#j>d~ZiP!4c(Em%S~pL_~HI zjYcnA!B>t`ZBGY)n&Hx0>`rl`VHtz7GUQrP%^r*m?Y-*vMf%UY*Qn9D;c$|v2yHqcrZdYt&%tHh4Fyj_T zXQTf{b83L2P>@r3Ahl{2`QHs`4zN_NE&maCop{4<6!2>h)oJgi0^un$-d~bJH$Tz4XZy{`_ zf8^_Ds8_QP!Nn5YLa$ɴ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 delta 54872 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 diff --git a/core/container/iter.onyx b/core/container/iter.onyx index 97217cb2..8bafc5d0 100644 --- a/core/container/iter.onyx +++ b/core/container/iter.onyx @@ -50,7 +50,7 @@ map :: (it: Iterator($T), transform: (T) -> $R) -> Iterator(R) { next :: ($T: type_expr, $R: type_expr, mi: ^MapIterator(T, R)) -> (R, bool) { value, cont := mi.iterator.next(mi.iterator.data); - if !cont do return value, false; + if !cont do return __zero_value(R), false; return mi.transform(value), true; } diff --git a/include/onyxparser.h b/include/onyxparser.h index 1686320b..712ac282 100644 --- a/include/onyxparser.h +++ b/include/onyxparser.h @@ -28,6 +28,8 @@ typedef struct OnyxParser { Scope *current_scope; bh_arr(bh_arr(Entity *) *) alternate_entity_placement_stack; + bh_arr(AstFlags) scope_flags; + b32 hit_unexpected_token : 1; } OnyxParser; diff --git a/src/onyxparser.c b/src/onyxparser.c index 1c3a7961..1c60685f 100644 --- a/src/onyxparser.c +++ b/src/onyxparser.c @@ -72,6 +72,7 @@ static AstTyped* parse_top_level_expression(OnyxParser* parser); static AstBinding* parse_top_level_binding(OnyxParser* parser, OnyxToken* symbol); static void parse_top_level_statement(OnyxParser* parser); static AstPackage* parse_package_expression(OnyxParser* parser); +static void parse_top_level_statements_until(OnyxParser* parser, TokenType tt); static void consume_token(OnyxParser* parser) { if (parser->hit_unexpected_token) return; @@ -2523,8 +2524,36 @@ static AstBinding* parse_top_level_binding(OnyxParser* parser, OnyxToken* symbol static void parse_top_level_statement(OnyxParser* parser) { AstFlags private_kind = 0; - if (parse_possible_directive(parser, "private")) private_kind = Ast_Flag_Private_Package; - else if (parse_possible_directive(parser, "private_file")) private_kind = Ast_Flag_Private_File; + if (bh_arr_length(parser->scope_flags) > 0) + private_kind = bh_arr_last(parser->scope_flags); + + // :CLEANUP this very repetetive code... + if (parse_possible_directive(parser, "private")) { + private_kind = Ast_Flag_Private_Package; + if (parser->curr->type == '{') { + bh_arr_push(parser->scope_flags, private_kind); + + expect_token(parser, '{'); + parse_top_level_statements_until(parser, '}'); + expect_token(parser, '}'); + + bh_arr_pop(parser->scope_flags); + return; + } + } + else if (parse_possible_directive(parser, "private_file")) { + private_kind = Ast_Flag_Private_File; + if (parser->curr->type == '{') { + bh_arr_push(parser->scope_flags, private_kind); + + expect_token(parser, '{'); + parse_top_level_statements_until(parser, '}'); + expect_token(parser, '}'); + + bh_arr_pop(parser->scope_flags); + return; + } + } AstBinding* binding = NULL; @@ -2535,11 +2564,6 @@ static void parse_top_level_statement(OnyxParser* parser) { return; } - // case Token_Type_Keyword_Proc: - // onyx_report_warning(parser->curr->pos, "Warning: 'proc' is a deprecated keyword."); - // parse_top_level_expression(parser); - // return; - case Token_Type_Symbol: { OnyxToken* symbol = expect_token(parser, Token_Type_Symbol); expect_token(parser, ':'); @@ -2776,6 +2800,14 @@ static Package* parse_file_package(OnyxParser* parser) { return package_node->package; } +static void parse_top_level_statements_until(OnyxParser* parser, TokenType tt) { + while (parser->curr->type != tt) { + if (parser->hit_unexpected_token) break; + if (onyx_has_errors()) break; + parse_top_level_statement(parser); + } +} + // NOTE: This returns a void* so I don't need to cast it everytime I use it void* onyx_ast_node_new(bh_allocator alloc, i32 size, AstKind kind) { @@ -2797,6 +2829,7 @@ OnyxParser onyx_parser_create(bh_allocator alloc, OnyxTokenizer *tokenizer) { parser.hit_unexpected_token = 0; parser.current_scope = NULL; parser.alternate_entity_placement_stack = NULL; + parser.scope_flags = NULL; parser.polymorph_context = (PolymorphicContext) { .root_node = NULL, @@ -2804,6 +2837,7 @@ OnyxParser onyx_parser_create(bh_allocator alloc, OnyxTokenizer *tokenizer) { }; bh_arr_new(global_heap_allocator, parser.alternate_entity_placement_stack, 4); + bh_arr_new(global_heap_allocator, parser.scope_flags, 4); return parser; } @@ -2825,11 +2859,7 @@ void onyx_parse(OnyxParser *parser) { implicit_use_builtin->expr = (AstTyped *) implicit_builtin_package; ENTITY_SUBMIT(implicit_use_builtin); - while (parser->curr->type != Token_Type_End_Stream) { - if (parser->hit_unexpected_token) break; - if (onyx_has_errors()) break; - parse_top_level_statement(parser); - } + parse_top_level_statements_until(parser, Token_Type_End_Stream); parser->current_scope = parser->current_scope->parent; } -- 2.25.1