;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\306\307\310\311\312DD\313\314\315\316\317\320\321& \210\322\307!\210\323\324  \n$\210\323\325 \n \f%\210\323\326  $\210\323\"#$%$\210\327\330\331\330\332\333#\334#\210\327\335\331\335\336\333#\337#\210\340\335\333\336\333\341%\207" [pos message inserted deleted deleted-region repair custom-declare-variable wisi-partial-parse-threshold funcall function #[0 "\300\207" [100001] 1] "Minimum size that will be parsed by each call to the parser.\nA parse is always requested at a point (or on a region); the\npoint is first expanded to a start point before the region and an\nend point after the region, that the parser can gracefully\nhandle. If the final region covers the entire buffer, a complete\nparse is done. Indent assumes the start point of the parse region\nis properly indented. Most navigate parses ignore this setting\nand parse the whole buffer." :type integer :group wisi :safe integerp make-variable-buffer-local cl-defstruct wisi--lexer-error wisi--parse-error-repair wisi--parse-error defalias wisi-parse-format-language-options cl-generic-define ((parser wisi-parser)) nil "Return a string to be sent to the parser, containing settings\nfor the language-specific parser options.\n\n(fn (PARSER wisi-parser))" wisi-parse-expand-region ((_parser wisi-parser) begin end) "Return a cons SEND-BEGIN . SEND-END that is an expansion of\nregion BEGIN END that starts and ends at points the parser can\nhandle gracefully.\n\n(fn (_PARSER wisi-parser) BEGIN END)" cl-generic-define-method #[771 "B\207" [] 5 "\n\n(fn PARSER BEGIN END)"] wisi-parser lexer-errors parse-errors repair-image] 10) #@54 The current wisi parser; a ‘wisi-parser’ object. (defvar wisi--parser nil (#$ . 1710)) (make-variable-buffer-local 'wisi--parser) #@49 Read a parse action symbol from the minibuffer. (defalias 'wisi-read-parse-action #[0 "\300\301\302\303\304\305\304\211\306&!\207" [intern-soft completing-read "parse action (indent): " (face navigate indent) nil t indent] 9 (#$ . 1850)]) #@174 Search backward for REGEXP. If SKIP-P returns non-nil, search again. SKIP-P is a function taking no parameters. Return nil if no match found before bob. (fn REGEXP SKIP-P) (defalias 'wisi-search-backward-skip #[514 "\300\301\302#\211\203 \203\300\301\302#\211\262\204\207" [search-backward-regexp nil t] 7 (#$ . 2097)]) #@173 Search forward for REGEXP. If SKIP-P returns non-nil, search again. SKIP-P is a function taking no parameters. Return nil if no match found before eob. (fn REGEXP SKIP-P) (defalias 'wisi-search-forward-skip #[514 "\300\301\302#\211\203 \203\300\301\302#\211\262\204\207" [search-forward-regexp nil t] 7 (#$ . 2435)]) #@50 For debugging. Expand currently selected region. (defalias 'wisi-show-expanded-region #[0 "\301\302 \303 #\304\305\302 \303 $\210\306@!\210\211Ab\207" [wisi--parser wisi-parse-expand-region region-beginning region-end message "pre (%d . %d) post %s" set-mark] 6 (#$ . 2769) nil]) (byte-code "\300\301\302\301\303\304#\305#\210\306\301\304\303\304\307%\210\300\310\302\310\311\304#\312#\210\300\313\302\313\314\304#\315#\210\300\316\302\316\317\304#\320#\210\300\321\302\321\322\304#\323#\210\300\324\302\324\325\304#\326#\207" [defalias wisi-parse-adjust-indent cl-generic-define ((_parser wisi-parser) indent _repair) nil "Adjust INDENT for REPAIR (a wisi--parse-error-repair struct). Return new indent.\n\n(fn (_PARSER wisi-parser) INDENT REPAIR)" cl-generic-define-method #[771 "\207" [] 4 "\n\n(fn PARSER INDENT REPAIR)"] wisi-parse-current ((parser wisi-parser) begin send-end parse-end) "Parse current buffer starting at BEGIN, continuing at least thru PARSE-END.\nIf using an external parser, send it BEGIN thru SEND-END.\n\n(fn (PARSER wisi-parser) BEGIN SEND-END PARSE-END)" wisi-refactor ((parser wisi-parser) refactor-action parse-begin parse-end edit-begin) "Send parser command to perform REFACTOR-ACTION on region PARSE-BEGIN PARSE-END at point EDIT_BEGIN.\nThe parse region is not expanded first; it must be the statement\nor declaration containing EDIT_BEGIN.\n\n(fn (PARSER wisi-parser) REFACTOR-ACTION PARSE-BEGIN PARSE-END EDIT-BEGIN)" wisi-parse-kill ((parser wisi-parser)) "Kill any external process associated with parser.\n\n(fn (PARSER wisi-parser))" wisi-parse-find-token ((parser wisi-parser) token-symbol) "Find token with TOKEN-SYMBOL on current parser stack, return token struct.\nFor use in grammar actions.\n\n(fn (PARSER wisi-parser) TOKEN-SYMBOL)" wisi-parse-stack-peek ((parser wisi-parser) n) "Return the Nth token on the parse stack.\nFor use in grammar actions.\n\n(fn (PARSER wisi-parser) N)"] 6) #@69 compiler-macro for inlining `wisi-cache-p'. (fn CL-WHOLE-ARG CL-X) (defalias 'wisi-cache-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block wisi-cache-p (and (memq (type-of cl-x) cl-struct-wisi-cache-tags) t)) nil] 9 (#$ . 4714)]) (put 'wisi-cache-p 'compiler-macro 'wisi-cache-p--cmacro) #@13 (fn CL-X) (defalias 'wisi-cache-p #[257 "\301!>\205 \302\207" [cl-struct-wisi-cache-tags type-of t] 3 (#$ . 5048)]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put wisi-cache-p side-effect-free error-free put wisi-cache cl-deftype-satisfies] 5) #@75 compiler-macro for inlining `wisi-cache-nonterm'. (fn CL-WHOLE-ARG CL-X) (defalias 'wisi-cache-nonterm--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block wisi-cache-nonterm (progn (or (wisi-cache-p cl-x) (signal 'wrong-type-argument (list 'wisi-cache cl-x))) (aref cl-x 1))) nil] 9 (#$ . 5322)]) (put 'wisi-cache-nonterm 'compiler-macro 'wisi-cache-nonterm--cmacro) #@63 Access slot "nonterm" of `wisi-cache' struct CL-X. (fn CL-X) (defalias 'wisi-cache-nonterm #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-wisi-cache-tags type-of signal wrong-type-argument wisi-cache 1] 5 (#$ . 5731)]) (byte-code "\300\301\302\303#\300\207" [function-put wisi-cache-nonterm side-effect-free t] 4) #@73 compiler-macro for inlining `wisi-cache-token'. (fn CL-WHOLE-ARG CL-X) (defalias 'wisi-cache-token--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block wisi-cache-token (progn (or (wisi-cache-p cl-x) (signal 'wrong-type-argument (list 'wisi-cache cl-x))) (aref cl-x 2))) nil] 9 (#$ . 6072)]) (put 'wisi-cache-token 'compiler-macro 'wisi-cache-token--cmacro) #@61 Access slot "token" of `wisi-cache' struct CL-X. (fn CL-X) (defalias 'wisi-cache-token #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-wisi-cache-tags type-of signal wrong-type-argument wisi-cache 2] 5 (#$ . 6471)]) (byte-code "\300\301\302\303#\300\207" [function-put wisi-cache-token side-effect-free t] 4) #@72 compiler-macro for inlining `wisi-cache-last'. (fn CL-WHOLE-ARG CL-X) (defalias 'wisi-cache-last--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block wisi-cache-last (progn (or (wisi-cache-p cl-x) (signal 'wrong-type-argument (list 'wisi-cache cl-x))) (aref cl-x 3))) nil] 9 (#$ . 6806)]) (put 'wisi-cache-last 'compiler-macro 'wisi-cache-last--cmacro) #@60 Access slot "last" of `wisi-cache' struct CL-X. (fn CL-X) (defalias 'wisi-cache-last #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-wisi-cache-tags type-of signal wrong-type-argument wisi-cache 3] 5 (#$ . 7200)]) (byte-code "\300\301\302\303#\300\207" [function-put wisi-cache-last side-effect-free t] 4) #@73 compiler-macro for inlining `wisi-cache-class'. (fn CL-WHOLE-ARG CL-X) (defalias 'wisi-cache-class--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block wisi-cache-class (progn (or (wisi-cache-p cl-x) (signal 'wrong-type-argument (list 'wisi-cache cl-x))) (aref cl-x 4))) nil] 9 (#$ . 7532)]) (put 'wisi-cache-class 'compiler-macro 'wisi-cache-class--cmacro) #@61 Access slot "class" of `wisi-cache' struct CL-X. (fn CL-X) (defalias 'wisi-cache-class #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-wisi-cache-tags type-of signal wrong-type-argument wisi-cache 4] 5 (#$ . 7931)]) (byte-code "\300\301\302\303#\300\207" [function-put wisi-cache-class side-effect-free t] 4) #@78 compiler-macro for inlining `wisi-cache-containing'. (fn CL-WHOLE-ARG CL-X) (defalias 'wisi-cache-containing--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block wisi-cache-containing (progn (or (wisi-cache-p cl-x) (signal 'wrong-type-argument (list 'wisi-cache cl-x))) (aref cl-x 5))) nil] 9 (#$ . 8266)]) (put 'wisi-cache-containing 'compiler-macro 'wisi-cache-containing--cmacro) #@66 Access slot "containing" of `wisi-cache' struct CL-X. (fn CL-X) (defalias 'wisi-cache-containing #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-wisi-cache-tags type-of signal wrong-type-argument wisi-cache 5] 5 (#$ . 8690)]) (byte-code "\300\301\302\303#\300\207" [function-put wisi-cache-containing side-effect-free t] 4) #@72 compiler-macro for inlining `wisi-cache-prev'. (fn CL-WHOLE-ARG CL-X) (defalias 'wisi-cache-prev--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block wisi-cache-prev (progn (or (wisi-cache-p cl-x) (signal 'wrong-type-argument (list 'wisi-cache cl-x))) (aref cl-x 6))) nil] 9 (#$ . 9040)]) (put 'wisi-cache-prev 'compiler-macro 'wisi-cache-prev--cmacro) #@60 Access slot "prev" of `wisi-cache' struct CL-X. (fn CL-X) (defalias 'wisi-cache-prev #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-wisi-cache-tags type-of signal wrong-type-argument wisi-cache 6] 5 (#$ . 9434)]) (byte-code "\300\301\302\303#\300\207" [function-put wisi-cache-prev side-effect-free t] 4) #@72 compiler-macro for inlining `wisi-cache-next'. (fn CL-WHOLE-ARG CL-X) (defalias 'wisi-cache-next--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block wisi-cache-next (progn (or (wisi-cache-p cl-x) (signal 'wrong-type-argument (list 'wisi-cache cl-x))) (aref cl-x 7))) nil] 9 (#$ . 9766)]) (put 'wisi-cache-next 'compiler-macro 'wisi-cache-next--cmacro) #@60 Access slot "next" of `wisi-cache' struct CL-X. (fn CL-X) (defalias 'wisi-cache-next #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-wisi-cache-tags type-of signal wrong-type-argument wisi-cache 7] 5 (#$ . 10160)]) (byte-code "\300\301\302\303#\300\207" [function-put wisi-cache-next side-effect-free t] 4) #@71 compiler-macro for inlining `wisi-cache-end'. (fn CL-WHOLE-ARG CL-X) (defalias 'wisi-cache-end--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block wisi-cache-end (progn (or (wisi-cache-p cl-x) (signal 'wrong-type-argument (list 'wisi-cache cl-x))) (aref cl-x 8))) nil] 9 (#$ . 10493)]) (put 'wisi-cache-end 'compiler-macro 'wisi-cache-end--cmacro) #@59 Access slot "end" of `wisi-cache' struct CL-X. (fn CL-X) (defalias 'wisi-cache-end #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-wisi-cache-tags type-of signal wrong-type-argument wisi-cache 8] 5 (#$ . 10883)]) (byte-code "\300\301\302\303#\300\207" [function-put wisi-cache-end side-effect-free t] 4) #@130 compiler-macro for inlining `wisi-cache-create'. (fn CL-WHOLE &cl-quote &key NONTERM TOKEN LAST CLASS CONTAINING PREV NEXT END) (defalias 'wisi-cache-create--cmacro #[385 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"A@\300\307\"A@\300\310\"A@\211\203`\211@\311>\203H\211AA\262\2025\312\n>A@\203W\313\262\2025\314\315@\"\210\2025\210\316\317\320\313 \313        & \207" [plist-member :nonterm :token :last :class :containing :prev :next :end (:nonterm :token :last :class :containing :prev :next :end :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:nonterm :token :last :class :containing :prev :next :end)" cl--defsubst-expand (nonterm token last class containing prev next end) (cl-block wisi-cache-create (record 'wisi-cache nonterm token last class containing prev next end))] 24 (#$ . 11214)]) (put 'wisi-cache-create 'compiler-macro 'wisi-cache-create--cmacro) #@108 Constructor for objects of type `wisi-cache'. (fn &key NONTERM TOKEN LAST CLASS CONTAINING PREV NEXT END) (defalias 'wisi-cache-create #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"A@\300\307\"A@\300\310\"A@\211\203`\211@\311>\203H\211AA\262\2025\312\n>A@\203W\313\262\2025\314\315@\"\210\2025\210\316\317        & \207" [plist-member :nonterm :token :last :class :containing :prev :next :end (:nonterm :token :last :class :containing :prev :next :end :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:nonterm :token :last :class :containing :prev :next :end)" record wisi-cache] 19 (#$ . 12179)]) (byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303& \207" [function-put wisi-cache-create side-effect-free t cl-struct-define wisi-cache nil cl-structure-object record ((cl-tag-slot) (nonterm) (token) (last) (class) (containing) (prev) (next) (end)) cl-struct-wisi-cache-tags] 11) #@82 Return `wisi-cache' struct from the `wisi-cache' text property at POS. (fn POS) (defalias 'wisi-get-cache #[257 "\300\301\"\207" [get-text-property wisi-cache] 4 (#$ . 13177)]) #@140 Move point backward to the beginning of the first token preceding point that has a cache. Returns cache, or nil if at beginning of buffer. (defalias 'wisi-backward-cache #[0 "\300`\301\"\302\204eb\210\302\207\303\301\"\211\262\203b\210\207S\262\303\301\"\262b\210\207" [previous-single-property-change wisi-cache nil get-text-property] 5 (#$ . 13363)]) #@129 Move point forward to the beginning of the first token after point that has a cache. Returns cache, or nil if at end of buffer. (defalias 'wisi-forward-cache #[0 "\300\211\301`\302\"\203 `Tb\210\301`\302\"\262\2043\303`\302\"\262\211\203-\211b\210\301\302\"\262\2023db\210\300\262\207" [nil get-text-property wisi-cache next-single-property-change] 5 (#$ . 13736)]) #@94 Return region designated by START (default point) to cache last. (fn CACHE &optional START) (defalias 'wisi-cache-region #[513 "\211\204`\262\211\301!>\204\302\303\304D\"\210\305H\\B\207" [cl-struct-wisi-cache-tags type-of signal wrong-type-argument wisi-cache 3] 8 (#$ . 14119)]) #@217 wisi debug mode: 0 : normal - ignore parse errors, for indenting new code 1 : report parse errors (for running tests) 2 : show parse states, position point at parse errors 3 : also show top 10 items of parser stack. (defvar wisi-debug 0 (#$ . 14419)) #@98 If non-nil, disable all elisp actions during parsing. Allows timing parse separate from actions. (defvar wisi-action-disable nil (#$ . 14676)) #@34 McKenzie trace level; 0 for none (defvar wisi-trace-mckenzie 0 (#$ . 14825)) (make-variable-buffer-local 'wisi-trace-mckenzie) #@38 Parse action trace level; 0 for none (defvar wisi-trace-action 0 (#$ . 14958)) (make-variable-buffer-local 'wisi-trace-action) #@77 If non-nil, disable McKenzie error recovery. Otherwise, use parser default. (defvar wisi-mckenzie-disable nil (#$ . 15091)) (byte-code "\300\301!\210\302\303\304\305\306DD\307\310\311\312\313\314\315& \210\300\303!\210\302\316\304\305\317DD\320\310\311\312\313\314\315& \210\300\316!\210\302\321\304\305\322DD\323\310\311\312\313\314\315& \210\300\321!\210\302\324\304\305\325DD\326\310\311\312\313\314\315& \207" [make-variable-buffer-local wisi-mckenzie-disable custom-declare-variable wisi-mckenzie-task-count funcall function #[0 "\300\207" [nil] 1] "If integer, sets McKenzie error recovery task count.\nHigher value (up to system processor limit) runs error recovery\nfaster, but may encounter race conditions. Using only one task\nmakes error recovery repeatable; useful for tests. If nil, uses\nvalue from grammar file." :type integer :group wisi :safe integerp wisi-mckenzie-check-limit #[0 "\300\207" [nil] 1] "If integer, sets McKenzie error recovery algorithm token check limit.\nThis sets the number of tokens past the error point that must be\nparsed successfully for a solution to be deemed successful.\nHigher value gives better solutions, but may fail if there are\ntwo errors close together. If nil, uses value from grammar\nfile." wisi-mckenzie-enqueue-limit #[0 "\300\207" [nil] 1] "If integer, sets McKenzie error recovery algorithm enqueue limit.\nThis sets the maximum number of solutions that will be considered.\nHigher value has more recover power, but will be slower to fail.\nIf nil, uses value from grammar file." wisi-parse-max-parallel #[0 "\300\207" [15] 1] "Maximum number of parallel parsers during regular parsing.\nParallel parsers are used to resolve redundancy in the grammar.\nIf a file needs more than this, it's probably an indication that\nthe grammar is excessively redundant."] 10) #@83 Maximum parse stack size. Larger stack size allows more deeply nested constructs. (defvar wisi-parse-max-stack-size 500 (#$ . 16926)) #@69 Reason current parse is begin run; one of {indent, face, navigate}. (defvar wisi--parse-action nil (#$ . 17066)) #@182 If non-nil, comments currently starting in column 0 are left in column 0. Otherwise, they are indented with previous comments or code. Normally set from a language-specific option. (defvar wisi-indent-comment-col-0 nil (#$ . 17186)) (make-variable-buffer-local 'wisi-indent-comment-col-0) #@87 List of buffer positions of caches in current statement that need wisi-cache-end set. (defvar wisi-end-caches nil (#$ . 17481)) (make-variable-buffer-local 'wisi-end-caches) #@21 End Of Input token. (defconst wisi-eoi-term 'Wisi_EOI (#$ . 17661)) #@93 array of valid token classes; checked in wisi-statement-action, used in wisi-process-parse. (defconst wisi-class-list [motion statement-end statement-override statement-start misc] (#$ . 17735)) #@27 (fn MESSAGE &rest ARGS) (defalias 'wisi-error-msg #[385 "\300 `\301 Z\302\303\304 \305\302\n\n#%\207" [line-number-at-pos line-beginning-position format "%s:%d:%d: %s" buffer-name apply] 13 (#$ . 17936)]) (defvar wisi-parse-error nil) (byte-code "\300\301\302\303#\210\300\301\304\305#\207" [put wisi-parse-error error-conditions (error wisi-parse-error) error-message "wisi parse error"] 4) #@67 compiler-macro for inlining `wisi-tok-p'. (fn CL-WHOLE-ARG CL-X) (defalias 'wisi-tok-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block wisi-tok-p (and (memq (type-of cl-x) cl-struct-wisi-tok-tags) t)) nil] 9 (#$ . 18340)]) (put 'wisi-tok-p 'compiler-macro 'wisi-tok-p--cmacro) #@13 (fn CL-X) (defalias 'wisi-tok-p #[257 "\301!>\205 \302\207" [cl-struct-wisi-tok-tags type-of t] 3 (#$ . 18663)]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put wisi-tok-p side-effect-free error-free put wisi-tok cl-deftype-satisfies] 5) #@71 compiler-macro for inlining `wisi-tok-token'. (fn CL-WHOLE-ARG CL-X) (defalias 'wisi-tok-token--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block wisi-tok-token (progn (or (wisi-tok-p cl-x) (signal 'wrong-type-argument (list 'wisi-tok cl-x))) (aref cl-x 1))) nil] 9 (#$ . 18930)]) (put 'wisi-tok-token 'compiler-macro 'wisi-tok-token--cmacro) #@59 Access slot "token" of `wisi-tok' struct CL-X. (fn CL-X) (defalias 'wisi-tok-token #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-wisi-tok-tags type-of signal wrong-type-argument wisi-tok 1] 5 (#$ . 19316)]) (byte-code "\300\301\302\303#\300\207" [function-put wisi-tok-token side-effect-free t] 4) #@72 compiler-macro for inlining `wisi-tok-region'. (fn CL-WHOLE-ARG CL-X) (defalias 'wisi-tok-region--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block wisi-tok-region (progn (or (wisi-tok-p cl-x) (signal 'wrong-type-argument (list 'wisi-tok cl-x))) (aref cl-x 2))) nil] 9 (#$ . 19642)]) (put 'wisi-tok-region 'compiler-macro 'wisi-tok-region--cmacro) #@60 Access slot "region" of `wisi-tok' struct CL-X. (fn CL-X) (defalias 'wisi-tok-region #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-wisi-tok-tags type-of signal wrong-type-argument wisi-tok 2] 5 (#$ . 20033)]) (byte-code "\300\301\302\303#\300\207" [function-put wisi-tok-region side-effect-free t] 4) #@77 compiler-macro for inlining `wisi-tok-nonterminal'. (fn CL-WHOLE-ARG CL-X) (defalias 'wisi-tok-nonterminal--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block wisi-tok-nonterminal (progn (or (wisi-tok-p cl-x) (signal 'wrong-type-argument (list 'wisi-tok cl-x))) (aref cl-x 3))) nil] 9 (#$ . 20362)]) (put 'wisi-tok-nonterminal 'compiler-macro 'wisi-tok-nonterminal--cmacro) #@65 Access slot "nonterminal" of `wisi-tok' struct CL-X. (fn CL-X) (defalias 'wisi-tok-nonterminal #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-wisi-tok-tags type-of signal wrong-type-argument wisi-tok 3] 5 (#$ . 20778)]) (byte-code "\300\301\302\303#\300\207" [function-put wisi-tok-nonterminal side-effect-free t] 4) #@70 compiler-macro for inlining `wisi-tok-line'. (fn CL-WHOLE-ARG CL-X) (defalias 'wisi-tok-line--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block wisi-tok-line (progn (or (wisi-tok-p cl-x) (signal 'wrong-type-argument (list 'wisi-tok cl-x))) (aref cl-x 4))) nil] 9 (#$ . 21122)]) (put 'wisi-tok-line 'compiler-macro 'wisi-tok-line--cmacro) #@58 Access slot "line" of `wisi-tok' struct CL-X. (fn CL-X) (defalias 'wisi-tok-line #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-wisi-tok-tags type-of signal wrong-type-argument wisi-tok 4] 5 (#$ . 21503)]) (byte-code "\300\301\302\303#\300\207" [function-put wisi-tok-line side-effect-free t] 4) #@71 compiler-macro for inlining `wisi-tok-first'. (fn CL-WHOLE-ARG CL-X) (defalias 'wisi-tok-first--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block wisi-tok-first (progn (or (wisi-tok-p cl-x) (signal 'wrong-type-argument (list 'wisi-tok cl-x))) (aref cl-x 5))) nil] 9 (#$ . 21826)]) (put 'wisi-tok-first 'compiler-macro 'wisi-tok-first--cmacro) #@59 Access slot "first" of `wisi-tok' struct CL-X. (fn CL-X) (defalias 'wisi-tok-first #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-wisi-tok-tags type-of signal wrong-type-argument wisi-tok 5] 5 (#$ . 22212)]) (byte-code "\300\301\302\303#\300\207" [function-put wisi-tok-first side-effect-free t] 4) #@78 compiler-macro for inlining `wisi-tok-comment-line'. (fn CL-WHOLE-ARG CL-X) (defalias 'wisi-tok-comment-line--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block wisi-tok-comment-line (progn (or (wisi-tok-p cl-x) (signal 'wrong-type-argument (list 'wisi-tok cl-x))) (aref cl-x 6))) nil] 9 (#$ . 22538)]) (put 'wisi-tok-comment-line 'compiler-macro 'wisi-tok-comment-line--cmacro) #@66 Access slot "comment-line" of `wisi-tok' struct CL-X. (fn CL-X) (defalias 'wisi-tok-comment-line #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-wisi-tok-tags type-of signal wrong-type-argument wisi-tok 6] 5 (#$ . 22959)]) (byte-code "\300\301\302\303#\300\207" [function-put wisi-tok-comment-line side-effect-free t] 4) #@77 compiler-macro for inlining `wisi-tok-comment-end'. (fn CL-WHOLE-ARG CL-X) (defalias 'wisi-tok-comment-end--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block wisi-tok-comment-end (progn (or (wisi-tok-p cl-x) (signal 'wrong-type-argument (list 'wisi-tok cl-x))) (aref cl-x 7))) nil] 9 (#$ . 23306)]) (put 'wisi-tok-comment-end 'compiler-macro 'wisi-tok-comment-end--cmacro) #@65 Access slot "comment-end" of `wisi-tok' struct CL-X. (fn CL-X) (defalias 'wisi-tok-comment-end #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-wisi-tok-tags type-of signal wrong-type-argument wisi-tok 7] 5 (#$ . 23722)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put wisi-tok-comment-end side-effect-free t defalias copy-wisi-tok copy-sequence] 4) #@137 compiler-macro for inlining `make-wisi-tok'. (fn CL-WHOLE &cl-quote &key TOKEN REGION NONTERMINAL LINE FIRST COMMENT-LINE COMMENT-END) (defalias 'make-wisi-tok--cmacro #[385 "\301\302\"A@\301\303\"A@\301\304\"A@\301\305\"A@\301\306\"A@\301\307\"A@\301\310\"A@\211\203Z\211@\311>\203B\211AA\262\202/\312>A@\203Q\313\262\202/\314\315@\"\210\202/\210\316\317\320\313 \313      &\f)\207" [comment-end plist-member :token :region :nonterminal :line :first :comment-line :comment-end (:token :region :nonterminal :line :first :comment-line :comment-end :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:token :region :nonterminal :line :first :comment-line :comment-end)" cl--defsubst-expand (token region nonterminal line first comment-line comment-end) (cl-block make-wisi-tok (record 'wisi-tok token region nonterminal line first comment-line comment-end))] 21 (#$ . 24114)]) (put 'make-wisi-tok 'compiler-macro 'make-wisi-tok--cmacro) #@117 Constructor for objects of type `wisi-tok'. (fn &key TOKEN REGION NONTERMINAL LINE FIRST COMMENT-LINE COMMENT-END) (defalias 'make-wisi-tok #[128 "\301\302\"A@\301\303\"A@\301\304\"A@\301\305\"A@\301\306\"A@\301\307\"A@\301\310\"A@\211\203Z\211@\311>\203B\211AA\262\202/\312>A@\203Q\313\262\202/\314\315@\"\210\202/\210\316\317&)\207" [comment-end plist-member :token :region :nonterminal :line :first :comment-line :comment-end (:token :region :nonterminal :line :first :comment-line :comment-end :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:token :region :nonterminal :line :first :comment-line :comment-end)" record wisi-tok] 16 (#$ . 25117)]) (byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303& \207" [function-put make-wisi-tok side-effect-free t cl-struct-define wisi-tok nil cl-structure-object record ((cl-tag-slot) (token) (region) (nonterminal) (line) (first) (comment-line) (comment-end)) cl-struct-wisi-tok-tags] 11) #@50 Return buffer text from token range. (fn TOKEN) (defalias 'wisi-token-text #[257 "\301!>\204\302\303\304D\"\210\211\305H\211\205\306@A\"\207" [cl-struct-wisi-tok-tags type-of signal wrong-type-argument wisi-tok 2 buffer-substring-no-properties] 5 (#$ . 26145)]) #@63 Return region enclosing both LEFT and RIGHT. (fn LEFT RIGHT) (defalias 'wisi-and-regions #[514 "\203\211\203@@^AA]B\207\207\207" [] 5 (#$ . 26423)]) #@87 Return a vector of line-beginning positions, with length LINE-COUNT. (fn LINE-COUNT) (defalias 'wisi--set-line-begin #[257 "\300\301\"\212eb\210\301\211W\203!\211`I\210\302y\266\211T\262\202\n\266)\207" [make-vector 0 1] 8 (#$ . 26589)]) #@53 Return id and region from TOK, as string. (fn TOK) (defalias 'wisi-tok-debug-image #[257 "\301!>\204\302\303\304D\"\210\211\305H\203S\306\307\301!>\204&\302\303\304D\"\210\310H\301!>\2049\302\303\304D\"\210\305H@\301!>\204M\302\303\304D\"\210\305HA$\207\306\311\301!>\204d\302\303\304D\"\210\310H\"\207" [cl-struct-wisi-tok-tags type-of signal wrong-type-argument wisi-tok 2 format "(%s %d . %d)" 1 "(%s)"] 9 (#$ . 26844)]) (provide 'wisi-parse-common)