From 8849bd0927e03471fb0e6f8900673254ca11770a Mon Sep 17 00:00:00 2001 From: Jordan Orelli Date: Sun, 24 May 2015 13:14:16 -0400 Subject: [PATCH] add grammar diagrams --- grammar/diagram/Assign.png | Bin 0 -> 2017 bytes grammar/diagram/Assign_Hidden.png | Bin 0 -> 1947 bytes grammar/diagram/Bare_String.png | Bin 0 -> 3675 bytes grammar/diagram/Char.png | Bin 0 -> 2103 bytes grammar/diagram/Complex.png | Bin 0 -> 5119 bytes grammar/diagram/Digit.png | Bin 0 -> 1737 bytes grammar/diagram/Duration.png | Bin 0 -> 14123 bytes grammar/diagram/Float.png | Bin 0 -> 7360 bytes grammar/diagram/GraphicChar.png | Bin 0 -> 1941 bytes grammar/diagram/Heredoc.png | Bin 0 -> 6124 bytes grammar/diagram/Hex.png | Bin 0 -> 8628 bytes grammar/diagram/Identifier.png | Bin 0 -> 1590 bytes grammar/diagram/Integer.png | Bin 0 -> 4462 bytes grammar/diagram/Letter.png | Bin 0 -> 1905 bytes grammar/diagram/List.png | Bin 0 -> 2595 bytes grammar/diagram/Mark.png | Bin 0 -> 1918 bytes grammar/diagram/Numer.png | Bin 0 -> 2737 bytes grammar/diagram/Object.png | Bin 0 -> 3124 bytes grammar/diagram/Octal.png | Bin 0 -> 5932 bytes grammar/diagram/PrintChar.png | Bin 0 -> 3074 bytes grammar/diagram/Punct.png | Bin 0 -> 2583 bytes grammar/diagram/Quoted_String.png | Bin 0 -> 12497 bytes grammar/diagram/Space.png | Bin 0 -> 2213 bytes grammar/diagram/Symbol.png | Bin 0 -> 2079 bytes grammar/diagram/Terminal.png | Bin 0 -> 5479 bytes grammar/diagram/Value.png | Bin 0 -> 3599 bytes grammar/diagram/Variable.png | Bin 0 -> 1883 bytes grammar/diagram/rr-1.39.959.png | Bin 0 -> 679 bytes grammar/index.html | 701 ++++++++++++++++++++++++++++++ 29 files changed, 701 insertions(+) create mode 100755 grammar/diagram/Assign.png create mode 100755 grammar/diagram/Assign_Hidden.png create mode 100755 grammar/diagram/Bare_String.png create mode 100755 grammar/diagram/Char.png create mode 100755 grammar/diagram/Complex.png create mode 100755 grammar/diagram/Digit.png create mode 100755 grammar/diagram/Duration.png create mode 100755 grammar/diagram/Float.png create mode 100755 grammar/diagram/GraphicChar.png create mode 100755 grammar/diagram/Heredoc.png create mode 100755 grammar/diagram/Hex.png create mode 100755 grammar/diagram/Identifier.png create mode 100755 grammar/diagram/Integer.png create mode 100755 grammar/diagram/Letter.png create mode 100755 grammar/diagram/List.png create mode 100755 grammar/diagram/Mark.png create mode 100755 grammar/diagram/Numer.png create mode 100755 grammar/diagram/Object.png create mode 100755 grammar/diagram/Octal.png create mode 100755 grammar/diagram/PrintChar.png create mode 100755 grammar/diagram/Punct.png create mode 100755 grammar/diagram/Quoted_String.png create mode 100755 grammar/diagram/Space.png create mode 100755 grammar/diagram/Symbol.png create mode 100755 grammar/diagram/Terminal.png create mode 100755 grammar/diagram/Value.png create mode 100755 grammar/diagram/Variable.png create mode 100755 grammar/diagram/rr-1.39.959.png create mode 100755 grammar/index.html diff --git a/grammar/diagram/Assign.png b/grammar/diagram/Assign.png new file mode 100755 index 0000000000000000000000000000000000000000..acb57485f39a24d29446b3ea5a2025cdf448ffe1 GIT binary patch literal 2017 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 literal 0 HcmV?d00001 diff --git a/grammar/diagram/Bare_String.png b/grammar/diagram/Bare_String.png new file mode 100755 index 0000000000000000000000000000000000000000..40559c729654af2a03e7894ebe2a04a834747351 GIT binary patch literal 3675 zcmY+HcQhN``^O{p9@QGDty-&SijVpjMa_!Us@kKX8l$$Vm=&wGB2-XC2Qi{jlm?B~ zsHzo3?AA&&%epsnIC7I{mY+eg3 zpV?2e%Ka$d_$fcY+GKBt)Ty{iJLK61j$qyc1$qxZtW2H~P)?{ZHYOD6=-LTpm4D2# z)Z+hfD*x$ob43a193#3EIlRuxi^=UPP#wM33p3+X6Z3K-IzPk@$|cw=F=LdgZLHsd9sbAp5M?sJi`q!z_eN@JVnOe_w{XYLqLR}2hLarUP%x_sGXp!Uo|*Z z*=jYjWN4*jx990@@5X6_dR*Sl(`=gV68Qrg_}%5TSNqdgXw4&0TBp|L~u&;O(qR8#uTF!pP3i1 zIK>*c7Y!$fa90n7YsubN3U-oMH%J+fO(SSJ5w>uA<=G}zQ+TGkpQ)&$yMyLl=Ty>} zYPj5EaY&=QJ>RKM^;5U>3C2{!<0gq@4-FffLr(p0Z7b18 zB^y^MzR86N=sOouR^x|lP)OS~{3*7w!XO@Nt`98guC$aV|2n4lVe1t{bRrnwSvDdF zp=l*BDRNubmR|%I3YdC(lN8*V?=JQCAn7{2@FWIX7Vaz@TUL?j$H!h4U+Md11AsMw zEoh$5z%?7Mf#^?M!Kl~}2;qDuqsdIu|R1^c5!UD&rhC+w}Ws| z#A1(msZ*z+8*_1aOQfuh1Hfb??mFK^0Is{eAxNwfB z!mnzFS1MHnq~P={$jviFPx||Bt6>y}`}0~XR`;7T`WmAvzbaNx@T(7wgTfDWfaNlu zm}kW@^QhNbTF?C=72i#V#yn6lI@9k$!J|&L&nWU&ggd*XDb;PY;?&QgN7oZG!OpwIkgBxMwUGYP! zam?~$N74#zqo;|9ZgMHXBPty*4|6RnY4#3eq72cfXa=)%z#%B2f za2NRIL20^Rv_|o!4tRlwSKvW0gi)@~>nwpQY*_XMxGv#HgP%wGP23bR6WN=*DIPPK zJUnpS126zw28Kglu>j;U9q?4tJ@627-ho^UQh#0%a2irZYC>tDHgHo)P%iVN15AQ_ z)v$6GbLNslD?fYj`c|Rd=|u)@H~g!a2G2T;zl82R8KpWQicfjTDW#mPlndqz~7#D-@pbVL0G zslH(-)yN|+8k9PEDSQ(X6Br#2ui9V>YQ?A1{{8vHNM{T*!nfE$#Ns4zbgXix;=l}W z5`R9G+WBk#{_mtJ{YamEUy(=RgK~ktJ6VeaRm-}nw`$Mn|Lkf?^G0w}NApkruwwmr z7xuvKn{PzzvYf7M1`WFeR23(Fp*<~U>s=w(KMe%5N`7w>`{nAnZ+%G7=J8PVdTtAw zY!subgX^u8Lg)MgnBT|%*a!?pV|BQT1fK_k-O530!51b1UpleBYyVKl3OW~`<%f0X zNvxu07a*+gPg~2a@jcb5L)Q$;eyX@Lc4^Nwl$OY0RDlyq zYmY=gO0wPJv-7E<;)5_hill)Y(oLW=cE)=4@?SVg-A{mvvaSPV+_TOBARng?JlITq zcZq)ufb!20jsFL$|D_$p4a5J&*ZTq9*Wi(&KKPneUa10<1oR#e5sSbQl28A#*Lp*F z!-_2&b}iKYDyl#q*veliq_A_BBt@ifmhgV6X=pNeaThH+9IXGNvB=aexyVDnKb^Dq zXQY__=icPS3_lqqF#`oPt2ef+pSpaewhf#f!pcnlaeu9za%yaGdGS$|gR!eXS&;*I zAN0G{b~LdMq;rOqw~eaSeow4Ao9z`lmXC-&ESYJZ3OlMd!BBUS$Hk)VWg_T&*gkZU zKxIp72S25jQ(vws_isiay}f#1;~c$f*r*OM#{lX;qG;{({@#WcXw0FSYNyo%CmsI| z)7}mLpi?)0*1L)&H`R}38{oKNG*#ae`%$bFr0duRzyGOuoiB1aqRx%B8}^y;%^+O& z@2V2je3&UpZFZjAjq#;V^}Goz8uKf$ikj^6b%9g&Q$j$#Vr}k3!>PT|Xi2Td#}eg# z&QX3j>*gx3`UrQJ)4SZqRKWLEyT{^2?TF(ktCgCp!p?)=q5dTjeCe{WI62jjANP+R z(k)Exl@P)HDo(Awr)zDS%s@{DlBX-Sc5pAR*;Ln0ntY>mgDOU=zs+NMd3o}ide}F{ zyHi&5C87*T@AoDs?be%deFam8pN$`;4AiH=*6N1H_MU1Js#C9Q$9$LsBj|mqV38uOtgyAQD;M!6v@i<7dmCmnNH^ib4b1;k4_OR)L(5x9JxY0rObnY(^vBz@f-*!MwZaBq&wc0bOpdy{O z-n&;y3+Hx7&$$hbF3PUQWV0#&?C3WP>)LDXs?T#jGWfyRKWNX?!V;MmtD@_$3;*bt zw=}-zzF3}P0Z#nZEN+?ThM+9{3kY0`mfhxb&^}f=eQNcB;m);(^mL^Dk2oC7E*^Nk zTx-t?nv=X^9m@##y9S^bHx*VL-qR=dgjW1SyiJuKc_m1M;zWojS5j?1pSjFO*3?)`a@tyLz=rVAbCzr7lt+$XRA z8Et*C^2(;dfHjlm=gix{qCtzO89)3U+lbH04z*JYU0 zP8R3IrVlr*{Vh5kIj)jA5;uw&-Y<@*v)r4H_cHw>8Db^KH{R%MYOju-rVQ+yT?-&l zlSt(*nmTdhrO%09zOUKLh&y@?hWRQUQFmAnb*psr6!Q zUr*`tnO_;(V^Rq!n_jv^=1;ke@BOV>r0Y_RIf@TuM-i8`*GU@J_Wd)23wd$x3Jr5> zofBu@^@jx`1;y}bW=ksCQ|zAjtVRXpAAhoA*BB;Xc*&~ub&W9)-aozFbty9)R7bgI zea)v?bvdwUhc!TCH+jox+b}S4_v55FKRwbd=)YP+4+CrE#jy8JFb=)Z)ZRr)E+xk;?_CI%eI1UNFbCYTDlrU~&s$fYx)3`wy7iD#-u< literal 0 HcmV?d00001 diff --git a/grammar/diagram/Char.png b/grammar/diagram/Char.png new file mode 100755 index 0000000000000000000000000000000000000000..175caaba25d22d9f3faf7f177b652ea4b6ee3893 GIT binary patch literal 2103 zcmai#do&Y%AIFzgLq+4Kq*l4r^I%aDw%^j27%^rpk&#LvDdw7OQPdP8xjk8~qv=Pk z6>=F3O}R6dxs=RxCb!hge(U+`InQ~{dCvE|zMpg6=Y2kZecqoB#m?4ZkF1I;007v7 zwnSkiwMl}V^iIidjVTJ3l$~DI7AS!D_sgy;OqM7h0@}tLG`>R_yhkSQx^PvZ453j- zTv#T56m#Pc2h#Xm5Reb~$da*dtW>^2y{6qVP(s;jwIgO&Ge$*LHU1+VooS{E&6laH zbPC|pQ{5tNY_ED9OyliE&7X^t4=y?+rDmE$@s=skxC@Q8Jc-PKwhX86IQQu&SN`IS zs=N%^==k&-QUFinL~0-gY@Jn|IyLt3G7_T+v4HRL^rGvn;Ct?z&efjV}Rd%h91wE?a*ZLzPOEM#G;%CTgci=>%o}*_J^^Z_)GSk~DZ0FNukU0g_2lg-8oX zv_87E+#yxE#gpQ>`+u|dImZ^!Z5NK?r?X+BWfXuA znlFAkI@oT)5hAd85#oHT)J@#a#a`Wzm(KR<16rYV3-}4yw$^MDP%7}O%mcK2_5LrM zzbvzJu7it2fs6U-5Bw{7I~)Ze@gZMnw{+V|=chUh`@;5U)pXj&{viiI9NoXe*8iu{ z*suw5mHhH1zuhmlX3t$+AT??gfRL@rjSTY7-k@rc6}pAssw(uo1)r-z-`*Eiu2WAw z-6B!}H8I)8*~B8YGb-#r7_KsM4!qhmAr{xLDMx>KcoKaHQX9cl%jJyjwgTFb1##?T z8^(MUP9S7LJILQGz^ms=(hlY@?JvWNAo&HKZ;|AYt&d|ib=8IrOdK}ONa^oCnRpPH z-Qaeyt)YRQAn|U>u!==N&3%vJ9MrG3%b~8@Pt(8BHp{#&^Hd%UoOn%&EG|3T6 zR2+7kygL|gN(g~otnaEmL%-|~Qj#MzvzwI!9h`KUEmKecGF){ZgIxh2b3$d3Lr#IxNg-{BrJ*HV>MK469Yw#XdmW>m& zqI7m9EK+OTljWlFgqn%0cO&r#FwR9mv*+=Ng5XCzc}-X@|Je6Gn-pBs(tQtsqK~dS zP2TEC_r5BLq$HVu-$0koEHoAWDM+YGlEm3(tRaISon%Q=Gn)DEUi^h+OpbWh{g7}$ zXeH{KK{Ai%?ps!mzJ!78OU5&ffCr3cQ1|c`UI>=wxWhM%#z-0DstKpZaSYH=)G?MtR5?_S+(H)*7?l-0L`kezFvl-(DALX0Yu>P?pLp_l%x^shogJ$ z6unUn9kj&0dOy&n=wzsqTIuGIcsQB_gLUY13M(kAr?_SS>nAmGU0&`gcPb5%)b5U7 ze6<1vdcG?pYs#400S@56B)eURug^+Z*u(dTt$cz*e6YPl2TZYOWn5_l{2L z>}c{oJ~13v5Oj)CVb-saC4KO-&A3}^1E+#AKXv}mZQPAihDDW+t2z)u^+GN=UH!57 z;6?$sY2gJ=1+3u2*RiYk;1zgyD8WkE}Dsrvmo+QQ!#mthnC zHe=!c22lDPxX(tnt|H=4%Cw~7)Id?1W06~sR_ zCRwH=RN_3k)vHH)O}z;QqDgl>Mz?l<`r!1LF()1^|MoW7H_A(L_W@{gTU3duXY}7z CFdi}h literal 0 HcmV?d00001 diff --git a/grammar/diagram/Complex.png b/grammar/diagram/Complex.png new file mode 100755 index 0000000000000000000000000000000000000000..778c55c49c75bd0aa8597585ff11ee8294133dc0 GIT binary patch literal 5119 zcmZ{o2{e>%-^YhRg$YH<9*GElWy?A-QIvg`v6Zneqp=KQ>reJck& z0RX0c#ZlIpfNSM|bYsIx)q1o(FWQ2)6eV061H4 z2XfOgG-r+E?ZdnH>BQ#Ib;_&S)X(Q1_!+L&Dyp@4vnyV{ooM{sB-LILR5}Y>$|$>| ztu%1aEOX&f=JyZxvIpldWj!~&b}!z`bTEtKmU~b1 zIE+Bc<5FpI!EIA}dslalo^yx77Q;lFH#9ZL^i^#1<-hbQR8I~Opo;~Mfe|XaT1`_F zP4=7B?g#?hvL>O%_H(uQsKNAz;RXKIr^B|}?@reT<)qr;;x5{uc0Q#gH5#}0v#d0k z9+XcF#S=qw4Xu&tV*?jF!&zIfS8vPd7R)|tiS>15i#$`Ev}iq~q$bIiY{)ry&0>_4 zIKCCrG#S&h{#<`L?S;2Y-tRT=EcG;`=&@g^wnH_PW}8HxUsQJm=Ke$7w2$zopb5qj zvZ5Q2T&3a$sP=EI3)iz|0j^}WeKc!<69sth*Y%{I!0ecUii_c69DZ>%XWud+8 zA=A#WA>d_5yeNr84w zR++L9EhpWYpOQn%Kdd~Ue?Ew%x+xOSDsb` zCN@r6qr&VAd@v9|Y%NGODJgdTp;1MUiu>qyFP3gsuw}6wZAapU;7jTD39NzwB>|Li zG8&$Opy|)V4xj4(~ujp!Kg5+KP^En7$x&xWnVx}Jc~! zQ??S}pVxM&I5VKEC~3LP%@)MS0A8D!M*s_rbu!x!TXH&RZ7=)VWKT?v$dMG8Dj zrmsZV4Ow_0GVGkr$`1V$YaKmZY<-?RN}4%EHkvsD8?ClsubjFl#g^l#QS3z>-I&wO z^V{obZ}(q}Vuq}{5|E1v-|7X7@0O-pI|+K{1iS!u-UpbP+FYKz8yWg#VvC7Mva_xx zy~Mpd>(ON$71A$8?w_;%PJk!S)syc|5&yCx3;C~@xLp91O+MDOd%tEaeV=Vw7;MbE z(hT@{YBN(p?UJFq`%bP_h3aHC%k8}yR+zd4JsYfYy!HvbZt8}X#RdI^(c=Ki6wOr% zB0nPL%WvFuE$`s)T)$jcn3caKK-)<*nx0*GH?8RI@D+=<-T8p+Nvg$EB?`p-gG;jh zR|^kbyBEtDumCh?!ss&97H;}W=)8<9;+;Haruv<$LSwR9==L4_-jWQszKZ!#v}=ro zBJFyR!Idj~pT7VW60@n2oKCpC-|;Hh<(!0HKwMSDL^aZozGbBcgAe)?<`AML+v>#{eRwh-75@%8n3Dbl zVfgSco@REI_Nf+^8h(oZO5@)ex7~ z2Re*!(Pf_Ui@BbA-K*Ezk9^{?{iLO;IeL2JJbY7Ow1btjEDlwLt1tI$->-H4+8*EV zHUB>0Q*QLmF?zpLICWo{L^{B)uRC6OS#Wic5v94x;TqOvNhd8rva+ef&-0C;^~nd3 zJQ+gK9eTkb4^{xzeNEDZwGM46)b}?Q=0EoYPUqewf8&-0Vo)AJvU68%)ZPfT*CMyh`=XR#`C zsF+Wa#go&MSB9-+Zd&a>dZRpU>W6KR9yz7qPD#otkEzI>S}q7=wBbfr;OS{kAEy@+ z(#$g`uRCRVgxK526qEq^{+X0^V)8Wi&xuERdwAKvUJ!IWb@}*dBZ58IGY>X}6a1vN z9XJ<^TCOUxoZla`ZB4I9D|oS^Eb{4#;?T9gIc!zv7+T`XjR?uH0@?drRe2WCI-omzr-(&Zcy~s`w8oQ!&!oe3>gJ&t`A)O_FzWuWjTQX zLa9u(xQ4SePOJOvdk5-nmuX+0Y>2s_3FVUUL27$tjOULi`hNXQ>s3FpG!PjAkrV=?M4@%#ZRr^vSwj`?l6mVdF~(^eI|1w^!|3r7A5WgJEa zkI{wuzwlUB=)wE5!r?~=-yGL&j}-B1f|;fOz532J;^U2p)SLhD!Cc)BMZ!lD2TerJ z2gS1RAqp?mzHx7^!F*8ZH^N{%9Mv2?b`2}GU_&f=G;@Zx&ty#-@YqIvwyl`<5ncjJ z6W05uu3*R(B|D7=*NvIUTdUaOcBFE5sX+{DGj;`|hWTz#y&P7UeNVVFYVs_LScskZ)-Xq`#o=vwJTvk0Ysk<6W$8JJm=Jx*jx433u4~s zpxo~W-&#rp2HvkYlkNmq5n?&urh_2nM-ZO$-<#S?Cx&kDkZl-ulWM};Q|Z}L-^&$5 zhk2rybK{xluYmM&V%U;cOC&C+!+T)KnRDc{bNK&)6H~IqsAC2mlM#56(=+uJdj2rj zpawuuMi<*UMPemX`aO>`0j$#0K-5>qUSdRLRb(HT)M=Ja4L)Z;qUduyV3Zog_iKzQpyKH z>}aq}#@2tOwo)YiY&{u>A^=e&snix>IijWJ)_6?oyl{g4iBhEYLo{7Ig}wq(>A!N7 z3-@)q?r?;nq)Fde-wu$0KYGlN^nSKVX|i z`IEjN9}96_3{Q7TWXjZR*|_It;y+w6fhE>HEsr8$MosIIQm* zlh|Rwm?DX!tPrjD9#-G}VK7;3JJh!MTqY=lowLzDUI4burvPCs1PGLo0s2f4qO3S( zaDG$3E|GN7USS9Y`*uH9vE5;ZR4L8QX2jAa;%w1U?4s0H!;ost85+4mlzIrZW++wJ zraG6QF|SO2P~B7$?g*kbmJt^u!0n2o!GbL6~!Wq+-5~d0td7QR2DGWH~ ziquKl7vB){=vLyAi8}|FMaV13nX$_$4r-RkV%8D-53kBWtEI~%tglIO@Pm%@3N(*h zGbnWJPhf@LhyM<|fht@R5NzafZX(p|RY z*D(&qL4Qn9=hdi>V?8iitY0-Q+WN+2i*(UPa2rRi|4blhbl!SI~AwV{CnSmJ!^rvFRxJ6s$^> z)XWhNXh=_^KHXW(a!{ARBjxmoe zVIe|0U>7A*z%gdneY2TDLtN|m*!|%`^f6PDy;A6WPz~U66sktLM5gWm`d+=(kAu?i zG{K~DfejVTFo6I8o|6-zl%yQE_toagaQS(79)dQ`7%3V}jcWgy(QtJ`+O2AASf%Gz z5f#WGH)kBb?DSJGsyJG^<>eOY9<#@e&rO{sNQS2|^Qd!Nc3$q`1>-mXA3OXtK+bR` zmN`y0XJammWQ*(M^CFyk7VCupMAuZR z&b9~wCc&h!F6W4{uZnYZGpha?*PCL-V>0H%zFm13{w~&mUqcQ2?ozHsQ6Eo^iqO8C z`#E9i+zLSm7k(K;8&-s66FVdRI-c>`Z^=kG?l>a2o#NAQ9;kg6#?K&fA*I|OC9>l+ z&h@>8tX}!TzDKWQKa-wHQSw4)D|MQ7^{;JlmfSWo=gJ?z%HHM>dh5PzBsR7pb5ZPj zQvE{bqcWl8unY^wE!CZOuhCNDQlrG@+fw4gvddrDvWwrI-nA4lLg+Y-+vPy8Hs6y$ zO6bj$OzEgg6-)E`>InL!SjH^Eo(;jUC z>Aj=4amjq*-Do0LVjrJPFa51;T6pKbVZjI2`~MdUPT%|w7U+gdLNXkDFct~HAISL) zQ`_nw6U41FWNvKfEJ9?fj8K??Teq879Uy1anN6zy<4%sVwbQL%U3Zx3?VK zJ*?1YEktkoRAW`)VuO8oja6c*(XGJXpRG)lcY5Ji8|s;;6Y8DLO7Hv9>U5-@q8oeT z8u`(AYTWI$GCVu1nBJTHTxL_?OWJG3;#)I|7*W$jNQ%?fz)G3kg}1_#%*NJyaH$Iz zwE!lpAVebnFu$;Q18&UrZy5fdX^a->tg|14ejJ@pMDzw9&`^V*ArKfe4`%XY%DPEX`O0# zl-#pVWa@GNI_V>jjB|fvz5CG3GvPK@g?dB>7KEdzbBSl?*$F~nR!_JXwvp}>23JI1 z8#;Yw`i?@|<-(zVi!j5H#G9#aV%qq5H~x06Wk_sC@>Zhs4aTd>%~C<;ND4vba`4>s;c9pSX8kmGV<sDt*5n? zk9@^7;A3t1BedS7V=&qaBDM)^pxCxjauW8t_henNl(Vv}S6$3Pby<@60&ZiP%)z40 zn+GsRRiF$@nd#GU77sIa{*3AEK#kujy>*kD>KfwBw5FIeoBFzI=S95&IVV&iYFMAB y-WP+X4wSN>;veH&-3Kl{s&o9QE>RdkJ$i!Bka71}oMHUG1Khb~45`v}j{O&f^c0@} literal 0 HcmV?d00001 diff --git a/grammar/diagram/Digit.png b/grammar/diagram/Digit.png new file mode 100755 index 0000000000000000000000000000000000000000..520bd232273085dfe16611d26176c696c93d7d9e GIT binary patch literal 1737 zcmV;)1~&PLP){NB}j)w>k)5k`VP5BSf^6@v?R2ZWs(k0wKi~ zwP?0TEy9hpTG}%gyW%l>PNZll<7W1pNW{d(0YrvwHtrXxMYOSGv4k8>+rB$gunyfw z&)5sA)oNl%*@wur!d4-n##-NA@?L0I*mT#jeZ)xNH9c@%~5e_AX2=w6&C>T;0}S>wPH2f z4}Q2M-K5r3Kf@)uzY!z#Q4{0;Jh)FF%oYnarlzAf??;=5yAA;uv$5mMH<_KT%}hK^ z0`Y2q3(fOltIbYVDhAKuK3Bi(A%sVibobf zKo2pNYeH?)lIe3JZS$k`S@MFJ`Oz_mm@xwl^)Jm9NzP@b>-Ru01Z)_R#G&~Hh}*$5 zVhvWWYn%g6#`+&AWTpgdt5!Kvv#B%^5FA&8vX2XHJY26006{bNOZ?rQ~A?qF=nUhYk)Tl zI5{-mFgsnFLCP@zvj#82z~BM}aT|yqgQZMwO;wDywxS3i9=%=Vmb|pITakUo@^iC1 zs^TUA|1McC&gYzh&*#-Xz{vS#Z*4`9x27rvEM%)mhH>gn*| zD-wbAo zCQ!H$Ot(O^#amN3`~ZR4wNP8$Vpy~)wWSU8 z_D1QIOYbFb+M+6UBF)s}drGfddUL?&W^gW^PoAlO;HNw8){dijXHL7Bbt^#&hnaCc z=TzTpWr9yK;@ipAA=KEe7Z0wry>4x+xOZ2i3|*rQ~l<|_En*~{xdylw{iH|_XXV_{GZ!7@z zxR3ww>o0Ogd%I{Un(1h7$Dda(Lza7PRT+TKH!WL~o}e(+{rq9Q$!IRQTv9k?x5t-@ z3qbxSm`t6dNGDKN)+tI)P#6mUZEY<_3eV+q$%-7fbC4k`G78R}>9=WOGE(<(k(z?) z^}vX@#PWI3(ecYxt`RLo758r6#Ir|_;O^`IzzUcOyw5AsMQREvV~z7;*O7wH0Lmc1 zBwCLanBfMLb-w5S{4G*PP#NpT?2Ic15HDJXM(%rSD~106I;eip?njaMD@nm7(K@uC fNGKMq0Ra93h(qX9qo{wG00000NkvXXu0mjf|CcpP literal 0 HcmV?d00001 diff --git a/grammar/diagram/Duration.png b/grammar/diagram/Duration.png new file mode 100755 index 0000000000000000000000000000000000000000..8e1d4c4e4777344cafc95ba15acbe5e9c30fe017 GIT binary patch literal 14123 zcmbt*byQT_`~H9+N=ZmaJBT2ubPS;kA|NFQ(g@NGf(+6K42?)g4PDaGjf!*#C_{Hh zch~RC=)G5OeAaiZ-|~;MWX_y@_TKM)pZ9s5cLJ0YqzQ1Ta6uptfy@KwBM=Ca5Cp<_ zcX?V^)rBhNqxF8CF&@Utuaa-Lvq#@&V8@feBGN||Thtx06(nHC%NLi~lGa$d=JFT# z^f(Hgz1B1kajI>*9A(d+P^MDWbc^O?&ef>!$w-?me;Zf(RV{z|d)ndQMlzMmj3 zYbEJ>Sdlq#Dha25|E1HkI_u^A2}QEUX|ZbyFv_~^?lc6V0-JaLYaZJbjTveyf)1&a z&SiTz{CjSszEa7i)V(WolIk5yh0C!wbSWf+-sj~!5FiN)_^1MYlILlNx$BF0v5qqY z4zHK>iPaCWRzf95*e;!Qm`! zAKH(O`Q#DUs-l=)HnC$_nso&MxT>a7W2}tB8@|N(6KjqfP-rA=+B-XcVygpiX{vP; zvP|i^xp`lR=_eV+;R84_gNXPwPq66>Zxwdd>AIMgv_*1xRMP7}s%NO6P zCI^GR)x6? zU@#IN(~<@byg8$Z(!ZAlZ|y?tyB}H7EjhbU#mZqxO|b1TJOfrl3*zPgFpmDlwzSD$#!u)U?&>u?j(gl2WR2(231Rph+uuInI#R2DBp5>RC1s2$nc8e zE#GF~nuisYt)UJC9AfIgo}h(7C?w=U2GgG#9gUd|wPgqXTg%zRMx$2{w>=Y-@EI7$ zz`{Is(0+Vb7&i*I0J{$igxeBRGk$`iDNO$G8A(FgQp;+W=B%&J+8!z>+)K{z_uQZt{ zdLLmE%v87{#ZLaBW~b_2@|jMl({7kLZ{BWoq=pc(*RNn8ItkR86d>C5b0p00If&Tf z>%kTcES1f7!wTvJOt0286lE4?J8jQ=&Uo>yleKf#gYu|0H+@F2!F^74VR4~3O)5Tr zFqSct9O9pE`NY4$V@Ld@PII2?LCuTaA(t&N;K<(-J284YwVcY(EZ(AiW^YP&F8kza zW96QYw{S~Jw(;tx54M~B%P-bACw9IrhvJv_)tDD8))Z3YPgK=FC|S?6(v4U7abzA^`BoCcvoNktqckcwcT_4u&KD#-USgOYjK>%O|`pJxZ<8_u-hyZ zWR9#tSSYUwM)QPm@8)O>5>9xgn6)g1x>HdWW?F5yp73q zec`dKj3t=@mk`0S#G7U1A}i%?914O|?E>HFkqZsu%9?YbOJY@QDPwLx*4ohAV_Qu&Wg+xcLSRQ@FXV};6C%xo9SIms25I;FT@i7mOG~A#C=zp zYko6l>#1&1d+vnAxBy}M06#l?U>;&)_HE4bUa>@7{G*g$S`4wFJnmG{+Xnij>o7e!T7=y=k{T4xIONLun9pHFXG$xN;JKB zsbBYP#q$jg`)MyI8m(B42uTc0eIL%IpQ)Onr>`A}vKq@QG&Lphb@*;xHLLotLXScr z%p;U*zw%Cf!u&UgSk%PAt`_X@B>~lA0DQqIGQG-#!EAYtThuB_tzH;pwtx-E25rtShDjNq!XUi zr(ku`E1flb49U+jTZSYKv{JKHi*$7wB!;}sk#PR{r+%FRy}frljE~!n^i+uHUZOd#8$Udy z>F2|*_{QxZvCDZ?*4Skf&L0VK#tCq z$?-T}V(uRu!qXRzSXvJ;otY5PQ&~gkwX}%0Ag%1h>%Zb{96}Iy);-HAZjK1)A>Mc+ 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 literal 0 HcmV?d00001 diff --git a/grammar/diagram/Float.png b/grammar/diagram/Float.png new file mode 100755 index 0000000000000000000000000000000000000000..e1c08d8a34d4ad2bb8264a9860d4aa3b2acd40f0 GIT binary patch literal 7360 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 literal 0 HcmV?d00001 diff --git a/grammar/diagram/Hex.png b/grammar/diagram/Hex.png new file mode 100755 index 0000000000000000000000000000000000000000..5c0466792302bd9acc375199ec5567ea59955aac GIT binary patch literal 8628 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 literal 0 HcmV?d00001 diff --git a/grammar/diagram/Identifier.png b/grammar/diagram/Identifier.png new file mode 100755 index 0000000000000000000000000000000000000000..2921308b3aea3258487eac1b0619e41538fe1d7b GIT binary patch literal 1590 zcmV-62Fdw}P)85U0 zaFZhQwlj(*adt&lwucIP5d?L}9_HruFa~4bWDK!m@3S(-&4rL5v zMXhVXR%>l6MeKyN;Mi=^oZlXr*qY`~Z+df2kN!SSw&&*jel%ZCZtg$AVzRbvWh6Vb zMLSqcj3(3Vh#5>6cQi&P!wtQ-arLh0ehSER188o4GOQ-wA;t$pc$R@)0*^8}S z0~|vrv?nw4d(w1Ifs3?mh$=Tes@&Kcrh5^!QEL)=l^Y+8v~Gx+?j>05?P2A{`;?p5 zZMqe)Fv?BrR&Klx?d@R`^+P6#h8tJBMNCUFw~~iV)EEBAP5kv|=;>!(cJ5Ct(Gz#C z1zq0>x*!0Mru`hkF%z|g|2TwWq-nqDK7z5fZDrVvk6|$!0TF(oup1x4+P0NJ7Y=*{ zj%2f2iO>sxgRU*=hKbM{$!50(T{!RnYloXj)9s+^iuxi=x3$B~LDvmDz{F@`l9LpV z8YYaJID2Z~OPu2XS_fZO)Y&-jSOi!I|44v^)g-{eY7$^!wFc7-EL7Ot)Is1*(|y=T z1DB@K{TEI5u@Ke=n84fI^&1bj#y6X8#VR8MDcne2?FJwLHtqR%8+N??zUelsa=zyb z29tdq%1s=yc_o&8;KvvN+W_u%ptqaurB)JPVKoV`u$lx|SWN;f{L%yicajGlU)u7hIUjvcOr2EgI#C>Yj#%sd# zjdrHq1MsOY^LbDzC`T_|ulSm3djbBMoZRcUd^zjw)t+)i z%1!K2EwKTRJ`JWQFnvVp;fr~gmH}9npYRUYIS4RS8n1Olo*Yh{3%A6Uvkv{D+{Ble zNai>O2JU&Cryi=UjK$-HpO0R=zMxgL+`I+VR`8%!^qGhI=@>$x?UO^v!39lNK390K z;zF;=Z})I7l_%sgU@WaPuH5)i0H*-@173s70HA*a(5)uJ-EiZx2B~X4QxM?$wZMMv z6Z=`WUau!mhjJ5#%5TBlC4PAez)9qIhjJ4;yw^nMoUqKz6+rwCnC50M&#%iVmjb%h zlM`bAA7MC(z#YVhGGPUv=XHmx20h`mpsin~>a}a2fkvwM_aP}qgo2;j4F%6$p+1A#AO(y31>Y%;G; zLocS^x1u{~=H_bFE(A*MLO63KARYue`!d6+^_g`4S%A3mxI7}Nn!>(uF`JM5`l@`c zIFs%_n;A~62Rr*fJeUvp0}az3{e=7kC05jG<6^eruohO$QX%&8Nl@-TfxSHCiu0j9 zH**+`q6At_Mowh-NV$owSNFVmSZ*ou=6uf?{BY_-{wMCPvJ2rm-%ey?ZY95~v}Lt% zA!@O}ToqPixgJ>9O#&>eCIJ>!lK=~=Nq~jbB*4OI5@2C939zu51Xx(@k$5^~dLV_L zd%iW@hE;}=eWqLRh4le;z?X)SSB~6BUhSyI#qDBovwj!iemZ#}lTLLJ=qJ;?h~Qbj o0v9;oOB#H{bRRY%i=Wc|KWU1o#u{gLEC2ui07*qoM6N<$f|~UAApigX literal 0 HcmV?d00001 diff --git a/grammar/diagram/Integer.png b/grammar/diagram/Integer.png new file mode 100755 index 0000000000000000000000000000000000000000..0db9b7081ffe97882bdcb1039a68189aa50abafe GIT binary patch literal 4462 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 literal 0 HcmV?d00001 diff --git a/grammar/diagram/List.png b/grammar/diagram/List.png new file mode 100755 index 0000000000000000000000000000000000000000..e486dc2201f44744c621790a283955c13d5dba09 GIT binary patch literal 2595 zcmV+;3f%RHP)EoHi;Tisf|QY)S^&{Mpe=jSEz~-s;E+FDhLs( zqKFi#en>?MEtQghfr1?{#`x?|z$OM$8|>Tj&D%eWF}BZm?c2M#UC&Rl#O~a^^Jw)x z?9ATmI|N1Yl-CpnVgt*ChR298OST+0!GznIz}2YkKZ(m{ZpzlE)P z8in9r541P_Tec=I;GbXpHBF-*16&QC?^{;Oxdz#q6dor~R#jn`p{s^jy;-&vuVR#h zw-{#VYM`vDLbeu#m#MAQ4KsAsFvA;UOYu5}8Qx%+p|hy1)n#jO6F%7j+=L!1_%1Q! zSZxivWoz*|@$SxxzPzHRwf=z|(S7qjvh}zHO|}3xL4vli5AVp7UCAv9oi;=SZoCmP6A-rTBZ?9gp+|-Y=vwgZb2E^ zCPL$RBB76K<>3clJ?+wvDC%LdaGz4Y>^{ zL)%3eTA}a|%Fqghhfs!AC_IERv_jz_{IUg%CQ!P#k_Fcii8&0-Nc0(ku$Z+D(x^V# zdafzm8l6Bl7q2AnD%mn zD$3GyBjLh)5wl`_w>$f8w_ebEPb}}@Sp2QN_^rK&MEcV$eX0<6wOP4ncUfqOY$=Y? z-qeW84QJ{AxW~{Q%0KCb*3Csv`Hk$O1?A!F%4ffqllOSJt*_nx!<{cL=QjQM4?n-v ze16A(nf+`m^2KK<73?4jLN!?X{10TyaFk;o9Yk}(*_DPFe$@?kYOm#=)H!r^`I7bi zV9v3nTXz+%c==7c7jp!8kC$V`58upQx^-8fKalg!tnwwBQXo|^2?$sXaGeIRMz)qm z;l=!uW@z24UP5}-foFcQH>apN`K7u=)hqDKj=cuy!9VJyRnIvfQQ={{ntzfEy~$@} z&p2HB(yp1g#q%ADnp->{%U=2!>4BO1jglufIu=;rF}$09QVbnj(DGu@qUEz^SJpTl zdv;|F3age9G<=|&)!usIq;Lc;=bscqYXRf6@^5UJk*fF$zxh1;fj|~PI}B`6RaxB4 zEI3?A)yw&pc0&issw({cKwj?Ll9ct4JGTTrJqQpN>ZKQ7bRs5$y9t!Td*wk+SQOnELlbLr zg9Sx_RQHoLyJ+wqj65gG!TL0D8o<(I<0vKtF=KgD*FSeIpgZ%=E@@v_!UV%-1QIT( zOT>}Qp%KUH4%w@{o|QLThKhx@3_!EpJ`>S*rLo;Gt3}XUV)jSQMv{pogYByp;_c&? zWXqTodReHJ;%IkriyXJ+pItPgB(%{m!|O3l@wbyD8_tG&3AKt7^RKw?6 z6K!co%e*t=7~f|w%Uv(@X1AzD|fI1_p*TH=F!3piOrz!o{A>B-T-MKEo$u&g2#^^`jo5VjUw2vC+oecDCFeOM!JQah+qmwwMl(*5srfgkYg7fB zu|9if$PF7q?gU0P%y88Mzb0X1Me;oSaLmd1tR3UK@po+3@(7<z`6tED{VfaL>-^%>S6xkK z9FN`AbOv8tJPj7{!4rf#(JL3G=OTYaLcE-RlIn7Q7`N{AY&^B^7yZ3A+8vA9d!rro z``$pT@9y9ULJxypcdP@2NAPa`N!vLi7HK@oR&>jWJ=?gmG5L~FosFO4#GY*!h~6DO z$6A>Ns=>bDC0?03^ME2}r1oIPDZt3s7 ziF;i)(B0MqVMP(QEHDpWHwNw!=sQEJXEG7P4DVbJTC%%p=}OsB9OZJu8C*R5>HQ0zB1sL+>)^9uSwlt>;7p&CqHAUc;c3-Ys_E4nqUp z$-j)*CPsAM{IAH*-s`8}JwSv&L?G@5X&T1UNfZO|T@b|p?jrKlS?Jj;BF(A$k{F`hYQ^BqI_kXjl7x+eJ)f)f+002ovPDHLk FV1g`WI1I0UX@GTJ zNutmN%P+H-y*9$AE z3l)#*5iLz3$rXA;i;O?)AAi_&U5RQF!yJizHy(Yk524V6Xl=q1gU8pf+N~CyuB;6f z1=ejXE_qOI{HW(TNeqnofWA^XksX;UACUxo}(+aepX!F z_^L=L5{V<|Z#{>L2fxw~jl4g8>+*3?I$WY0dwh+{+}@IwHJ^N6TCuP}lnjZ)Q507% zz`U2&xbB|)^Bt6y-qr{2UlE~0P-58VDtuw$@0A~ZKDXSrM2rN9#G$AqWvHlGOnv{H zd7Fx#zY-nlyJ5Em#cqcHP_U?TTXn-LRaJrIBHT+Pj;AWH9CPYd5ELBs_!^hl?O#Y@ zP`v8y+Be@V72#VV$rl#C^#R;oZy`ZB0c^Cjy0<+sco){!x!vBflKC}uyOv1uijw&? zaCr&<;yE7wjcs=NwmmVhuBn+1HH!g8F@bm6>DTteK&;F!sI2zd?N=hn zM+&Q|CqFRCybJ5=?DA`W#XwM9s@L&Tom)0Hp=EPZ-r3G3`J(e_rm$?z^k>$URd)Gx zt2IptiDtxeU4?X*~KfVzTkS*-`EcD zNrmyc8&C!T2AJwV`eD`I*b7#6%w!y^_S|D!q1g!7L>npIZlcU?ro&33)lQMl7~{1W zby`(SX4(_kOXfFKX0y)XmnR!vB72G2Q}t=|HJf$p4AP2MQhmW@kp3;8&jV8_05Ev) z@oNlBrEvzQG7gh@d+sZU*wH)L&XEneI#qo<$BJ>{$;cuzin(IdA!b42&5kdQ(Y`6#Be7y2$X{O2pA=1 z?W(V-1i&GHt|NsCf`GN@j?bwVz(gN0jQ&%pGSabU{BAbJYj*T@3Zl1bG6?jV>I;5q z-Un-+2*M}h6(Ak~)0441MdHMeJ|%!&o=Qg@RG5xot5Wi5BA0hT0B5bkOf=c8KUV1& ztDSVdmyKkj0|f-V!n{{{@s*6kiGg?+KrdL?0dNC=uamW>d#yqB1$SZ=Rl~D@Q;$^H z-odk>=UIfne`%rCU1ohI>M4NO zyxsY?FmpvNk6cbTs>hS;oIYKh*&dhE){_yTcej$qD{G;vr?jrt09e@q;*P20F^zlj z6o4>gAVCFS)t*}tm2tD}pUDO?D<`c=O{+1?wp7hTd!}~MEv4g^rJ~8$9)Iyt#Co>6 zW8)msidUXW7A?~i1XCS>%E|5tPO2}sbI}`{zFE?|JyTN>!8koovaL_Vcsu|288=!E zO#R1uEl(w~G{MQObzeJS*3+t8@@(U@q>zg_FY$JrHeMqc#%rvC$l6_rlp%%|)xsJ8 z$3HJ2F~^BPk}FN3#yUQ9Pl#Uu4^ino6A${scKek`@{#d@ej$GCf9zV(&ku$i^==J` z#IX!@-;90Kh!xw)2ip@v`1bXVM~}ioBR$=AyOv1uijkgfL?hGho(VJQJ$CsP@|%x( zSle^!_oE{sd`l$x!p&a~A*#)sb(5l>x68MX#4yph=wN@_`TGOymqfUiNF2{V`z74J zaS^OXCl?Tg!ndz?*yUeHVgQauwXxw1=l6d(G17ZSj0B0qp^Wt2!G--_ATmBWxqvXt zpgneK5cVc2eehndyR5qH&Y9mfJ@?`wDz082N{U3{82Ve!;p`8)5Y@)xrYBKPB(!8J z&}Q3=W8uHXrJm_piRGWF(H3Rn|(3>pKX>ms4HvmyityT)Kd zAH4UkUS71%O$B3s-UK27@dQXw;2@n6N!B5XfOr%{5r7AXTzfSPZ`MN{!Y2DTreZMS z^)C&u&MS%ZxeUw|tw$os6$JD#D}AKUg>csuM@$R;ABmmni1e~2ZvX%Q07*qoM6N<$ Ef~$0$EC2ui literal 0 HcmV?d00001 diff --git a/grammar/diagram/Numer.png b/grammar/diagram/Numer.png new file mode 100755 index 0000000000000000000000000000000000000000..1408d6c1dd331c5429f523485fab1e91725427e4 GIT binary patch literal 2737 zcmZ{mc{tSDAIHZ!mP{LsXv9q-8j~m~V=yvO$dDyNgOnvpvyhM_QR$kDn`C53$TCF4 z*taZYi5Po!F{ZK2*!hiq_j&F=_de%2=XJj4Jm);;obTuTKIe&BI379if}ssZqafaHEL5iQRw697O2ZG_ad z@S`w?93m~I4-3vuYnS2FYaV$ZY>{|74M(Ek$!G6BnxPdf6y6$&-5=V7r3`}bWjxS4Wf#F9q-df z&UL)grp z-%qN8&WGH`$fN%im+D%{KOUnja=(@X5jT8M{l5~dINA#%?Op-%KJ@k( z;ty>1Z4-Hwmv63pGvtd5I^2OCefdNg`(arHU{mQ{OKevUZ3uqnK{)>+-`fA|pqh_B z2RdX-`7L7pd~$FL5w#rQ{iR+frN(qSX*rF#?Vc0Nyx#uVDY3W+J{&N3y>$ccAH<-{ z?Fh^&oj7pFxE+z|!1E29vM2;lTwa<4Td8>ZrL6@AU(R6O7j|K|mM-9qi8E_^Wm`I(`;Ia}TEy`W4M;sdpdldo9{svZco6I>PwzRv@H!VgAHnmpZkeOH*& zQbaoRa3MR9jQD+AN~Y615}2ck9L4`B+WEwwt?%I@aIS%om^$mmNJKGz5rw- z?rI;u41|`cX&E9Z|Mk+fPDsTnDiOOK?1t!t-=sNDycu}o0@RljJOupD>NHx z6^Oy*Z0Ednj3uz>r0B9ok=jPr$3MZILmEo#btA-Z^dDR7t%1U$)ZPqht*1T8D^^o! zGqKN$Gv;nK@F4T_!ob<*Zu?p&pUL3));2Kipfg;hy@4$gWx8a}I` zlc&Gj$f*BKj=%eqDfR>2>g@~P(;7v><^PghpDRz3srMM}_l!71JsA-ut^N$VFM-HF+s;=0G6+qks11 zv`IUve^?Y!5+o#mz?pW%+)VGA17$DZ5@-axV87p&7z5?OQoH zS=ik&cP)hCqYa)-T2Xe^2WW$Jqf6gJ2#hUY@VJ9b5B^%T0o;a|hOJL*DJ3latJE7d z+T{Z0w3bU<-8;(nrg>o^?$5{{5ohrUuXYn&#hKLVj=H0OiycOqihJbaYY{O@T#U(* z{P{_5n>SwESeKGDERgB$e$LypcdZH+uBcY!uqW4co5egR;2$&-Z4ZV`QUJk1Z6}zo z&H|O4y@3FcaWdK_`s$GDrl*C*(gQy&|F}~)^F}QASmTiO@R-;%#%6uUj(ED5jL7;a zEJO_F#us=TU7l~P1*m~WQoK)Bk`Yhcu7!pKbgKLQORr@9p6p_oMnkizqPK2xk|Jy`|C6M!+$oOI7WGbRIAx2U z(2@9PA@wxRXYqn-!P;4?alBQzmh>PXu8Z$IVD9C{m-eZ2R!{Ia;7_N4Uu<``l@(-& zhg~@nchBL68x1rdkV)_IuEO#Qb{X|1-h>|*6#9c=uNY;Y|2=XPPHLrM$_oLT@8UA{ zWHDe$cV==(GsFW^JgU^6=5};K*;7qh?HkHz`|X$aO?~eWP=i_z;iaiA4zpsWea<3$ zM(Hrpe`8`STR({gTI%Hf*s7yn!{y#&;0Zsz1O zNLR3Qx%g^o-NhxQ%mlOy1PMeR!!S76SXPm&4&vTYu^PS=nMY->2e9r6~Vc|qd%TKQN3!~01#wXWNHKedJ+ z$KCszFlwEyWc`Ji-=Fyx9@9V%_OB?scc|+P*TjRZ>InxGDyEj0g-C}!Te&lxSL3h@ zxX-Nw?k#y*R1>Wp8^TX}K<>P&>e#suaR1ZYnvTSR=Cgt^SFp0p;{S!_2CE1-0itl2 z14XjmKrPeokf1kDP`>I z>e2w?Zql()o>ETZzgsgg^pwKV5-CY0|~h7XX^Ytc_@aq=XN8OuL`Yz_Q)kYmS@W;u%$l}j+@`s2RGSk36u4{vxv4&GCcnKne?}N z-&^R$%FsX&7329e8@rlu;A*CD7Y=gLi{A;FQQU>>@U7&$u4N7X%;UZ|0Y(NUNUGk= G(EkB6Wc literal 0 HcmV?d00001 diff --git a/grammar/diagram/Object.png b/grammar/diagram/Object.png new file mode 100755 index 0000000000000000000000000000000000000000..eed7ff3d0d4c184bdc3b5f314c4011a6d75f8a4b GIT binary patch literal 3124 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 O0000(oANIGy0z<;aVTK1ZmZux(WlN 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 W|5P>dzyoD=1C->{WGkf2g8v69N=eZG literal 0 HcmV?d00001 diff --git a/grammar/diagram/PrintChar.png b/grammar/diagram/PrintChar.png new file mode 100755 index 0000000000000000000000000000000000000000..a9de122b6c495785050e1de0dfd01d08679a1ad9 GIT binary patch literal 3074 zcmZ`*c{o&UA0831hH5M^%GfpUG?eTSFVhU7kw#{0V~es6VyrE;EMq5Gvs5UOWyYRm zP(sMArmTZrYX_bMEK){r))Tx_|e5KPU2vkv=zvFb4nt;D#IMnliAE zaerWEWjs&VUaw~Wt1Uub7qEYD<(|sl$SN+?PUz;(P29gPasJi&>oO>r4=75s!61+@pd*s|B%{G) z3UzCq)1{bj!zB~QFHA5Av=gynA98=_7hurSc&@XLU#b5DWyxW77&yY6T04uof zLUUho_yNoWXmo~(q<--N2qLY<&oy#R-TAyz#%q^1sZQrGQl1fIiX1{mj-i#i6M5?1_! ze|Ukn*EKU(J!~$ON#lfDrrMzI1N36#knowmdmUplMof1UOatwOBQ%+hT^V75{}6P` z+yN@louAdNs{-C)K`HB8-&<~gu+{1=LrAx5?BtEDgYB5ZlIlKpGBDC*!|f8$ikSk; z^;87NtXD3&eXgndJX58{f;w*jGQAiOI$!-9SfIW505jy4InDKslYZE<^oK7HGnU(M zsLfEMG|pvBnaNKmo)G0=LY4ttSB{w+j=~QeUlCBS2>YbPWrrzDZ^VhqUmYARlx}3O{>p78*^OJtXWGCh4Xn+zJl@GTpK{_R5UI!M! ztSdFUH{1EqICasm_0{98qSfxV?SEbK+K#_C=}u5Uom_G3dCX2XIz*V<@JP~@`-b{t z9p+yMhT57F<`*ni1pTdt{r6QI3@}79C-v^`9qar3lIW_kPK8M}0rq@E#Z62C z`n%Xbyqu4ogU!D_6wKEAp@>N(sa|v>r}xmR_eg%-ooS|R$z5rWh`jaL>GvO7g7GH& z^P~w78fTvk2w|UmJNm+j$DwELG@!>d+e#*Y24CA#S#+*%lrYQkJ7biQ|I8Dez{67~ zxLs1e#pSBZdFDEG;fE+;+SXON8Pz9olosQ%L4dRuxq6f~@P=g_RrzciDBXN)@U?E% zUWiz%ix*p$nAU{c*<#Id<><{!!(lvvC&QVL6-rfGjAOcUJ?~wR%p;|k3#3T9jd8Xj zDhaQ7*J#$sGIL6+_wX=!o;6|~2^_#`rsgPw0%>rWV-iwObg5Wu z{UmsEaq(W<@z)N>OYPj|e2R|AW{|X2Z*`tAHkF=5XS-z0#R{%*VLPYqKtA{ z9PxW!a+T0PM3DIi^{##Xv*n;2{N7MYSl3}iV>Vo){XFzx-K|MG;hBw7Pj^cmxiT#N z)9Js30`UeSS1zLBfS@}dBp!aBvU6311aAGZ7c(MYnu;?CTrS{}N~00EqPL1XIRt)p z922*)?J5wknB`8Tm2mV1gmR@$Vt~vmb!F+F%kN@}fK%T3h5r@>B(N+q2~2@7=!Y}t zzxq*9D8nN=|Mn*p8iWKEC9Fxv_xFVZ9=o4a&GvsB=k0#PN|W8wSgwM0>kbTxv9g@*JC0 zbuNg?`h*s5@2g+<65$DD!w`oYp622H-omn@@bD9Dv&)^Yx+dNv%&uw6my*pKT-p`1 z(9!1Kg-+&RQM`=PlbEpBtWgqv=Zrl`2`)K-~68M8^-@?d)UHxk%m=8K+*C3`&r#-cbj3)J;!*2}z?+0|fRl@xnn zo=7w2xzZkPK?uD3(%b!t1fj3(qfyvM!>zT1?}>vT(j1YcWocX1v>Z`E7@Jx76u3<# zZGUv|czMReQ7h*Gb#$Cbx&wN#QOIYhVzSqGseX1;Ywxuc3DWDLFpr0er4(0!qN8sC zJDMOAKCS^iG-}UEi0%VdRXbtM%zV2J91TS_MX^)Ai6;2}oMgjsE$%74bRY@5CR>8& zzjJgzXCa~|dJ63*xTVuZzZYx9$SLN2(YQTT&;!EWpWP*mU5CArVmqG4c0P}#*t8cu z^OKYQuVDE_>CezP80e*+ysv~)AQY&7u$<#TYGt1d&{-yOl}NzK_nA*TZQ4{ZmWMKa P;Q??xBi%9`>#%J%00006VoOIv0RI60 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 literal 0 HcmV?d00001 diff --git a/grammar/diagram/Quoted_String.png b/grammar/diagram/Quoted_String.png new file mode 100755 index 0000000000000000000000000000000000000000..ea8b4f86342f3f85de0d9127982390b8cb8df6bc GIT binary patch literal 12497 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 literal 0 HcmV?d00001 diff --git a/grammar/diagram/Symbol.png b/grammar/diagram/Symbol.png new file mode 100755 index 0000000000000000000000000000000000000000..a00a4a3dd841f51b7939d93a92f66930ad5b7b75 GIT binary patch literal 2079 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 literal 0 HcmV?d00001 diff --git a/grammar/diagram/Value.png b/grammar/diagram/Value.png new file mode 100755 index 0000000000000000000000000000000000000000..7efb8d3957ce5321a44d6b29a3454e9686ad8263 GIT binary patch literal 3599 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 literal 0 HcmV?d00001 diff --git a/grammar/diagram/Variable.png b/grammar/diagram/Variable.png new file mode 100755 index 0000000000000000000000000000000000000000..eb04e32226e057299524343a580c0b296fcba93c GIT binary patch literal 1883 zcmV-h2c-CkP)+AYR_ErqRZX?M0eKM(D;+wE+3w>$G@TjrBA>Ac^}@B3!*o!`ElzIi1S z819-!{H*a~MA~A8B@z& zdl=#Hh*@1H@FvCI@X@lsO0y*96*ogc+-SRe5Ws_FbeGbw&M6mtx2U$M$p6d>#ib9` z=9O;z2mOEF@P)qr;=Q{at$Rk5qGw{^tG^r4VI7tSR^jQLFPoKqUUBBz6X6xFVL*6ArevwGLQinXsE$k*gkD1E3FYhO7~w0hUR3a7jHS8wggt%fDH z$qNED0enz`wpo;>Wkz=?jVsCJJ-*@1!^M@2YfaOsY+Q>Cdk)Lw@_g;8so!CmkWE2j zk1w{JrC9UQJLGaNI3`y=y2W%sn}Wj)1=~5c)Z;lTbmKa@f%kS1cxxGZR?uw^&!s&K<3DPNGt3$NDjdch& zx_eoDozv+q^)0CuEe+q2YB*dTfVjd{bL~ap9k8(s;YMdoT2rR@Maxc5TD<~b6chMe z%Q|5r9N|VMmX>%HRk}s%Ch(S5j{U+YbuX*0v#K99Vi8}_39>_W=k%w2Bk`72O!h^S z)>ze#OuV*nh0y%3ZCo+YX12B!IOXcV77%G_xU~fUr|ys`E|QjQfhpU~U$y0v&P^;W z$*V)NAlXEpp1UqgGgT{jJ2ft>UDtRvX_%e=NLHGfLE0fO*GY`eoPZPo7+|UcX=$S z$ka()V}X+7gaFe_akCBIvMn&h(5dE5Z09+Qu@t=upKPvl@tKAniS10EAerK`(Ke0r z{)3*ulhL2OIFXP~fZ>}dE-L{afa3tQBMZY5P%v}13AA2Tn)c?GqcG0L%AwF~wX?bY z1Z#sDZo&Y37XvcnI3U{BnpnA1j}Pn5CWF^*84F z>KmPS06=2s(g5JYbn#q=F0#_}77C;a68Nkd4!)gF4pHYb7b|uqvbp|a*Ei)2uIc_u z8oEGt=ps!^K->YAcBoxJzZz~m4G_;9H}?x^>KHtEeBQDxFz3hTdSp{U=VOJ>NP7RV z8g4zUb_M-lX$Ocq#&3oRoMS@{!gvCm3Y{q~hWTRXhPPr;7u2{KRYmJ281C=2O4`OkESS`# z-5R;u6BVtSV7RZxDrp-F5ns_I?Ls6hWNjf``nxB_lq#`gm-hz*;YN@C)!s2W8tosv z)h${YgSWa7k4>y)6lKzG3GalBC0O##s1{Yje~Iyq`0NxLAr4>s0d ziP1+ommlr9df`rA=&~@)zR+ddxpoPx#m5>5{n5YLJA`$>#!@U=*X5hIdVgTcg(Dw~ z4BozJy4v9Fo49ynKVri}V-17>2EA{(uuZ{W*-BlpaPSJN(e39C?dG1~AExQ_1pmPK zL%T5=9hz)p>Wg(feAF~in}WmAMMj4^FP(DL)IWde$o^xCY6IkN-UXx9U+n+;20|^L z<8EgVadmPrT?YOGv@O6laYKY`<^-0nrW@;O|B`B&M(%_zpSbtQ8?q$3QC96oQF#?S zWx2iSHWKN@{l43Xbcdj+QN&dh%#(g*V2D6F)o|MtBhMim3gVY%$e_fpKs>896>@!A4Ts1G>7J>w%c)FAtDwF&JUtBLsDwV_e@N8a^9qiY!;MQY9p3sZRP_%PfjLf39yi@GzFm&JM1f!egh4FhHFGgL~Jr65y5NZpEo^iurf zCYI$zUb~1aD@3-ON3MF1a!_5X9%Ngi>a{hh_0vwI^rCX|ck}Sd+0D(HK`x&`2D<41 z&;i_T>dgs8msiM*=A2lXrqcPn1g_mom1I*NI|~4EoGs=M_ohSC7G@)IGUEZ0v+(H) zaz{FkOEahwRV>8;VjvIu-Uet{_(he_NCuD=i;is=6{WO_!+hAN{|A_O2*A?n*M$H8 N002ovPDHLkV1n9NG;;s| literal 0 HcmV?d00001 diff --git a/grammar/index.html b/grammar/index.html new file mode 100755 index 0000000..8f8369f --- /dev/null +++ b/grammar/index.html @@ -0,0 +1,701 @@ + + + + + + + + + + + + +

+ +

+ +

+ +

no references


Assign_Hidden:

+ + + + +

+ +

+ +

+ +

no references


Identifier:

+ + + +

+ +

+ +

+ +

referenced by: + +

+ +


Variable:

+ + + +

+ +

+ +

+ +

referenced by: + +

+ +


Bare_String:

+ + + + +

+ +

Bare_String
+         ::= ( GraphicChar | '\' Char )+
+ +

+ +

no references


Quoted_String:

+ + + + +

+ +

Quoted_String
+         ::= '"' ( [^"\] | '\' Char )* '"'
+           | "'" ( [^'\] | '\' Char )* "'"
+ +

+ +

no references


Integer:

+ + + +

+ +

Integer  ::= [+#x2D]? Digit+
+ +

+ +

referenced by: + +

+ +


Hex:

+ + + +

+ +

Hex      ::= [+#x2D]? '0' [xX] ( Digit | [a-fA-F] )+
+ +

+ +

referenced by: + +

+ +


Octal:

+ + +

+ +

Octal    ::= [+#x2D]? '0' [0-7]+
+ +

+ +

referenced by: + +

+ +


Float:

+ + + + + +

+ +

Float    ::= [+#x2D]? Digit+ ( '.' Digit+ )? ( [eE] [+#x2D]? Digit+ )?
+ +

+ +

referenced by: + +

+ +


Complex:

+ + + + + + +

+ +

Complex  ::= ( ( Float | Integer ) [+#x2D] )? ( Float | Integer ) 'i'
+ +

+ +

no references


Duration:

+ + + + +

+ +

Duration ::= [+#x2D]? ( Digit+ '.' Digit+ ( 'ns' | 'us' | 'µs' | 'ms' | 's' | 'm' | 'h' ) )+
+ +

+ +

referenced by: + +

+ +


Numer:

+ + + + + + +

+ +

Numer    ::= Integer
+           | Hex
+           | Octal
+           | Float
+ +

+ +

no references


Object:

+ + + + +

+ +

Object   ::= '{' ( Identifier ':' Value )+ '}'
+ +

+ +

referenced by: + +

+ +


List:

+ + + +

+ +

List     ::= '[' Value+ ']'
+ +

+ +

referenced by: + +

+ +


Value:

+ + + + + + + + +

+ +

Value    ::= String
+           | Number
+           | Duration
+           | Variable
+           | Object
+           | List
+ +

+ +

referenced by: + +

+ +


Heredoc:

+ + + + +

+ +

Heredoc  ::= '<<' Identifier '\n' ( Char | '\n' )+ '\n' 'Identifier (same as opening identifier)' '\n'
+ +

+ +

no references


Letter:

+ + +

+ +

Letter   ::= 'a Unicode letter, category L'
+ +

+ +

referenced by: + +

+ +


Mark:

+ + +

+ +

Mark     ::= 'a Unicode mark, category M'
+ +

+ +

referenced by: + +

+ +


Digit:

+ + +

+ +

Digit    ::= [0-9]
+ +

+ +

referenced by: + +

+ +


Symbol:

+ + +

+ +

Symbol   ::= 'a Unicode symbol character, category S'
+ +

+ +

referenced by: + +

+ +


Space:

+ + +

+ +

Space    ::= 'a Unicode space character, category Z, excluding \n'
+ +

+ +

referenced by: + +

+ +


Punct:

+ + +

+ +

Punct    ::= 'a Unicode punctuation glyph, category P, excluding those described as terminal characters'
+ +

+ +

referenced by: + +

+ +


Terminal:

+ + +

+ +

Terminal ::= '['
+           | ']'
+           | ';'
+           | ':'
+           | '{'
+           | '}'
+           | '\'
+           | '#'
+           | '\n'
+ +

+ +

referenced by: + +

+ +


PrintChar:

+ + + + + + + +

+ +

PrintChar
+         ::= Letter
+           | Mark
+           | Number
+           | Symbol
+           | Punct
+ +

+ +

referenced by: + +

+ +


GraphicChar:

+ + + + +

+ +

+ +

+ +

referenced by: + +

+ +


Char:

+ + + + +

+ +

+ +

+ +

referenced by: + +

+ +



+ +

+ + + + + + + + + + + + + +
  + + ... generated by Railroad Diagram Generator + + +
+ +

+ + + \ No newline at end of file

Assign: