%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/cedet/semantic/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/cedet/semantic/grammar.elc

;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; 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!\210\300\310!\207" [require semantic semantic/wisent semantic/ctxt semantic/format semantic/grammar-wy semantic/idle help-fns semantic/analyze] 2)
#@44 Regexp matching C-like character literals.
(defconst semantic-grammar-lex-c-char-re "'\\s\\?.'" (#$ . 654))
#@37 Detect and create a prologue token.
(defvar semantic-grammar-lex-prologue nil (#$ . 768))
(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 (#$ . 1771)])
(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 (#$ . 2090))
(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\203hK\203X\fGKX\203h\317\320!\203e\311\225A\202\341\317\321!\203r\311\225A\202\341\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\341\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\341\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\341\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\341\317W!\203\346\311\224\311\225BB\fB\211@\211\211A@\247\204\211AA\202\211A\262A\262A\202\341\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\341\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\341\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\341\317\363!\203\217\337\311!Z\311\224[\311\225\211\\[Z]\364^\306_]\311V\203P\365Z^\"\211_\204P]S]\366Z\311]#Z\202,_\203a_@_[]\\\\_\206g\367[\\BB\fB\211@\211\211A@\247\204\200\211AA\202\202\211A\262A\262\211A.\204\341\317\370!\203\206\337\311!\371\306`ab\372ba@\"\211`\203IE\203\272BEW\203\351BTB`A@\311\224\311\225BB\fB\211@\211\211A@\247\204\334\211AA\202\336\211A\262A\262\211A\202\202\334`8\311\224\212L\203M\203\373\325!\210`\202&\3741\373\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\202\372baA\"\211`\205\202BSB`A@\311\224\311\225BB\fB\211@\211\211A@\247\204x\211AA\202z\211A\262A\262\211A+\204\341\317\375!\203\341\376`\212L\203\241M\203\241\324\325!\210`\202\302\3771\256\324\325!\210`0\202\302\210\376NF@FA#b\210`\211A\262)BB\fB\211@\211\211A@\247\204\330\211AA\202\332\211A\262A\262AA@=\203\363\312\201h@\f@#\210A@Ab\210c\203'\201i \204r\201jd!q\210\212db\210\201k *\203'\201lc\201m\"\210\f@e\205c\306C\201n\311\201o\201p\201q!\201r\"\334$\216\203R\211\201s!\240\210\201t\201u\201vB#!)\262\266\202E+
\203\253
\211A\242\211f\211g\203\225\201w\201xg@gA@#\210
\211A\242\211g\204{f@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 substring punctuation "\\s(\\|\\s)" ((("(" LPAREN PAREN_BLOCK) ("{" LBRACE BRACE_BLOCK)) (")" RPAREN) ("}" RBRACE)) assoc forward-list (error) "\\=" SEXP (error) 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 "semantic-grammar-lexer: endless loop at %d, after %S" input-pending-p marker-buffer accept-process-output throw lex make-byte-code "\300\242\205	\301\300\242!\207" vconcat vector [delete-overlay] semantic-lex-highlight-token read-event format "%S :: Depth: %d :: SPC - continue" message "semantic-grammar-lexer: `%s' block from %S is unterminated"] 9 (#$ . 3142)])
#@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 (#$ . 8543) 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 (#$ . 8903)])
#@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 (#$ . 9186)])
(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 (#$ . 9469)])
(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 (#$ . 9769)])
(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 (#$ . 10310)])
#@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 (#$ . 10709)])
#@42 Return the readable string form of ITEM.
(defalias 'semantic-grammar-item-text #[(item) "\302	\"\203\303\304	\305\306#P\207	\207" [semantic-grammar-lex-c-char-re item string-match "?" substring 1 -1] 5 (#$ . 11190)])
(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	\306\307#P!\207\310	!\207" [semantic-grammar-lex-c-char-re item string-match read "?" substring 1 -1 intern] 6 (#$ . 11494)])
(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 overlayp overlay-start 0 "%{
\n	 " overlay-end 1 "
\n	 %}" "\n" ""] 5 (#$ . 11830)])
#@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 overlayp overlay-start 0 "%
\n	 " overlay-end 1 "
\n	" re-search-backward "^;;;\\s-+\\S-+\\s-+ends here" point-at-bol t "\n" ""] 6 (#$ . 12369)])
#@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 (#$ . 13011)])
(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	\316#\317\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\\'" substring 0 "-"] 4 (#$ . 13359)])
#@70 Return the number of expected shift/reduce conflicts in the package.
(defalias 'semantic-grammar-expected-conflicts #[nil "\300\301!\207" [semantic-grammar-tag-symbols expectedconflicts] 2 (#$ . 13949)])
#@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 (#$ . 14159)])
(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 (#$ . 14430)])
(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 (#$ . 14673)])
(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 (#$ . 14958)])
(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 (#$ . 15240)])
(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 (#$ . 15812)])
#@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 (#$ . 16443)])
#@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 (#$ . 17565)])
#@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 (#$ . 18229)])
#@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 (#$ . 18888)])
(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 (#$ . 19468)])
#@47 List of associations (MACRO-NAME . EXPANDER).
(defvar semantic-grammar-macros nil (#$ . 20090))
(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 (#$ . 20246)])
#@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 (#$ . 20436)])
#@33 Return the keyword table value.
(defalias 'semantic-grammar-keywordtable-builder #[nil "\304\211\305\306\307!\305\204\"\211\262\204\"	\262\n\205 \310\n\"\262\203M\211\204M\302N\203<\310\302N\"\211\262\204\"\211\311N\206F\211\312N\262\262\202\"\266\203\211\262\205a\211\203_N\205aJ\266\203\206\326\211\211\313N\262\205\326\211\211\313N\262\305\306\307!\305\204\225\211\262\204\225	\262\n\205\223\310\n\"\262\203\300\211\204\300\302N\203\257\310\302N\"\211\262\204\225\211\311N\206\271\211\312N\262\262\202\225\266\203\211\262\205\324\211\203\322N\205\324J\266\203\262\211\203\342 \202\344\314 )\207" [mode-local-active-mode major-mode mode-local-symbol-table #1=#:override semantic-grammar-keywordtable-builder nil override-flag symbol-name intern-soft mode-local-parent derived-mode-parent mode-local--overload-obsolete semantic-grammar-keywordtable-builder-default] 13 (#$ . 20934)])
(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 (#$ . 21968)])
#@50 Return the value of the table of lexical tokens.
(defalias 'semantic-grammar-tokentable-builder #[nil "\304\211\305\306\307!\305\204\"\211\262\204\"	\262\n\205 \310\n\"\262\203M\211\204M\302N\203<\310\302N\"\211\262\204\"\211\311N\206F\211\312N\262\262\202\"\266\203\211\262\205a\211\203_N\205aJ\266\203\206\326\211\211\313N\262\205\326\211\211\313N\262\305\306\307!\305\204\225\211\262\204\225	\262\n\205\223\310\n\"\262\203\300\211\204\300\302N\203\257\310\302N\"\211\262\204\225\211\311N\206\271\211\312N\262\262\202\225\266\203\211\262\205\324\211\203\322N\205\324J\266\203\262\211\203\342 \202\344\314 )\207" [mode-local-active-mode major-mode mode-local-symbol-table #1=#:override semantic-grammar-tokentable-builder nil override-flag symbol-name intern-soft mode-local-parent derived-mode-parent mode-local--overload-obsolete semantic-grammar-tokentable-builder-default] 13 (#$ . 22308)])
(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 (#$ . 23351)])
#@32 Return the parser table value.
(defalias 'semantic-grammar-parsetable-builder #[nil "\304\211\305\306\307!\305\204\"\211\262\204\"	\262\n\205 \310\n\"\262\203M\211\204M\302N\203<\310\302N\"\211\262\204\"\211\311N\206F\211\312N\262\262\202\"\266\203\211\262\205a\211\203_N\205aJ\266\203\206\326\211\211\313N\262\205\326\211\211\313N\262\305\306\307!\305\204\225\211\262\204\225	\262\n\205\223\310\n\"\262\203\300\211\204\300\302N\203\257\310\302N\"\211\262\204\225\211\311N\206\271\211\312N\262\262\202\225\266\203\211\262\205\324\211\203\322N\205\324J\266\203\262\211\203\342 \202\344\314 )\207" [mode-local-active-mode major-mode mode-local-symbol-table #1=#:override semantic-grammar-parsetable-builder nil override-flag symbol-name intern-soft mode-local-parent derived-mode-parent mode-local--overload-obsolete semantic-grammar-parsetable-builder-default] 13 (#$ . 23556)])
(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 (#$ . 24581)])
#@36 Return the parser setup code form.
(defalias 'semantic-grammar-setupcode-builder #[nil "\304\211\305\306\307!\305\204\"\211\262\204\"	\262\n\205 \310\n\"\262\203M\211\204M\302N\203<\310\302N\"\211\262\204\"\211\311N\206F\211\312N\262\262\202\"\266\203\211\262\205a\211\203_N\205aJ\266\203\206\326\211\211\313N\262\205\326\211\211\313N\262\305\306\307!\305\204\225\211\262\204\225	\262\n\205\223\310\n\"\262\203\300\211\204\300\302N\203\257\310\302N\"\211\262\204\225\211\311N\206\271\211\312N\262\262\202\225\266\203\211\262\205\324\211\203\322N\205\324J\266\203\262\211\203\342 \202\344\314 )\207" [mode-local-active-mode major-mode mode-local-symbol-table #1=#:override semantic-grammar-setupcode-builder nil override-flag symbol-name intern-soft mode-local-parent derived-mode-parent mode-local--overload-obsolete semantic-grammar-setupcode-builder-default] 13 (#$ . 24788)])
(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 (#$ . 25980)])
(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 (#$ . 26237)])
(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 (#$ . 26486)])
(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 (#$ . 26735)])
(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 (#$ . 26994)]))
#@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 (#$ . 27168)])
#@63 Insert declaration of constant NAME with VALUE and DOCSTRING.
(defalias 'semantic-grammar-insert-defconst-with-eval #[(name value docstring) "`\304\305	\n$c\210\212b\210\306 *\207" [start name value docstring format "(eval-and-compile (defconst %s\n%s%S))\n\n" indent-sexp] 5 (#$ . 27439)])
#@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 (#$ . 27739)])
#@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 (#$ . 28007)])
#@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") (#$ . 28462))
#@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") (#$ . 29759))
#@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 (#$ . 30064)])
(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 (#$ . 30508)])
#@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 (#$ . 31017)])
#@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 (#$ . 31384)])
#@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 (#$ . 31597)])
#@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 (#$ . 31808)])
#@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 (#$ . 32009)])
#@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 (#$ . 32218)])
(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 (#$ . 32682)])
#@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 (#$ . 34094)])
(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\205N\205N\311N\2060\312\313\314\315$!\314\316#\317\267\202\267\320\321\nA\211\203o<\204h9\203o\322D\202q)\322\n@\206{\313	!D\257!\202N\320\323\nA\211\203\244<\204\2359\203\244\322D\202\246)\322\n@\206\260\313	!D\257!\202N\324=\203\357\325 \211\203\357\320\326
\211\203\346<\204\3379\203\346\322D\202\350)\257!\202N\327\267\202\320\330\322\n@\206\313	!D\257!\202N\320\331F!\202N\324=\205N\325 \211\205N\320\326
\211\203H<\204A9\203H\322D\202J)\257!.	\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." #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (regexp 77 string 130)) semantic-grammar-insert-define define-lex-regex-type-analyzer quote define-lex-string-type-analyzer block semantic-grammar--lex-block-specs define-lex-block-type-analyzer #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (sexp 246 keyword 269)) define-lex-sexp-type-analyzer define-lex-keyword-type-analyzer mtype prefix name doc semantic--grammar-package exp] 10 (#$ . 34362)])
#@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 (#$ . 35824)])
#@44 Regexp which matches grammar source files.
(custom-declare-variable 'semantic-grammar-file-regexp "\\.[wb]y\\'" '(#$ . 36310) :group 'semantic :type 'regexp)
#@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
!!A\317 B\320 C\321 D\322 E	\204_\323 \204_\324\325A!\325@!\"\203_\326\327\"\210F\203)\330\202)Aq\210\331G\332 \210\333\334!\204r\334 \210B\335C\261\210\336e`\"\210\212\337c\210\340\341Pr@q\210\342\343\344 @\")\345#\210\346\347Pr@q\210\350 )\351#\210\346\352Pr@q\210\353 )\354#\210\346\355Pr@q\210\356 )\357#\210\360\361Pr@q\210\362 )\363#\210\364c\210\365 \210\366DE\261\210)\367\370!\210H\203\376\371\211\211\211IJKL\372p!\210,\202)\336`d\"\210eb\210\373\374\330\371#\203\375\330!\210\202eb\210\376p!\210\377\361P\201M\201N!\"\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-with-eval "--expected-conflicts" format "%s\n" semantic-grammar-expected-conflicts "The number of expected shift/reduce conflicts in this grammar." 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-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 semantic-grammar-tag-symbols languagemode] 6 (#$ . 36475) "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 (#$ . 39114) 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!?\205T\3111'r\312!q\210\313\211\314\315\316!\210\317\320!+0\2021\321\322\323\f!\"\210)\313\211\205S\324
\325
!\"\203R\326]\327]\330
!*\202S\320)\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 t message "%s" error-message-string file-newer-than-file-p byte-compile-dest-file 3000 1000 byte-compile-file max-specpdl-size max-lisp-eval-depth] 5 (#$ . 39373)])
#@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 (#$ . 40214)])
(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 (#$ . 41519)])
#@52 Regexp that matches a macro declaration statement.
(defconst semantic--grammar-macdecl-re "\\<%use-macros\\>[ 	
\n]+\\(\\sw\\|\\s_\\)+[ 	
\n]+{" (#$ . 41883))
(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 (#$ . 42160)])
#@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 (#$ . 42461)])
#@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 (#$ . 42968)])
(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) (#$ . 43605))
#@47 Hook run when starting Semantic grammar mode.
(defvar semantic-grammar-mode-hook nil (#$ . 44172))
#@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) (#$ . 44277))
#@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) (#$ . 45156))
#@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) (#$ . 45437))
#@64 Font Lock keywords used to highlight Semantic grammar buffers.
(defvar semantic-grammar-mode-keywords semantic-grammar-mode-keywords-1 (#$ . 45718))
(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) (#$ . 46170))
#@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]) (#$ . 46766))
#@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 (#$ . 47176)])
#@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 (#$ . 47724)])
#@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) "\302\303\304\305\"!	\"\207" [major-mode mode-menu semantic-grammar-setup-menu-emacs intern format "%s-menu"] 5 (#$ . 48346)]))
#@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 (#$ . 48679)])
(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 overlay-start mark overlay-end nonterminal move-overlay 4 overlayp 0 1] 6 (#$ . 49049)])
(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 (#$ . 51060) 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) (#$ . 53071))
#@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 (#$ . 53431)])
(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 (#$ . 53956)])
#@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 (#$ . 54652)])
#@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) (#$ . 55295))
#@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 (#$ . 55639)])
#@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 (#$ . 56319) 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 (#$ . 56667) 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 (#$ . 56878) 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 (#$ . 58350) "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 (#$ . 58671)])
(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\311\n	\"#*\207" [def fun suf format "-%s\\'" regexp-quote symbol-name substring 0 string-match] 6 (#$ . 59323)])
(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\314\n	\"#+
\203*\306\315\f#\202-\311\f!\f*DB\207" [def fun suf lib mac full format "-%s\\'" regexp-quote symbol-name substring 0 string-match "%s/%s"] 7 (#$ . 59682)])
#@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 (#$ . 60131)])
#@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 overlayp 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 (#$ . 60487) (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")) (#$ . 62064))
(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\316\n\317\225\"P\2027\307!\n\203I\320\321\322\n#\323#\nB\n)\207\306\324!\205g\324\325\326\327!\330\331#\332\326\327!\330\333#\334R#\207" [expander semantic-grammar-eldoc-last-data doc macro require eldoc fboundp eldoc-function-argstring help-split-fundoc documentation t string-match "\\`[^ )]* ?" "(" substring 0 eldoc-docstring-format-sym-doc format "==> %s %s" default elisp-get-fnsym-args-string nil propertize symbol-name face font-lock-keyword-face " ==> " font-lock-function-name-face ": "] 10 (#$ . 64563)])
#@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 (#$ . 65386)])
(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)
#@181 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 (#$ . 67324)])
(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 mode-local--deactivate-bindings nil mode-local--activate-bindings] 3] mode-local--deactivate-bindings mode-local--activate-bindings semantic-ctxt-current-function] 6 (#$ . 67915)])
(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 mode-local--deactivate-bindings nil mode-local--activate-bindings] 3] mode-local--deactivate-bindings mode-local--activate-bindings semantic-ctxt-current-argument] 6 (#$ . 69113)])
(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 mode-local--deactivate-bindings nil mode-local--activate-bindings] 3] mode-local--deactivate-bindings mode-local--activate-bindings semantic-ctxt-current-assignment] 6 (#$ . 70320)])
(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 mode-local--deactivate-bindings nil mode-local--activate-bindings] 3] mode-local--deactivate-bindings mode-local--activate-bindings semantic-ctxt-current-class-list (nonterminal token keyword)] 6 (#$ . 71527)])
(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 (#$ . 72779)])
(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\267\202!\307P\202(\310\202(\202(\311\312\f!\313R*\207" [tag parent color name class semantic-format-tag-name #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (nonterminal 19 setting 25 rule 29 keyword 29)) ":" "%settings%" "%" symbol-name " "] 6 (#$ . 73723)])
(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 (#$ . 74675)])
(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) "`\212eb\210\306\307\310\311\312$\203\313\224\202dT)Y\204.\3141)\212\315\316!\210)\3110\202+\210\310\203E\310\317\320\216\321!\210	\322	!\323\f!,\207\310\324 \211@\3128 \310!\325 \"\326@p\"!\327\330p\331\310\332 \333!\203x!C\202z\334\310\335\"&\f\211.\207" [mode-local-active-mode #1=#:new-mode #2=#:old-locals #3=#:mode point context-return 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 mode-local--deactivate-bindings nil mode-local--activate-bindings] 3] mode-local--deactivate-bindings mode-local--activate-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 :buffer :scope :bounds :prefix :prefixtypes :prefixclass prefixandbounds prefix bounds prefixsym prefixclass] 14 (#$ . 76988)])
(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 &rest flags) "\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\330\326\f\305\"!@\211\3311\214:\205\210@;\205\210A@9\205\210A@\205\210\3148<\205\210\3328<0\202\216\210\312)\203\233
\211@)\202\254
;\203\244
\202\254
@;\205\254
@\211 G!\333p!\312\"\211#\203\350\334 \315\312#@\211@)\315!$&\313=\203\337#@\"B\"#A\211#\204\276\"\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 mode-local--deactivate-bindings nil mode-local--activate-bindings] 3] mode-local--deactivate-bindings mode-local--activate-bindings semantic-analyze-possible-completions eieio-oref buffer reverse (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 (#$ . 78572)])
(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)

Zerion Mini Shell 1.0