| 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/progmodes/ |
Upload File : |
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.
(byte-code "\300\301!\210\300\302!\210\303\304\305\306\307\310%\210\311\312\313\314\315DD\316\317\320%\210\311\321\313\314\322DD\323\317\320%\210\311\324\313\314\325DD\326\317\320%\210\311\327\313\314\330DD\331\317\320\332\333&\210\334\327\335\336\332\333%\210\311\337\313\314\340DD\341\317\342\332\343&\210\344\345\346\305#\210\347\211\203\202 \211@\345N\203{ \346N\204{ \350\346\345N#\210A\266\202\202a \210\351\345\346\352#\210\311\346\313\314\353DD\354\317\320\332\343&\210\311\355\313\314\356DD\357\317\360\332\343&\207" [require cc-mode cl-lib custom-declare-group hide-ifdef nil "Hide selected code within `ifdef'." :group c custom-declare-variable hide-ifdef-initially funcall function #[0 "\300\207" [nil] 1 #1=""] "Non-nil means call `hide-ifdefs' when Hide-Ifdef mode is first activated." :type boolean hide-ifdef-read-only #[0 "\300\207" [nil] 1 #1#] "Set to non-nil if you want buffer to be read-only while hiding text." hide-ifdef-lines #[0 "\300\207" [nil] 1 #1#] "Non-nil means hide the #ifX, #else, and #endif lines." hide-ifdef-shadow #[0 "\300\207" [nil] 1 #1#] "Non-nil means shadow text instead of hiding it." :version "23.1" custom-declare-face ((t (:inherit shadow))) "Face for shadowing ifdef blocks." hide-ifdef-exclude-define-regexp #[0 "\300\207" [nil] 1 #1#] "Ignore #define names if those names match this exclusion pattern." (choice (const nil) string) "25.1" defvaralias hide-ifdef-expand-reinclusion-protection hide-ifdef-expand-reinclusion-guard (saved-value saved-variable-comment) put make-obsolete-variable "28.1" #[0 "\300\207" [t] 1 #1#] "Non-nil means don't hide an entire header file enclosed by #ifndef...#endif.\nMost C/C++ headers are usually wrapped with ifdefs to prevent re-inclusion:\n\n ----- beginning of file -----\n #ifndef _XXX_HEADER_FILE_INCLUDED_\n #define _XXX_HEADER_FILE_INCLUDED_\n xxx\n xxx\n xxx...\n #endif\n ----- end of file -----\n\nThe first time we visit such a file, _XXX_HEADER_FILE_INCLUDED_ is\nundefined, and so nothing is hidden. The next time we visit it, everything will\nbe hidden.\n\nThis behavior is generally undesirable. If this option is non-nil, the\noutermost #if is always visible." hide-ifdef-header-regexp #[0 "\300\207" ["\\.h\\(h\\|xx\\|pp\\|\\+\\+\\)?\\'"] 1 #1#] "C/C++ header file name patterns to determine if current buffer is a header.\nEffective only if `hide-ifdef-expand-reinclusion-guard' is t." regexp] 8)
#@70 Keymap used by `hide-ifdef-mode' under `hide-ifdef-mode-prefix-key'.
(defvar hide-ifdef-mode-submap (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\313#\210\301\314\315#\210\301\316\317#\210\301\320\321#\210\301\322\323#\210\301\324\325#\210\301\326\327#\210\301\330\331#\210\332\333\334#\210\332\335\334#\210\207" [make-sparse-keymap define-key "d" hide-ifdef-define "u" hide-ifdef-undef "D" hide-ifdef-set-define-alist "U" hide-ifdef-use-define-alist "h" hide-ifdefs "s" show-ifdefs "" hide-ifdef-block "" show-ifdef-block "e" hif-evaluate-macro "C" hif-clear-all-ifdef-defined "" hide-ifdef-toggle-read-only "" hide-ifdef-toggle-shadowing substitute-key-definition read-only-mode hide-ifdef-toggle-outside-read-only toggle-read-only] 5) (#$ . 2517))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\315\310\316&\210\300\317\302\303\320DD\321\306\322\310\316&\210\300\323\302\303\324DD\325\306\322\310\316&\207" [custom-declare-variable hide-ifdef-mode-prefix-key funcall function #[0 "\300\207" ["@"] 1 #1=""] "Prefix key for all Hide-Ifdef mode commands." :type key-sequence :version "27.1" hide-ifdef-verbose #[0 "\300\207" [nil] 1 #1#] "Show some defining symbols on hiding for a visible feedback." boolean "28.1" hide-ifdef-evalulate-enter-hook #[0 "\300\207" [nil] 1 #1#] "Hook function to be called when entering `hif-evaluate-macro'." hook hide-ifdef-evalulate-leave-hook #[0 "\300\207" [nil] 1 #1#] "Hook function to be called when leaving `hif-evaluate-macro'."] 8)
#@37 Keymap used with `hide-ifdef-mode'.
(defvar hide-ifdef-mode-map (byte-code "\302 \303 #\210\207" [hide-ifdef-mode-prefix-key hide-ifdef-mode-submap make-sparse-keymap define-key] 5) (#$ . 4111))
#@29 Menu for `hide-ifdef-mode'.
(defvar hide-ifdef-mode-menu nil (#$ . 4314))
(easy-menu-do-define 'hide-ifdef-mode-menu hide-ifdef-mode-map "Menu for `hide-ifdef-mode'." '("Hide-Ifdef" ["Hide some ifdefs" hide-ifdefs :help "Hide the contents of some #ifdefs"] ["Show all ifdefs" show-ifdefs :help "Cancel the effects of `hide-ifdef': show the contents of all #ifdefs"] ["Hide ifdef block" hide-ifdef-block :help "Hide the ifdef block (true or false part) enclosing or before the cursor"] ["Show ifdef block" show-ifdef-block :help "Show the ifdef block (true or false part) enclosing or before the cursor"] ["Define a variable..." hide-ifdef-define :help "Define a VAR so that #ifdef VAR would be included"] ["Undefine a variable..." hide-ifdef-undef :help "Undefine a VAR so that #ifdef VAR would not be included"] ["Define an alist..." hide-ifdef-set-define-alist :help "Set the association for NAME to `hide-ifdef-env'"] ["Use an alist..." hide-ifdef-use-define-alist :help "Set `hide-ifdef-env' to the define list specified by NAME"] ["Toggle read only" hide-ifdef-toggle-read-only :style toggle :selected hide-ifdef-read-only :help "Buffer should be read-only while hiding text"] ["Toggle shadowing" hide-ifdef-toggle-shadowing :style toggle :selected hide-ifdef-shadow :help "Text should be shadowed instead of hidden"]))
#@34 Non-nil when text may be hidden.
(defvar hide-ifdef-hiding nil (#$ . 5645))
(byte-code "\301\236\204\n \302B\301\207" [minor-mode-alist hide-ifdef-hiding (hide-ifdef-hiding " Hiding")] 2)
#@51 Syntax table used for tokenizing #if expressions.
(defvar hide-ifdef-syntax-table (byte-code "\301!\302\303\304#\210\302\305\306#\210\302\307\306#\210\207" [c-mode-syntax-table copy-syntax-table modify-syntax-entry 95 "w" 38 "." 124] 5) (#$ . 5842))
#@47 An alist of defined symbols and their values.
(defvar hide-ifdef-env nil (#$ . 6102))
#@171 This variable is a backup of the previously cleared `hide-ifdef-env'.
This backup prevents any accidental clearance of `hide-ifdef-env' by
`hif-clear-all-ifdef-defined'.
(defvar hide-ifdef-env-backup nil (#$ . 6195))
#@73 Internal variable. Saves the value of `buffer-read-only' while hiding.
(defvar hif-outside-read-only nil (#$ . 6418))
#@99 Non-nil if Hide-Ifdef mode is enabled.
Use the command `hide-ifdef-mode' to change this variable.
(defvar hide-ifdef-mode nil (#$ . 6543))
(make-variable-buffer-local 'hide-ifdef-mode)
#@2138 Toggle features to hide/show #ifdef blocks (Hide-Ifdef mode).
This is a minor mode. If called interactively, toggle the `Hide-Ifdef
mode' mode. If the prefix argument is positive, enable the mode, and
if it is zero or negative, disable the mode.
If called from Lisp, toggle the mode if ARG is `toggle'. Enable the
mode if ARG is nil, omitted, or is a positive number. Disable the
mode if ARG is a negative number.
To check whether the minor mode is enabled in the current buffer,
evaluate `hide-ifdef-mode'.
The mode's hook is called both when the mode is enabled and when it is
disabled.
Hide-Ifdef mode is a buffer-local minor mode for use with C and
C-like major modes. When enabled, code within #ifdef constructs
that the C preprocessor would eliminate may be hidden from view.
Several variables affect how the hiding is done:
`hide-ifdef-env'
An association list of defined and undefined symbols for the
current project. Initially, the global value of `hide-ifdef-env'
is used. This variable was a buffer-local variable, which limits
hideif to parse only one C/C++ file at a time. We've extended
hideif to support parsing a C/C++ project containing multiple C/C++
source files opened simultaneously in different buffers. Therefore
`hide-ifdef-env' can no longer be buffer local but must be global.
`hide-ifdef-define-alist'
An association list of defined symbol lists.
Use `hide-ifdef-set-define-alist' to save the current `hide-ifdef-env'
and `hide-ifdef-use-define-alist' to set the current `hide-ifdef-env'
from one of the lists in `hide-ifdef-define-alist'.
`hide-ifdef-lines'
Set to non-nil to not show #if, #ifdef, #ifndef, #else, and
#endif lines when hiding.
`hide-ifdef-initially'
Indicates whether `hide-ifdefs' should be called when Hide-Ifdef mode
is activated.
`hide-ifdef-read-only'
Set to non-nil if you want to make buffers read only while hiding.
After `show-ifdefs', read-only status is restored to previous value.
\{hide-ifdef-mode-map}
(fn &optional ARG)
(defalias 'hide-ifdef-mode #[256 "\306 \307=\203
?\202 \247\203 \310W\203 \311\202 \312\313\301!\2031 \314\300 \"\2031 \300 B\203s \315\302!\316\303!\210\315\303!\316\304!\210\315\304!\316\317!\210
\316\320!\210\312\321\322\323\311\312$\210\324\325!\210'\203m \326 \210\202\202 \327 \210\202\202 \330\320!\210\331\332!\210\f\203\202 \327 \210\333\334\203\214 \335\202\215 \336\"\210\337\340!\203\257 \306 \203\241 \211\306 \232\203\257 \341\342\203\253 \343\202\254 \344\345#\210\210\346 \210\207" [hide-ifdef-mode local-minor-modes hide-ifdef-env hide-ifdef-expand-reinclusion-guard hide-ifdef-hiding buffer-read-only current-message toggle 1 nil t boundp delq default-value make-local-variable hif-outside-read-only line-move-ignore-invisible add-hook change-major-mode-hook #[0 "\300\301!\207" [hide-ifdef-mode -1] 2] add-to-invisibility-spec (hide-ifdef . t) hide-ifdefs show-ifdefs kill-local-variable remove-from-invisibility-spec (hide-ifdef . t) run-hooks hide-ifdef-mode-hook hide-ifdef-mode-on-hook hide-ifdef-mode-off-hook called-interactively-p any message "Hide-Ifdef mode %sabled%s" "en" "dis" " in current buffer" force-mode-line-update hide-ifdef-initially] 7 (#$ . 6736) (byte-code "\203\n \301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar hide-ifdef-mode-hook nil)
(byte-code "\301\302N\204\f \303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\313\314\300!\205# \310\211%\207" [hide-ifdef-mode-map hide-ifdef-mode-hook variable-documentation put "Hook run after entering or leaving `hide-ifdef-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode hide-ifdef-mode " Ifdef" boundp] 6)
#@216 Clears all symbols defined in `hide-ifdef-env'.
It will backup this variable to `hide-ifdef-env-backup' before clearing to
prevent accidental clearance.
When prefixed, it swaps current symbols with the backup ones.
(defalias 'hif-clear-all-ifdef-defined #[0 "\203 \203 \303\304\305 G\"!\205 \211\306\307!\207\306\310!\207\303\304\311\nG\"!\2053 \n\203. \n\312\306\313!\207" [current-prefix-arg hide-ifdef-env-backup hide-ifdef-env y-or-n-p format "Restore all %d #defined symbols just cleared? " message "Backup symbols restored." "No backup symbol to restore." "Clear all %d #defined symbols? " nil "All defined symbols cleared."] 4 (#$ . 10698) nil])
#@151 Show all of the text in the current buffer.
If there is a marked region from START to END it only shows the symbols within.
(fn &optional START END)
(defalias 'hif-show-all #[512 "\300\206 e\206 d\"\207" [hif-show-ifdef-region] 5 (#$ . 11368) (byte-code "\300 \203 \301 \302 D\207edD\207" [use-region-p region-beginning region-end] 2)])
(defalias 'hif-after-revert-function #[0 "\205
\205
\302\303\211\304#\207" [hide-ifdef-mode hide-ifdef-hiding hide-ifdefs nil t] 4])
(add-hook 'after-revert-hook 'hif-after-revert-function)
(defalias 'hif-end-of-line #[0 "\300\210\301\302\303\300x\"\302U\205 \304\210\202 \207" [nil logand 1 "\\\\" 2] 4])
#@177 This function merges nearby ifdef regions to form a bigger overlay.
The region is defined by START and END. This will decrease the number of
overlays created.
(fn START END)
(defalias 'hif-merge-ifdef-region #[514 "\214~\210\300\301Ze]Se]\"\300Td^\301\\d^\"\302\211\211\211\211\203P \211@\303\304\"\203I \305!^\262\306!]\262\307#\210\310\"\210\211\262A\266\202\202 \210\211\203\204 \211@\303\304\"\203} \305!^\262\306!]\262\307#\210\310\"\210\211\262A\266\202\202R \210\203\254 \203\254 \305!\305!^\306!\306!]\311!\210\307#\210\310\"\266\206\261 \266\206)\207" [overlays-in 2 nil overlay-get hide-ifdef overlay-start overlay-end move-overlay hif-merge-ifdef-region delete-overlay] 14 (#$ . 12032)])
#@18
(fn START END)
(defalias 'hide-ifdef-region-internal #[514 "\301\"?\205% \302\"\303\304\305#\210\203 \303\306\300#\202# \303\307\304#\262\207" [hide-ifdef-shadow hif-merge-ifdef-region make-overlay overlay-put hide-ifdef t face invisible] 7 (#$ . 12794)])
#@145 START is the start of a #if, #elif, or #else form. END is the ending part.
Everything including these lines is made invisible.
(fn START END)
(defalias 'hide-ifdef-region #[514 "\212b\210\300 \210`\262\211b\210\300 \210`\262\301\")\207" [hif-end-of-line hide-ifdef-region-internal] 5 (#$ . 13069)])
#@67 Everything between START and END is made visible.
(fn START END)
(defalias 'hif-show-ifdef-region #[514 "\300\"G\301\302\303$\210\211\300\"GU?\207" [overlays-in remove-overlays hide-ifdef t] 8 (#$ . 13381)])
#@53 Evaluate hideif internal representation.
(fn FORM)
(defalias 'hif-eval #[257 "\300!\211;\203 \301\302\303#\206 \207\211\207" [eval get-text-property 0 hif-value] 6 (#$ . 13602)])
#@140 The function to use to evaluate a form.
The evaluator is given a canonical form and returns t if text under
that form should be displayed.
(defvar hide-ifdef-evaluator 'hif-eval (#$ . 13793))
#@42 ...is by default considered to be false.
(defvar hif-undefined-symbol nil (#$ . 13991))
#@63 Prepend (VAR VALUE) pair to `hide-ifdef-env'.
(fn VAR VALUE)
(defalias 'hif-set-var #[514 "BB\211\207" [hide-ifdef-env] 4 (#$ . 14085)])
(defconst hif-predefine-alist '((__LINE__ . hif-__LINE__) (__FILE__ . hif-__FILE__) (__COUNTER__ . hif-__COUNTER__) (__cplusplus . hif-__cplusplus) (__DATE__ . hif-__DATE__) (__TIME__ . hif-__TIME__) (__STDC__ . hif-__STDC__) (__STDC_VERSION__ . hif-__STDC_VERSION__) (__STDC_HOST__ . hif-__STDC_HOST__) (__BASE_FILE__ . hif-__FILE__)))
#@12
(fn VAR)
(defalias 'hif-lookup #[257 "\304\300!\203 \203 \305!\206. \211 \236\211\203 \211A\202, \n\236\211\262\203+ \211A \202, \262\207" [semantic-c-takeover-hideif hide-ifdef-env hif-predefine-alist hif-undefined-symbol boundp semantic-c-hideif-lookup] 4 (#$ . 14570)])
#@12
(fn VAR)
(defalias 'hif-defined #[257 "\303\304\300!\203 \203 \305!\207 \236\203 \306\207\n\236\211\262\203( \211A \203( \306\207\307\207" [semantic-c-takeover-hideif hide-ifdef-env hif-predefine-alist nil boundp semantic-c-hideif-defined 1 0] 4 (#$ . 14860)])
(defconst hif-cpp-prefix "\\(^\\|
\\)[ ]*#[ ]*")
(defconst hif-ifxdef-regexp (concat hif-cpp-prefix "if\\(n\\)?def"))
(defconst hif-ifndef-regexp (concat hif-cpp-prefix "ifndef"))
(defconst hif-ifx-regexp (concat hif-cpp-prefix "if\\(n?def\\)?[ ]+"))
(defconst hif-elif-regexp (concat hif-cpp-prefix "elif"))
(defconst hif-else-regexp (concat hif-cpp-prefix "else"))
(defconst hif-endif-regexp (concat hif-cpp-prefix "endif"))
(defconst hif-ifx-else-endif-regexp (concat hif-ifx-regexp #1="\\|" hif-elif-regexp #1# hif-else-regexp #1# hif-endif-regexp))
(defconst hif-macro-expr-prefix-regexp (concat hif-cpp-prefix "\\(if\\(n?def\\)?\\|elif\\|define\\)[ ]+"))
(defconst hif-white-regexp "[ ]*")
(defconst hif-define-regexp (concat hif-cpp-prefix "\\(define\\|undef\\)"))
(defconst hif-id-regexp "[[:alpha:]_][[:alnum:]_]*")
(defconst hif-macroref-regexp (concat hif-white-regexp #1="\\(" hif-id-regexp "\\)\\((" hif-white-regexp #1# hif-id-regexp "\\)?" hif-white-regexp "\\(," hif-white-regexp hif-id-regexp hif-white-regexp "\\)*\\(\\.\\.\\.\\)?" hif-white-regexp ")\\)?"))
(defconst hif-numtype-suffix-regexp "\\(\\(ll[uU]\\|LL[uU]\\|[uU]?ll\\|[uU]?LL\\|[lL][uU]\\|[uU][lL]\\|[uU][hH]\\)[kKrR]?\\|[dD][dDfFlL]\\|[uUlLfF]\\)")
(defconst hif-bin-regexp (concat "[+-]?0[bB]\\([01']+\\)" hif-numtype-suffix-regexp "?"))
(defconst hif-hex-regexp (concat "[+-]?0[xX]\\([[:xdigit:]']+\\)" hif-numtype-suffix-regexp "?"))
(defconst hif-oct-regexp (concat "[+-]?0[0-7']+" hif-numtype-suffix-regexp "?"))
(defconst hif-dec-regexp (concat "[+-]?\\(0\\|[1-9][0-9']*\\)" hif-numtype-suffix-regexp "?"))
(defconst hif-decfloat-regexp "\\(?:\\([+-]?[0-9]+\\)\\([eE][+-]?[0-9]+\\)?[dD]?[fFlL]?\\|\\([+-]?[0-9]+\\)\\.\\([eE][+-]?[0-9]+\\)?[dD]?[dDfFlL]?\\|\\([+-]?[0-9]*\\.[0-9]+\\)\\([eE][+-]?[0-9]+\\)?[dD]?[dDfFlL]?\\)")
(defconst hif-hexfloat-regexp "[+-]?\\(?:0[xX]\\([[:xdigit:]']+\\)[pP]\\([+-]?[0-9']+\\)[fFlL]?\\|0[xX]\\([[:xdigit:]']+\\)\\.[pP]\\([+-]?[0-9']+\\)[fFlL]?\\|0[xX]\\([[:xdigit:]']*\\)\\.\\([[:xdigit:]']+\\)[pP]\\([+-]?[0-9']+\\)[fFlL]?\\)")
(defconst hif-token-alist '(("||" . hif-or) ("&&" . hif-and) ("|" . hif-logior) ("^" . hif-logxor) ("&" . hif-logand) ("<<" . hif-shiftleft) (">>" . hif-shiftright) ("==" . hif-equal) ("=" . hif-assign) ("!=" . hif-notequal) ("##" . hif-token-concat) ("!" . hif-not) ("~" . hif-lognot) ("(" . hif-lparen) (")" . hif-rparen) (">" . hif-greater) ("<" . hif-less) (">=" . hif-greater-equal) ("<=" . hif-less-equal) ("+" . hif-plus) ("-" . hif-minus) ("*" . hif-multiply) ("/" . hif-divide) ("%" . hif-modulo) ("?" . hif-conditional) (":" . hif-colon) ("," . hif-comma) ("#" . hif-stringify) ("..." . hif-etc) ("defined" . hif-defined)))
(defconst hif-valid-token-list (mapcar 'cdr hif-token-alist))
(defconst hif-token-regexp (byte-code "\302\303\304\305\306\307 \"\310\"\311\260\207" [hif-numtype-suffix-regexp hif-token-alist "\\([+-]?0[xXbB]\\([[:xdigit:]']+\\)?\\.?\\([[:xdigit:]']+\\)?\\([pP]\\([+-]?[0-9]+\\)\\)?" "?\\)\\|\\(\\([+-]?[0-9']+\\(\\.[0-9']*\\)?\\)\\([eE][+-]?[0-9]+\\)?" "?\\)\\|" regexp-opt mapcar car t "\\|\\(\\w+\\)"] 9))
(defconst hif-unicode-prefix-regexp "\\(?:u8R?\\|[uUL]R?\\|R\\)")
(defconst hif-string-literal-regexp (concat hif-unicode-prefix-regexp "?\\(\"\\(?:[^\"\\]\\|\\\\.\\)*\"\\)"))
#@79 A full REGEXP match of STRING instead of partially match.
(fn REGEXP STRING)
(defalias 'hif-full-match #[514 "\300\301\302Q\"\207" [string-match "\\`" "\\'"] 6 (#$ . 18415)])
#@64 Check if STRING is a valid C(++) numeric literal.
(fn STRING)
(defalias 'hif-is-number #[257 "\304\"\206 \304 \"\206 \304\n\"\206 \304\"\207" [hif-dec-regexp hif-hex-regexp hif-oct-regexp hif-bin-regexp hif-full-match] 4 (#$ . 18599)])
#@71 Check if STRING is a valid C(++) floating point literal.
(fn STRING)
(defalias 'hif-is-float #[257 "\302\"\206 \302 \"\207" [hif-decfloat-regexp hif-hexfloat-regexp hif-full-match] 4 (#$ . 18851)])
#@50 Delete CHAR in STRING inplace.
(fn CHAR STRING)
(defalias 'hif-delete-char-in-string #[514 "\211G\300\301V\203 S\262H=\204 HB\262\202 \211\260\207" [nil 0] 6 (#$ . 19060)])
#@203 Convert a C(++) decimal floating formatted string into float.
Assuming we've just regexp-matched with `hif-decfloat-regexp' and it matched.
if REMATCH is t, do a rematch.
(fn STRING &optional FIX EXP)
(defalias 'hif-string-to-decfloat #[769 "\204 \211\203 \301\302\"\262\301\302\"\262\202J \301\302\"\262\303\"\210\304\305\"\2064 \304\306\"\2064 \304\307\"\262\304\310\"\206H \304\311\"\206H \304\312\"\262\313!\262\211G\314U\203Z \314\202` \313\315\305\"!\262\316\317\"_\207" [hif-decfloat-regexp hif-delete-char-in-string 39 hif-full-match match-string 1 3 5 2 4 6 string-to-number 0 substring-no-properties expt 10] 7 (#$ . 19255)])
#@200 Convert a C++17 hex float formatted string into float.
Assuming we've just regexp-matched with `hif-hexfloat-regexp' and it matched.
if REMATCH is t, do a rematch.
(fn STRING &optional INT FRA EXP)
(defalias 'hif-string-to-hexfloat #[1025 "\301H\302=\203\f \303\202
\304\204 \204 \203. \305\306\"\262\305\306\"\262\305\306\"\262\202p \305\306\"\262\307\"\210\310\311\"\206P \310\312\"\206P \310\313\"\262\310\314\"\206g \310\315\"\206g \310\316\"\262\310\317\"\262G\301U\203{ \301\202 \320\321\"\262G\301U\203\214 \301\202\226 \320\321\"\322\323G\"\245\262G\301U\203\243 \301\202\246 \320!\262\211\\_\322\324\"_\207" [hif-hexfloat-regexp 0 45 -1.0 1.0 hif-delete-char-in-string 39 hif-full-match match-string 1 3 5 2 4 6 7 string-to-number 16 expt 16.0 2.0] 9 (#$ . 19924)])
#@89 Like `string-to-number', but it understands C(++) literals.
(fn STRING &optional BASE)
(defalias 'hif-string-to-number #[513 "\300\301\"\262\302\"\207" [hif-delete-char-in-string 39 string-to-number] 5 (#$ . 20756)])
#@10
(fn C)
(defalias 'hif-is-white #[257 "\211\300>\207" [(32 9 10 13)] 3 (#$ . 20984)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put hif-is-white speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@141 Convert STRING into a hideif mode internal token.
Assuming we've just performed a `hif-token-regexp' lookup.
(fn STRING &optional REMATCH)
(defalias 'hif-strtok #[513 "\303\211\211\211\211\211\211\211\211\211\n\203 \304
\"\210\262\n\305\306\"\203\227 \305\307\"\262\305\310\"\211\262\204; \305\311\"\203F \312\f#\202t \313H\262\314\f\211G\315V\203o \316=\204k \317>\203o
\315H\316=\203o \306\202s \311\211\262\"\262\211\203\212 \305\320\"\204\212 \321>\204\212 \207\322\313\315\323D$\210\207\305\315\"\203\305\324\"\262\322\313\315\323\305\325\"\211\262\f\204\272 \203\312 \326\305\327\"$\202\313H\330=\203\327 \331\202\330 \315\262\314\332\333\325
Z\331\"\"\333\324
Z\331\"H\211\262\334=\204 \335=\203\336\202\327\"_D$\210\207\305\337\"\211\262\n\203#\340 \341#A\207\303\342\f!\207" [hif-token-regexp hif-token-alist hif-simple-token-only nil string-match match-string 8 9 11 10 hif-string-to-decfloat 0 hif-string-to-number 1 48 (45 43) 12 (45 43) add-text-properties hif-value 3 5 hif-string-to-hexfloat 2 45 -1 substring-no-properties ash 120 88 16 14 assoc string-equal intern-safe] 23 (#$ . 21216)])
#@91 If we're currently within a C(++) comment, skip them backwards.
(fn &optional START END)
(defalias 'hif-backward-comment #[512 "\211\206 `\262\211S\300V\203 \211Sf\211\301>\262\203 \211S\262\202 \302\211\211\211\211\211\206/ \303 \210`\262\262TW\203U\304\305f\"\203$\304\305Tf\"\203\240 \203_ SU\203_ \202` \262T\211\262W\203 \304\306f\"\204 \304\307f\"\203b \211\203\225 \211@AU\203\225 \211A\262\242@\202\226 BB\262\202N\304\310Tf\"\203N\203\271 SU\203\271 \202\272 \262\211\203\322 \211@AU\203\322 \211A\262\242@\202\323 \262\311\\\262\3122 TW\203\304\310f\"\203\372 \304\305Tf\"\204T\262\202\337 T\211\262TBB\262\313\312\302\"\210\202\337 BB\211\2620\210\202N\304\314f\"\203H\203?SU\203?\262\202N\262\262\202N\302\262\302\262T\262\2025 \211@\262\203r@Y\203rAX\203r@\202t\262S\300V\203\217Sf\211\301>\262\203\217S\262\202vb\207" [1 (32 9 10 13) nil beginning-of-line char-equal 47 10 13 42 2 break throw 32] 11 (#$ . 22420)])
#@78 Separate string between START and END into a list of tokens.
(fn START END)
(defalias 'hif-tokenize #[514 "\304\211\305\306 p\307\310#\216\311 !\210\212\214\312\"\262}\210b\210\313d!\210`W\203\242 \314\315!\2038 \316u\210\202\"