;ELC
;;; Compiled
;;; in Emacs version 26.1
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(byte-code "\300\301!\210\300\302!\207" [require semantic semantic/wisent/wisent] 2)
#@50 Input stream of `semantic-lex' syntactic tokens.
(defvar wisent-lex-istream nil (#$ . 493))
#@87 Extra lookahead token.
When non-nil it is directly returned by `wisent-lex-function'.
(defvar wisent-lex-lookahead nil (#$ . 591))
(semantic-alias-obsolete 'wisent-lex-make-token-table 'semantic-lex-make-type-table "23.2")
#@100 Return an End-Of-Input lexical token.
The EOI token is like this: ($EOI "" POINT-MAX . POINT-MAX).
(defalias 'wisent-lex-eoi '(macro . #[nil "\301\302D\303BB\207" [wisent-eoi-term cons quote ((cons "" (cons (point-max) (point-max))))] 3 (#$ . 821)]))
#@585 Create a new lexical analyzer with NAME.
DOC is a documentation string describing this analyzer.
When a token is available in `wisent-lex-istream', eval BODY forms
sequentially. BODY must return a lexical token for the LALR parser.
Each token in input was produced by `semantic-lex', it is a list:
(TOKSYM START . END)
TOKSYM is a terminal symbol used in the grammar.
START and END mark boundary in the current buffer of that token's
value.
Returned tokens must have the form:
(TOKSYM VALUE START . END)
where VALUE is the buffer substring between START and END positions.
(defalias 'define-wisent-lexer '(macro . #[(name doc &rest body) "\303\304 \305\306\307\nB\310BBB\257\207" [name doc body defun nil cond (wisent-lex-lookahead (prog1 wisent-lex-lookahead (setq wisent-lex-lookahead nil))) wisent-lex-istream (((wisent-lex-eoi)))] 8 (#$ . 1080)]))
#@246 Return the next available lexical token in Wisent's form.
The variable `wisent-lex-istream' contains the list of lexical tokens
produced by `semantic-lex'. Pop the next token available and convert
it to a form suitable for the Wisent's parser.
(defalias 'wisent-lex #[nil "\203 \303\207 \203s @ A\n\211@\262\n\211A@;\203' \211A@\262\202[ \304\211\211A@\247\2049 \211AA\262\202= \211A\262@\262\211\211A@\247\204Q \211AA\262\202U \211A\262A\262\"\262\n\211A@\247\204k \211AA\262\202o \211A\262)BB\207\305\306ddBBB\207" [wisent-lex-lookahead wisent-lex-istream tk nil buffer-substring-no-properties $EOI ""] 7 (#$ . 1952)])
#@84 Function used to report parse error.
By default use the function `wisent-message'.
(defvar wisent-error-function nil (#$ . 2600))
(make-variable-buffer-local 'wisent-error-function)
#@123 Function used to obtain the next lexical token in input.
Should be a lexical analyzer created with `define-wisent-lexer'.
(defvar wisent-lexer-function 'wisent-lex (#$ . 2789))
(make-variable-buffer-local 'wisent-lexer-function)
#@134 Return raw form of given Semantic tag SEMANTIC-TAG.
Should be used in semantic actions, in grammars, to build a Semantic
parse tree.
(defalias 'wisent-raw-tag #[(semantic-tag) " \204
\nAA\211\203 @ AD\202 ddD\244\207" [semantic-tag $region wisent-input] 3 (#$ . 3025)])
(put 'wisent-raw-tag 'byte-optimizer 'byte-compile-inline-expand)
#@151 From raw form of Semantic tag RAW-TAG, return a list of cooked tags.
Should be used in semantic actions, in grammars, to build a Semantic
parse tree.
(defalias 'wisent-cook-tag #[(raw-tag) "\304!\211\211\203 \305\n@\306#\210\nA\211\204\n *\207" [raw-tag cooked l $nterm semantic--tag-expand semantic--tag-put-property reparse-symbol] 5 (#$ . 3374)])
(put 'wisent-cook-tag 'byte-optimizer 'byte-compile-inline-expand)
#@243 Add lexical token NOMATCH to the cache of unmatched tokens.
See also the variable `semantic-unmatched-syntax-cache'.
NOMATCH is in Wisent's form: (SYMBOL VALUE START . END)
and will be collected in `semantic-lex' form: (SYMBOL START . END).
(defalias 'wisent-collect-unmatched-syntax #[(nomatch) "AA\303 @!\205 \303 A!\205 @ B\nB\211)\207" [nomatch region semantic-unmatched-syntax-cache number-or-marker-p] 2 (#$ . 3805)])
#@468 Parse STREAM using the Wisent LALR parser.
GOAL is a nonterminal symbol to start parsing at.
Return the list (STREAM SEMANTIC-STREAM) where STREAM are those
elements of STREAM that have not been used. SEMANTIC-STREAM is the
list of semantic tags found.
The LALR parser automaton must be available in buffer local variable
`semantic--parse-table'.
Must be installed by `semantic-install-function-overrides' to override
the standard function `semantic-parse-stream'.
(defalias 'wisent-parse-stream #[(stream goal) "\306\211\211\211\f@\211@:\203 @@\fA\202 \306\f
\203\\ \30715 \310$0\202\252
\204S \3118U\203S \312\313\314!\"\210\312\315!\202X \316\317\")\202\252 \3201\232 \3211r \310$0\202\226
\204\220 \3118U\203\220 \312\313\314!\"\210\312\315!\202\225 \316\317\")0\202\252 \312\313\322\323p\314!#\"\210)\306\203\357 @@=\203\317 \306 @\211\203\357 \324\325 @\"\210 A\211\202\277 :\204\330 \204\334 \306\211B @B\240\210 AA\241\210 B:\203\371 \202\372 \326,D\207" [cache la-elt wisent-lex-lookahead wisent-lex-istream stream debug-on-error nil (args-out-of-range) wisent-parse 2 message "wisent-parse-stream: %s" error-message-string "wisent-parse-max-stack-size might need to be increased" apply signal (error) (args-out-of-range) format "%S - %s" run-hook-with-args wisent-discarding-token-functions (nil) semantic--parse-table wisent-lexer-function wisent-error-function goal error-to-filter wisent-parse-max-stack-size err wisent-lookahead] 8 (#$ . 4243)])
#@501 Parse the area between START and END using the Wisent LALR parser.
Return the list of semantic tags found.
Optional arguments GOAL is a nonterminal symbol to start parsing at,
DEPTH is the lexical depth to scan, and RETURNONERROR is a flag to
stop parsing on syntax error, when non-nil.
The LALR parser automaton must be available in buffer local variable
`semantic--parse-table'.
Must be installed by `semantic-install-function-overrides' to override
the standard function `semantic-parse-region'.
(defalias 'wisent-parse-region #[(start end &optional goal depth returnonerror) "eW\204 dV\204 W\203 \306\307 #\210\n\310 \f#\311\211 \311\211!\"\311#
\2036\"@#$\203J \312%&'($\202l \3131\\ \312%&'($0\202l )\314\315\316\317p\320)!#\"\210)\311 *\203\233 \"@*=\203\224 \311 \"\203\233 \321\322\"@\"\210\"A\211\"\202\201 *\"B\" :\203\344 \311\"\323 !!\324!\"!\203\353 !@ !A! \325+ \326 \327 8)+\"*\204\262 \330 \325(#\210\202\262 ,\203\353 \311
\203/ -\331=\203/ \332\333!\203/ \203/ \334\335
@\211\211A@\247\204\211AA\262\202\211A\262@\262_d\"\211\247\203-\211@Y\2051\336\"\266\202/ \237.\207" [start end semantic-case-fold case-fold-search depth wisent-lex-istream error "Invalid bounds [%s %s] passed to `wisent-parse-region'" semantic-lex nil wisent-parse (error) message "wisent-parse-region: %s" format "%S - %s" error-message-string run-hook-with-args wisent-discarding-token-functions semantic--tag-expand append reparse-symbol plist-get 3 semantic--tag-put-property percent boundp semantic--progress-reporter floor 100.0 progress-reporter-do-update ptree tag cooked lstack wisent-lex-lookahead debug-on-error semantic--parse-table wisent-lexer-function wisent-error-function goal err wisent-lookahead property returnonerror semantic-working-type] 8 (#$ . 5788)])
(byte-code "\300\301\302\"\210\303\304!\207" [add-hook edebug-setup-hook #[nil "\300\301\302\303#\207" [put define-wisent-lexer edebug-form-spec (&define name stringp def-body)] 4] provide semantic/wisent] 3)
|