PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/usr/share/emacs/26.1/lisp/cedet/semantic/
Upload File :
Current File : //usr/share/emacs/26.1/lisp/cedet/semantic/grammar.elc
;ELC
;;; Compiled
;;; in Emacs version 26.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\210\300\307!\207" [require semantic semantic/wisent semantic/ctxt semantic/format semantic/grammar-wy semantic/idle help-fns] 2)
#@44 Regexp matching C-like character literals.
(defconst semantic-grammar-lex-c-char-re "'\\s\\?.'" (#$ . 624))
#@37 Detect and create a prologue token.
(defvar semantic-grammar-lex-prologue nil (#$ . 738))
(defalias 'semantic-grammar-lex-prologue #[nil "\300\207" [nil] 1])
(byte-code "\301\300\302M\207" [semantic-grammar-lex-prologue ((looking-at #1="\\<%{") (semantic-lex-push-token (semantic-lex-token 'PROLOGUE (point) (save-excursion (semantic-lex-unterminated-syntax-protection 'PROLOGUE (forward-char) (forward-sexp 1) (point)))))) #[nil "\306``dB\307\310\311!\203i\312`\212\203*\203*\306u\210\313\314!\210`\202K\3151:\306u\210\313\314!\210`0\202K\210\312@A#b\210`\211\262)BB
B\211@\211\211A@\247\204a\211AA\202c\211A\262A\262
-\207" [semantic-lex-depth semantic-lex-maximum-depth semantic-lex-current-depth semantic-lex-analysis-bounds semantic-lex-end-point semantic-lex-token-stream nil 0 looking-at #1# PROLOGUE forward-sexp 1 (error) debug-on-error semantic-lex-debug-analyzers semantic-lex-unterminated-syntax-end-function] 8 "Detect and create a prologue token."]] 2)
#@52 Return the start position of the grammar epilogue.
(defalias 'semantic-grammar-epilogue-start #[nil "\212eb\210\300\301\302\303\304$\203\305\224\202dT)\207" [re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0] 5 (#$ . 1741)])
(put 'semantic-grammar-epilogue-start 'byte-optimizer 'byte-compile-inline-expand)
#@57 Detect and create an epilogue or percent-percent token.
(defvar semantic-grammar-lex-epilogue nil (#$ . 2060))
(defalias 'semantic-grammar-lex-epilogue #[nil "\300\207" [nil] 1])
(byte-code "\301\300\302M\207" [semantic-grammar-lex-epilogue ((looking-at #1="\\<%%\\>") (let ((start (match-beginning 0)) (end (match-end 0)) (class 'PERCENT_PERCENT)) (when (>= start (semantic-grammar-epilogue-start)) (setq class 'EPILOGUE end (point-max))) (semantic-lex-push-token (semantic-lex-token class start end)))) #[nil "\306``dB\307\310\311!\203a\307\224\307\225\312\211\212eb\210\313\314\306\315\316$\2030\307\224\2022dT)Y\203=\317dBB
B\211@\211\211A@\247\204X\211AA\202Z\211A\262A\262+
-\207" [semantic-lex-depth semantic-lex-maximum-depth semantic-lex-current-depth semantic-lex-analysis-bounds semantic-lex-end-point semantic-lex-token-stream nil 0 looking-at #1# PERCENT_PERCENT re-search-forward "^\\s-*\\<%%\\>\\s-*$" t 2 EPILOGUE class end start] 7 "Detect and create an epilogue or percent-percent token."]] 2)
#@145 Lexical analyzer that handles Semantic grammar buffers.
It ignores whitespaces, newlines and comments.
See `semantic-lex' for more information.
(defalias 'semantic-grammar-lexer #[(start end &optional depth length) "\306\307\310	\n#\210`\306\211	@	A\311BC\206DE	\nBF\306G\ndV\2034\312\313\nd#\210\314 pHI\315\216\316J!\210	b\210`\nW\203eK\203X\fGKX\203e\317\320!\203e\311\225A\202\340\317\321!\203r\311\225A\202\340\317\322!\203\326\323`\212L\203\220M\203\220\306u\210\324\325!\210`\202\264\3261\240\306u\210\324\325!\210`0\202\264\210\323NF@FA#b\210`\211A\262)BB\fB\211@\211\211A@\247\204\312\211AA\202\314\211A\262A\262A\202\340\317\327!\203*\311\224\311\225\330O\211\212eb\210\331\332\306\333\334$\203\370\311\224\202\372dT)Y\203\335OdO	\nBB\fB\211@\211\211A@\247\204\211AA\202\211A\262A\262A+\202\340\317\336!\203\200\337\311!\211\340P!\205E\211;\205E\341P\"\262\211\262\205O\211J\262\211Q\205|Q\311\224\311\225BB\fB\211@\211\211A@\247\204r\211AA\202t\211A\262A\262\211A)\204\340\317\342!\203\355\337\311!R\311\224S\311\225T\343U\306VU\203\300V\204\300\344U@AR\"\203\267U@@V\202\231UA\211U\204\236V\206\306\345STBB\fB\211@\211\211A@\247\204\337\211AA\202\341\211A\262A\262\211A-\204\340\317W!\203\346\311\224\311\225BB\fB\211@\211\211A@\247\204\211AA\202\211A\262A\262A\202\340\317\347!\203x\350`\212L\2035M\2035\324\325!\210`\202V\3511B\324\325!\210`0\202V\210\350NF@FA#b\210`\211A\262)BB\fB\211@\211\211A@\247\204l\211AA\202n\211A\262A\262A\202\340\317X!\203\257`Y\352\325!\210`Y=\203\226\353\354\355 \"\210\202\235n\203\235\356u\210`Y=\203\250\312\357!\210`A)\202\340\317\360!\203
\361`\212L\203\312M\203\312\324\325!\210`\202\353\3621\327\324\325!\210`0\202\353\210\361NF@FA#b\210`\211A\262)BB\fB\211@\211\211A@\247\204\211AA\202\211A\262A\262A\202\340\317\363!\203\216\337\311!Z\311\224[\311\225\211\\[Z]\364^\306_]\311V\203O\365Z^\"\211_\204O]S]Z\311]OZ\202,_\203`_@_[]\\\\_\206f\366[\\BB\fB\211@\211\211A@\247\204\211AA\202\201\211A\262A\262\211A.\204\340\317\367!\203\205\337\311!\370\306`ab\371ba@\"\211`\203HE\203\271BEW\203\350BTB`A@\311\224\311\225BB\fB\211@\211\211A@\247\204\333\211AA\202\335\211A\262A\262\211A\202\201\334`8\311\224\212L\203M\203\372\325!\210`\202%\3731\372\325!\210`0\202%\210\334`8NF@FA#b\210`\211A\262)BB\fB\211@\211\211A@\247\204;\211AA\202=\211A\262A\262\211A\202\201\371baA\"\211`\205\201BSB`A@\311\224\311\225BB\fB\211@\211\211A@\247\204w\211AA\202y\211A\262A\262\211A+\204\340\317\374!\203\340\375`\212L\203\240M\203\240\324\325!\210`\202\301\3761\255\324\325!\210`0\202\301\210\375NF@FA#b\210`\211A\262)BB\fB\211@\211\211A@\247\204\327\211AA\202\331\211A\262A\262AA@=\203\360\312\377@\f@#\210A@Ab\210c\203$\201h \204r\201id!q\210\212db\210\201j *\203$\201kc\201l\"\210\f@e\205`\306C\201m\311\201n\201o\201p!\201q\"\334$\216\203O\211\201r!\240\210\201s\201t\201uB#!)\262\266\202E+
\203\250
\211A\242\211f\211g\203\222\201v\201wg@gA@#\210
\211A\242\211g\204xf@NF@FA#b\210`\211A\266*b\210\f\237.	\207" [semantic-lex-block-streams start end starting-position semantic-lex-token-stream semantic-lex-block-stack nil run-hook-with-args semantic-lex-reset-functions 0 error "semantic-grammar-lexer: end (%d) > point-max (%d)" syntax-table #[nil "rq\210\302	!)\207" [#1=#:buffer #2=#:table set-syntax-table] 2] set-syntax-table looking-at "\\s-*\\(\n\\|\\s>\\)" "\\s-+" "\\<%{" PROLOGUE forward-sexp 1 (error) "\\<%%\\>" PERCENT_PERCENT re-search-forward "^\\s-*\\<%%\\>\\s-*$" t 2 EPILOGUE "\\(\\sw\\|\\s_\\)+" match-string obarrayp intern-soft ":?\\(\\sw\\|\\s_\\)+" ((PERCENT_PERCENT . "\\`%%\\'")) string-match SYMBOL CHARACTER "\\s\"" STRING (error) forward-comment skip-syntax-forward "-.'" point-at-eol -1 "Strange comment syntax prevents lexical analysis" "\\s'\\s-*(" PREFIXED_LIST (error) "\\(\\s.\\|\\s$\\|\\s'\\)+" ((GT . ">") (LT . "<") (OR . "|") (SEMI . ";") (COLON . ":")) rassoc punctuation "\\s(\\|\\s)" ((("(" LPAREN PAREN_BLOCK) ("{" LBRACE BRACE_BLOCK)) (")" RPAREN) ("}" RBRACE)) assoc forward-list (error) "\\=" SEXP (error) "semantic-grammar-lexer: endless loop at %d, after %S" tmp-start semantic-lex-end-point semantic-lex-current-depth depth semantic-lex-depth semantic-lex-maximum-depth semantic-lex-analysis-bounds parse-sexp-lookup-properties #1# #2# semantic-lex-syntax-table length debug-on-error semantic-lex-debug-analyzers semantic-lex-unterminated-syntax-end-function class semantic-flex-keywords-obarray #3=#:key #4=#:val #5=#:pos #6=#:end #7=#:lst #8=#:elt semantic-grammar-lex-c-char-re semantic-lex-comment-regex comment-start-point #9=#:val #10=#:pos #11=#:end #12=#:len #13=#:lst #14=#:elt #15=#:elt #16=#:lst #17=#:val semantic-current-input-throw-symbol semantic--on-input-start-marker semantic-lex-debug last blk input-pending-p marker-buffer accept-process-output throw lex make-byte-code "\300\242\205	\301\300\242!\207" vconcat vector [semantic-overlay-delete] semantic-lex-highlight-token semantic-read-event format "%S :: Depth: %d :: SPC - continue" message "semantic-grammar-lexer: `%s' block from %S is unterminated"] 9 (#$ . 3112)])
#@47 Run `semantic-grammar-lex' on current buffer.
(defalias 'semantic-grammar-lex-buffer #[nil "\302 \210\303\304ed\"r\305\306!q\210\307 \210\310	p\"\210eb\210\311p!*\207" [semantic-lex-analyzer token-stream semantic-lex-init semantic-grammar-lexer semantic-lex get-buffer-create "*semantic-grammar-lex*" erase-buffer pp pop-to-buffer] 3 (#$ . 8512) nil])
#@81 Return expansion of built-in ASSOC expression.
ARGS are ASSOC's key value list.
(defalias 'semantic-grammar-ASSOC #[(&rest args) "\302\303\304\305	\")B\207" [key args t semantic-tag-make-assoc-list mapcar #[(i) "\203\n\302	D\202	?\207" [key i quote] 2]] 4 (#$ . 8872)])
#@57 Return non-nil if SYM is bound to the `quote' function.
(defalias 'semantic-grammar-quote-p #[(sym) "\3011
\302!\302\303!=0\207\210\304\207" [sym (error) indirect-function quote nil] 3 (#$ . 9155)])
(put 'semantic-grammar-quote-p 'byte-optimizer 'byte-compile-inline-expand)
#@61 Return non-nil if SYM is bound to the `backquote' function.
(defalias 'semantic-grammar-backquote-p #[(sym) "\3011
\302!\302\303!=0\207\210\304\207" [sym (error) indirect-function backquote nil] 3 (#$ . 9438)])
(put 'semantic-grammar-backquote-p 'byte-optimizer 'byte-compile-inline-expand)
#@103 Return the children of tag TAG.

Override semantic-tag-components in `semantic-grammar-mode' buffers.
(defalias 'semantic-tag-components-semantic-grammar-mode #[(tag) "\302\303\3048)	\"*\207" [tag attribute :children plist-get 2] 3 (#$ . 9738)])
(byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put semantic-tag-components-semantic-grammar-mode definition-name semantic-tag-components mode-local-bind ((semantic-tag-components . semantic-tag-components-semantic-grammar-mode)) (override-flag t) semantic-grammar-mode] 4)
#@97 Return the name of the first tag of class CLASS found.
Warn if other tags of class CLASS exist.
(defalias 'semantic-grammar-first-tag-name #[(class) "\304p!\305\211\203\"\n	@\211A@)=\203	@B	A\211\204\n\237*\211\205:	@\211@)	A\203:\306\307\n\"\210)\207" [result tags class tag semantic-something-to-tag-table nil message "*** Ignore all but first declared %s"] 5 (#$ . 10279)])
#@123 Return the list of symbols defined in tags of class CLASS.
That is tag names plus names defined in tag attribute `:rest'.
(defalias 'semantic-grammar-tag-symbols #[(class) "\304p!\305\211\203\"\n	@\211A@)=\203	@B	A\211\204\n\237*\306\307\310\311	\"\")\207" [result tags class tag semantic-something-to-tag-table nil apply append mapcar #[(tag) "\302\303\211@)\304\305\3068)	\"*B\"\207" [tag attribute mapcar intern :rest plist-get 2] 7]] 6 (#$ . 10678)])
#@42 Return the readable string form of ITEM.
(defalias 'semantic-grammar-item-text #[(item) "\302	\"\203\303	\304\305OP\207	\207" [semantic-grammar-lex-c-char-re item string-match "?" 1 -1] 4 (#$ . 11159)])
(put 'semantic-grammar-item-text 'byte-optimizer 'byte-compile-inline-expand)
#@50 Return symbol or character value of ITEM string.
(defalias 'semantic-grammar-item-value #[(item) "\302	\"\203\303\304	\305\306OP!\207\307	!\207" [semantic-grammar-lex-c-char-re item string-match read "?" 1 -1 intern] 6 (#$ . 11449)])
(put 'semantic-grammar-item-value 'byte-optimizer 'byte-compile-inline-expand)
#@49 Return grammar prologue code as a string value.
(defalias 'semantic-grammar-prologue #[nil "\304\305\306p!\307\211\203$	@\211A@)\310=\203	@B	A\211\204\f\237*\"\211\203u\212\n\211\311\n8)\312!\203C\313!\202F\314H*b\210\315\307w\210`\n\211\311\n8)\312!\203c\316!\202f\317H*b\210\320\307x\210`{\321P)\202v\322)\207" [result tags tag o semantic-find-first-tag-by-name "prologue" semantic-something-to-tag-table nil code 4 semantic-overlay-p semantic-overlay-start 0 "%{
\n	 " semantic-overlay-end 1 "
\n	 %}" "\n" ""] 5 (#$ . 11771)])
#@49 Return grammar epilogue code as a string value.
(defalias 'semantic-grammar-epilogue #[nil "\304\305\306p!\307\211\203$	@\211A@)\310=\203	@B	A\211\204\f\237*\"\211\203\200\212\n\211\311\n8)\312!\203C\313!\202F\314H*b\210\315\307w\210`\n\211\311\n8)\312!\203c\316!\202f\317H*b\210\320\307x\210\321\322\323 \324#\210\320\307x\210`{\325P)\202\201\326)\207" [result tags tag o semantic-find-first-tag-by-name "epilogue" semantic-something-to-tag-table nil code 4 semantic-overlay-p semantic-overlay-start 0 "%
\n	 " semantic-overlay-end 1 "
\n	" re-search-backward "^;;;\\s-+\\S-+\\s-+ends here" point-at-bol t "\n" ""] 6 (#$ . 12338)])
#@117 Return name of file sans directory BUFFER is visiting.
No argument or nil as argument means use the current buffer.
(defalias 'semantic-grammar-buffer-file #[(&optional buffer) "\301\302!!\207" [buffer file-name-nondirectory buffer-file-name] 3 (#$ . 13008)])
(put 'semantic-grammar-buffer-file 'byte-optimizer 'byte-compile-inline-expand)
#@263 Return the %package value as a string.
If there is no %package statement in the grammar, return a default
package name derived from the grammar file name.  For example, the
default package name for the grammar file foo.wy is foo-wy, and for
foo.by it is foo-by.
(defalias 'semantic-grammar-package #[nil "\304\305!\206#\306\307\310!!)\311	!\312\313\314\n\"	\"	\315O\316\nQ+\207" [buffer file ext i semantic-grammar-first-tag-name package nil file-name-nondirectory buffer-file-name file-name-extension string-match format "\\([.]\\)%s\\'" 0 "-"] 4 (#$ . 13356)])
#@61 Return the %languagemode value as a list of symbols or nil.
(defalias 'semantic-grammar-languagemode #[nil "\300\301!\207" [semantic-grammar-tag-symbols languagemode] 2 (#$ . 13932)])
(put 'semantic-grammar-languagemode 'byte-optimizer 'byte-compile-inline-expand)
#@54 Return the %start value as a list of symbols or nil.
(defalias 'semantic-grammar-start #[nil "\300\301!\207" [semantic-grammar-tag-symbols start] 2 (#$ . 14203)])
(put 'semantic-grammar-start 'byte-optimizer 'byte-compile-inline-expand)
#@50 Return the %scopestart value as a symbol or nil.
(defalias 'semantic-grammar-scopestart #[nil "\300\301\302!\206\303!\207" [intern semantic-grammar-first-tag-name scopestart "nil"] 3 (#$ . 14446)])
(put 'semantic-grammar-scopestart 'byte-optimizer 'byte-compile-inline-expand)
#@49 Return the %quotemode value as a symbol or nil.
(defalias 'semantic-grammar-quotemode #[nil "\300\301\302!\206\303!\207" [intern semantic-grammar-first-tag-name quotemode "nil"] 3 (#$ . 14731)])
(put 'semantic-grammar-quotemode 'byte-optimizer 'byte-compile-inline-expand)
#@172 Return the language keywords.
That is an alist of (VALUE . TOKEN) where VALUE is the string value of
the keyword and TOKEN is the terminal symbol identifying the keyword.
(defalias 'semantic-grammar-keywords #[nil "\303\304\305p!\306\211\203$	@\211A@)\307=\203	@B	A\211\204\f\237*\"\207" [result tags tag mapcar #[(key) "\303\304\n\305\n8)	\"*\306\211@)!B\207" [key attribute tag :value plist-get 2 intern] 4] semantic-something-to-tag-table nil keyword] 5 (#$ . 15013)])
(put 'semantic-grammar-keywords 'byte-optimizer 'byte-compile-inline-expand)
#@41 Return the list of KEYWORDS properties.
(defalias 'semantic-grammar-keyword-properties #[(keywords) "\306p!\307\211\203\"	@\211A@)\310=\203	@B	A\211\204\n\237*\307\211\211\211\211\211\211\211\203\301@A\311\312\211@)\313\314\n\315\n8)\"*B\"\203<@A\316\"\211\203h@\317\314\n\315\n8)\"*\211\203h\312@@!\320@A!
\fEBA\211\204\237\202h.	\207" [result tags tag props pval pkey semantic-something-to-tag-table nil put mapcar intern :rest plist-get 2 rassq :value read assoc plist key keys puts attribute keywords] 10 (#$ . 15585)])
#@244 Return defined lexical tokens.
That is an alist (TYPE . DEFS) where type is a %token <type> symbol
and DEFS is an alist of (TOKEN . VALUE).  TOKEN is the terminal symbol
identifying the token and VALUE is the string value of the token or
nil.
(defalias 'semantic-grammar-tokens #[nil "\306\211\211\211\211\211\211\211\307p!\306\211\203<@\211A@)\305=\2033@BA\211\204\237*\203\252@A\f\211\310\311\f\312\f8)\"+\211\203B\f\313\311\f\312\f8)\"*\305\"\211\204\213C\211B	\203B	@	A\314\n\"\204\213
\315\n!C
AB\241\210\202\213\307p!\306\211\203\324@\211A@)\316=\203\313@BA\211\204\266\237*\203R@A\f\211@)\f\317\311\f\312\f8)\"*B\f\211\310\311\f\312\f8)\"+\206\320\f\313\311\f\312\f8)\"*\305\"\211\204:C\211B	\203\332\315	@!	A
\nB
AB\241\210\202:.\207" [value names term type tag assoc nil semantic-something-to-tag-table :type plist-get 2 :value string-match intern token :rest "<no-type>" alist tags result attribute semantic-grammar-lex-c-char-re] 9 (#$ . 16216)])
#@187 Return properties set by %type statements.
This declare a new type if necessary.
If optional argument PROPS is non-nil, it is an existing list of
properties where to add new properties.
(defalias 'semantic-grammar-token-%type-properties #[(&optional props) "\306\307p!\306\211\203$\n@\211A@)\300=\203\n@	B\nA\211\204\f	\237*\306\211\203|\f@\211\211@)\211\310\311E
B\312\313\3148)\"*\306\211\203t\f@\315@!\316A\206h\317!E
B\fA\211\204V*\fA\211\204.*
)\207" [type result tags tag --dolist-tail-- props nil semantic-something-to-tag-table :declared t :value plist-get 2 intern read "nil" attribute e] 5 (#$ . 17338)])
#@70 For types found in TOKENS, return properties set by %put statements.
(defalias 'semantic-grammar-token-%put-properties #[(tokens) "\306\211\307p!\306\211\203&@\211A@)\305=\203@\nBA\211\204\n\237*\306\211\203\267@\211\211@)
\310\311\f\312\f8)\"*B\306\211\203\255@\313\"\211\203\244	@
\314\311\f\312\f8)\"*\306\211\203\243@\315@!\316A\206\225\317!EBA\211\204\201*A\211\204T*A\211\2041**\207" [props found result tags tag put nil semantic-something-to-tag-table :rest plist-get 2 assoc :value intern read "nil" --dolist-tail-- attribute type tokens e] 5 (#$ . 18002)])
#@302 Return properties of declared types.
Types are explicitly declared by %type statements.  Types found in
TOKENS are those declared implicitly by %token statements.
Properties can be set by %put and %type statements.
Properties set by %type statements take precedence over those set by
%put statements.
(defalias 'semantic-grammar-token-properties #[(tokens) "\302!\303	!)\207" [tokens props semantic-grammar-token-%put-properties semantic-grammar-token-%type-properties] 2 (#$ . 18661)])
(put 'semantic-grammar-token-properties 'byte-optimizer 'byte-compile-inline-expand)
#@96 Return macro definitions from %use-macros statements.
Also load the specified macro libraries.
(defalias 'semantic-grammar-use-macros #[nil "\306\211\307p!\306\211\203&@\211A@)\310=\203@\nBA\211\204\n\237*\306\211\203\223
@\311\f\211\312\313\f\314\f8)\"+!\3151S\316	!0\202W\210\202X\210\f\317\313\f\314\f8)\"*\306\211\203\213
@\311!\311\320\321	#!BB
A\211\204p*
A\211\2040*\237*\207" [defs lib result tags tag --dolist-tail-- nil semantic-something-to-tag-table macro intern :type plist-get 2 (error) require :value format "%s-%s" attribute mac] 7 (#$ . 19241)])
#@47 List of associations (MACRO-NAME . EXPANDER).
(defvar semantic-grammar-macros nil (#$ . 19863))
(make-variable-buffer-local 'semantic-grammar-macros)
#@47 Build and return the alist of defined macros.
(defalias 'semantic-grammar-macros #[nil "\301\302 \"\207" [semantic-grammar-macros append semantic-grammar-use-macros] 3 (#$ . 20019)])
#@48 Return the default value of the keyword table.
(defalias 'semantic-grammar-keywordtable-builder-default #[nil "\304\305\306p!\307\211\203$	@\211A@)\310=\203	@B	A\211\204\f\237*\"\311\312D\312\313!DE)\207" [result tags tag keywords mapcar #[(key) "\303\304\n\305\n8)	\"*\306\211@)!B\207" [key attribute tag :value plist-get 2 intern] 4] semantic-something-to-tag-table nil keyword semantic-lex-make-keyword-table quote semantic-grammar-keyword-properties] 5 (#$ . 20209)])
#@33 Return the keyword table value.
(defalias 'semantic-grammar-keywordtable-builder #[nil "\306\211\307\310\211\n\311!\307\n\204+\211\204+\205*\312
\"\n\203U\f\204U\n\313N\203D\312
\n\313N\"\211\204+\n\211\314N\206O\n\315N)\211\204/\f,\211\205h	\203f	N\205hJ+\206\341\211\316N)\205\341\211\316N)\307\310\211\n\311!\307\n\204\243\211\204\243\205\242\312
\"\n\203\315\f\204\315\n\313N\203\274\312
\n\313N\"\211\204\243\n\211\314N\206\307\n\315N)\211\204\247\f,\211\205\340	\203\336	N\205\340J+)\211\203\356 \202\360\317 )\207" [overload property mode symbol bind name semantic-grammar-keywordtable-builder nil override-flag symbol-name intern-soft mode-local-symbol-table mode-local-parent derived-mode-parent overload-obsolete semantic-grammar-keywordtable-builder-default mode-local-active-mode major-mode #1=#:override] 5 (#$ . 20707)])
(put 'semantic-grammar-keywordtable-builder 'mode-local-overload t)
#@58 Return the default value of the table of lexical tokens.
(defalias 'semantic-grammar-tokentable-builder-default #[nil "\302 \303\304D\304\305!\306	!*DE)\207" [tokens props semantic-grammar-tokens semantic-lex-make-type-table quote semantic-grammar-token-%put-properties semantic-grammar-token-%type-properties] 5 (#$ . 21703)])
#@50 Return the value of the table of lexical tokens.
(defalias 'semantic-grammar-tokentable-builder #[nil "\306\211\307\310\211\n\311!\307\n\204+\211\204+\205*\312
\"\n\203U\f\204U\n\313N\203D\312
\n\313N\"\211\204+\n\211\314N\206O\n\315N)\211\204/\f,\211\205h	\203f	N\205hJ+\206\341\211\316N)\205\341\211\316N)\307\310\211\n\311!\307\n\204\243\211\204\243\205\242\312
\"\n\203\315\f\204\315\n\313N\203\274\312
\n\313N\"\211\204\243\n\211\314N\206\307\n\315N)\211\204\247\f,\211\205\340	\203\336	N\205\340J+)\211\203\356 \202\360\317 )\207" [overload property mode symbol bind name semantic-grammar-tokentable-builder nil override-flag symbol-name intern-soft mode-local-symbol-table mode-local-parent derived-mode-parent overload-obsolete semantic-grammar-tokentable-builder-default mode-local-active-mode major-mode #1=#:override] 5 (#$ . 22043)])
(put 'semantic-grammar-tokentable-builder 'mode-local-overload t)
#@46 Return the default value of the parse table.
(defalias 'semantic-grammar-parsetable-builder-default #[nil "\300\301!\207" [error "`semantic-grammar-parsetable-builder' not defined"] 2 (#$ . 23048)])
#@32 Return the parser table value.
(defalias 'semantic-grammar-parsetable-builder #[nil "\306\211\307\310\211\n\311!\307\n\204+\211\204+\205*\312
\"\n\203U\f\204U\n\313N\203D\312
\n\313N\"\211\204+\n\211\314N\206O\n\315N)\211\204/\f,\211\205h	\203f	N\205hJ+\206\341\211\316N)\205\341\211\316N)\307\310\211\n\311!\307\n\204\243\211\204\243\205\242\312
\"\n\203\315\f\204\315\n\313N\203\274\312
\n\313N\"\211\204\243\n\211\314N\206\307\n\315N)\211\204\247\f,\211\205\340	\203\336	N\205\340J+)\211\203\356 \202\360\317 )\207" [overload property mode symbol bind name semantic-grammar-parsetable-builder nil override-flag symbol-name intern-soft mode-local-symbol-table mode-local-parent derived-mode-parent overload-obsolete semantic-grammar-parsetable-builder-default mode-local-active-mode major-mode #1=#:override] 5 (#$ . 23253)])
(put 'semantic-grammar-parsetable-builder 'mode-local-overload t)
#@50 Return the default value of the setup code form.
(defalias 'semantic-grammar-setupcode-builder-default #[nil "\300\301!\207" [error "`semantic-grammar-setupcode-builder' not defined"] 2 (#$ . 24240)])
#@36 Return the parser setup code form.
(defalias 'semantic-grammar-setupcode-builder #[nil "\306\211\307\310\211\n\311!\307\n\204+\211\204+\205*\312
\"\n\203U\f\204U\n\313N\203D\312
\n\313N\"\211\204+\n\211\314N\206O\n\315N)\211\204/\f,\211\205h	\203f	N\205hJ+\206\341\211\316N)\205\341\211\316N)\307\310\211\n\311!\307\n\204\243\211\204\243\205\242\312
\"\n\203\315\f\204\315\n\313N\203\274\312
\n\313N\"\211\204\243\n\211\314N\206\307\n\315N)\211\204\247\f,\211\205\340	\203\336	N\205\340J+)\211\203\356 \202\360\317 )\207" [overload property mode symbol bind name semantic-grammar-setupcode-builder nil override-flag symbol-name intern-soft mode-local-symbol-table mode-local-parent derived-mode-parent overload-obsolete semantic-grammar-setupcode-builder-default mode-local-active-mode major-mode #1=#:override] 5 (#$ . 24447)])
(put 'semantic-grammar-setupcode-builder 'mode-local-overload t)
(defvar semantic--grammar-input-buffer nil)
(defvar semantic--grammar-output-buffer nil)
(defvar semantic--grammar-package nil)
(defvar semantic--grammar-provide nil)
#@48 Return the variable name of the keyword table.
(defalias 'semantic-grammar-keywordtable #[nil "\301P\207" [semantic--grammar-package "--keyword-table"] 2 (#$ . 25601)])
(put 'semantic-grammar-keywordtable 'byte-optimizer 'byte-compile-inline-expand)
#@46 Return the variable name of the token table.
(defalias 'semantic-grammar-tokentable #[nil "\301P\207" [semantic--grammar-package "--token-table"] 2 (#$ . 25858)])
(put 'semantic-grammar-tokentable 'byte-optimizer 'byte-compile-inline-expand)
#@46 Return the variable name of the parse table.
(defalias 'semantic-grammar-parsetable #[nil "\301P\207" [semantic--grammar-package "--parse-table"] 2 (#$ . 26107)])
(put 'semantic-grammar-parsetable 'byte-optimizer 'byte-compile-inline-expand)
#@47 Return the name of the parser setup function.
(defalias 'semantic-grammar-setupfunction #[nil "\301P\207" [semantic--grammar-package "--install-parser"] 2 (#$ . 26356)])
(put 'semantic-grammar-setupfunction 'byte-optimizer 'byte-compile-inline-expand)
#@34 Return OBJECT as a string value.
(defalias 'semantic-grammar-as-string '(macro . #[(object) "\301\302D\303DF\207" [object if stringp pp-to-string] 5 (#$ . 26615)]))
#@63 Insert declaration of constant NAME with VALUE and DOCSTRING.
(defalias 'semantic-grammar-insert-defconst #[(name value docstring) "`\304\305	\n$c\210\212b\210\306 *\207" [start name value docstring format "(defconst %s\n%s%S)\n\n" indent-sexp] 5 (#$ . 26789)])
#@62 Insert declaration of function NAME with BODY and DOCSTRING.
(defalias 'semantic-grammar-insert-defun #[(name body docstring) "`\304\305	\n$c\210\212b\210\306 *\207" [start name docstring body format "(defun %s ()\n%S\n%s)\n\n" indent-sexp] 5 (#$ . 27060)])
#@156 Insert the declaration specified by DEFINE expression.
Typically a DEFINE expression should look like this:

(define-thing name docstring expression1 ...)
(defalias 'semantic-grammar-insert-define #[(define) "`\304\305	@	A@#c\210	AA\306\211\203+@\307c\210\310 \210\311\np\"\210A\211\204*\312c\210\212b\210\313 *\207" [start define item --dolist-tail-- format "(%S %S" nil "\n" delete-blank-lines pp ")\n\n" indent-sexp] 5 (#$ . 27328)])
#@105 Generated header template.
The symbols in the template are local variables in
`semantic-grammar-header'
(defconst semantic-grammar-header-template '(";;; " file " --- Generated parser support file\n\n" copy "\n\n;; Author: " user-full-name " <" user-mail-address ">\n;; Created: " date "\n;; Keywords: syntax\n;; X-RCS: " vcid "\n\n;; This file is not part of GNU Emacs.\n\n;; This program is free software; you can redistribute it and/or\n;; modify it under the terms of the GNU General Public License as\n;; published by the Free Software Foundation, either version 3 of\n;; the License, or (at your option) any later version.\n\n;; This software is distributed in the hope that it will be useful,\n;; but WITHOUT ANY WARRANTY; without even the implied warranty of\n;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n;; General Public License for more details.\n;;\n;; You should have received a copy of the GNU General Public License\n;; along with this program.  If not, see <https://www.gnu.org/licenses/>.\n\n;;; Commentary:\n;;\n;; PLEASE DO NOT MANUALLY EDIT THIS FILE!  It is automatically\n;; generated from the grammar file " gram ".\n\n;;; History:\n;;\n\n;;; Code:\n\n(require 'semantic/lex)\n(eval-when-compile (require 'semantic/bovine))\n") (#$ . 27783))
#@102 Generated footer template.
The symbols in the list are local variables in
`semantic-grammar-footer'.
(defconst semantic-grammar-footer-template '("\n(provide '" libr ")\n\n;; Local Variables:\n;; version-control: never\n;; no-update-autoloads: t\n;; End:\n\n;;; " file " ends here\n") (#$ . 29080))
#@57 Return the grammar copyright line, or nil if not found.
(defalias 'semantic-grammar-copyright-line #[nil "\212eb\210\300\301\212\302y\210`)\303#\205\304\305!)\207" [re-search-forward "^;;+[ 	]+Copyright (C) .*$" 4 t match-string 0] 4 (#$ . 29385)])
(defalias 'semantic-grammar--template-expand #[(template env) "\301\302\303#\207" [template mapconcat #[(S) ";\203\207	\236\211\203\nA\2029\205J)\207" [S env x] 3] ""] 4])
#@45 Return text of a generated standard header.
(defalias 'semantic-grammar-header #[nil "\304\305	\306\307\n!!)B\310\311\306\307\n!!)B\312\313\314!B\315\316B\317\320 \206)\313\321!PB\257\"\207" [semantic-grammar-header-template semantic--grammar-output-buffer buffer user-full-name semantic-grammar--template-expand file file-name-nondirectory buffer-file-name gram nil date format-time-string "%Y-%m-%d %T%z" vcid "$Id$" copy semantic-grammar-copyright-line ";; Copyright (C) %Y "] 9 (#$ . 29829)])
#@45 Return text of a generated standard footer.
(defalias 'semantic-grammar-footer #[nil "\305\306	\307\310\n!!)B\311\206\fBD\"\207" [semantic-grammar-footer-template semantic--grammar-output-buffer buffer semantic--grammar-provide semantic--grammar-package semantic-grammar--template-expand file file-name-nondirectory buffer-file-name libr] 6 (#$ . 30338)])
#@57 Return the string value of the table of lexical tokens.
(defalias 'semantic-grammar-token-data #[nil "\300 ;\203	\300 \207\301\300 !\207" [semantic-grammar-tokentable-builder pp-to-string] 2 (#$ . 30705)])
#@51 Return the string value of the table of keywords.
(defalias 'semantic-grammar-keyword-data #[nil "\300 ;\203	\300 \207\301\300 !\207" [semantic-grammar-keywordtable-builder pp-to-string] 2 (#$ . 30918)])
#@44 Return the parser table as a string value.
(defalias 'semantic-grammar-parser-data #[nil "\300 ;\203	\300 \207\301\300 !\207" [semantic-grammar-parsetable-builder pp-to-string] 2 (#$ . 31129)])
#@54 Return the parser setup code form as a string value.
(defalias 'semantic-grammar-setup-data #[nil "\300 ;\203	\300 \207\301\300 !\207" [semantic-grammar-setupcode-builder pp-to-string] 2 (#$ . 31330)])
#@50 Return delimiters specification from BLOCK-SPEC.
(defalias 'semantic-grammar--lex-delim-spec #[(block-spec) "\30311A\304 \211:\203+\n@\203+\n@9\203+\nA@\203+\nA@9\203+\n\202.\305\306!*0\207\210\305\307A@#\207" [block-spec standard-input delim-spec (error) read error "Invalid delimiter" "Invalid delimiters specification %s in block token %s"] 5 (#$ . 31539)])
(put 'semantic-grammar--lex-delim-spec 'byte-optimizer 'byte-compile-inline-expand)
#@130 Compute lexical block specifications for the current buffer.
Block definitions are read from the current table of lexical types.
(defalias 'semantic-grammar--lex-block-specs #[nil "\306=\203\307\207\204[\3101L\311\312\313	!\205\"\211;\205\"\314	\"\262\211\203-\211J\2025?\2055\315!\266\203A\316\312\313	!\205K\211;\205K\314	\"\262\211\203V\211J\202^?\205^\315!\266\203A\317\312\313	!\205t\211;\205t\314	\"\262\211\203\211J\202\207?\205\207\315!\266\203A\307\211\307\211\307\n\307\211\203A@\211\3201\346A\321 \211:\203\336@\203\336@9\203\336A@\203\336A@9\203\336\202\341\306\322!*0\202\360\210\306\323A@#)\211@\236A@\f\236\204\306\324@@#\210\204\306\325A@#\210A@@E
BA@DBA\211\204\243*
B\211.0\207 \306\326\327\330 !\"\210)\307\207\207" [semantic-grammar--lex-block-specs semantic-lex-types-obarray blocks open-delims close-delims olist error nil (error) "block" t obarrayp intern-soft semantic-lex-type-invalid "open-paren" "close-paren" (error) read "Invalid delimiter" "Invalid delimiters specification %s in block token %s" "Missing open-paren token %s required by block %s" "Missing close-paren token %s required by block %s" message "%s" error-message-string clist delim-spec open-spec close-spec block-spec --dolist-tail-- standard-input err] 7 (#$ . 32003)])
#@65 Return a quoted form of EXP if it isn't a self evaluating form.
(defalias 'semantic-grammar-quoted-form #[(exp) "\203<\2049\203\301D\207\207" [exp quote] 2 (#$ . 33415)])
(put 'semantic-grammar-quoted-form 'byte-optimizer 'byte-compile-inline-expand)
#@63 Insert declaration of the lexical analyzer defined with TYPE.
(defalias 'semantic-grammar-insert-defanalyzer #[(type) "\306!J\303N\307N\310\211\310\211\310\f\205$\205$\311N\2060\312\313\314\315$!\314\316#\312=\203\202\317\320\nA\211 \203o <\204h 9\203o\321 D\202q )\321\n@\206{\313	!D\257!\202$\322=\203\276\317\323\nA\211 \203\253 <\204\244 9\203\253\321 D\202\255 )\321\n@\206\267\313	!D\257!\202$\324=\203\366\325 \211\203\366\317\326
\211 \203\355 <\204\346 9\203\355\321 D\202\357 )\257!\202$\327=\203\317\330\321\n@\206
\313	!D\257!\202$\331=\205$\317\332F!.	\207" [type type-name type-value syntax declared spec symbol-name :declared nil matchdatatype regexp intern format "%s--<%s>-%s-analyzer" "%s analyzer for <%s> tokens." semantic-grammar-insert-define define-lex-regex-type-analyzer quote string define-lex-string-type-analyzer block semantic-grammar--lex-block-specs define-lex-block-type-analyzer sexp define-lex-sexp-type-analyzer keyword define-lex-keyword-type-analyzer mtype prefix name doc semantic--grammar-package exp] 10 (#$ . 33683)])
#@43 Insert declarations of lexical analyzers.
(defalias 'semantic-grammar-insert-defanalyzers #[nil "\305\211r\nq\210\306 \211\307	!\310!*)\311	\"\305\312\313\f\",\207" [props tokens semantic--grammar-input-buffer semantic-grammar--lex-block-specs semantic-lex-types-obarray nil semantic-grammar-tokens semantic-grammar-token-%put-properties semantic-grammar-token-%type-properties semantic-lex-make-type-table mapatoms semantic-grammar-insert-defanalyzer] 4 (#$ . 34869)])
#@44 Regexp which matches grammar source files.
(custom-declare-variable 'semantic-grammar-file-regexp "\\.[wb]y\\'" '(#$ . 35355) :group 'semantic :type 'regexp)
#@57 Return non-nil if running without interactive terminal.
(defalias 'semantic-grammar-noninteractive #[nil "\207" [noninteractive] 1 (#$ . 35519)])
(put 'semantic-grammar-noninteractive 'byte-optimizer 'byte-compile-inline-expand)
#@238 Create package Lisp code from grammar in current buffer.
If the Lisp code seems up to date, do nothing (if UPTODATE
is non-nil, return nil in such cases).
If optional argument FORCE is non-nil, unconditionally re-generate the
Lisp code.
(defalias 'semantic-grammar-create-package #[(&optional force uptodate) "\204\306\307!\210	\206
\n\310 \210\311 \312\313!\211\206\314Pp<\315\316
!!=\317 >\320 ?\321 @\322 A	\204_\323 \204_\324\325=!\325<!\"\203_\326\327\"\210B\203\330\202=q\210\331C\332 \210\333\334!\204r\334 \210>\335?\261\210\336e`\"\210\212\337c\210\340\341Pr<q\210\342 )\343#\210\340\344Pr<q\210\345 )\346#\210\340\347Pr<q\210\350 )\351#\210\352\353Pr<q\210\354 )\355#\210\356c\210\357 \210\360@A\261\210)\361\362!\210D\203\353\363\211\211\211EFGH\364p!\210,\202\336`d\"\210eb\210\365\366\330\363#\203\367\330!\210\202\363eb\210\370p!\210\371\353P\372\373!\"\210
.	\207" [semantic-new-buffer-fcn-was-run force current-prefix-arg semantic--grammar-package semantic--grammar-provide output error "You have to activate semantic-mode to create a package." semantic-fetch-tags semantic-grammar-package semantic-grammar-first-tag-name provide ".el" find-file-noselect file-name-nondirectory semantic-grammar-header semantic-grammar-prologue semantic-grammar-epilogue semantic-grammar-footer buffer-modified-p file-newer-than-file-p buffer-file-name message "Package `%s' is up to date." nil raw-text-unix erase-buffer derived-mode-p emacs-lisp-mode "\f\n;;; Prologue\n;;\n" eval-region "\f\n;;; Declarations\n;;\n" semantic-grammar-insert-defconst "--keyword-table" semantic-grammar-keyword-data "Table of language keywords." "--token-table" semantic-grammar-token-data "Table of lexical tokens." "--parse-table" semantic-grammar-parser-data "Parser table." semantic-grammar-insert-defun "--install-parser" semantic-grammar-setup-data "Setup the Semantic Parser." "\f\n;;; Analyzers\n;;\n" semantic-grammar-insert-defanalyzers "\f\n;;; Epilogue\n;;\n" save-buffer 16 t kill-buffer re-search-forward "(defvar " eval-defun pop-to-buffer semantic-map-mode-buffers semantic-grammar-tag-symbols languagemode semantic--grammar-input-buffer semantic--grammar-output-buffer header prologue epilogue footer uptodate buffer-file-coding-system noninteractive vc-make-backup-files make-backup-files delete-old-versions version-control] 5 (#$ . 35756) "P"])
#@129 Unconditionally create Lisp code from grammar in current buffer.
Like \[universal-argument] \[semantic-grammar-create-package].
(defalias 'semantic-grammar-recreate-package #[nil "\300\301!\207" [semantic-grammar-create-package t] 2 (#$ . 38169) nil])
#@165 Build a Lisp package from the grammar in FILE.
That is, generate Lisp code from FILE, and `byte-compile' it.
Return non-nil if there were no errors, nil if errors.
(defalias 'semantic-grammar-batch-build-one-package #[(file) "\306\307!\210\310!?\205S\3111&r\312!q\210\313\211\314\315\316!\210\317 +0\2020\320\321\322\f!\"\210)\313\211\205R\323
\324
!\"\203Q\325]\326]\327
!*\202R\330)\207" [file vc-handled-backends semantic-new-buffer-setup-functions semanticdb-new-database-class err packagename require bytecomp auto-save-file-name-p (error) find-file-noselect nil semanticdb-project-database semantic-mode 1 semantic-grammar-create-package message "%s" error-message-string file-newer-than-file-p byte-compile-dest-file 3000 1000 byte-compile-file t max-specpdl-size max-lisp-eval-depth] 5 (#$ . 38428)])
#@429 Build Lisp packages from grammar files on the command line.
That is, run `semantic-grammar-batch-build-one-package' for each file.
Each file is processed even if an error occurred previously.
Must be used from the command line, with `-batch'.
For example, to process grammar files in current directory, invoke:

  "emacs -batch -f semantic-grammar-batch-build-packages .".

See also the variable `semantic-grammar-file-regexp'.
(defalias 'semantic-grammar-batch-build-packages #[nil "\204\306\307!\210\310\311\312	\"\313\211\203w
@\211\203$\314\f!\204)\306\315\f\"\210\316\f!\317\f!\203h\3201A\321\f\313#0\202E\210\306\322!\313\211\203d
@\323\316\f\"!\204]\324
A\211\204M*\202p\323\f!\204p\324
A\211\204*\325\n!*\207" [noninteractive find-file-hook status command-line-args-left arg --dolist-tail-- error "`semantic-grammar-batch-build-packages' must be used with -batch" 0 delete vc-find-file-hook nil file-exists-p "Argument %s is not a valid file name" expand-file-name file-directory-p (error) directory-files "Unable to read directory files" semantic-grammar-batch-build-one-package 1 kill-emacs semantic-grammar-file-regexp src] 5 (#$ . 39265)])
(defvar semantic--grammar-macros-regexp-1 nil)
(make-variable-buffer-local 'semantic--grammar-macros-regexp-1)
#@64 Return font-lock keyword regexp for pre-installed macro names.
(defalias 'semantic--grammar-macros-regexp-1 #[nil "\203!	\204!\3021\303\304\305\306\"\307\"\310Q\2110\202 \210\202!\210	\207" [semantic-grammar-macros semantic--grammar-macros-regexp-1 (error) "(\\s-*" regexp-opt mapcar #[(e) "\301@!\207" [e symbol-name] 2] t "\\>"] 5 (#$ . 40570)])
#@52 Regexp that matches a macro declaration statement.
(defconst semantic--grammar-macdecl-re "\\<%use-macros\\>[ 	
\n]+\\(\\sw\\|\\s_\\)+[ 	
\n]+{" (#$ . 40934))
(defvar semantic--grammar-macros-regexp-2 nil)
(make-variable-buffer-local 'semantic--grammar-macros-regexp-2)
#@160 Clear the cached regexp that match macros local in this grammar.
IGNORE arguments.
Added to `before-change-functions' hooks to be run before each text
change.
(defalias 'semantic--grammar-clear-macros-regexp-2 #[(&rest _) "\301\211\207" [semantic--grammar-macros-regexp-2 nil] 2 (#$ . 41211)])
#@60 Return the regexp that match macros local in this grammar.
(defalias 'semantic--grammar-macros-regexp-2 #[nil "\204D\303\212eb\210\304\n\303\305#\2037\3061/	\307\310`\311u\210\312\313!\210\314\311!\210`\"!\244\2110\2023\210\202\n\210\202\n	\203C\315\316	\305\"\317Q*\207" [semantic--grammar-macros-regexp-2 macs semantic--grammar-macdecl-re nil re-search-forward t (error) split-string buffer-substring-no-properties -1 forward-list 1 down-list "(\\s-*" regexp-opt "\\>"] 6 (#$ . 41512)])
#@79 Search for a grammar macro name to highlight.
END is the limit of the search.
(defalias 'semantic--grammar-macros-matcher #[(end) "\302 \211\203\303	\304#\206\305 \211\205\303	\304#)\207" [regexp end semantic--grammar-macros-regexp-1 re-search-forward t semantic--grammar-macros-regexp-2] 5 (#$ . 42019)])
(byte-code "\302\303\304\305#\210\306\305\211\203,	@\303N\203%\304N\204%\307\304\303N#\210	A\211\204*\310\303\304\311#\207" [prop --dolist-tail-- defvaralias semantic-grammar-syntax-table semantic-grammar-mode-syntax-table nil (saved-value saved-variable-comment) put make-obsolete-variable "24.1"] 6)
#@50 Syntax table used in a Semantic grammar buffers.
(defvar semantic-grammar-mode-syntax-table (byte-code "\301\302 !\303\304\305#\210\303\306\305#\210\303\307\305#\210\303\310\305#\210\303\311\312#\210\303\313\314#\210\303\315\316#\210\303\317\320#\210\303\321\322#\210\303\323\322#\210\303\324\325#\210\303\326\327#\210\303\330\327#\210\303\331\327#\210\303\332\327#\210)\207" [table make-syntax-table standard-syntax-table modify-syntax-entry 58 "." 62 60 124 59 ". 12" 10 ">" 34 "\"" 37 "w" 45 "_" 46 92 "\\" 96 "'" 39 44 35] 4) (#$ . 42656))
#@47 Hook run when starting Semantic grammar mode.
(defvar semantic-grammar-mode-hook nil (#$ . 43223))
#@64 Font Lock keywords used to highlight Semantic grammar buffers.
(defvar semantic-grammar-mode-keywords-1 (byte-code "\301\302\303\304\305\306\307\310!\203\310\202\311E\312\313\314\307\315!\203 \315\202!\316\317BBB\320BBBBBBBB\207" [semantic-grammar-lex-c-char-re ("\\(\\<%%\\>\\|\\<%[{}]\\)" 0 font-lock-reference-face) ("\\(%\\)\\(\\(\\sw\\|\\s_\\)+\\)" (1 font-lock-reference-face) (2 font-lock-keyword-face)) ("\\<error\\>" 0 (unless (semantic-grammar-in-lisp-p) 'bold)) ("^\\(\\(\\sw\\|\\s_\\)+\\)[ \n
	]*:" 1 font-lock-function-name-face) semantic--grammar-macros-matcher 1 boundp font-lock-builtin-face font-lock-preprocessor-face ("\\$\\(\\sw\\|\\s_\\)*" 0 font-lock-variable-name-face) ("<\\(\\(\\sw\\|\\s_\\)+\\)>" 1 font-lock-type-face) 0 font-lock-constant-face font-lock-string-face (t) (("[
\n	 ]+:\\sw+\\>" 0 font-lock-builtin-face))] 11) (#$ . 43328))
#@64 Font Lock keywords used to highlight Semantic grammar buffers.
(defvar semantic-grammar-mode-keywords-2 (byte-code "\303\304\301!\203\f	\202
\n\"\207" [semantic-grammar-mode-keywords-1 lisp-font-lock-keywords-1 lisp-el-font-lock-keywords-1 append boundp] 4) (#$ . 44207))
#@64 Font Lock keywords used to highlight Semantic grammar buffers.
(defvar semantic-grammar-mode-keywords-3 (byte-code "\303\304\301!\203\f	\202
\n\"\207" [semantic-grammar-mode-keywords-1 lisp-font-lock-keywords-2 lisp-el-font-lock-keywords-2 append boundp] 4) (#$ . 44488))
#@64 Font Lock keywords used to highlight Semantic grammar buffers.
(defvar semantic-grammar-mode-keywords semantic-grammar-mode-keywords-1 (#$ . 44769))
(byte-code "\302\303\304\305#\210\306\305\211\203,	@\303N\203%\304N\204%\307\304\303N#\210	A\211\204*\310\303\304\311#\207" [prop --dolist-tail-- defvaralias semantic-grammar-map semantic-grammar-mode-map nil (saved-value saved-variable-comment) put make-obsolete-variable "24.1"] 6)
#@41 Keymap used in `semantic-grammar-mode'.
(defvar semantic-grammar-mode-map (byte-code "\301 \302\303\304#\210\302\305\304#\210\302\306\304#\210\302\307\304#\210\302\310\304#\210\302\311\304#\210\302\312\313#\210\302\314\315#\210\302\316\317#\210\302\320\321#\210\302\322\323#\210)\207" [km make-sparse-keymap define-key "|" semantic-grammar-electric-punctuation ";" "%" "(" ")" ":" "	" semantic-grammar-indent "\211" semantic-grammar-complete "" semantic-grammar-create-package "m" semantic-grammar-find-macro-expander "ik" semantic-grammar-insert-keyword] 4) (#$ . 45221))
#@31 Common semantic grammar menu.
(defvar semantic-grammar-menu '("Grammar" ["Indent Line" semantic-grammar-indent] ["Complete Symbol" semantic-grammar-complete] ["Find Macro" semantic-grammar-find-macro-expander] "--" ["Insert %keyword" semantic-grammar-insert-keyword] "--" ["Update Lisp Package" semantic-grammar-create-package] ["Recreate Lisp Package" semantic-grammar-recreate-package]) (#$ . 45817))
#@144 Setup a GNU Emacs grammar menu in variable SYMBOL.
MODE-MENU is an optional specific menu whose items are appended to the
common grammar menu.
(defalias 'semantic-grammar-setup-menu-emacs #[(symbol mode-menu) "\303\304!\305\306\307	DD\310	\311BB\312\313\nDDC\314\315	\316BB\317\315	\320\321DF\322\313DEFFEF)\207" [items symbol mode-menu make-symbol "items" unless boundp quote easy-menu-define ((current-local-map) "Grammar Menu" semantic-grammar-menu) let cdr when easy-menu-add-item (nil "--") while nil car setq] 15 (#$ . 46227)])
#@142 Setup an XEmacs grammar menu in variable SYMBOL.
MODE-MENU is an optional specific menu whose items are appended to the
common grammar menu.
(defalias 'semantic-grammar-setup-menu-xemacs #[(symbol mode-menu) "\304\305!\304\306!\307\310\311\312\nDD\313\n\314BBE\315\nD\316	\317DD\320\321\nDDDD\322	\323\324\325BBB\326	\323\324\321	DF\327	\317	DEFFEF*\207" [path items symbol mode-menu make-symbol "items" "path" progn unless boundp quote easy-menu-define (nil "Grammar Menu" (copy-sequence semantic-grammar-menu)) easy-menu-add let cdr list car when easy-menu-add-item nil ("--") while setq] 15 (#$ . 46775)])
#@126 Setup a mode local grammar menu.
MODE-MENU is an optional specific menu whose items are appended to the
common grammar menu.
(defalias 'semantic-grammar-setup-menu '(macro . #[(&optional mode-menu) "\303\304\305\"!\306	\n\")\207" [major-mode menu mode-menu intern format "%s-menu" semantic-grammar-setup-menu-emacs] 4 (#$ . 47397)]))
#@42 Return non-nil if point is in Lisp code.
(defalias 'semantic-grammar-in-lisp-p #[nil "`\212eb\210\300\301\302\303\304$\203\305\224\202dT)Y\206)\3061'\212\307\310!\210)\3030\207\210\302\207" [re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0 (error) up-list -1] 6 (#$ . 47739)])
(put 'semantic-grammar-in-lisp-p 'byte-optimizer 'byte-compile-inline-expand)
#@240 Function set into `semantic-edits-new-change-hook'.
Argument OVERLAY is the overlay created to mark the change.
When OVERLAY marks a change in the scope of a nonterminal tag extend
the change bounds to encompass the whole nonterminal tag.
(defalias 'semantic-grammar-edits-new-change-hook-fcn #[(overlay) "\306\211\203
\307	!\202`\310 W\203`\202\310 )\211\203'\311	!\2024`\310 V\2032`\2024\310 )\"@\211\312\211\211A@)*=\205}\313\n\211\314\f8)\315
!\203_\307
!\202b
\316H*\n\211\314\f8)\315
!\203x\311
!\202{
\317H*#)\207" [overlay change outer class tag o semantic-find-tag-by-overlay-in-region semantic-overlay-start mark semantic-overlay-end nonterminal semantic-overlay-move 4 semantic-overlay-p 0 1] 6 (#$ . 48109)])
(defvar semantic-grammar-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [semantic-grammar-mode-hook variable-documentation put "Hook run after entering Semantic Grammar Framework mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp semantic-grammar-mode-map definition-name semantic-grammar-mode] 4)
(defvar semantic-grammar-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\317#\207" [semantic-grammar-mode-abbrev-table semantic-grammar-mode-map variable-documentation put purecopy "Keymap for `semantic-grammar-mode'." boundp semantic-grammar-mode-syntax-table definition-name semantic-grammar-mode (lambda (#1=#:def-tmp-var) (defvar semantic-grammar-mode-syntax-table #1#)) make-syntax-table "Syntax table for `semantic-grammar-mode'." (lambda (#1#) (defvar semantic-grammar-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `semantic-grammar-mode'." derived-mode-parent] 5)
#@193 Initialize a buffer for editing Semantic grammars.

\{semantic-grammar-mode-map}

This mode runs the hook `semantic-grammar-mode-hook', as the final or penultimate step
during initialization.
(defalias 'semantic-grammar-mode #[nil "\306\300!\210\307\310 \210\311\312\313!\210\314\f!\210
*\306\315!\210\307
\306\316!\210\317\306\320!\210\321\306\322!\210\323\306\324!\210\325\306\326!\210\327\306\330!\210\331\332 \210\317+\333,\334-\335.\306\336!\210\337\306\340!\210\341 \342\343\344\345\307$\210\342\346\347\345\307$\210)\350\351!\207" [delay-mode-hooks major-mode mode-name semantic-grammar-mode-map semantic-grammar-mode-syntax-table semantic-grammar-mode-abbrev-table make-local-variable t kill-all-local-variables semantic-grammar-mode "Semantic Grammar Framework" use-local-map set-syntax-table parse-sexp-ignore-comments comment-start ";;" comment-start-skip "\\(\\(^\\|[^\\\\\n]\\)\\(\\\\\\\\\\)*\\);+ *" indent-line-function semantic-grammar-indent fill-paragraph-function lisp-fill-paragraph font-lock-multiline undecided font-lock-defaults ((semantic-grammar-mode-keywords semantic-grammar-mode-keywords-1 semantic-grammar-mode-keywords-2 semantic-grammar-mode-keywords-3) nil nil ((95 . "w") (45 . "w"))) semantic-grammar-wy--install-parser semantic-grammar-lexer (":") ((code . "Setup Code") (keyword . "Keyword") (token . "Token") (nonterminal . "Nonterminal") (rule . "Rule")) semantic-format-face-alist ((code . default) (keyword . font-lock-keyword-face) (token . font-lock-type-face) (nonterminal . font-lock-function-name-face) (rule . default)) semantic-stickyfunc-sticky-classes (nonterminal) add-hook before-change-functions semantic--grammar-clear-macros-regexp-2 nil semantic-edits-new-change-functions semantic-grammar-edits-new-change-hook-fcn run-mode-hooks semantic-grammar-mode-hook local-abbrev-table semantic-lex-comment-regex semantic-lex-analyzer semantic-type-relation-separator-character semantic-symbol->name-assoc-list] 5 (#$ . 50157) nil])
#@158 Syntax table to skip a whole quoted expression in grammar code.
Consider quote as a "paired delimiter", so `forward-sexp' will skip
whole quoted expression.
(defvar semantic-grammar-skip-quoted-syntax-table (byte-code "\302!\303\304\305	#\210	)\207" [semantic-grammar-mode-syntax-table st copy-syntax-table modify-syntax-entry 39 "$"] 4) (#$ . 52168))
#@55 Move point to beginning of the previous grammar item.
(defalias 'semantic-grammar-backward-item #[nil "\303d[!\210\304\305!\306U\205(`Sf\307=\203%\310 p\311\216\312\n!\210\313\314!+\207\313\314!\207" [#1=#:buffer #2=#:table semantic-grammar-skip-quoted-syntax-table forward-comment skip-syntax-backward "." 0 39 syntax-table #[nil "rq\210\302	!)\207" [#1# #2# set-syntax-table] 2] set-syntax-table forward-sexp -1] 2 (#$ . 52528)])
(put 'semantic-grammar-backward-item 'byte-optimizer 'byte-compile-inline-expand)
#@62 Return indentation based on previous anchor character found.
(defalias 'semantic-grammar-anchored-indentation #[nil "\304\212\204g\305d[!\210\306\307!\310U\2032`Sf\311=\203.\312 p\313\216\314!\210\315\316!+\2021\315\316!\210o\203<\310\211\202\317\320!\203Ui\304u\210\321\322!\210l\203\323\211\202\317\324!\203\317\325!\204\310\211\203))\207" [indent #1=#:buffer #2=#:table semantic-grammar-skip-quoted-syntax-table nil forward-comment skip-syntax-backward "." 0 39 syntax-table #[nil "rq\210\302	!)\207" [#1# #2# set-syntax-table] 2] set-syntax-table forward-sexp -1 looking-at ":\\(\\s-\\|$\\)" skip-syntax-forward "-" 2 "[;%]" "\\<%prec\\>"] 3 (#$ . 53053)])
#@70 Indent a line of grammar.
When called the point is not in Lisp code.
(defalias 'semantic-grammar-do-grammar-indent #[nil "\302\211\212\303 \210\304\305!\210io\204$\306\307!\204$\306\310!\203)\306\311!\204)\312\202j\306\313!\2034\314\202j\306\315!\203K\212\316d!\210\306\313!)\203K\317\202j\320 \211\312U\204j\306\315!\203`S\202j\306\321!\204j\314\\	U?\205y\303 \210\322 \210j+\207" [n indent nil beginning-of-line skip-syntax-forward "-" looking-at "\\(\\w\\|\\s_\\)+\\s-*:" "%" "%prec\\>" 0 ":" 2 ";;" forward-comment 1 semantic-grammar-anchored-indentation "[|;]" delete-horizontal-space] 3 (#$ . 53749)])
#@108 Syntax table that consider brackets as parenthesis.
So `lisp-indent-line' will work inside bracket blocks.
(defvar semantic-grammar-brackets-as-parens-syntax-table (byte-code "\302!\303\304\305	#\210\303\306\307	#\210	)\207" [emacs-lisp-mode-syntax-table st copy-syntax-table modify-syntax-entry 123 "(}  " 125 "){  "] 4) (#$ . 54392))
#@94 Maybe run the Emacs Lisp indenter on a line of code.
Return nil if not in a Lisp expression.
(defalias 'semantic-grammar-do-lisp-indent #[nil "\3041V\212\305 \210\306\307w\210`\211\212eb\210\310\311\307\312\313$\203!\314\224\202#dT)Y\204,\315\316!\210\31717\315\316!\210\2020\210\305 \210\214`}\210db\210\320 p\321\216\322!\210\323 \210.\3120\207\210\307\207" [first #1=#:buffer #2=#:table semantic-grammar-brackets-as-parens-syntax-table (error) beginning-of-line "	 " nil re-search-forward "^\\s-*\\<%%\\>\\s-*$" t 2 0 up-list -1 (error) syntax-table #[nil "rq\210\302	!)\207" [#1# #2# set-syntax-table] 2] set-syntax-table lisp-indent-line] 7 (#$ . 54736)])
#@88 Indent the current line.
Use the Lisp or grammar indenter depending on point location.
(defalias 'semantic-grammar-indent #[nil "`\302\303 \204\f\304 \210\212\305 \210\306\302w\210`)	W\204$	`U?\205&b*\207" [first orig nil semantic-grammar-do-lisp-indent semantic-grammar-do-grammar-indent beginning-of-line "	 "] 2 (#$ . 55416) nil])
#@51 Insert and reindent for the symbol just typed in.
(defalias 'semantic-grammar-electric-punctuation #[nil "\300\301!\210\212\302 )\207" [self-insert-command 1 semantic-grammar-indent] 2 (#$ . 55764) nil])
#@238 Attempt to complete the symbol under point.
Completion is position sensitive.  If the cursor is in a match section of
a rule, then nonterminals symbols are scanned.  If the cursor is in a Lisp
expression then Lisp symbols are completed.
(defalias 'semantic-grammar-complete #[nil "`\212eb\210\306\307\310\311\312$\203\313\224\202dT)Y\204.\3141)\212\315\316!\210)\3110\202+\210\310\2037\317\320\"\321 )\207\322p!\310\211\203Y\n@\211A@)\323=\203R\n@	B\nA\211\204A	\237*\324 @\325
\f\"\211$\311=\203s\326\327!\202\330$;\203\275$
\230\203\275%&r\330\331!q\210p\332 \210&%\310\211'(\311\211)\311*+\333 \210\334\335!\210+\211,-\336\337
\f\"!\340,!\210+\202\330$;\203\325\341\316!\210`\341\342!\210`|\210$c\202\330\326\343!+\207" [completion-at-point-functions result tags tag nonterms sym re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0 (error) up-list -1 append (lisp-completion-at-point) completion-at-point semantic-something-to-tag-table nonterminal semantic-ctxt-current-symbol try-completion message "Symbols is already complete" get-buffer-create "*Completions*" kill-all-local-variables erase-buffer run-hooks temp-buffer-setup-hook display-completion-list all-completions internal-temp-output-buffer-show forward-sexp 1 "No Completions." ans default-directory #1=#:old-dir buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only #2=#:buf standard-output] 7 (#$ . 55975) nil])
#@94 Insert a new %keyword declaration with NAME.
Assumes it is typed in with the correct casing.
(defalias 'semantic-grammar-insert-keyword #[(name) "n\204\301c\210\302\226\303\304\226\305\261\210\306u\207" [name "\n" "%keyword " "        \"" "\"\n%put     " " summary\n\"\"\n" -2] 7 (#$ . 57447) "sKeyword: "])
#@107 Search for a function tag for the grammar macro with name NAME.
Return the tag found or nil if not found.
(defalias 'semantic--grammar-macro-function-tag #[(name) "\306\306p!\307\211\203$\f@\211@)\230\203@\nBA\211\204
\n\237+\206<\310\311!\205<
\205<\312\f\307\313#@A!\307\211\203\\@\211A@)\314=\203U@\nBA\211\204D\n\237*@\207" [semantic-case-fold case-fold-search result tags name tag semantic-something-to-tag-table nil featurep semantic/db semanticdb-find-tags-by-name t function semanticdb-current-database] 6 (#$ . 57768)])
(put 'semantic--grammar-macro-function-tag 'byte-optimizer 'byte-compile-inline-expand)
#@62 Return the library part of the grammar macro defined by DEF.
(defalias 'semantic--grammar-macro-lib-part #[(def) "\303\304\305\306@!!\"\306A!	\307\310\n	\"O*\207" [def fun suf format "-%s\\'" regexp-quote symbol-name 0 string-match] 5 (#$ . 58420)])
(put 'semantic--grammar-macro-lib-part 'byte-optimizer 'byte-compile-inline-expand)
#@156 Return a completion entry for the grammar macro defined by DEF.
If optional argument FULL is non-nil qualify the macro name with the
library found in DEF.
(defalias 'semantic--grammar-macro-compl-elt #[(def &optional full) "@\306\307\310\311@!!\"\311A!	\312\313\n	\"O+
\203)\306\314\f#\202,\311\f!\f*DB\207" [def fun suf lib mac full format "-%s\\'" regexp-quote symbol-name 0 string-match "%s/%s"] 6 (#$ . 58765)])
#@54 Return a completion dictionary of macro definitions.
(defalias 'semantic--grammar-macro-compl-dict #[nil "\304 \305\211\211\2033@A\306\n@\"\204#\306\n@	\"\203*\n	B\202	\307\n!B\202		\203G	@	A\307\n\310\"B\2023,\207" [dict dups def defs semantic-grammar-macros nil assoc semantic--grammar-macro-compl-elt t] 4 (#$ . 59200)])
#@432 Visit the Emacs Lisp library where a grammar macro is implemented.
MACRO-NAME is a symbol that identifies a grammar macro.
LIBRARY is the name (sans extension) of the Emacs Lisp library where
to start searching the macro implementation.  Lookup in included
libraries, if necessary.
Find a function tag (in current tags table) whose name contains MACRO-NAME.
Select the buffer containing the tag's definition, and move point there.
(defalias 'semantic-grammar-find-macro-expander #[(macro-name library) "\205\335	\205\335\306\307	\"\310\311\n\312\"\206\n!rq\210\306\313	#\314
\314p!\315\211\203P\f@\211 @)\230\203G@BA\211\2042\237+\206i\316\317!\205i!\205i\320\f\315\312#@A!\315\211\203\222@\211 A@)\321=\203\211@BA\211\204s\237*@*\211 \203\323\322\323!\210\324\325 !!\210 \211  \326 8)\"\327\"!\203\305\330\"!\202\311\"\331H*b\210\332 !\202\334\324!\210\333\334	#+\207" [macro-name library lib buf name semantic-case-fold format "%s.el" find-file-noselect locate-library t "%s-%s" semantic-something-to-tag-table nil featurep semantic/db semanticdb-find-tags-by-name function require semantic/decorate pop-to-buffer semantic-tag-buffer 4 semantic-overlay-p semantic-overlay-start 0 semantic-momentary-highlight-tag message "No expander found in library %s for macro %s" case-fold-search result tags tag semanticdb-current-database o] 6 (#$ . 59556) (byte-code "\302 \303\304\305\306\307$\"\211A\206\310*\207" [dic def semantic--grammar-macro-compl-dict assoc completing-read "Macro: " nil 1 (nil nil)] 7)])
#@61 Association of syntax elements, and the corresponding help.
(defvar semantic-grammar-syntax-help '(("symbol" . "Syntax: A symbol of alpha numeric and symbol characters") ("number" . "Syntax: Numeric characters.") ("punctuation" . "Syntax: Punctuation character.") ("semantic-list" . "Syntax: A list delimited by any valid list characters") ("open-paren" . "Syntax: Open Parenthesis character") ("close-paren" . "Syntax: Close Parenthesis character") ("string" . "Syntax: String character delimited text") ("comment" . "Syntax: Comment character delimited text") ("EMPTY" . "Syntax: Match empty text") ("ASSOC" . "Lambda Key: (ASSOC key1 value1 key2 value2 ...)") ("EXPAND" . "Lambda Key: (EXPAND <list id> <rule>)") ("EXPANDFULL" . "Lambda Key: (EXPANDFULL <list id> <rule>)") ("TAG" . "Generic Tag Generation: (TAG <name> <tag-class> [ :key value ]*)") ("VARIABLE-TAG" . "(VARIABLE-TAG <name> <lang-type> <default-value> [ :key value ]*)") ("FUNCTION-TAG" . "(FUNCTION-TAG <name> <lang-type> <arg-list> [ :key value ]*)") ("TYPE-TAG" . "(TYPE-TAG <name> <lang-type> <part-list> <parents> [ :key value ]*)") ("INCLUDE-TAG" . "(INCLUDE-TAG <name> <system-flag> [ :key value ]*)") ("PACKAGE-TAG" . "(PACKAGE-TAG <name> <detail> [ :key value ]*)") ("CODE-TAG" . "(CODE-TAG <name> <detail> [ :key value ]*)") ("ALIAS-TAG" . "(ALIAS-TAG <name> <aliasclass> <definition> [:key value]*)") ("$1" . "Match Value: Value from match list in slot 1") ("$2" . "Match Value: Value from match list in slot 2") ("$3" . "Match Value: Value from match list in slot 3") ("$4" . "Match Value: Value from match list in slot 4") ("$5" . "Match Value: Value from match list in slot 5") ("$6" . "Match Value: Value from match list in slot 6") ("$7" . "Match Value: Value from match list in slot 7") ("$8" . "Match Value: Value from match list in slot 8") ("$9" . "Match Value: Value from match list in slot 9") (",$1" . "Match Value: Value from match list in slot 1") (",$2" . "Match Value: Value from match list in slot 2") (",$3" . "Match Value: Value from match list in slot 3") (",$4" . "Match Value: Value from match list in slot 4") (",$5" . "Match Value: Value from match list in slot 5") (",$6" . "Match Value: Value from match list in slot 6") (",$7" . "Match Value: Value from match list in slot 7") (",$8" . "Match Value: Value from match list in slot 8") (",$9" . "Match Value: Value from match list in slot 9")) (#$ . 61152))
(defvar semantic-grammar-eldoc-last-data (byte-code "\300\211B\207" [nil] 2))
#@115 Return a one-line docstring for the given grammar MACRO.
EXPANDER is the name of the function that expands MACRO.
(defalias 'semantic-grammar-eldoc-get-macro-docstring #[(macro expander) "\304\305!\210	@=\203	A\207\306\307!\203L\310\311\312\"\"\211\2033\n@\313\314\n\"\210\315\n\316\225\317OP\2027\307!\n\203I\320\321\322\n#\323#\nB\n)\207\306\324!\205g\324\317\325\326!\327\330#\331\325\326!\327\332#\333R#\207" [expander semantic-grammar-eldoc-last-data doc macro require eldoc fboundp eldoc-function-argstring help-split-fundoc documentation t string-match "\\`[^ )]* ?" "(" 0 nil eldoc-docstring-format-sym-doc format "==> %s %s" default elisp-get-fnsym-args-string propertize symbol-name face font-lock-keyword-face " ==> " font-lock-function-name-face ": "] 10 (#$ . 63651)])
#@658 Display additional eldoc information about grammar syntax elements.
Syntax element is the current symbol at point.
If it is associated a help string in `semantic-grammar-syntax-help',
return that string.
If it is a macro name, return a description of the associated expander
function parameter list.
If it is a function name, return a description of this function
parameter list.
It it is a variable name, return a brief (one-line) documentation
string for the variable.
If a default description of the current context can be obtained,
return it.
Otherwise return nil.

Override semantic-idle-summary-current-symbol-info in `semantic-grammar-mode' buffers.
(defalias 'semantic-idle-summary-current-symbol-info-semantic-grammar-mode #[nil "\303\304!\210\305 @\211\205\306	\"A\211\204\241\203\241`\212eb\210\307\310\311\312\313$\203-\314\224\202/dT)Y\204H\3151C\212\316\317!\210)\3120\202E\210\311\203\241\320 \321!\211\205W\n\236A\211\203j\322\n!\203j\323\n\"\202\241\203\207\322!\203\207\322\324!\203\200\324!\202\203\325!\202\241\203\241\326!\203\241\322\327!\203\235\327!\202\240\330!\n\206\247\331 *\207" [elt semantic-grammar-syntax-help val require eldoc semantic-ctxt-current-symbol assoc re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0 (error) up-list -1 semantic-grammar-macros intern-soft fboundp semantic-grammar-eldoc-get-macro-docstring eldoc-get-fnsym-args-string elisp-get-fnsym-args-string boundp eldoc-get-var-docstring elisp-get-var-docstring semantic-idle-summary-current-symbol-info-default] 7 (#$ . 64463)])
(byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put semantic-idle-summary-current-symbol-info-semantic-grammar-mode definition-name semantic-idle-summary-current-symbol-info mode-local-bind ((semantic-idle-summary-current-symbol-info . semantic-idle-summary-current-symbol-info-semantic-grammar-mode)) (override-flag t) semantic-grammar-mode] 4)
#@180 Return non-nil for tags that should have a boundary drawn.
Only tags of type 'nonterminal will be so marked.

Override semantic-tag-boundary-p in `semantic-grammar-mode' buffers.
(defalias 'semantic-tag-boundary-p-semantic-grammar-mode #[(tag) "\211A@)\301=\207" [tag nonterminal] 3 (#$ . 66401)])
(byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put semantic-tag-boundary-p-semantic-grammar-mode definition-name semantic-tag-boundary-p mode-local-bind ((semantic-tag-boundary-p . semantic-tag-boundary-p-semantic-grammar-mode)) (override-flag t) semantic-grammar-mode] 4)
#@131 Determine the name of the current function at POINT.

Override semantic-ctxt-current-function in `semantic-grammar-mode' buffers.
(defalias 'semantic-ctxt-current-function-semantic-grammar-mode #[(&optional point) "\212\203b\210`\212eb\210\305\306\307\310\311$\203\312\224\202dT)Y\2046\31311\212\314\315!\210)\3100\2023\210\307\205K	\307\316\317\216\320\f!\210\n\321\n!\322 ,)\207" [point mode-local-active-mode #1=#:new-mode #2=#:old-locals #3=#:mode re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0 (error) up-list -1 emacs-lisp-mode #[nil "\306!\210	\307\211\203@\211@\nAL\210A\211\204\f*\f\310\f!\207" [#1# #2# #4=#:local --dolist-tail-- #3# mode-local-active-mode deactivate-mode-local-bindings nil activate-mode-local-bindings] 3] deactivate-mode-local-bindings activate-mode-local-bindings semantic-ctxt-current-function] 6 (#$ . 66991)])
(byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put semantic-ctxt-current-function-semantic-grammar-mode definition-name semantic-ctxt-current-function mode-local-bind ((semantic-ctxt-current-function . semantic-ctxt-current-function-semantic-grammar-mode)) (override-flag t) semantic-grammar-mode] 4)
#@140 Determine the argument index of the called function at POINT.

Override semantic-ctxt-current-argument in `semantic-grammar-mode' buffers.
(defalias 'semantic-ctxt-current-argument-semantic-grammar-mode #[(&optional point) "\212\203b\210`\212eb\210\305\306\307\310\311$\203\312\224\202dT)Y\2046\31311\212\314\315!\210)\3100\2023\210\307\205K	\307\316\317\216\320\f!\210\n\321\n!\322 ,)\207" [point mode-local-active-mode #1=#:new-mode #2=#:old-locals #3=#:mode re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0 (error) up-list -1 emacs-lisp-mode #[nil "\306!\210	\307\211\203@\211@\nAL\210A\211\204\f*\f\310\f!\207" [#1# #2# #4=#:local --dolist-tail-- #3# mode-local-active-mode deactivate-mode-local-bindings nil activate-mode-local-bindings] 3] deactivate-mode-local-bindings activate-mode-local-bindings semantic-ctxt-current-argument] 6 (#$ . 68185)])
(byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put semantic-ctxt-current-argument-semantic-grammar-mode definition-name semantic-ctxt-current-argument mode-local-bind ((semantic-ctxt-current-argument . semantic-ctxt-current-argument-semantic-grammar-mode)) (override-flag t) semantic-grammar-mode] 4)
#@128 Determine the tag being assigned into at POINT.

Override semantic-ctxt-current-assignment in `semantic-grammar-mode' buffers.
(defalias 'semantic-ctxt-current-assignment-semantic-grammar-mode #[(&optional point) "\212\203b\210`\212eb\210\305\306\307\310\311$\203\312\224\202dT)Y\2046\31311\212\314\315!\210)\3100\2023\210\307\205K	\307\316\317\216\320\f!\210\n\321\n!\322 ,)\207" [point mode-local-active-mode #1=#:new-mode #2=#:old-locals #3=#:mode re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0 (error) up-list -1 emacs-lisp-mode #[nil "\306!\210	\307\211\203@\211@\nAL\210A\211\204\f*\f\310\f!\207" [#1# #2# #4=#:local --dolist-tail-- #3# mode-local-active-mode deactivate-mode-local-bindings nil activate-mode-local-bindings] 3] deactivate-mode-local-bindings activate-mode-local-bindings semantic-ctxt-current-assignment] 6 (#$ . 69388)])
(byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put semantic-ctxt-current-assignment-semantic-grammar-mode definition-name semantic-ctxt-current-assignment mode-local-bind ((semantic-ctxt-current-assignment . semantic-ctxt-current-assignment-semantic-grammar-mode)) (override-flag t) semantic-grammar-mode] 4)
#@135 Determine the class of tags that can be used at POINT.

Override semantic-ctxt-current-class-list in `semantic-grammar-mode' buffers.
(defalias 'semantic-ctxt-current-class-list-semantic-grammar-mode #[(&optional point) "\212\203b\210`\212eb\210\305\306\307\310\311$\203\312\224\202dT)Y\2046\31311\212\314\315!\210)\3100\2023\210\307\203N	\307\316\317\216\320\f!\210\n\321\n!\322 ,\202O\323)\207" [point mode-local-active-mode #1=#:new-mode #2=#:old-locals #3=#:mode re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0 (error) up-list -1 emacs-lisp-mode #[nil "\306!\210	\307\211\203@\211@\nAL\210A\211\204\f*\f\310\f!\207" [#1# #2# #4=#:local --dolist-tail-- #3# mode-local-active-mode deactivate-mode-local-bindings nil activate-mode-local-bindings] 3] deactivate-mode-local-bindings activate-mode-local-bindings semantic-ctxt-current-class-list (nonterminal keyword)] 6 (#$ . 70591)])
(byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put semantic-ctxt-current-class-list-semantic-grammar-mode definition-name semantic-ctxt-current-class-list mode-local-bind ((semantic-ctxt-current-class-list . semantic-ctxt-current-class-list-semantic-grammar-mode)) (override-flag t) semantic-grammar-mode] 4)
#@265 Return the major mode active at POINT.
POINT defaults to the value of point in current buffer.
Return `emacs-lisp-mode' is POINT is within Lisp code, otherwise
return the current major mode.

Override semantic-ctxt-current-mode in `semantic-grammar-mode' buffers.
(defalias 'semantic-ctxt-current-mode-semantic-grammar-mode #[(&optional point) "\212\203b\210`\212eb\210\301\302\303\304\305$\203\306\224\202dT)Y\2046\30711\212\310\311!\210)\3040\2023\210\303\203:\312\202<\313 )\207" [point re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0 (error) up-list -1 emacs-lisp-mode semantic-ctxt-current-mode-default] 6 (#$ . 71833)])
(byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put semantic-ctxt-current-mode-semantic-grammar-mode definition-name semantic-ctxt-current-mode mode-local-bind ((semantic-ctxt-current-mode . semantic-ctxt-current-mode-semantic-grammar-mode)) (override-flag t) semantic-grammar-mode] 4)
#@206 Return a string abbreviation of TAG.
Optional PARENT is not used.
Optional COLOR is used to flag if color is added to the text.

Override semantic-format-tag-abbreviate in `semantic-grammar-mode' buffers.
(defalias 'semantic-format-tag-abbreviate-semantic-grammar-mode #[(tag &optional parent color) "\211A@)\305	\n#\211\306=\203\307P\2024\f\310=\203#\311\2024\f\312>\203-\2024\313\314\f!\315R*\207" [tag parent color name class semantic-format-tag-name nonterminal ":" setting "%settings%" (rule keyword) "%" symbol-name " "] 6 (#$ . 72777)])
(byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put semantic-format-tag-abbreviate-semantic-grammar-mode definition-name semantic-format-tag-abbreviate mode-local-bind ((semantic-format-tag-abbreviate . semantic-format-tag-abbreviate-semantic-grammar-mode)) (override-flag t) semantic-grammar-mode] 4)
#@205 Return a string summarizing TAG.
Optional PARENT is not used.
Optional argument COLOR determines if color is added to the text.

Override semantic-format-tag-summarize in `semantic-grammar-mode' buffers.
(defalias 'semantic-format-tag-summarize-semantic-grammar-mode #[(tag &optional parent color) "\211A@)\306	\n#\307\211\211&\310\267\202\247\311\312\313\314!G\"\202\255\315\307'\316()\317\211p!\307*\211+\203Z+@\211A@)\320=\203Q+@*B*+A\211+\204<*\237*!\307*\211+\203\214\321\322\211@)!+@\211@)\"\203\203+@*B*+A\211+\204h*\237+,-\317,!\307*\211+\203\273-+@!\203\262+@*B*+A\211+\204\241*\237,\210\323\324.\325\3268).\"*'\203\337\327\330'!P\202\340\331Q)\202\255\332\324.\325\3268).\"*\333.\325\3268).\"*\211\334.\325\3268).\"+/010\203.\335\336
0B\337#/\203;\312\340/\"\202<\3311\203S\312\3411/\203N\337\202O\331#\202T\331P+\202\255\342\324.\325\3268).\"*\211\334.\325\3268).\"+/1/\203\217\312\340/\"\202\220\3311\203\240\337\335\3361\337#P\202\241\331P*\202\255\343	\n#\n\203\272\f\203\272\344\f\304\"\n\203\313\f\203\313\203\313\344\345\"\f\203\326\f
Q\202\327,\207" [tag parent color desc label name semantic-format-tag-name nil #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (nonterminal 24 keyword 37 token 230 assoc 346)) "Nonterminal: " format " with %d match lists." semantic-tag-components "Keyword: " #[(put) "?\205\304\305	\306\307\3108)\n\"*\"A\211\207" [summary put attribute tag assoc "summary" :value plist-get 2] 5] semantic-something-to-tag-table put string-match regexp-quote " = " :value plist-get 2 " - " read "" "Token: " :rest :type mapconcat identity " " " <%s>" "%s%S" "Assoc: " semantic-format-tag-abbreviate semantic--format-colorize-text comment class summary semantic-case-fold case-fold-search result tags table predicate attribute type names val] 7 (#$ . 73654)])
(byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put semantic-format-tag-summarize-semantic-grammar-mode definition-name semantic-format-tag-summarize mode-local-bind ((semantic-format-tag-summarize . semantic-format-tag-summarize-semantic-grammar-mode)) (override-flag t) semantic-grammar-mode] 4)
#@150 Provide a semantic analysis object describing a context in a grammar.

Override semantic-analyze-current-context in `semantic-grammar-mode' buffers.
(defalias 'semantic-analyze-current-context-semantic-grammar-mode #[(point) "\306\307!\210`\212eb\210\310\311\312\313\314$\203\315\224\202dT)Y\2042\3161-\212\317\320!\210)\3130\202/\210\312\203I\312\321\322\216\323!\210	\324	!\325\f!,\207\312\326 \211!@\"\314!8#\312$\327 %\330\"@p\"$\331\332\333p\334\312\335#\336$\203}$C\202\"\337\312\340%&
\211.\207" [mode-local-active-mode #1=#:new-mode #2=#:old-locals #3=#:mode point context-return require semantic/analyze re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0 (error) up-list -1 emacs-lisp-mode #[nil "\306!\210	\307\211\203@\211@\nAL\210A\211\204\f*\f\310\f!\207" [#1# #2# #4=#:local --dolist-tail-- #3# mode-local-active-mode deactivate-mode-local-bindings nil activate-mode-local-bindings] 3] deactivate-mode-local-bindings activate-mode-local-bindings semantic-analyze-current-context semantic-ctxt-current-symbol-and-bounds semantic-ctxt-current-class-list semantic-find-first-tag-by-name semantic-analyze-context "context-for-semantic-grammar" :buffer :scope :bounds :prefix :prefixtypes :prefixclass prefixandbounds prefix bounds prefixsym prefixclass] 15 (#$ . 75967)])
(byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put semantic-analyze-current-context-semantic-grammar-mode definition-name semantic-analyze-current-context mode-local-bind ((semantic-analyze-current-context . semantic-analyze-current-context-semantic-grammar-mode)) (override-flag t) semantic-grammar-mode] 4)
#@141 Return a list of possible completions based on CONTEXT.

Override semantic-analyze-possible-completions in `semantic-grammar-mode' buffers.
(defalias 'semantic-analyze-possible-completions-semantic-grammar-mode #[(context) "\306\307!\210`\212eb\210\310\311\312\313\314$\203\315\224\202dT)Y\2042\3161-\212\317\320!\210)\3130\202/\210\312\203I\312\321\322\216\323!\210	\324	!\325\f!,\207r\326\f\327\"q\210\326\f\330\"@\211\3311\212:\205\206@;\205\206A@9\205\206A@\205\206\3148<\205\206\3328<0\202\214\210\312)\203\231
\211@)\202\252
;\203\242
\202\252
@;\205\252
@\211 G!\333p!\312\"\211#\203\346\334 \315\312#@\211@)\315!$&\313=\203\335#@\"B\"#A\211#\204\274\"\237+#\335#\326\f\336\"\",\207" [mode-local-active-mode #1=#:new-mode #2=#:old-locals #3=#:mode context prefix require semantic/analyze/complete re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0 (error) up-list -1 emacs-lisp-mode #[nil "\306!\210	\307\211\203@\211@\nAL\210A\211\204\f*\f\310\f!\207" [#1# #2# #4=#:local --dolist-tail-- #3# mode-local-active-mode deactivate-mode-local-bindings nil activate-mode-local-bindings] 3] deactivate-mode-local-bindings activate-mode-local-bindings semantic-analyze-possible-completions eieio-oref buffer :prefix (error) 3 semantic-something-to-tag-table compare-strings semantic-analyze-tags-of-class-list prefixclass tag completetext l result tags semantic-case-fold] 9 (#$ . 77620)])
(byte-code "\300\301\302\303#\210\304\305\306\307#\210\310\311!\207" [put semantic-analyze-possible-completions-semantic-grammar-mode definition-name semantic-analyze-possible-completions mode-local-bind ((semantic-analyze-possible-completions . semantic-analyze-possible-completions-semantic-grammar-mode)) (override-flag t) semantic-grammar-mode provide semantic/grammar] 4)