;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!\210\300\306!\207" [require make-mode semantic semantic/bovine semantic/bovine/make-by semantic/analyze semantic/dep] 2)
#@52 Detect and create a beginning of line token (BOL).
(defconst semantic-lex-make-backslash-no-newline '((and (looking-at "\\(\\\\\n\\s-*\\)") (semantic-lex-push-token (semantic-lex-token 'whitespace (match-beginning 1) (match-end 1))) (goto-char (match-end 1)) nil) nil) (#$ . 278))
#@52 Detect and create a beginning of line token (BOL).
(defalias 'semantic-lex-make-backslash-no-newline #[0 "\306``dB\307\310\311!\203> \312\313\224\313\225BBB\211@\211\211A@\247\204. \211AA\262\2022 \211A\262A\262\211\203> \313\225b\210-\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 "\\(\\\\\n\\s-*\\)" whitespace 1] 6 (#$ . 565)])
#@105 Regexp for a command in a Makefile.
It consists of a line starting with TAB, and ending at the newline.
(defconst semantic-lex-make-command '((looking-at "^\\(	\\)") (let ((start (match-end 0))) (while (progn (end-of-line) (save-excursion (forward-char -1) (looking-at "\\\\"))) (forward-char 1)) (semantic-lex-push-token (semantic-lex-token 'shell-command start (point))))) (#$ . 1044))
#@105 Regexp for a command in a Makefile.
It consists of a line starting with TAB, and ending at the newline.
(defalias 'semantic-lex-make-command #[0 "\306``dB\307\310\311!\203K \307\225\306\210\212\312u\210\310\313!)\203( \314u\210\202 \315`BBB\211@\211\211A@\247\204B \211AA\262\202F \211A\262A\262\210-\207" [semantic-lex-depth semantic-lex-maximum-depth semantic-lex-current-depth semantic-lex-analysis-bounds semantic-lex-end-point semantic-lex-token-stream nil 0 looking-at "^\\(	\\)" -1 "\\\\" 1 shell-command] 6 (#$ . 1439)])
#@75 An automake conditional seems to really bog down the parser.
Ignore them.
(defconst semantic-lex-make-ignore-automake-conditional '((looking-at "^@\\(\\w\\|\\s_\\)+@") (setq semantic-lex-end-point (match-end 0))) (#$ . 1990))
#@75 An automake conditional seems to really bog down the parser.
Ignore them.
(defalias 'semantic-lex-make-ignore-automake-conditional #[0 "\306``dB\307\310\311!\203 \307\225-\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 "^@\\(\\w\\|\\s_\\)+@"] 5 (#$ . 2222)])
#@113 Lexical analyzer for Makefiles.
See `semantic-lex' for more information.

(fn START END &optional DEPTH LENGTH)
(defalias 'semantic-make-lexer #[1026 "\306\307\310#\210`\306\211\211\311\206 @BA\306BdV\203. \312\313d#\210\314 p\315\316#\216\317C!\210b\210`W\203\337\203R 	GX\203\337n\203x \320``BB	B\211@\211\211A@\247\204p \211AA\262\202t \211A\262A\262\321\322!\203\204 \311\225\202\321\323!\203\306 \311\225\306\210\212\324u\210\321\325!)\203\240 \326u\210\202\214 \327`BB	B\211@\211\211A@\247\204\272 \211AA\262\202\276 \211A\262A\262\210\202\321\330!\203\370 \331\326\224\326\225BB	B\211@\211\211A@\247\204\350 \211AA\262\202\354 \211A\262A\262\211\203\370 \326\225b\210\321\332!\203N	@\211@\262\331=\203'\311\225	@\211A@\247\204\211AA\262\202!\211A\262\241\210\202\331\311\224\311\225BB	B\211@\211\211A@\247\204C\211AA\262\202G\211A\262A\262\202\321\333!\203{\334\326\224\326\225BB	B\211@\211\211A@\247\204p\211AA\262\202t\211A\262A\262\202\321\335!\203\314\336\311!\211\337D!\205\226\211;\205\226\340D\"\262\211\262\205\240\211J\262\206\246\341\311\224\311\225BB	B\211@\211\211A@\247\204\301\211AA\262\202\305\211A\262A\262\202\321\342!\203\371\343\311\224\311\225BB	B\211@\211\211A@\247\204\356\211AA\262\202\362\211A\262A\262\202\321\344!\203\216@\203\f@W\2035\fT\345\311\224\311\225BB	B\211@\211\211A@\247\204*\211AA\262\202.\211A\262A\262\202\346\311\224\212E\203KF\203K\347\326!\210`\202k\3501X\347\326!\210`0\202k\210\346GA@AA#b\210`\211\262)BB	B\211@\211\211A@\247\204\203\211AA\262\202\207\211A\262A\262\202\321\351!\203\276\fS\352\311\224\311\225BB	B\211@\211\211A@\247\204\263\211AA\262\202\267\211A\262A\262\202\321\353!\203\354`\212E\203\331F\203\331\355\326!\210`\202\371\3561\346\355\326!\210`0\202\371\210\354GA@AA#b\210`\211\262)BB	B\211@\211\211A@\247\204\211AA\262\202\211A\262A\262\202\321H!\203N`\357\326!\210`=\2037\360\361\362 \"\210\202>n\203>\324u\210`=\203H\312\363!\210`\210\202\321\364!\203{\365\311\224\311\225BB	B\211@\211\211A@\247\204p\211AA\262\202t\211A\262A\262\202\312\366!\210=\203\214\312\367	@#\210\262b\210I\203\264\370 \204\256r\371J!q\210\212Jb\210\372 *\203\264\373I\374\"\210	@K\205\332\306C\315\375\"\216\203\314\211\376!\240\210\377\201L \201M \f#!)\262\266\202@ )\266\n\203\n\211A\242\211\211\203\201N \201O @A@#\210\n\211A\242\262\202\354@GA@AA#b\210`\211\266b\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-make-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 bol looking-at "^@\\(\\w\\|\\s_\\)+@" "^\\(	\\)" -1 "\\\\" 1 shell-command "\\(\\\\\n\\s-*\\)" whitespace "\\s-+" "\\s-*\\(\n\\|\\s>\\)" newline "\\(\\sw\\|\\s_\\)+" match-string obarrayp intern-soft symbol "\\s\\+" charquote "\\s(" open-paren semantic-list forward-list (error) "\\s)" close-paren "\\s\"" string forward-sexp (error) forward-comment skip-syntax-forward "-.'" point-at-eol "Strange comment syntax prevents lexical analysis" "\\(\\s.\\|\\s$\\|\\s'\\)" punctuation "Unmatched Text during Lexical Analysis" "semantic-make-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 semantic-lex-maximum-depth semantic-lex-analysis-bounds parse-sexp-lookup-properties semantic-lex-syntax-table semantic-flex-keywords-obarray debug-on-error semantic-lex-debug-analyzers semantic-lex-unterminated-syntax-end-function semantic-lex-comment-regex semantic-current-input-throw-symbol semantic--on-input-start-marker semantic-lex-debug format "%S :: Depth: %d :: SPC - continue" message "semantic-make-lexer: `%s' block from %S is unterminated"] 16 (#$ . 2624)])
#@62 Expand TAG into a list of equivalent tags, or nil.

(fn TAG)
(defalias 'semantic-make-expand-tag #[257 "\211\211@\262\300:\203X \211A@\262\301>\203X G\302V\203X \203f @\211\206- \211@\262\211A@\262\303\3048\262!\303\3058\262!\3068\262\257\266\202B\262A\262\202 :\203b @\240\210C\262\207" [nil #'include 1 copy-sequence 2 3 4] 12 (#$ . 6778)])
#@206 Override `semantic-get-local-variables' so it does not throw an error.
We never have local variables in Makefiles.
Override `semantic-get-local-variables' in `makefile-mode' buffers.

(fn &optional POINT)
(defalias 'semantic-get-local-variables-makefile-mode #[256 "\300\207" [nil] 2 (#$ . 7160)])
(byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put semantic-get-local-variables-makefile-mode definition-name semantic-get-local-variables mode-local-bind ((semantic-get-local-variables . semantic-get-local-variables-makefile-mode)) (override-flag t) makefile-mode] 4)
#@145 List of classes that are valid to place at point.
Override `semantic-ctxt-current-class-list' in `makefile-mode'
buffers.

(fn &optional POINT)
(defalias 'semantic-ctxt-current-class-list-makefile-mode #[256 "\300 \211\205M \3011# \212\3021 \303\304!0\210\202 \210\305u\210\306\307!)0\202' \210\202, \203, \310\207\211\311\211A@\262=\266\202\203= \312\207\211\313\211A@\262=\266\202\205M \314\207" [semantic-current-tag (error) (error) forward-sexp -1 -2 looking-at "\\$\\s(" (variable) function #'filename variable #'filename] 6 (#$ . 7744)])
(byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put semantic-ctxt-current-class-list-makefile-mode definition-name semantic-ctxt-current-class-list mode-local-bind ((semantic-ctxt-current-class-list . semantic-ctxt-current-class-list-makefile-mode)) (override-flag t) makefile-mode] 4)
#@163 Return an abbreviated string describing tag for Makefiles.
Override `semantic-format-tag-abbreviate' in `makefile-mode' buffers.

(fn TAG &optional PARENT COLOR)
(defalias 'semantic-format-tag-abbreviate-makefile-mode #[769 "\211A@\262\300#\301\267\202 \211\302P\207\303P\207\304#\207" [semantic-format-tag-name #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (function 17 filename 21)) ":" "./" semantic-format-tag-abbreviate-default] 9 (#$ . 8598)])
(byte-code "\303\304\305\306#\210\307\310\311\312#\210\313\307\314\313BC\315\312#\210\316\317\320\"\312\"\266\303\314\312\321!\322\204> \211\262\204> 	\262\n\205< \323\n\"\262\203i \211\204i \302N\203X \323\302N\"\211\262\204> \211\324N\206b \211\325N\262\262\202> \266\203\326\327#\207" [mode-local-active-mode major-mode mode-local-symbol-table put semantic-format-tag-abbreviate-makefile-mode definition-name semantic-format-tag-abbreviate mode-local-bind ((semantic-format-tag-abbreviate . semantic-format-tag-abbreviate-makefile-mode)) (override-flag t) makefile-mode " " semantic-function-argument-separator (mode-variable-flag t) mode-local-map-mode-buffers make-closure #[0 "\302\301!\210\300\211\207" [V0 semantic-function-argument-separator make-local-variable] 2] symbol-name nil intern-soft mode-local-parent derived-mode-parent variable-documentation "Separator used between dependencies to rules."] 9)
#@159 Return a prototype string describing tag for Makefiles.
Override `semantic-format-tag-prototype' in `makefile-mode' buffers.

(fn TAG &optional PARENT COLOR)
(defalias 'semantic-format-tag-prototype-makefile-mode #[769 "\211A@\262\300#\301\267\202- \211\302\303\211\304\305\3068\262\"\266\203\307#Q\207\310P\207\311#\207" [semantic-format-tag-name #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (function 17 filename 41)) ": " semantic--format-tag-arguments :arguments plist-get 2 semantic-format-tag-prototype "./" semantic-format-tag-prototype-default] 15 (#$ . 10039)])
(byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put semantic-format-tag-prototype-makefile-mode definition-name semantic-format-tag-prototype mode-local-bind ((semantic-format-tag-prototype . semantic-format-tag-prototype-makefile-mode)) (override-flag t) makefile-mode] 4)
#@216 Return a concise prototype string describing tag for Makefiles.
This is the same as a regular prototype.
Override `semantic-format-tag-concise-prototype' in `makefile-mode'
buffers.

(fn TAG &optional PARENT COLOR)
(defalias 'semantic-format-tag-concise-prototype-makefile-mode #[769 "\300#\207" [semantic-format-tag-prototype] 7 (#$ . 10958)])
(byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put semantic-format-tag-concise-prototype-makefile-mode definition-name semantic-format-tag-concise-prototype mode-local-bind ((semantic-format-tag-concise-prototype . semantic-format-tag-concise-prototype-makefile-mode)) (override-flag t) makefile-mode] 4)
#@208 Return a UML prototype string describing tag for Makefiles.
This is the same as a regular prototype.
Override `semantic-format-tag-uml-prototype' in `makefile-mode'
buffers.

(fn TAG &optional PARENT COLOR)
(defalias 'semantic-format-tag-uml-prototype-makefile-mode #[769 "\300#\207" [semantic-format-tag-prototype] 7 (#$ . 11628)])
(byte-code "\300\301\302\303#\210\304\305\306\307#\207" [put semantic-format-tag-uml-prototype-makefile-mode definition-name semantic-format-tag-uml-prototype mode-local-bind ((semantic-format-tag-uml-prototype . semantic-format-tag-uml-prototype-makefile-mode)) (override-flag t) makefile-mode] 4)
#@221 Return a list of possible completions in a Makefile.
Uses default implementation, and also gets a list of filenames.
Override `semantic-analyze-possible-completions' in `makefile-mode'
buffers.

(fn CONTEXT &rest FLAGS)
(defalias 'semantic-analyze-possible-completions-makefile-mode #[385 "\301\302!\210r\303\304\"q\210\305!\303\306\"\307\310>\203y \303\311\"@\211\3121L \211:\205F \211@;\205F \211A@9\205F \211A@\205F \3138<\205F \3148<0\262\202P \210\307\262\203[ \211\211@\262\202l \211;\203d \211\202l \211@;\205l \211@\315\307\316P#\317\320\"\266\204\321\"\266\203)\207" [default-directory require semantic/analyze/complete eieio-oref buffer semantic-analyze-possible-completions-default prefixclass nil filename prefix (error) 2 3 directory-files "^" mapcar #[257 "\211\300\301\302!\301\211\257\207" [filename nil semantic-tag-make-plist] 9 "\n\n(fn F)"] append] 12 (#$ . 12270)])
(byte-code "\304\305\306\307#\210\310\311\312\313#\210\314\300\315\316\317DD\320\321\322\321\323\324\325\326\327&\210\310\330BC\331\313#\210\332\333\334\"\313\"\266\304\330\313\335!\336\204Q 	\211\262\204Q \n\262\205O \337\"\262\203| \211\204| \303N\203k \337\303N\"\211\262\204Q \211\340N\206u \211\341N\262\262\202Q \266\203\342\343#\210\304\330\313\300#\207" [semantic-makefile-dependency-system-include-path mode-local-active-mode major-mode mode-local-symbol-table put semantic-analyze-possible-completions-makefile-mode definition-name semantic-analyze-possible-completions mode-local-bind ((semantic-analyze-possible-completions . semantic-analyze-possible-completions-makefile-mode)) (override-flag t) makefile-mode custom-declare-variable funcall function #[0 "\300\207" [nil] 1 ""] "The system include path used by Makefiles language." :group makefile semantic :type (repeat (directory :tag "Directory")) :set #[514 "\300\"\210\211\301\302BC\303\304#\210\305\306\307\"\304\"\266\310\311!\205\" \305\311\304\"\207" [set-default mode-local-bind semantic-dependency-system-include-path #1=(mode-variable-flag t) makefile-mode mode-local-map-mode-buffers make-closure #[0 "\302\301!\210\300\211\207" [V0 semantic-dependency-system-include-path make-local-variable] 2] fboundp semantic-decoration-unparsed-include-do-reset] 7 "\n\n(fn SYM VAL)"] semantic-dependency-system-include-path #1# mode-local-map-mode-buffers make-closure #[0 "\302\301!\210\300\211\207" [V0 semantic-dependency-system-include-path make-local-variable] 2] symbol-name nil intern-soft mode-local-parent derived-mode-parent variable-documentation "System path to search for include files."] 12)
#@53 Set up a Makefile buffer for parsing with semantic.
(defalias 'semantic-default-make-setup #[0 "\306 \210\307\310\311\312\313\314\211\207" [semantic-symbol->name-assoc-list semantic-case-fold semantic-tag-expand-function semantic-lex-syntax-modifications imenu-create-index-function semantic-lex-analyzer semantic-make-by--install-parser ((variable . "Variables") (function . "Rules") (include . "Dependencies") (file . "File")) t semantic-make-expand-tag ((46 "_") (61 ".") (47 "_") (36 ".") (43 ".") (92 ".")) semantic-create-imenu-index semantic-make-lexer] 2 (#$ . 14883)])
(provide 'semantic/bovine/make)
