PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /usr/share/emacs/24.3/lisp/cedet/semantic
Viewing File: /usr/share/emacs/24.3/lisp/cedet/semantic/grammar.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 12:57:02 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/cedet/semantic/grammar.el ;;; in Emacs version 24.3.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\\?.'" (#$ . 781)) #@37 Detect and create a prologue token. (defvar semantic-grammar-lex-prologue nil (#$ . 895)) (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!\203P\312`\212\203*\203*\306u\210\313\314!\210`\202.\306\315\316\217)BB B\211@\211\211A@\247\204IAA\202LA)A) -\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 (byte-code "\300u\210\301\302!\210`\207" [nil forward-sexp 1] 2) ((error (byte-code "\304 \n@\nA#b\210`\211)\207" [syntax semantic-lex-unterminated-syntax-end-function semantic-lex-analysis-bounds semantic-lex-end-point PROLOGUE] 4))) debug-on-error semantic-lex-debug-analyzers token] 6 "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 (#$ . 2027)]) (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 (#$ . 2346)) (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!\203e\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\204]AA\202`A)A)+ -\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 token] 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\203\367K\203X\fGKX\203\367\317\320!\203e\311\225A\202\216\317\321!\203r\311\225A\202\216\317\322!\203\272\323`\212L\203\220M\203\220\306u\210\324\325!\210`\202\224\306\326\327\217)BB\fB\211@\211N\211NA@\247\204\257NAA\202\262NA)A)A\202\216\317\330!\203\311\224\311\225\331O\211\212eb\210\332\333\306\334\335$\203\334\311\224\202\336dT)Y\203\350\336OdO \nBB\fB\211@\211N\211NA@\247\204NAA\202 NA)A)A+\202\216\317\337!\203q\340\311!\211PP\341Q!\2053P;\2053\342PQ\")\211P\205=PJ)\211R\205mR\311\224\311\225BB\fB\211@\211N\211NA@\247\204dNAA\202gNA)A)\211A)\204\216\317\343!\203\352\340\311!S\311\224T\311\225U\344V\306WV\203\271W\204\271\345V\211X@A)S\"\203\260V\211X@@)W\202\212VA\211V\204\217W\206\277\346TUBB\fB\211@\211N\211NA@\247\204\335NAA\202\340NA)A)\211A-\204\216\317Y!\203\347\311\224\311\225BB\fB\211@\211N\211NA@\247\204NAA\202NA)A)A\202\216\317\350!\203`\351`\212L\2036M\2036\324\325!\210`\202:\306\352\353\217)BB\fB\211@\211N\211NA@\247\204UNAA\202XNA)A)A\202\216\317Z!\203\227`[\354\325!\210`[=\203~\355\356\357 \"\210\202\205n\203\205\360u\210`[=\203\220\312\361!\210`A)\202\216\317\362!\203\334\363`\212L\203\262M\203\262\324\325!\210`\202\266\306\364\365\217)BB\fB\211@\211N\211NA@\247\204\321NAA\202\324NA)A)A\202\216\317\366!\203a\340\311!\\\311\224]\311\225\211^]Z_\367`\306a_\311V\203\370\\`\"\211a\204_S_\\\311_O\\\202\373a\203/a@a]_\\^a\2065\371]^BB\fB\211@\211N\211NA@\247\204SNAA\202VNA)A)\211A.\204\216\317\372!\203D\340\311!\373\306bcd\374dc@\"\211b\203E\203\214BEW\203\277BTBbA@\311\224\311\225BB\fB\211@\211N\211NA@\247\204\263NAA\202\266NA)A)\211A\202@\335b8\311\224\212L\203\330M\203\330\375\325!\210`\202\334\306\376\377\217)BB\fB\211@\211N\211NA@\247\204\367NAA\202\372NA)A)\211A\202@\374dcA\"\211b\205@BSBbA@\311\224\311\225BB\fB\211@\211N\211NA@\247\2047NAA\202:NA)A)\211A+\204\216\317\201l!\203\216\201m`\212L\203cM\203c\324\325!\210`\202k\306\201n\201o\217)BB\fB\211@\211N\211NA@\247\204\206NAA\202\211NA)A)AA@=\203\240\312\201p@\f@#\210A@Ab\210e\203\305\201q \204\273\201r \203\305\201se\201t\"\210\f@Nf\203\363\306g\201u\216N\203\342\201vN!g\201w\201x\201yNB#!\210*)\202E+ \203> \211A@\211h\211i\203(\201z\201{i@i\211XA@)#\210 \211A@\211i\204\nh@jkjF@FA#b\210`A+ 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 ((byte-code "rq\210\302 !\210)\302\207" [#1=#:buffer #2=#:table set-syntax-table] 2)) set-syntax-table looking-at "\\s-*\\(\n\\|\\s>\\)" "\\s-+" "\\<%{" PROLOGUE forward-sexp 1 (byte-code "\300u\210\301\302!\210`\207" [nil forward-sexp 1] 2) ((error (byte-code "\304 \n@\nA#b\210`\211)\207" [syntax semantic-lex-unterminated-syntax-end-function semantic-lex-analysis-bounds semantic-lex-end-point PROLOGUE] 4))) "\\<%%\\>" PERCENT_PERCENT re-search-forward "^\\s-*\\<%%\\>\\s-*$" t 2 EPILOGUE "\\(\\sw\\|\\s_\\)+" match-string arrayp intern-soft ":?\\(\\sw\\|\\s_\\)+" ((PERCENT_PERCENT . "\\`%%\\'")) string-match SYMBOL CHARACTER "\\s\"" STRING (byte-code "\300\301!\210`\207" [forward-sexp 1] 2) ((error (byte-code "\304 \n@\nA#b\210`\211)\207" [syntax semantic-lex-unterminated-syntax-end-function semantic-lex-analysis-bounds semantic-lex-end-point STRING] 4))) forward-comment skip-syntax-forward "-.'" point-at-eol -1 "Strange comment syntax prevents lexical analysis" "\\s'\\s-*(" PREFIXED_LIST (byte-code "\300\301!\210`\207" [forward-sexp 1] 2) ((error (byte-code "\304 \n@\nA#b\210`\211)\207" [syntax semantic-lex-unterminated-syntax-end-function semantic-lex-analysis-bounds semantic-lex-end-point PREFIXED_LIST] 4))) "\\(\\s.\\|\\s$\\|\\s'\\)+" ((GT . ">") (LT . "<") (OR . "|") (SEMI . ";") (COLON . ":")) rassoc punctuation "\\s(\\|\\s)" ((("(" LPAREN PAREN_BLOCK) ("{" LBRACE BRACE_BLOCK)) (")" RPAREN) ("}" RBRACE)) assoc forward-list (byte-code "\300\301!\210`\207" [forward-list 1] 2) ((error (byte-code "\3058\n @ A#b\210`\211)\207" [#3=#:elt syntax semantic-lex-unterminated-syntax-end-function semantic-lex-analysis-bounds semantic-lex-end-point 2] 4))) 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 token class name semantic-flex-keywords-obarray #4=#:key #5=#:val #6=#:pos #7=#:end #8=#:lst #9=#:elt x semantic-grammar-lex-c-char-re semantic-lex-comment-regex comment-start-point #10=#:val #11=#:pos #12=#:end #13=#:len #14=#:lst #15=#:elt #3# #16=#:lst #17=#:val semantic-current-input-throw-symbol semantic-lex-debug o last blk syntax semantic-lex-unterminated-syntax-end-function "\\=" SEXP (byte-code "\300\301!\210`\207" [forward-sexp 1] 2) ((error (byte-code "\304 \n@\nA#b\210`\211)\207" [syntax semantic-lex-unterminated-syntax-end-function semantic-lex-analysis-bounds semantic-lex-end-point SEXP] 4))) "semantic-grammar-lexer: endless loop at %d, after %S" input-pending-p accept-process-output throw lex ((byte-code "\203\301!\210\301\207" [o semantic-overlay-delete] 2)) semantic-lex-highlight-token semantic-read-event format "%S :: Depth: %d :: SPC - continue" message "semantic-grammar-lexer: `%s' block from %S is unterminated"] 7 (#$ . 3396)]) #@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 (#$ . 9451) 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 (#$ . 9811)]) #@57 Return non-nil if SYM is bound to the `quote' function. (defalias 'semantic-grammar-quote-p #[(sym) "\300\301\302\217\207" [nil (byte-code "\301!\301\302!=\207" [sym indirect-function quote] 3) ((error))] 3 (#$ . 10094)]) (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) "\300\301\302\217\207" [nil (byte-code "\301!\301\302!=\207" [sym indirect-function backquote] 3) ((error))] 3 (#$ . 10399)]) (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 (#$ . 10721)]) (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 (#$ . 11263)]) #@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 (#$ . 11662)]) #@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 (#$ . 12143)]) (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 (#$ . 12433)]) (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 (#$ . 12755)]) #@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 (#$ . 13322)]) #@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 (#$ . 13992)]) (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\" \" \315 O\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 (#$ . 14340)]) #@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 (#$ . 14916)]) (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 (#$ . 15187)]) (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 (#$ . 15430)]) (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 (#$ . 15715)]) (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 (#$ . 15997)]) (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\311@A\311\312\211@)\313\314\n\315\n8)\"*B\"\203<@A\316\"\211\203h@\317\314\n\315\n8)\"*\211\203h\312\211@@)!\320\211@A)! \fE BA\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 x] 10 (#$ . 16569)]) #@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\213 C\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 (#$ . 17216)]) #@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 \314 8)\"*\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 (#$ . 18338)]) #@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 @\nB A\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 (#$ . 19002)]) #@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 (#$ . 19661)]) (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 @\nB A\211\204\n\237*\306\211\203\210 @\311\f\211\312\313\f\314\f8)\"+!\306\315\316\217\210\f\317\313\f\314\f8)\"*\306\211\203\200 @\311!\311\320\321 #!BB A\211\204e* A\211\2040*\237*\207" [defs lib result tags tag --dolist-tail-- nil semantic-something-to-tag-table macro intern :type plist-get 2 (require lib) ((error)) :value format "%s-%s" attribute mac] 7 (#$ . 20241)]) #@47 List of associations (MACRO-NAME . EXPANDER). (defvar semantic-grammar-macros nil (#$ . 20857)) (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 (#$ . 21013)]) #@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\312 D\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 (#$ . 21203)]) #@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\205h J+\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\340 J+)\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 (#$ . 21701)]) (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 (#$ . 22697)]) #@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\205h J+\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\340 J+)\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 (#$ . 23037)]) (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 (#$ . 24042)]) #@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\205h J+\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\340 J+)\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 (#$ . 24247)]) (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 (#$ . 25234)]) #@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\205h J+\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\340 J+)\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 (#$ . 25441)]) (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 (#$ . 26595)]) (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 (#$ . 26852)]) (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 (#$ . 27101)]) (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 (#$ . 27350)]) (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 (#$ . 27609)])) #@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 (#$ . 27783)]) #@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 (#$ . 28054)]) #@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\"\210 A\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 (#$ . 28322)]) #@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 <http://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") (#$ . 28777)) #@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;;; " file " ends here\n") (#$ . 30073)) #@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 (#$ . 30292)]) #@45 Return text of a generated standard header. (defalias 'semantic-grammar-header #[nil "\306\307 !!)\310\306\307 !!)\311\312!\313\314 \206\311\315!\nP\316\310\211\203Z@\211;\203E P\202Q9\203Q JPA\211\2043* .\207" [semantic--grammar-output-buffer buffer user-full-name out copy vcid file-name-nondirectory buffer-file-name nil format-time-string "%Y-%m-%d %T%z" "$Id$" semantic-grammar-copyright-line ";; Copyright (C) %Y " "" date gram file semantic-grammar-header-template S --dolist-tail--] 7 (#$ . 30549)]) #@45 Return text of a generated standard footer. (defalias 'semantic-grammar-footer #[nil "\306\307 !!) \206\f\310\n \311\f\211 \203H @\211\f;\2031\n\fP\n\202?\f9\203?\n\fJP\n A\211 \204*\n+\207" [semantic--grammar-output-buffer buffer file semantic--grammar-provide semantic--grammar-package libr file-name-nondirectory buffer-file-name "" nil out semantic-grammar-footer-template S --dolist-tail--] 4 (#$ . 31105)]) #@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 (#$ . 31552)]) #@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 (#$ . 31765)]) #@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 (#$ . 31976)]) #@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 (#$ . 32177)]) #@50 Return delimiters specification from BLOCK-SPEC. (defalias 'semantic-grammar--lex-delim-spec #[(block-spec) "\300\301\302\217\207" [nil (byte-code "A\304 \211:\203-\n@\203-\n@9\203-\n\211A@)\203-\n\211A@)9\203-\n\2020\305\306!*\207" [block-spec standard-input delim-spec x read error "Invalid delimiter"] 3) ((error (byte-code "\301\302A@#\207" [block-spec error "Invalid delimiters specification %s in block token %s"] 4)))] 3 (#$ . 32386)]) (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 "\301=\203\302\207\204\303\304\305\217\207\207" [semantic-grammar--lex-block-specs error nil err (byte-code "\306\307\211\310\n!\205 ;\205\311 \n\")\211\203 J\202)?\205)\312\313\314\"+A\315\307\211\310\n!\205A ;\205A\311 \n\")\211\203L J\202U?\205U\312\313\314\"+A\316\307\211\310\n!\205m ;\205m\311 \n\")\211\203x J\202\201?\205\201\312\313\314\"+A\317\211\317\211\317\211\f\317\211\203@\211\317\320\321\217)\211@ \236\211A@)\236\204\322\322\323@@#\210\204\341\322\324A@#\210A@@EBA@DBA\211\204\241*B\211. \207" [noerror type semantic-lex-types-obarray sym blocks open-delims "block" t arrayp intern-soft signal wrong-type-argument (semantic-lex-type-p type) "open-paren" "close-paren" nil (byte-code "A\304 \211:\203-\n@\203-\n@9\203-\n\211A@)\203-\n\211A@)9\203-\n\2020\305\306!*\207" [block-spec standard-input delim-spec x read error "Invalid delimiter"] 3) ((error (byte-code "\301\302A@#\207" [block-spec error "Invalid delimiters specification %s in block token %s"] 4))) error "Missing open-paren token %s required by block %s" "Missing close-paren token %s required by block %s" close-delims olist clist block-spec delim-spec open-spec close-spec --dolist-tail-- x semantic-grammar--lex-block-specs] 5) ((error (byte-code "\302\303\304\305 !\"\210\306\207" [semantic-grammar--lex-block-specs err error message "%s" error-message-string nil] 4)))] 3 (#$ . 32933)]) #@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 (#$ . 34629)]) (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\332 F!. \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 (#$ . 34897)]) #@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 (#$ . 36083)]) #@44 Regexp which matches grammar source files. (custom-declare-variable 'semantic-grammar-file-regexp "\\.[wb]y$" '(#$ . 36569) :group 'semantic :type 'regexp) #@57 Return non-nil if running without interactive terminal. (defalias 'semantic-grammar-noninteractive #[nil "\207" [noninteractive] 1 (#$ . 36731)]) (put 'semantic-grammar-noninteractive 'byte-optimizer 'byte-compile-inline-expand) #@188 Create package Lisp code from grammar in current buffer. Does nothing if the Lisp code seems up to date. If optional argument FORCE is non-nil, unconditionally re-generate the Lisp code. (defalias 'semantic-grammar-create-package #[(&optional force) "\204\306\307!\210 \206 \n\310 \210\311 \312\313!\211\206 \314Pp;\315\316 !!<\317 =\320 >\321 ?\322 @ \204X\323 \204X\324\325<!\325;!\"\203X\326\327 \"\210\202\f<q\210\330A\331 \210B\332=\204l\332 \210=\333>\261\210\334e`\"\210\212\335c\210\336 \337Pr;q\210\340 )\341#\210\336 \342Pr;q\210\343 )\344#\210\336 \345Pr;q\210\346 )\347#\210\350 \351Pr;q\210\352 )\353#\210\354c\210\355 \210\356?@\261\210)\357\360!\210C\203\345\361\211\211\211DEFG\362p!\210,\202\f\334`d\"\210eb\210\363\364\365\361#\203\374\366\365!\210\202\355eb\210\367p!\210\370 \351P\371\372!\"\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." raw-text-unix erase-buffer 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 " nil 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 buffer-file-coding-system major-mode noninteractive vc-make-backup-files make-backup-files delete-old-versions version-control] 5 (#$ . 36968) "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 (#$ . 39299) 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) "\304\305!\210\306!?\205.\307\310\311\217\211\205-\312 \313 !\"\203,\314\n]\315 ]\316 !*\202-\317)\207" [file packagename max-specpdl-size max-lisp-eval-depth require bytecomp auto-save-file-name-p err (byte-code "r\304!q\210\305\211\306\307\310!\210\311 +\207" [file vc-handled-backends semantic-new-buffer-setup-functions semanticdb-new-database-class find-file-noselect nil semanticdb-project-database semantic-mode 1 semantic-grammar-create-package] 2) ((error (byte-code "\301\302\303!\"\210\304\207" [err message "%s" error-message-string nil] 4))) file-newer-than-file-p byte-compile-dest-file 3000 1000 byte-compile-file t] 5 (#$ . 39558)]) #@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\203i @\211\203$\314\f!\204)\306\315\f\"\210\316\f!\317\f!\203Z\313\320\321\217\313\211\203V @\322\316\f\"!\204O\323 A\211\204?*\202b\322\f!\204b\323 A\211\204*\324\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 (directory-files arg nil semantic-grammar-file-regexp) ((error (error "Unable to read directory files"))) semantic-grammar-batch-build-one-package 1 kill-emacs src] 5 (#$ . 40452)]) (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 \302\303\304\217\210 \207" [semantic-grammar-macros semantic--grammar-macros-regexp-1 nil (byte-code "\302\303\304\305\"\306\"\307Q\303\207" [semantic-grammar-macros semantic--grammar-macros-regexp-1 "(\\s-*" regexp-opt mapcar #[(e) "\301@!\207" [e symbol-name] 2] t "\\>"] 5) ((error))] 3 (#$ . 41753)]) #@52 Regexp that matches a macro declaration statement. (defconst semantic--grammar-macdecl-re "\\<%use-macros\\>[ \n]+\\(\\sw\\|\\s_\\)+[ \n]+{" (#$ . 42196)) (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 ignore) "\301\211\207" [semantic--grammar-macros-regexp-2 nil] 2 (#$ . 42473)]) #@60 Return the regexp that match macros local in this grammar. (defalias 'semantic--grammar-macros-regexp-2 #[nil "\204'\303\212eb\210\304\n\303\305#\203\303\306\307\217\210\202\n \203&\310\311 \305\"\312Q*\207" [semantic--grammar-macros-regexp-2 macs semantic--grammar-macdecl-re nil re-search-forward t (byte-code "\301\302`\303u\210\304\305!\210\306\303!\210`\"!\244\301\207" [macs split-string buffer-substring-no-properties -1 forward-list 1 down-list] 6) ((error)) "(\\s-*" regexp-opt "\\>"] 4 (#$ . 42779)]) #@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 (#$ . 43307)]) #@50 Syntax table used in a Semantic grammar buffers. (defvar semantic-grammar-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) (#$ . 43629)) #@47 Hook run when starting Semantic grammar mode. (defvar semantic-grammar-mode-hook nil (#$ . 44191)) #@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) (#$ . 44296)) #@64 Font Lock keywords used to highlight Semantic grammar buffers. (defvar semantic-grammar-mode-keywords-2 (append semantic-grammar-mode-keywords-1 lisp-font-lock-keywords-1) (#$ . 45175)) #@64 Font Lock keywords used to highlight Semantic grammar buffers. (defvar semantic-grammar-mode-keywords-3 (append semantic-grammar-mode-keywords-1 lisp-font-lock-keywords-2) (#$ . 45367)) #@64 Font Lock keywords used to highlight Semantic grammar buffers. (defvar semantic-grammar-mode-keywords semantic-grammar-mode-keywords-1 (#$ . 45559)) #@41 Keymap used in `semantic-grammar-mode'. (defvar semantic-grammar-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) (#$ . 45714)) #@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]) (#$ . 46305)) #@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 (#$ . 46715)]) #@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 \317 DD\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 (#$ . 47263)]) #@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 (#$ . 47885)])) #@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\302\306\307\217\207" [re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0 (byte-code "\212\300\301!\210)\302\207" [up-list -1 t] 2) ((error))] 6 (#$ . 48227)]) (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 (#$ . 48620)]) #@77 Initialize a buffer for editing Semantic grammars. \{semantic-grammar-map} (defalias 'semantic-grammar-mode #[nil "\306 \210\307\310\311\302!\210\312\311\303!\210\313\311\304!\210\314\315 !\210\316'!\210\311\317!\210\320\311\321!\210\322\311\323!\210\324\311\325!\210\326\327 \210\313(\330)\331*\332+\311\333!\210\334\311\335!\210\336\337\340\341\342\312$\210\337\343\344\342\312$\210\345\346!\207" [major-mode mode-name parse-sexp-ignore-comments comment-start comment-start-skip semantic-grammar-syntax-table kill-all-local-variables semantic-grammar-mode "Semantic Grammar Framework" make-local-variable t ";;" "\\(\\(^\\|[^\\\\\n]\\)\\(\\\\\\\\\\)*\\);+ *" set-syntax-table use-local-map 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 semantic-run-mode-hooks semantic-grammar-mode-hook semantic-grammar-map semantic-lex-comment-regex semantic-lex-analyzer semantic-type-relation-separator-character semantic-symbol->name-assoc-list] 5 (#$ . 49379) 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-syntax-table st copy-syntax-table modify-syntax-entry 39 "$"] 4) (#$ . 51177)) #@55 Move point to beginning of the previous grammar item. (defalias 'semantic-grammar-backward-item #[nil "\303d[!\210\304\305\306!!\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 zerop skip-syntax-backward "." 39 syntax-table ((byte-code "rq\210\302 !\210)\302\207" [#1# #2# set-syntax-table] 2)) set-syntax-table forward-sexp -1] 3 (#$ . 51532)]) (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\310!!\2032`Sf\311=\203.\312 p\313\216\314 !\210\315\316!+\2021\315\316!\210o\203<\317\211\202\320\321!\203Ui\304u\210\322\323!\210l\203\324\211\202\320\325!\203\320\326!\204\317\211\203))\207" [indent #1=#:buffer #2=#:table semantic-grammar-skip-quoted-syntax-table nil forward-comment zerop skip-syntax-backward "." 39 syntax-table ((byte-code "rq\210\302 !\210)\302\207" [#1# #2# set-syntax-table] 2)) set-syntax-table forward-sexp -1 0 looking-at ":\\(\\s-\\|$\\)" skip-syntax-forward "-" 2 "[;%]" "\\<%prec\\>"] 4 (#$ . 52076)]) #@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 \321!\204j\306\315!\203`S\202j\306\322!\204j\314\\ U?\205y\303 \210\323 \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 zerop "[|;]" delete-horizontal-space] 2 (#$ . 52793)]) #@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) (#$ . 53439)) #@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 "\300\301\302\217\207" [nil (byte-code "\212\304 \210\305\306w\210`\211\212eb\210\307\310\306\311\312$\203\313\224\202dT)Y\204(\314\315!\210\306\316\317\217\210\304 \210\214`}\210db\210\320 p\321\216\322 !\210\323 \210.\311\207" [first #1=#:buffer #2=#:table semantic-grammar-brackets-as-parens-syntax-table beginning-of-line " " nil re-search-forward "^\\s-*\\<%%\\>\\s-*$" t 2 0 up-list -1 (byte-code "\300\301!\210\202" [up-list -1] 2) ((error)) syntax-table ((byte-code "rq\210\302 !\210)\302\207" [#1# #2# set-syntax-table] 2)) set-syntax-table lisp-indent-line] 7) ((error))] 3 (#$ . 53783)]) #@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 (#$ . 54544) 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 (#$ . 54892) 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!\310\314\315\217\203$\316 \207\317p!\310\211\203F @\211A@)\320=\203? @B A\211\204.\237*\321 @\322\f \"\211\311=\203_\323\324!\202\300 ;\203\247 \f\230\203\247\"#r\325\326!q\210p\327 \210#\"\310\211$%\311\211&\311'(\330 \210\331\332!\210+\211)*\333\334\f \"!\335)!\210+\202\300 ;\203\275\336\337!\210`\336\340!\210`|\210 c\202\300\323\341!+\207" [result tags tag nonterms sym ans re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0 (byte-code "\212\300\301!\210)\302\207" [up-list -1 t] 2) ((error)) lisp-complete-symbol 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 1 "No Completions." 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 (#$ . 55103) 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 (#$ . 56518) "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 @\nB A\211\204 \n\237+\206@\310\311!\205@ \205@\312\f\307\313#\211@A)!\307\211\203` @\211A@)\314=\203Y @\nB A\211\204H\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 x] 6 (#$ . 56839)]) (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 (#$ . 57499)]) (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 (#$ . 57844)]) #@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 (#$ . 58279)]) #@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\341 \205\341\306\307 \"\310\311\n\312\"\206\n!r q\210\306\313 #\314 \314p!\315\211\203P\f@\211 @)\230\203G@BA\211\2042\237+\206m\316\317!\205m!\205m\320\f\315\312#\211\"@A)!\315\211\203\226@\211 A@)\321=\203\215@BA\211\204w\237*@*\211 \203\327\322\323!\210\324\325 !!\210 \211  \326 8)#\327#!\203\311\330#!\202\315#\331H*b\210\332 !\202\340\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 x o] 6 (#$ . 58635) (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")) (#$ . 60237)) #@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 \306H=\203 \307H\310=\203 \311H\207\312\313\314\"\"\211\2037\n@\315\316\n\"\210\317\n\306\225\320OP\202;\321!\n\203O\322 \323\324\n#\325#\326\n\310#\210\n)\207" [expander eldoc-last-data doc macro require eldoc 0 2 function 1 help-split-fundoc documentation t string-match "\\`[^ )]* ?" "(" nil eldoc-function-argstring eldoc-docstring-format-sym-doc format "==> %s %s" default eldoc-last-data-store] 7 (#$ . 62658)]) #@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|\203|`\212eb\210\307\310\311\312\313$\203-\314\224\202/dT)Y\204;\311\315\316\217\203|\317 \320!\211\205J\n\236A\211\203]\321\n!\203]\322\n\"\202|\203n\321!\203n\323!\202|\203|\324!\203|\325!\n\206\202\326 *\207" [elt semantic-grammar-syntax-help val require eldoc semantic-ctxt-current-symbol assoc re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0 (byte-code "\212\300\301!\210)\302\207" [up-list -1 t] 2) ((error)) semantic-grammar-macros intern-soft fboundp semantic-grammar-eldoc-get-macro-docstring eldoc-get-fnsym-args-string boundp eldoc-get-var-docstring semantic-idle-summary-current-symbol-info-default] 7 (#$ . 63303)]) (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 (#$ . 65117)]) (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\204)\307\313\314\217\205> \307\315\316\216\317\f!\210\n\320\n!\321 ,)\207" [point mode-local-active-mode #1=#:new-mode #2=#:old-locals #3=#:mode re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0 (byte-code "\212\300\301!\210)\302\207" [up-list -1 t] 2) ((error)) emacs-lisp-mode ((byte-code "\306!\210 \307\211\203 @\211@\nAL\210 A\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 (#$ . 65707)]) (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\204)\307\313\314\217\205> \307\315\316\216\317\f!\210\n\320\n!\321 ,)\207" [point mode-local-active-mode #1=#:new-mode #2=#:old-locals #3=#:mode re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0 (byte-code "\212\300\301!\210)\302\207" [up-list -1 t] 2) ((error)) emacs-lisp-mode ((byte-code "\306!\210 \307\211\203 @\211@\nAL\210 A\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 (#$ . 66929)]) (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\204)\307\313\314\217\205> \307\315\316\216\317\f!\210\n\320\n!\321 ,)\207" [point mode-local-active-mode #1=#:new-mode #2=#:old-locals #3=#:mode re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0 (byte-code "\212\300\301!\210)\302\207" [up-list -1 t] 2) ((error)) emacs-lisp-mode ((byte-code "\306!\210 \307\211\203 @\211@\nAL\210 A\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 (#$ . 68160)]) (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\204)\307\313\314\217\203A \307\315\316\216\317\f!\210\n\320\n!\321 ,\202B\322)\207" [point mode-local-active-mode #1=#:new-mode #2=#:old-locals #3=#:mode re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0 (byte-code "\212\300\301!\210)\302\207" [up-list -1 t] 2) ((error)) emacs-lisp-mode ((byte-code "\306!\210 \307\211\203 @\211@\nAL\210 A\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 (#$ . 69391)]) (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\204)\303\307\310\217\203-\311\202/\312 )\207" [point re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0 (byte-code "\212\300\301!\210)\302\207" [up-list -1 t] 2) ((error)) emacs-lisp-mode semantic-ctxt-current-mode-default] 6 (#$ . 70661)]) (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!\315 R*\207" [tag parent color name class semantic-format-tag-name nonterminal ":" setting "%settings%" (rule keyword) "%" symbol-name " "] 6 (#$ . 71626)]) (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=\203%\311\312\313\314!G\"\202\302)\315=\203\355\316\307*\317+,\320\211p!\307-\211.\203a.@\211A@)\321=\203X.@-B-.A\211.\204C-\237*!\307-\211.\203\223\322\323\211@)!.@\211@)\"\203\212.@-B-.A\211.\204o-\237+/0\320/!\307-\211.\203\3020.@!\203\271.@-B-.A\211.\204\250-\237,\210\324\3251\326\3278)1\"**\203\346\330\331*!P\202\347\332Q)\202\302)\333=\203h\334\3251\326\3278)1\"*\3351\326\3278)1\"*\211\3361\326\3278)1\"+2343\203<\337\340 3B\341#2\203I\312\3422\"\202J\3324\203a\312\34342\203\\\341\202]\332#\202b\332P+\202\302)\344=\203\274\345\3251\326\3278)1\"*\211\3361\326\3278)1\"+242\203\244\312\3422\"\202\245\3324\203\265\341\337\3404\341#P\202\266\332P*\202\302\346 \n#\n\203\317\f\203\317\347\f\304\"\n\203\340\f\203\340 \203\340\347 \350\"\f\203\353\f Q\202\354 ,\207" [tag parent color desc label name semantic-format-tag-name nil nonterminal "Nonterminal: " format " with %d match lists." semantic-tag-components keyword "Keyword: " #[(put) "?\205\304\305 \306\307 \310 8)\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 "Token: " :rest :type mapconcat identity " " " <%s>" "%s%S" assoc "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 (#$ . 72503)]) (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\204%\312\316\317\217\203<\312\320\321\216\322 !\210 \323 !\324\f!,\207\312\325 \211 @!\314 8\"\312#\326 $\327!@p\"#\330\331\332p\333\312\334\"\335#\203p#C\202r!\336\312\337$& \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 (byte-code "\212\300\301!\210)\302\207" [up-list -1 t] 2) ((error)) emacs-lisp-mode ((byte-code "\306!\210 \307\211\203 @\211@\nAL\210 A\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 (#$ . 74754)]) (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\204%\312\316\317\217\203<\312\320\321\216\322 !\210 \323 !\324\f!,\207r\325\f\326\"q\210\325\f\327\"@\211\312\330\331\217)\203] \211@)\202n ;\203f \202n @;\205n @\211G \332p!\312!\211\"\203\252\333\315\312\"@\211@)\315 #&\313=\203\241\"@!B!\"A\211\"\204\200!\237+\"\334\"\325\f\335\"\",\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 (byte-code "\212\300\301!\210)\302\207" [up-list -1 t] 2) ((error)) emacs-lisp-mode ((byte-code "\306!\210 \307\211\203 @\211@\nAL\210 A\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 (byte-code ":\205#@;\205#A@9\205#A@\205#\3018<\205#\3028<\207" [tag 2 3] 2) ((error)) semantic-something-to-tag-table compare-strings semantic-analyze-tags-of-class-list prefixclass tag completetext l result tags semantic-case-fold] 9 (#$ . 76434)]) (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)