403Webshell
Server IP : 217.160.0.212  /  Your IP : 216.73.216.141
Web Server : Apache
System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64
User : sws1073854427 ( 1073854427)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/share/emacs/28.2/lisp/cedet/semantic/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/emacs/28.2/lisp/cedet/semantic//grammar.elc
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.



(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305\306\307#\204\310\311!\210\300\312!\210\300\313!\210\300\314!\207" [require semantic semantic/wisent semantic/ctxt semantic/format semantic/grammar-wy nil t load "semantic/grm-wy-boot" semantic/idle help-fns semantic/analyze] 4)
#@44 Regexp matching C-like character literals.
(defconst semantic-grammar-lex-c-char-re "'\\s\\?.'" (#$ . 387))
#@37 Detect and create a prologue token.
(defconst semantic-grammar-lex-prologue '((looking-at "\\<%{") (semantic-lex-push-token (semantic-lex-token 'PROLOGUE (point) (save-excursion (semantic-lex-unterminated-syntax-protection 'PROLOGUE (forward-char) (forward-sexp 1) (point)))))) (#$ . 501))
#@37 Detect and create a prologue token.
(defalias 'semantic-grammar-lex-prologue #[0 "\306``dB\307\310\311!\203k\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\204c\211AA\262\202g\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 "\\<%{" PROLOGUE forward-sexp 1 (error) debug-on-error semantic-lex-debug-analyzers semantic-lex-unterminated-syntax-end-function] 8 (#$ . 797)])
#@52 Return the start position of the grammar epilogue.
(defalias 'semantic-grammar-epilogue-start #[0 "\212eb\210\300\301\302\303\304$\203\305\224\202dT)\207" [re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0] 5 (#$ . 1429)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic-grammar-epilogue-start speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@57 Detect and create an epilogue or percent-percent token.
(defconst semantic-grammar-lex-epilogue '((looking-at "\\<%%\\>") (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)))) (#$ . 1820))
#@57 Detect and create an epilogue or percent-percent token.
(defalias 'semantic-grammar-lex-epilogue #[0 "\306``dB\307\310\311!\203[\307\224\307\225\312\212eb\210\313\314\306\315\316$\203*\307\224\202,dT)Y\2037\317\262d\262\211BB
B\211@\211\211A@\247\204Q\211AA\262\202U\211A\262A\262\266
-\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 "\\<%%\\>" PERCENT_PERCENT re-search-forward "^\\s-*\\<%%\\>\\s-*$" t 2 EPILOGUE] 10 (#$ . 2197)])
#@184 Lexical analyzer that handles Semantic grammar buffers.
It ignores whitespaces, newlines and comments.
See `semantic-lex' for more information.

(fn START END &optional DEPTH LENGTH)
(defalias 'semantic-grammar-lexer #[1026 "\306\307\310#\210`\306\211\211\311\206
@BA\306BdV\203.\312\313d#\210\314 p\315\316#\216\317C!\210b\210`W\203\203R	GX\203\320\321!\203^\311\225\202\234\320\322!\203j\311\225\202\234\320\323!\203\316\324`\212D\203\210E\203\210\306u\210\325\326!\210`\202\253\3271\230\306u\210\325\326!\210`0\202\253\210\324FA@AA#b\210`\211\262)BB	B\211@\211\211A@\247\204\303\211AA\262\202\307\211A\262A\262\202\234\320\330!\203 \311\224\311\225\331\212eb\210\332\333\306\334\335$\203\354\311\224\202\356dT)Y\203\371\336\262d\262\211BB	B\211@\211\211A@\247\204\211AA\262\202\211A\262A\262\266\202\234\320\337!\203u\340\311!\211\341G!\205;\211;\205;\342G\"\262\211\262\205E\211J\262\211\205p\211\311\224\311\225BB	B\211@\211\211A@\247\204g\211AA\262\202k\211A\262A\262\211\262\204\234\320\343!\203\321\340\311!\311\224\311\225\344\306\203\245\211\204\245\345@A\"\203\236@@\262\202\204A\262\202\204\211\206\252\346BB	B\211@\211\211A@\247\204\303\211AA\262\202\307\211A\262A\262\211\266\205\204\234\320H!\203\377\347\311\224\311\225BB	B\211@\211\211A@\247\204\364\211AA\262\202\370\211A\262A\262\202\234\320\350!\203]\351`\212D\203E\203\325\326!\210`\202:\3521'\325\326!\210`0\202:\210\351FA@AA#b\210`\211\262)BB	B\211@\211\211A@\247\204R\211AA\262\202V\211A\262A\262\202\234\320I!\203\217`\353\326!\210`=\203x\354\355\356 \"\210\202n\203\357u\210`=\203\211\312\360!\210`\210\202\234\320\361!\203\355\362`\212D\203\252E\203\252\325\326!\210`\202\312\3631\267\325\326!\210`0\202\312\210\362FA@AA#b\210`\211\262)BB	B\211@\211\211A@\247\204\342\211AA\262\202\346\211A\262A\262\202\234\320\364!\203V\340\311!\311\224\311\225\211Z\365\306\311V\203\366\"\211\262\204S\262\311O\262\202\377\211\203*\211@\262\\\262\211\206/\367BB	B\211@\211\211A@\247\204H\211AA\262\202L\211A\262A\262\211\266\206\204\234\320\370!\203A\340\311!\371\306\372@\"\211\262\203@\203x\f@W\203\247\fT\211A@\311\224\311\225BB	B\211@\211\211A@\247\204\231\211AA\262\202\235\211A\262A\262\211\266\203\202>\3358\311\224\212D\203\277E\203\277\373\326!\210`\202\341\3741\314\373\326!\210`0\202\341\210\3358FA@AA#b\210`\211\262)BB	B\211@\211\211A@\247\204\371\211AA\262\202\375\211A\262A\262\211\266\203\202>\372A\"\211\262\205<\fS\211A@\311\224\311\225BB	B\211@\211\211A@\247\2043\211AA\262\2027\211A\262A\262\211\266\203\204\234\320\375!\203\234\376`\212D\203\\E\203\\\325\326!\210`\202|\3771i\325\326!\210`0\202|\210\376FA@AA#b\210`\211\262)BB	B\211@\211\211A@\247\204\224\211AA\262\202\230\211A\262A\262=\203\253\312\201M	@#\210\262b\210J\203\335\201N \204\323r\201OK!q\210\212Kb\210\201P *\203\335\201QJ\201R\"\210	@L\205	\306C\315\201S\"\216\203\371\211\201T!\240\210\201U\201V\201W\f#!)\262\266\202@)\266\n\203I\n\211A\242\211\211\2036\201X\201Y@A@#\210\n\211A\242\262\202@FA@AA#b\210`\211\266b\210	\237.\207" [semantic-lex-block-streams semantic-lex-token-stream semantic-lex-block-stack semantic-lex-end-point semantic-lex-current-depth semantic-lex-depth nil run-hook-with-args semantic-lex-reset-functions 0 error "semantic-grammar-lexer: end (%d) > point-max (%d)" syntax-table make-closure #[0 "r\301q\210\302\300!)\207" [V0 V1 set-syntax-table] 2] set-syntax-table looking-at "\\s-*\\(\n\\|\\s>\\)" "\\s-+" "\\<%{" PROLOGUE forward-sexp 1 (error) "\\<%%\\>" PERCENT_PERCENT re-search-forward "^\\s-*\\<%%\\>\\s-*$" t 2 EPILOGUE "\\(\\sw\\|\\s_\\)+" match-string obarrayp intern-soft ":?\\(\\sw\\|\\s_\\)+" ((PERCENT_PERCENT . "\\`%%\\'")) string-match SYMBOL CHARACTER "\\s\"" STRING (error) forward-comment skip-syntax-forward "-.'" point-at-eol -1 "Strange comment syntax prevents lexical analysis" "\\s'\\s-*(" PREFIXED_LIST (error) "\\(\\s.\\|\\s$\\|\\s'\\)+" ((GT . ">") (LT . "<") (OR . "|") (SEMI . ";") (COLON . ":")) rassoc punctuation "\\s(\\|\\s)" ((("(" LPAREN PAREN_BLOCK) ("{" LBRACE BRACE_BLOCK)) (")" RPAREN) ("}" RBRACE)) assoc forward-list (error) "\\=" SEXP (error) semantic-lex-maximum-depth semantic-lex-analysis-bounds parse-sexp-lookup-properties semantic-lex-syntax-table debug-on-error semantic-lex-debug-analyzers semantic-lex-unterminated-syntax-end-function semantic-flex-keywords-obarray semantic-grammar-lex-c-char-re semantic-lex-comment-regex semantic-current-input-throw-symbol semantic--on-input-start-marker semantic-lex-debug "semantic-grammar-lexer: endless loop at %d, after %S" input-pending-p marker-buffer accept-process-output throw lex #[0 "\300\242\205	\301\300\242!\207" [V0 delete-overlay] 2] semantic-lex-highlight-token read-event format "%S :: Depth: %d :: SPC - continue" message "semantic-grammar-lexer: `%s' block from %S is unterminated"] 19 (#$ . 2787)])
#@47 Run `semantic-grammar-lex' on current buffer.
(defalias 'semantic-grammar-lex-buffer #[0 "\301 \210\302\303ed\"r\304\305!q\210\306 \210\307p\"\210eb\210\310p!)\207" [semantic-lex-analyzer semantic-lex-init semantic-grammar-lexer semantic-lex get-buffer-create "*semantic-grammar-lex*" erase-buffer pp pop-to-buffer] 4 (#$ . 7940) nil])
#@98 Return expansion of built-in ASSOC expression.
ARGS are ASSOC's key value list.

(fn &rest ARGS)
(defalias 'semantic-grammar-ASSOC #[128 "\300C\301\302\303\304\"\"B\207" [t semantic-tag-make-plist mapcar make-closure #[257 "\300\242\203\301D\202\f\211\300\211\242?\240\210\207" [V0 quote] 4 "\n\n(fn I)"]] 7 (#$ . 8284)])
#@67 Return non-nil if SYM is bound to the `quote' function.

(fn SYM)
(defalias 'semantic-grammar-quote-p #[257 "\3001
\301!\301\302!=0\207\210\303\207" [(error) indirect-function quote nil] 4 (#$ . 8618)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic-grammar-quote-p speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@71 Return non-nil if SYM is bound to the `backquote' function.

(fn SYM)
(defalias 'semantic-grammar-backquote-p #[257 "\3001
\301!\301\302!=0\207\210\303\207" [(error) indirect-function backquote nil] 4 (#$ . 8979)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic-grammar-backquote-p speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@114 Return the children of tag TAG.
Override `semantic-tag-components' in `semantic-grammar-mode'
buffers.

(fn TAG)
(defalias 'semantic-tag-components-semantic-grammar-mode #[257 "\211\300\301\3028\262\"\207" [:children plist-get 2] 7 (#$ . 9357)])
(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)
#@109 Return the name of the first tag of class CLASS found.
Warn if other tags of class CLASS exist.

(fn CLASS)
(defalias 'semantic-grammar-first-tag-name #[257 "\300p!\301\203!@\211A@\262=\203@B\262A\262\202\211\237\266\202\211\2059\211@\211@\262A\2039\302\303\"\210\207" [semantic-something-to-tag-table nil message "*** Ignore all but first declared %s"] 6 (#$ . 9897)])
#@135 Return the list of symbols defined in tags of class CLASS.
That is tag names plus names defined in tag attribute `:rest'.

(fn CLASS)
(defalias 'semantic-grammar-tag-symbols #[257 "\300p!\301\203!@\211A@\262=\203@B\262A\262\202\211\237\266\202\302\303\304\305\"\"\207" [semantic-something-to-tag-table nil apply append mapcar #[257 "\300\301\211@\262\302\303\3048\262\"\266\202B\"\207" [mapcar intern :rest plist-get 2] 10 "\n\n(fn TAG)"]] 7 (#$ . 10293)])
#@53 Return the readable string form of ITEM.

(fn ITEM)
(defalias 'semantic-grammar-item-text #[257 "\301\"\203\302\303\304OP\207\207" [semantic-grammar-lex-c-char-re string-match "?" 1 -1] 5 (#$ . 10778)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic-grammar-item-text speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@61 Return symbol or character value of ITEM string.

(fn ITEM)
(defalias 'semantic-grammar-item-value #[257 "\301\"\203\302\303\304\305OP!\207\306!\207" [semantic-grammar-lex-c-char-re string-match read "?" 1 -1 intern] 6 (#$ . 11144)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic-grammar-item-value speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@49 Return grammar prologue code as a string value.
(defalias 'semantic-grammar-prologue #[0 "\300\301\302p!\303\203#@\211A@\262\304=\203@B\262A\262\202\211\237\266\202\"\211\203t\212\211\211\3058\262\306!\203B\307!\266\202\202G\211\310H\266\202b\210\311\303w\210`\211\3058\262\306!\203c\312!\266\202\202h\211\313H\266\202b\210\314\303x\210`{\315P)\207\316\207" [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" ""] 6 (#$ . 11543)])
#@49 Return grammar epilogue code as a string value.
(defalias 'semantic-grammar-epilogue #[0 "\300\301\302p!\303\203#@\211A@\262\304=\203@B\262A\262\202\211\237\266\202\"\211\203\212\211\211\3058\262\306!\203B\307!\266\202\202G\211\310H\266\202b\210\311\303w\210`\211\3058\262\306!\203c\312!\266\202\202h\211\313H\266\202b\210\314\303x\210\315\316\317 \320#\210\314\303x\210`{\321P)\207\322\207" [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 (#$ . 12106)])
#@140 Return name of file sans directory BUFFER is visiting.
No argument or nil as argument means use the current buffer.

(fn &optional BUFFER)
(defalias 'semantic-grammar-buffer-file #[256 "\300\301!!\207" [file-name-nondirectory buffer-file-name] 4 (#$ . 12766)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic-grammar-buffer-file speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@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 #[0 "\300\301!\206!\302\303\304!!\262\305!\306\307\310\"\"\311O\312Q\266\203\207" [semantic-grammar-first-tag-name package nil file-name-nondirectory buffer-file-name file-name-extension string-match format "\\([.]\\)%s\\'" 0 "-"] 6 (#$ . 13189)])
#@70 Return the number of expected shift/reduce conflicts in the package.
(defalias 'semantic-grammar-expected-conflicts #[0 "\300\301!\207" [semantic-grammar-tag-symbols expectedconflicts] 2 (#$ . 13750)])
#@61 Return the %languagemode value as a list of symbols or nil.
(defalias 'semantic-grammar-languagemode #[0 "\300\301!\207" [semantic-grammar-tag-symbols languagemode] 2 (#$ . 13958)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic-grammar-languagemode speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@54 Return the %start value as a list of symbols or nil.
(defalias 'semantic-grammar-start #[0 "\300\301!\207" [semantic-grammar-tag-symbols start] 2 (#$ . 14301)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic-grammar-start speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@50 Return the %scopestart value as a symbol or nil.
(defalias 'semantic-grammar-scopestart #[0 "\300\301\302!\206\303!\207" [intern semantic-grammar-first-tag-name scopestart "nil"] 3 (#$ . 14616)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic-grammar-scopestart speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@49 Return the %quotemode value as a symbol or nil.
(defalias 'semantic-grammar-quotemode #[0 "\300\301\302!\206\303!\207" [intern semantic-grammar-first-tag-name quotemode "nil"] 3 (#$ . 14973)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic-grammar-quotemode speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@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 #[0 "\300\301\302p!\303\203#@\211A@\262\304=\203@B\262A\262\202\211\237\266\202\"\207" [mapcar #[257 "\211\300\301\3028\262\"\266\202\303\211@\262!B\207" [:value plist-get 2 intern] 7 "\n\n(fn KEY)"] semantic-something-to-tag-table nil keyword] 6 (#$ . 15327)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic-grammar-keywords speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@56 Return the list of KEYWORDS properties.

(fn KEYWORDS)
(defalias 'semantic-grammar-keyword-properties #[257 "\300p!\301\203!@\211A@\262\302=\203@B\262A\262\202\211\237\266\202\301\211\211\211\211\211\211\211\203\246@\262A\262	\303\304	\211@\262\n\305\306\3078\262\"\266\202B\"\262\203-@\262A\262\310\"\262\203V@\262\311\306\3078\262\"\266\202\262\203V\304@@!\262\312@A!\262EB\262A\262\202\205\207" [semantic-something-to-tag-table nil put mapcar intern :rest plist-get 2 rassq :value read] 19 (#$ . 15973)])
#@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 #[0 "\301\211\211\211\211\211\211\211\302p!\301\203)@\211A@\262\303=\203\"@B\262A\262\202\f\211\237\266\202\262\203\227@\262A\262\211\304\305\3068\262\"\266\203\211\262\203/\307\305\3068\262\"\266\202\262\303\"\262\204vC\262B\262\203/@\262A\262\310\"\204v\311!CAB\241\210\202v\302p!\301\203\270@\211A@\262\312=\203\261@B\262A\262\202\233\211\237\266\202\262\2035@\262A\262\211@\262\313\305\3068\262\"\266\202B\262\211\304\305\3068\262\"\266\203\206\364\314\262\307\305\3068\262\"\266\202\262\303\"\262\204C\262B\262\203\276\311@!\262A\262BAB\241\210\202\207" [semantic-grammar-lex-c-char-re nil semantic-something-to-tag-table assoc :type plist-get 2 :value string-match intern token :rest "<no-type>"] 15 (#$ . 16556)])
#@209 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.

(fn &optional PROPS)
(defalias 'semantic-grammar-token-%type-properties #[256 "\300\301p!\300\203\"@\211A@\262\302=\203@B\262A\262\202\211\237\266\202\211\203p\211@\211\211@\262\262\303\304EB\262\211\305\306\3078\262\"\266\202\211\203h\211@\310@!\311A\206Z\312!EB\262A\266\202\202H\210A\266\202\202&\210\207" [nil semantic-something-to-tag-table type :declared t :value plist-get 2 intern read "nil"] 10 (#$ . 17692)])
#@83 For types found in TOKENS, return properties set by %put statements.

(fn TOKENS)
(defalias 'semantic-grammar-token-%put-properties #[257 "\300\211\301p!\300\203#@\211A@\262\302=\203@B\262A\262\202\211\237\266\202\211\203\222\211@\211\211@\262\303\304\3058\262\"\266\202B\211\203\212\211@\306\"\262\203\203@\262\307\304\3058\262\"\266\202\211\203\202\211@\310@!\311A\206t\312!EB\262A\266\202\202b\210A\266\202\202@\210A\266\202\202'\210\207" [nil semantic-something-to-tag-table put :rest plist-get 2 assoc :value intern read "nil"] 13 (#$ . 18340)])
#@315 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.

(fn TOKENS)
(defalias 'semantic-grammar-token-properties #[257 "\300!\301!\207" [semantic-grammar-token-%put-properties semantic-grammar-token-%type-properties] 4 (#$ . 18946)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic-grammar-token-properties speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@96 Return macro definitions from %use-macros statements.
Also load the specified macro libraries.
(defalias 'semantic-grammar-use-macros #[0 "\300\211\301p!\300\203#@\211A@\262\302=\203@B\262A\262\202\211\237\266\202\211\203~\211@\303\211\304\305\3068\262\"\266\203!\262\3071K\310!0\210\202L\210\211\311\305\3068\262\"\266\202\211\203v\211@\303!\303\312\313	#!BB\262A\266\202\202Y\210A\266\202\202'\210\211\237\207" [nil semantic-something-to-tag-table macro intern :type plist-get 2 (error) require :value format "%s-%s"] 12 (#$ . 19593)])
#@47 List of associations (MACRO-NAME . EXPANDER).
(defvar semantic-grammar-macros nil (#$ . 20174))
(make-variable-buffer-local 'semantic-grammar-macros)
#@47 Build and return the alist of defined macros.
(defalias 'semantic-grammar-macros #[0 "\301\302 \"\207" [semantic-grammar-macros append semantic-grammar-use-macros] 3 (#$ . 20330)])
#@48 Return the default value of the keyword table.
(defalias 'semantic-grammar-keywordtable-builder-default #[0 "\300\301\302p!\303\203#@\211A@\262\304=\203@B\262A\262\202\211\237\266\202\"\305\306D\306\307!DE\207" [mapcar #[257 "\211\300\301\3028\262\"\266\202\303\211@\262!B\207" [:value plist-get 2 intern] 7 "\n\n(fn KEY)"] semantic-something-to-tag-table nil keyword semantic-lex-make-keyword-table quote semantic-grammar-keyword-properties] 6 (#$ . 20518)])
#@33 Return the keyword table value.
(defalias 'semantic-grammar-keywordtable-builder #[0 "\303\211\304\305\306!\304\204\"\211\262\204\"	\262\n\205 \307\n\"\262\203M\211\204M\302N\203<\307\302N\"\211\262\204\"\211\310N\206F\211\311N\262\262\202\"\266\203\211\262\205a\211\203_N\205aJ\266\203\206\326\211\211\312N\262\205\326\211\211\312N\262\304\305\306!\304\204\225\211\262\204\225	\262\n\205\223\307\n\"\262\203\300\211\204\300\302N\203\257\307\302N\"\211\262\204\225\211\310N\206\271\211\311N\262\262\202\225\266\203\211\262\205\324\211\203\322N\205\324J\266\203\262\211\203\337\211 \207\313 \207" [mode-local-active-mode major-mode mode-local-symbol-table 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] 12 (#$ . 21005)])
(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 #[0 "\300 \301\302D\302\303!\304!\266\202DE\207" [semantic-grammar-tokens semantic-lex-make-type-table quote semantic-grammar-token-%put-properties semantic-grammar-token-%type-properties] 8 (#$ . 22019)])
#@50 Return the value of the table of lexical tokens.
(defalias 'semantic-grammar-tokentable-builder #[0 "\303\211\304\305\306!\304\204\"\211\262\204\"	\262\n\205 \307\n\"\262\203M\211\204M\302N\203<\307\302N\"\211\262\204\"\211\310N\206F\211\311N\262\262\202\"\266\203\211\262\205a\211\203_N\205aJ\266\203\206\326\211\211\312N\262\205\326\211\211\312N\262\304\305\306!\304\204\225\211\262\204\225	\262\n\205\223\307\n\"\262\203\300\211\204\300\302N\203\257\307\302N\"\211\262\204\225\211\310N\206\271\211\311N\262\262\202\225\266\203\211\262\205\324\211\203\322N\205\324J\266\203\262\211\203\337\211 \207\313 \207" [mode-local-active-mode major-mode mode-local-symbol-table 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] 12 (#$ . 22347)])
(put 'semantic-grammar-tokentable-builder 'mode-local-overload t)
#@46 Return the default value of the parse table.
(defalias 'semantic-grammar-parsetable-builder-default #[0 "\300\301!\207" [error "`semantic-grammar-parsetable-builder' not defined"] 2 (#$ . 23370)])
#@32 Return the parser table value.
(defalias 'semantic-grammar-parsetable-builder #[0 "\303\211\304\305\306!\304\204\"\211\262\204\"	\262\n\205 \307\n\"\262\203M\211\204M\302N\203<\307\302N\"\211\262\204\"\211\310N\206F\211\311N\262\262\202\"\266\203\211\262\205a\211\203_N\205aJ\266\203\206\326\211\211\312N\262\205\326\211\211\312N\262\304\305\306!\304\204\225\211\262\204\225	\262\n\205\223\307\n\"\262\203\300\211\204\300\302N\203\257\307\302N\"\211\262\204\225\211\310N\206\271\211\311N\262\262\202\225\266\203\211\262\205\324\211\203\322N\205\324J\266\203\262\211\203\337\211 \207\313 \207" [mode-local-active-mode major-mode mode-local-symbol-table 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] 12 (#$ . 23573)])
(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 #[0 "\300\301!\207" [error "`semantic-grammar-setupcode-builder' not defined"] 2 (#$ . 24578)])
#@36 Return the parser setup code form.
(defalias 'semantic-grammar-setupcode-builder #[0 "\303\211\304\305\306!\304\204\"\211\262\204\"	\262\n\205 \307\n\"\262\203M\211\204M\302N\203<\307\302N\"\211\262\204\"\211\310N\206F\211\311N\262\262\202\"\266\203\211\262\205a\211\203_N\205aJ\266\203\206\326\211\211\312N\262\205\326\211\211\312N\262\304\305\306!\304\204\225\211\262\204\225	\262\n\205\223\307\n\"\262\203\300\211\204\300\302N\203\257\307\302N\"\211\262\204\225\211\310N\206\271\211\311N\262\262\202\225\266\203\211\262\205\324\211\203\322N\205\324J\266\203\262\211\203\337\211 \207\313 \207" [mode-local-active-mode major-mode mode-local-symbol-table 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] 12 (#$ . 24783)])
(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 #[0 "\301P\207" [semantic--grammar-package "--keyword-table"] 2 (#$ . 25955)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic-grammar-keywordtable speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@46 Return the variable name of the token table.
(defalias 'semantic-grammar-tokentable #[0 "\301P\207" [semantic--grammar-package "--token-table"] 2 (#$ . 26284)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic-grammar-tokentable speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@46 Return the variable name of the parse table.
(defalias 'semantic-grammar-parsetable #[0 "\301P\207" [semantic--grammar-package "--parse-table"] 2 (#$ . 26605)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic-grammar-parsetable speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@47 Return the name of the parser setup function.
(defalias 'semantic-grammar-setupfunction #[0 "\301P\207" [semantic--grammar-package "--install-parser"] 2 (#$ . 26926)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic-grammar-setupfunction speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@47 Return OBJECT as a string value.

(fn OBJECT)
(defalias 'semantic-grammar-as-string '(macro . #[257 "\300\301D\302DF\207" [if stringp pp-to-string] 6 (#$ . 27257)]))
#@90 Insert declaration of constant NAME with VALUE and DOCSTRING.

(fn NAME VALUE DOCSTRING)
(defalias 'semantic-grammar-insert-defconst #[771 "`\300\301$c\210\212\211b\210\302 )\207" [format "(defconst %s\n%s%S)\n\n" indent-sexp] 9 (#$ . 27432)])
#@90 Insert declaration of constant NAME with VALUE and DOCSTRING.

(fn NAME VALUE DOCSTRING)
(defalias 'semantic-grammar-insert-defconst-with-eval #[771 "`\300\301$c\210\212\211b\210\302 )\207" [format "(eval-and-compile (defconst %s\n%s%S))\n\n" indent-sexp] 9 (#$ . 27685)])
#@88 Insert declaration of function NAME with BODY and DOCSTRING.

(fn NAME BODY DOCSTRING)
(defalias 'semantic-grammar-insert-defun #[771 "`\300\301$c\210\212\211b\210\302 )\207" [format "(defun %s ()\n%S\n%s)\n\n" indent-sexp] 9 (#$ . 27967)])
#@169 Insert the declaration specified by DEFINE expression.
Typically a DEFINE expression should look like this:

(define-thing name docstring expression1 ...)

(fn DEFINE)
(defalias 'semantic-grammar-insert-define #[257 "`\300\301@A@#c\210AA\211\203&\211@\302c\210\303 \210\304p\"\210A\266\202\202\210\305c\210\212\211b\210\306 )\207" [format "(%S %S" "\n" delete-blank-lines pp ")\n\n" indent-sexp] 7 (#$ . 28219)])
#@44 The form to use to load the parser engine.
(defvar semantic-grammar-require-form '(eval-when-compile (require 'semantic/bovine)) (#$ . 28646))
#@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;;; Code:\n\n(require 'semantic/lex)\n" require-form "\n") (#$ . 28796))
#@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") (#$ . 30043))
#@57 Return the grammar copyright line, or nil if not found.
(defalias 'semantic-grammar-copyright-line #[0 "\212eb\210\300\301\212\302y\210`)\303#\205\304\305!)\207" [re-search-forward "^;;+[ 	]+Copyright (C) .*$" 4 t match-string 0] 4 (#$ . 30348)])
#@21 

(fn TEMPLATE ENV)
(defalias 'semantic-grammar--template-expand #[514 "\300\301\302\"\303#\207" [mapconcat make-closure #[257 "\211;\203\207\211\300\236\211\203\211A\2079\205J\207" [V0] 3 "\n\n(fn S)"] ""] 6 (#$ . 30603)])
#@45 Return text of a generated standard header.
(defalias 'semantic-grammar-header #[0 "\304\305	\306\307!!\262B\310\311\306\307!!\262B\312\313\314!B\315\316\317\n\"B\320\321B\322\323 \206/\313\324!PB\257\"\207" [semantic-grammar-header-template semantic--grammar-output-buffer semantic-grammar-require-form 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" require-form format "%S" vcid "$Id$" copy semantic-grammar-copyright-line ";; Copyright (C) %Y "] 10 (#$ . 30843)])
#@45 Return text of a generated standard footer.
(defalias 'semantic-grammar-footer #[0 "\304\305	\306\307!!\262B\310\n\206BD\"\207" [semantic-grammar-footer-template semantic--grammar-output-buffer semantic--grammar-provide semantic--grammar-package semantic-grammar--template-expand file file-name-nondirectory buffer-file-name libr] 7 (#$ . 31420)])
#@57 Return the string value of the table of lexical tokens.
(defalias 'semantic-grammar-token-data #[0 "\300 ;\203	\300 \207\301\300 !\207" [semantic-grammar-tokentable-builder pp-to-string] 2 (#$ . 31780)])
#@51 Return the string value of the table of keywords.
(defalias 'semantic-grammar-keyword-data #[0 "\300 ;\203	\300 \207\301\300 !\207" [semantic-grammar-keywordtable-builder pp-to-string] 2 (#$ . 31991)])
#@44 Return the parser table as a string value.
(defalias 'semantic-grammar-parser-data #[0 "\300 ;\203	\300 \207\301\300 !\207" [semantic-grammar-parsetable-builder pp-to-string] 2 (#$ . 32200)])
#@54 Return the parser setup code form as a string value.
(defalias 'semantic-grammar-setup-data #[0 "\300 ;\203	\300 \207\301\300 !\207" [semantic-grammar-setupcode-builder pp-to-string] 2 (#$ . 32399)])
#@67 Return delimiters specification from BLOCK-SPEC.

(fn BLOCK-SPEC)
(defalias 'semantic-grammar--lex-delim-spec #[257 "\30112\211A\302 \211:\203*\211@\203*\211@9\203*\211A@\203*\211A@9\203*\211\202-\303\304!)\2620\207\210\303\305A@#\207" [standard-input (error) read error "Invalid delimiter" "Invalid delimiters specification %s in block token %s"] 5 (#$ . 32606)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic-grammar--lex-delim-spec speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@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 #[0 "\303\267\2025\304\207\3051*\306\307\310	!\205\211;\205\311	\"\262\211\203+\211J\266\203\2025?\2053\312!\266\203A\313\307\310	!\205H\211;\205H\311	\"\262\211\203U\211J\266\203\202_?\205]\312!\266\203A\314\307\310	!\205r\211;\205r\311	\"\262\211\203\211J\266\203\202\211?\205\207\312!\266\203A\304\211\211\211\211\211\203 \211@\211\3151\316\211A\316 \211:\203\302\211@\203\302\211@9\203\302\211A@\203\302\211A@9\203\302\211\202\305\317\320!)\2620\262\202\330\210\317\321A@#\262\262@	\236\262A@\236\262\204\366\317\322@@#\210\204\317\323A@#\210A@@EB\262A@DB\262A\266\202\202\221\210B\211\266\2100\207\317\324\325\326!\"\210\304\207\207" [semantic-grammar--lex-block-specs semantic-lex-types-obarray standard-input #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (error 6 nil 8)) nil (error) "block" t obarrayp intern-soft semantic-lex-type-invalid "open-paren" "close-paren" (error) read error "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] 15 (#$ . 33147)])
#@75 Return a quoted form of EXP if it isn't a self evaluating form.

(fn EXP)
(defalias 'semantic-grammar-quoted-form #[257 "\211\203\211<\204\2119\203\300D\207\207" [quote] 3 (#$ . 34583)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic-grammar-quoted-form speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@74 Insert declaration of the lexical analyzer defined with TYPE.

(fn TYPE)
(defalias 'semantic-grammar-insert-defanalyzer #[257 "\301!J\302N\303N\304\211\211\211\211\205\205\262	\305N\206$\306\262\307\310\311
$!\262\310\312\f#\262\313\267\202\230\314\315\n\fA\211\203\\\211<\204W\2119\203\\\316D\262\316@\206g\307!D\257!\207\314\317\n\fA\211\203\210\211<\204\203\2119\203\210\316D\262\316@\206\223\307!D\257!\207\320=\203\305\321 \211\262\203\305\314\322\n	\211\203\301\211<\204\274\2119\203\301\316D\262\257!\207\323\267\202\352\314\324\n\316
@\206\334\307!D\257!\207\314\325\nF!\207\320=\205\321 \211\262\205\314\322\n	\211\203\211<\204\2119\203\316D\262\257!\207" [semantic--grammar-package symbol-name syntax :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 64 string 108)) 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 203 keyword 225)) define-lex-sexp-type-analyzer define-lex-keyword-type-analyzer] 19 (#$ . 34937)])
#@43 Insert declarations of lexical analyzers.
(defalias 'semantic-grammar-insert-defanalyzers #[0 "\303\211rq\210\304 \262\305!\306!\266\202\262)\307\"\303\310\311\n\"*\207" [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] 6 (#$ . 36330)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable semantic-grammar-file-regexp funcall function #[0 "\300\207" ["\\.[wb]y\\'"] 1 ""] "Regexp which matches grammar source files." :group semantic :type regexp] 8)
#@269 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.

(fn &optional FORCE UPTODATE)
(defalias 'semantic-grammar-create-package #[512 "\204\306\307!\210\206
	\262\310 \210\311 \312\313!\211\206\n\314Pp\315\316!!\317 \320 \321 \322 \204T\323 \204T\324\325
!\325\f!\"\203T\326\327\n\"\210\203\330\262\202
q\210\331@\332 \210\333\334!\204f\334 \210\335\261\210\336e`\"\210\212\337c\210\340\n\341Pr\fq\210\342\343\344 @\")\345#\210\346\n\347Pr\fq\210\350 )\351#\210\346\n\352Pr\fq\210\353 )\354#\210\346\n\355Pr\fq\210\356 )\357#\210\360\n\361Pr\fq\210\362 )\363#\210\364c\210\365 \210\366\261\210)\367\370!\210A\203\351\371\211\211\211BCDE\372p!\210,\202\336`d\"\210eb\210\373\374\330\371#\203\375\330!\210\202\361eb\210\376p!\210\377\n\361P\201F\201G!\"\210,\207" [semantic-new-buffer-fcn-was-run current-prefix-arg semantic--grammar-package semantic--grammar-provide semantic--grammar-input-buffer semantic--grammar-output-buffer 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 buffer-file-coding-system noninteractive vc-make-backup-files make-backup-files delete-old-versions version-control semantic-grammar-tag-symbols languagemode] 13 (#$ . 37057) "P"])
#@129 Unconditionally create Lisp code from grammar in current buffer.
Like \[universal-argument] \[semantic-grammar-create-package].
(defalias 'semantic-grammar-recreate-package #[0 "\300\301!\207" [semantic-grammar-create-package t] 2 (#$ . 39650) nil])
#@176 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.

(fn FILE)
(defalias 'semantic-grammar-batch-build-one-package #[257 "\305\306!\210\307!?\205P\3101'r\311!q\210\312\211\313\314\315!\210\316\317!+0\2021\320\321\322!\"\210\312\262\211\205N\323\324!\"\203M\325]\326\f]\327!*\202N\317\262\207" [vc-handled-backends semantic-new-buffer-setup-functions semanticdb-new-database-class max-specpdl-size max-lisp-eval-depth 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] 6 (#$ . 39907)])
#@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 #[0 "\204\304\305!\210\306\307\310	\"\n\211\203m\211@\211\203\311!\204$\304\312\"\210\313!\262\314!\203]\3151<\316\317#0\202@\210\304\320!\211\203Y\211@\321\313\"!\204R\322\262A\266\202\202@\210\202f\321!\204f\322\262A\266\202\202\210\323!)\207" [noninteractive find-file-hook command-line-args-left semantic-grammar-file-regexp error "`semantic-grammar-batch-build-packages' must be used with -batch" 0 delete vc-find-file-hook file-exists-p "Argument %s is not a valid file name" expand-file-name file-directory-p (error) directory-files nil "Unable to read directory files" semantic-grammar-batch-build-one-package 1 kill-emacs] 9 (#$ . 40737)])
(defvar semantic--grammar-macros-regexp-1 nil 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 #[0 "\203	\204\3021\303\304\305\306\"\307\"\310Q\2110\210\202\210	\207" [semantic-grammar-macros semantic--grammar-macros-regexp-1 (error) "(\\s-*" regexp-opt mapcar #[257 "\300@!\207" [symbol-name] 3 "\n\n(fn E)"] t "\\>"] 5 (#$ . 42017)])
#@52 Regexp that matches a macro declaration statement.
(defconst semantic--grammar-macdecl-re "\\<%use-macros\\>[ 	
\n]+\\(\\sw\\|\\s_\\)+[ 	
\n]+{" (#$ . 42384))
(defvar semantic--grammar-macros-regexp-2 nil nil)
(make-variable-buffer-local 'semantic--grammar-macros-regexp-2)
#@174 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.

(fn &rest _)
(defalias 'semantic--grammar-clear-macros-regexp-2 #[128 "\301\211\207" [semantic--grammar-macros-regexp-2 nil] 3 (#$ . 42665)])
#@60 Return the regexp that match macros local in this grammar.
(defalias 'semantic--grammar-macros-regexp-2 #[0 "\204B\302\212eb\210\303	\302\304#\2034\30510\211\306\307`\310u\210\311\312!\210\313\310!\210`\"!\244\211\2620\210\202	\210\202	\211\203@\314\315\304\"\316Q)\210\207" [semantic--grammar-macros-regexp-2 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 "\\>"] 7 (#$ . 42974)])
#@89 Search for a grammar macro name to highlight.
END is the limit of the search.

(fn END)
(defalias 'semantic--grammar-macros-matcher #[257 "\300 \211\203\301\302#\206\303 \211\262\205\301\302#\207" [semantic--grammar-macros-regexp-1 re-search-forward t semantic--grammar-macros-regexp-2] 6 (#$ . 43478)])
(byte-code "\300\301\302\303#\210\304\211\203(\211@\301N\203!\302N\204!\305\302\301N#\210A\266\202\202\210\306\301\302\307#\207" [defvaralias semantic-grammar-syntax-table semantic-grammar-mode-syntax-table nil (saved-value saved-variable-comment) put make-obsolete-variable "24.1"] 7)
#@50 Syntax table used in a Semantic grammar buffers.
(defvar semantic-grammar-mode-syntax-table (byte-code "\300\301 !\302\303\304#\210\302\305\304#\210\302\306\304#\210\302\307\304#\210\302\310\311#\210\302\312\313#\210\302\314\315#\210\302\316\317#\210\302\320\321#\210\302\322\321#\210\302\323\324#\210\302\325\326#\210\302\327\326#\210\302\330\326#\210\302\331\326#\210\207" [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] 5) (#$ . 44095))
#@47 Hook run when starting Semantic grammar mode.
(defvar semantic-grammar-mode-hook nil (#$ . 44653))
#@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) (#$ . 44758))
#@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) (#$ . 45637))
#@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) (#$ . 45918))
#@64 Font Lock keywords used to highlight Semantic grammar buffers.
(defvar semantic-grammar-mode-keywords semantic-grammar-mode-keywords-1 (#$ . 46199))
(byte-code "\300\301\302\303#\210\304\211\203(\211@\301N\203!\302N\204!\305\302\301N#\210A\266\202\202\210\306\301\302\307#\207" [defvaralias semantic-grammar-map semantic-grammar-mode-map nil (saved-value saved-variable-comment) put make-obsolete-variable "24.1"] 7)
#@41 Keymap used in `semantic-grammar-mode'.
(defvar semantic-grammar-mode-map (byte-code "\300 \301\302\303#\210\301\304\303#\210\301\305\303#\210\301\306\303#\210\301\307\303#\210\301\310\303#\210\301\311\312#\210\301\313\314#\210\301\315\316#\210\301\317\320#\210\301\321\322#\210\207" [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] 5) (#$ . 46632))
#@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]) (#$ . 47222))
#@167 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.

(fn SYMBOL MODE-MENU)
(defalias 'semantic-grammar-setup-menu-emacs #[514 "\300\301!\302\303\304DD\305\306BB\307\310DDC\311\312\n\313BB\314	\312
\315\316DF\317\f\310DEFFEF\207" [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] 18 (#$ . 47632)])
#@165 Setup an XEmacs grammar menu in variable SYMBOL.
MODE-MENU is an optional specific menu whose items are appended to the
common grammar menu.

(fn SYMBOL MODE-MENU)
(defalias 'semantic-grammar-setup-menu-xemacs #[514 "\300\301!\300\302!\303\304\305\306DD\307\310BBE\311\312\313DE\314\315DD\316\317DDDD\311\320\321	\322BBB\323\n\320\321\f\317DF\324
\315DEFFEF\207" [make-symbol "items" "path" progn unless boundp quote easy-menu-define (nil "Grammar Menu" (copy-sequence semantic-grammar-menu)) when (featurep 'xemacs) easy-menu-add let cdr list car easy-menu-add-item nil ("--") while setq] 19 (#$ . 48172)])
(make-obsolete 'semantic-grammar-setup-menu-xemacs nil "28.1")
#@152 Setup a mode local grammar menu.
MODE-MENU is an optional specific menu whose items are appended to the
common grammar menu.

(fn &optional MODE-MENU)
(defalias 'semantic-grammar-setup-menu '(macro . #[256 "\301\302\303\304\"!\"\207" [major-mode semantic-grammar-setup-menu-emacs intern format "%s-menu"] 6 (#$ . 48872)]))
#@42 Return non-nil if point is in Lisp code.
(defalias 'semantic-grammar-in-lisp-p #[0 "`\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 (#$ . 49203)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic-grammar-in-lisp-p speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@254 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.

(fn OVERLAY)
(defalias 'semantic-grammar-edits-new-change-hook-fcn #[257 "\300\211\203\301!\262\202`\302 W\203`\262\202\302 \262\211\203,\303!\262\202=`\302 V\2039`\262\202=\302 \262\"@\211\304\211A@\262=\266\202\205\205\305\211\3068\262\307!\203e\301!\266\202\202j\211\310H\266\202\211\3068\262\307!\203\303!\266\202\202\204\211\311H\266\202#\207" [semantic-find-tag-by-overlay-in-region overlay-start mark overlay-end nonterminal move-overlay 4 overlayp 0 1] 9 (#$ . 49645)])
(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 #[0 "\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 (#$ . 51700) 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 "\301!\302\303\304#\210\207" [semantic-grammar-mode-syntax-table copy-syntax-table modify-syntax-entry 39 "$"] 5) (#$ . 53707))
#@55 Move point to beginning of the previous grammar item.
(defalias 'semantic-grammar-backward-item #[0 "\301d[!\210\302\303!\304U\205*`Sf\305=\203'\306 p\307\310#\216\311!\210\312\313!)\207\312\313!\207" [semantic-grammar-skip-quoted-syntax-table forward-comment skip-syntax-backward "." 0 39 syntax-table make-closure #[0 "r\301q\210\302\300!)\207" [V0 V1 set-syntax-table] 2] set-syntax-table forward-sexp -1] 6 (#$ . 54061)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic-grammar-backward-item speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@62 Return indentation based on previous anchor character found.
(defalias 'semantic-grammar-anchored-indentation #[0 "\301\212\211\204k\302d[!\210\303\304!\305U\2035`Sf\306=\2031\307 p\310\311#\216\312!\210\313\314!)\266\2025\313\314!\210o\203?\305\262\202\315\316!\203Yi\262\301u\210\317\320!\210l\203\321\262\202\315\322!\203\315\323!\204\305\262\202)\207" [semantic-grammar-skip-quoted-syntax-table nil forward-comment skip-syntax-backward "." 0 39 syntax-table make-closure #[0 "r\301q\210\302\300!)\207" [V0 V1 set-syntax-table] 2] set-syntax-table forward-sexp -1 looking-at ":\\(\\s-\\|$\\)" skip-syntax-forward "-" 2 "[;%]" "\\<%prec\\>"] 7 (#$ . 54654)])
#@70 Indent a line of grammar.
When called the point is not in Lisp code.
(defalias 'semantic-grammar-do-grammar-indent #[0 "\300\211\212\301 \210\302\303!\210i\262o\204#\304\305!\204#\304\306!\203)\304\307!\204)\310\262\202o\304\311!\2035\312\262\202o\304\313!\203M\212\314d!\210\304\311!)\203M\315\262\202o\316 \262\211\310U\204o\304\313!\203d\211S\262\202o\304\317!\204o\211\312\\\262\211U?\205~\301 \210\320 \210\211j)\207" [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] 4 (#$ . 55347)])
#@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 "\301!\302\303\304#\210\302\305\306#\210\207" [emacs-lisp-mode-syntax-table copy-syntax-table modify-syntax-entry 123 "(}  " 125 "){  "] 5) (#$ . 56017))
#@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 #[0 "\3011[\212\302 \210\303\304w\210`\211\212eb\210\305\306\304\307\310$\203 \311\224\202\"dT)Y\204+\312\313!\210\31416\312\313!\210\202/\210\302 \210\214`}\210db\210\315 p\316\317#\216\320!\210\321 \210)\266)\210)\3070\207\210\304\207" [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 make-closure #[0 "r\301q\210\302\300!)\207" [V0 V1 set-syntax-table] 2] set-syntax-table lisp-indent-line] 7 (#$ . 56355)])
#@88 Indent the current line.
Use the Lisp or grammar indenter depending on point location.
(defalias 'semantic-grammar-indent #[0 "`\300\301 \204\n\302 \210\212\303 \210\304\300w\210`)\262W\204#`U?\205%\211b\207" [nil semantic-grammar-do-lisp-indent semantic-grammar-do-grammar-indent beginning-of-line "	 "] 4 (#$ . 57034) nil])
#@51 Insert and reindent for the symbol just typed in.
(defalias 'semantic-grammar-electric-punctuation #[0 "\300\301!\210\212\302 )\207" [self-insert-command 1 semantic-grammar-indent] 2 (#$ . 57373) 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 #[0 "`\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\203X@\211A@\262\323=\203Q@B\262A\262\202;\211\237\266\202\324 @\325\"\211\311=\203m\326\327!\207\211;\203\250\211\230\203\250	r\330\331!q\210p\332 \210\310\211\311\211\311$\333 \210\334\335!\210+\211%\336\337\"!\340!\210)\207\211;\203\274\341\316!\210`\341\342!\210`|\210\211c\207\326\343!\207" [completion-at-point-functions default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks 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." inhibit-read-only standard-output] 10 (#$ . 57582) nil])
#@105 Insert a new %keyword declaration with NAME.
Assumes it is typed in with the correct casing.

(fn NAME)
(defalias 'semantic-grammar-insert-keyword #[257 "n\204\300c\210\301\226\302\303\226\304\261\210\305u\207" ["\n" "%keyword " "        \"" "\"\n%put     " " summary\n\"\"\n" -2] 8 (#$ . 58983) "sKeyword: "])
#@118 Search for a function tag for the grammar macro with name NAME.
Return the tag found or nil if not found.

(fn NAME)
(defalias 'semantic--grammar-macro-function-tag #[257 "\303\303p!\304\203#@\211@\262\230\203@B\262A\262\202\211\237\266\202)\206<\305\306!\205<\n\205<\307\304\310#@A!\304\203[@\211A@\262\311=\203T@B\262A\262\202>\211\237\266\202@\207" [semantic-case-fold case-fold-search semanticdb-current-database semantic-something-to-tag-table nil featurep semantic/db semanticdb-find-tags-by-name t function] 7 (#$ . 59307)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic--grammar-macro-function-tag speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@72 Return the library part of the grammar macro defined by DEF.

(fn DEF)
(defalias 'semantic--grammar-macro-lib-part #[257 "\300\301\302\303@!!\"\303A!\211\304\305\"O\207" [format "-%s\\'" regexp-quote symbol-name 0 string-match] 8 (#$ . 60038)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put semantic--grammar-macro-lib-part speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@181 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.

(fn DEF &optional FULL)
(defalias 'semantic--grammar-macro-compl-elt #[513 "@\300\301\302\303@!!\"\303A!\211\304\305\"O\266\203\203%\300\306#\202(\303!DB\207" [format "-%s\\'" regexp-quote symbol-name 0 string-match "%s/%s"] 11 (#$ . 60452)])
#@54 Return a completion dictionary of macro definitions.
(defalias 'semantic--grammar-macro-compl-dict #[0 "\300 \301\211\211\2033@\262A\262\302@\"\204!\302@\"\203)B\262\202\303!B\262\202\203J@\262A\262\303\304\"B\262\2023\207" [semantic-grammar-macros nil assoc semantic--grammar-macro-compl-elt t] 7 (#$ . 60871)])
#@457 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.

(fn MACRO-NAME LIBRARY)
(defalias 'semantic-grammar-find-macro-expander #[514 "\205\275\211\205\275\303\304\"\305\306\307\"\206!r\211q\210\303\310#\311\311p!\312\203C@\211@\262\230\203<@B\262A\262\202'\211\237\266\202)\206\\\313\314!\205\\\n\205\\\315\312\307#@A!\312\203{@\211A@\262\316=\203t@B\262A\262\202^\211\237\266\202@\262)\211\203\261\317\320!\210\321\322!!\210\211\211\3238\262\324!\203\246\325!\266\202\202\253\211\326H\266\202b\210\327!\207\321!\210\330\331#\266\203\207" [semantic-case-fold case-fold-search semanticdb-current-database 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"] 11 (#$ . 61223) (byte-code "\300 \301\302\303\304\305$\"\211A\206\306\207" [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")) (#$ . 62763))
(defvar semantic-grammar-eldoc-last-data (list nil))
#@295 Combine PREFIX and DOC, and shorten the result to fit in the echo area.

When PREFIX is a symbol, propertize its symbol name with FACE
before combining it with DOC.  If FACE is not provided, just
apply the nil face.

See also: `eldoc-echo-area-use-multiline-p'.

(fn PREFIX DOC &optional FACE)
(defalias 'semantic--docstring-format-sym-doc #[770 "9\203\302\303!\304#\305P\262\306\307 !SGG\\Z\211\310X\2044\311=\2044\2038GV\2038P\207GV\203H\312\313\"\310O\207\211\314\315\311\316#)\266\203Y\203]\207\315OP\207" [eldoc-echo-area-use-multiline-p inhibit-changing-match-data propertize symbol-name face ": " window-width minibuffer-window 0 t format "%s" ":? *\\'" nil string-match] 14 (#$ . 65237)])
#@136 Return a one-line docstring for the given grammar MACRO.
EXPANDER is the name of the function that expands MACRO.

(fn MACRO EXPANDER)
(defalias 'semantic-grammar-eldoc-get-macro-docstring #[514 "\301\302!\210\211@=\203A\207\303\304!\203M\305\306\307\"\"\211\2034\211@\262\310\311\"\210\312\313\225\314OP\262\2029\304!\262\211\203L\315\316\317#\320#\262B\207\303\321!\205i\322\323!\324\325#\326\322\323!\324\327#\330\321\314\"\260\207" [semantic-grammar-eldoc-last-data require eldoc fboundp eldoc-function-argstring help-split-fundoc documentation t string-match "\\`[^ )]* ?" "(" 0 nil semantic--docstring-format-sym-doc format "==> %s %s" default elisp-get-fnsym-args-string propertize symbol-name face font-lock-keyword-face " ==> " font-lock-function-name-face ": "] 9 (#$ . 65978)])
#@659 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.
If 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 #[0 "\301\302!\210\303 @\211\205\304\"A\211\204\245\203\245`\212eb\210\305\306\307\310\311$\203+\312\224\202-dT)Y\204F\3131A\212\314\315!\210)\3100\202C\210\307\203\245\316 \262\317!\262\205W\236A\262\211\203l\320!\203l\321\"\262\202\245\203\212\320!\203\212\320\322!\203\202\322!\202\205\323!\262\202\245\203\245\324!\203\245\320\325!\203\240\325!\202\243\326!\262\211\206\253\327 \207" [semantic-grammar-syntax-help 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] 8 (#$ . 66802)])
(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)
#@192 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.

(fn TAG)
(defalias 'semantic-tag-boundary-p-semantic-grammar-mode #[257 "\211\211A@\262\211\300=\207" [nonterminal] 4 (#$ . 68748)])
(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)
#@154 Determine the name of the current function at POINT.
Override `semantic-ctxt-current-function' in `semantic-grammar-mode'
buffers.

(fn &optional POINT)
(defalias 'semantic-ctxt-current-function-semantic-grammar-mode #[256 "\212\211\203\211b\210`\212eb\210\301\302\303\304\305$\203\306\224\202dT)Y\2046\30711\212\310\311!\210)\3040\2023\210\303\205R\303C\312\313\314$\216\315!\210\312\316\312!\240\210\317 )\266\203)\207" [mode-local-active-mode re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0 (error) up-list -1 emacs-lisp-mode make-closure #[0 "\304\302!\210\301\242\211\203\211@\211@AL\210A\266\202\202\210\300\305\300!\207" [V0 V1 V2 mode-local-active-mode mode-local--deactivate-bindings mode-local--activate-bindings] 4] mode-local--deactivate-bindings mode-local--activate-bindings semantic-ctxt-current-function] 9 (#$ . 69354)])
(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)
#@163 Determine the argument index of the called function at POINT.
Override `semantic-ctxt-current-argument' in `semantic-grammar-mode'
buffers.

(fn &optional POINT)
(defalias 'semantic-ctxt-current-argument-semantic-grammar-mode #[256 "\212\211\203\211b\210`\212eb\210\301\302\303\304\305$\203\306\224\202dT)Y\2046\30711\212\310\311!\210)\3040\2023\210\303\205R\303C\312\313\314$\216\315!\210\312\316\312!\240\210\317 )\266\203)\207" [mode-local-active-mode re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0 (error) up-list -1 emacs-lisp-mode make-closure #[0 "\304\302!\210\301\242\211\203\211@\211@AL\210A\266\202\202\210\300\305\300!\207" [V0 V1 V2 mode-local-active-mode mode-local--deactivate-bindings mode-local--activate-bindings] 4] mode-local--deactivate-bindings mode-local--activate-bindings semantic-ctxt-current-argument] 9 (#$ . 70537)])
(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)
#@151 Determine the tag being assigned into at POINT.
Override `semantic-ctxt-current-assignment' in `semantic-grammar-mode'
buffers.

(fn &optional POINT)
(defalias 'semantic-ctxt-current-assignment-semantic-grammar-mode #[256 "\212\211\203\211b\210`\212eb\210\301\302\303\304\305$\203\306\224\202dT)Y\2046\30711\212\310\311!\210)\3040\2023\210\303\205R\303C\312\313\314$\216\315!\210\312\316\312!\240\210\317 )\266\203)\207" [mode-local-active-mode re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0 (error) up-list -1 emacs-lisp-mode make-closure #[0 "\304\302!\210\301\242\211\203\211@\211@AL\210A\266\202\202\210\300\305\300!\207" [V0 V1 V2 mode-local-active-mode mode-local--deactivate-bindings mode-local--activate-bindings] 4] mode-local--deactivate-bindings mode-local--activate-bindings semantic-ctxt-current-assignment] 9 (#$ . 71729)])
(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)
#@158 Determine the class of tags that can be used at POINT.
Override `semantic-ctxt-current-class-list' in `semantic-grammar-mode'
buffers.

(fn &optional POINT)
(defalias 'semantic-ctxt-current-class-list-semantic-grammar-mode #[256 "\212\211\203\211b\210`\212eb\210\301\302\303\304\305$\203\306\224\202dT)Y\2046\30711\212\310\311!\210)\3040\2023\210\303\203U\303C\312\313\314$\216\315!\210\312\316\312!\240\210\317 )\266\203\202V\320)\207" [mode-local-active-mode re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0 (error) up-list -1 emacs-lisp-mode make-closure #[0 "\304\302!\210\301\242\211\203\211@\211@AL\210A\266\202\202\210\300\305\300!\207" [V0 V1 V2 mode-local-active-mode mode-local--deactivate-bindings mode-local--activate-bindings] 4] mode-local--deactivate-bindings mode-local--activate-bindings semantic-ctxt-current-class-list (nonterminal token keyword)] 9 (#$ . 72921)])
(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)
#@288 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.

(fn &optional POINT)
(defalias 'semantic-ctxt-current-mode-semantic-grammar-mode #[256 "\212\211\203\211b\210`\212eb\210\300\301\302\303\304$\203\305\224\202dT)Y\2046\30611\212\307\310!\210)\3030\2023\210\302\203:\311\202<\312 )\207" [re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0 (error) up-list -1 emacs-lisp-mode semantic-ctxt-current-mode-default] 7 (#$ . 74158)])
(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)
#@240 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.

(fn TAG &optional PARENT COLOR)
(defalias 'semantic-format-tag-abbreviate-semantic-grammar-mode #[769 "\211A@\262\300#\301\267\202\211\302P\207\303\207\207\304\305!\306R\207" [semantic-format-tag-name #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (nonterminal 17 setting 21 rule 23 keyword 23)) ":" "%settings%" "%" symbol-name " "] 9 (#$ . 75111)])
(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)
#@239 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.

(fn TAG &optional PARENT COLOR)
(defalias 'semantic-format-tag-summarize-semantic-grammar-mode #[769 "\211A@\262\302#\303\211\304\267\202g\305\262\306\307\310	!G\"\262\202q\311\262\303C\312\313\"\314\211p!\303\203P@\211A@\262\315=\203I@B\262A\262\2023\211\237\266\202!\303\203z\316\317\f\211@\262!@\211@\262\"\203s@B\262A\262\202V\211\237\266\202)\314!\303\203\233@!\203\224@B\262A\262\202\203\211\237\266\320\321\322\3238\262\"\266\202\242\203\274\324\325\242!P\202\275\326Q\266\202\202q\327\262\321\322\3238\262\"\266\202\330\322\3238\262\"\266\202\211\331\322\3238\262\"\266\203\203\377\332\333B\334#\262\211\203\n\306\335\"\202\326\203\306\336\203\334\202\326#\202 \326P\266\204\202q\337\262\321\322\3238\262\"\266\202\211\331\322\3238\262\"\266\203\211\203Q\306\335\"\202R\326\203`\334\332\333\334#P\202a\326P\266\203\202q\340#\262\203\203\341\342\"\262\203\221\203\221\211\203\221\341\343\"\262\203\232Q\207\207" [semantic-case-fold case-fold-search semantic-format-tag-name nil #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (nonterminal 19 keyword 35 token 195 assoc 294)) "Nonterminal: " format " with %d match lists." semantic-tag-components "Keyword: " make-closure #[257 "\300\242?\205\300\301\302\303\304\3058\262\"\266\202\"A\240\207" [V0 assoc "summary" :value plist-get 2] 10 "\n\n(fn PUT)"] 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 label comment] 16 (#$ . 76035)])
(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)
#@163 Provide a semantic analysis object describing a context in a grammar.
Override `semantic-analyze-current-context' in `semantic-grammar-mode'
buffers.

(fn POINT)
(defalias 'semantic-analyze-current-context-semantic-grammar-mode #[257 "`\212eb\210\301\302\303\304\305$\203\306\224\202dT)Y\204.\3071)\212\310\311!\210)\3040\202+\210\303\203J\303C\312\313\314$\216\315!\210\312\316\312!\240\210\317!)\207\303\320 \211@\3058\303\321 \322@p\"\262\323\324p\325\303\326\327	\203p	C\202r\330\303\331\f&\f\262\207" [mode-local-active-mode re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0 (error) up-list -1 emacs-lisp-mode make-closure #[0 "\304\302!\210\301\242\211\203\211@\211@AL\210A\266\202\202\210\300\305\300!\207" [V0 V1 V2 mode-local-active-mode mode-local--deactivate-bindings mode-local--activate-bindings] 4] 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] 20 (#$ . 78325)])
(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)
#@168 Return a list of possible completions based on CONTEXT.
Override `semantic-analyze-possible-completions' in
`semantic-grammar-mode' buffers.

(fn CONTEXT &rest FLAGS)
(defalias 'semantic-analyze-possible-completions-semantic-grammar-mode #[385 "\302\303!\210`\212eb\210\304\305\306\307\310$\203\311\224\202dT)Y\2042\3121-\212\313\314!\210)\3070\202/\210\306\203N\306C\315\316\317$\216\320!\210\315\321\315!\240\210\322!)\207r\323\324\"q\210\325\323\326\"!@\211\3271\212\211:\205\204\211@;\205\204\211A@9\205\204\211A@\205\204\3108<\205\204\3308<0\262\202\216\210\306\262\203\231\211\211@\262\202\252\211;\203\242\211\202\252\211@;\205\252\211@\211G\331p!\306\203\326\332\311\306@\211@\262\311	&\307=\203\317@B\262A\262\202\260\211\237\266\202\262\333\323\334\"\"\266\203)\207" [mode-local-active-mode semantic-case-fold require semantic/analyze/complete re-search-forward "^\\s-*\\<%%\\>\\s-*$" nil t 2 0 (error) up-list -1 emacs-lisp-mode make-closure #[0 "\304\302!\210\301\242\211\203\211@\211@AL\210A\266\202\202\210\300\305\300!\207" [V0 V1 V2 mode-local-active-mode mode-local--deactivate-bindings mode-local--activate-bindings] 4] mode-local--deactivate-bindings mode-local--activate-bindings semantic-analyze-possible-completions eieio-oref buffer reverse prefix (error) 3 semantic-something-to-tag-table compare-strings semantic-analyze-tags-of-class-list prefixclass] 15 (#$ . 79803)])
(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)

Youez - 2016 - github.com/yon3zu
LinuXploit