%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/nxml/ |
Current File : //usr/local/share/emacs/27.2/lisp/nxml/rng-match.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; 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!\210\300\303!\207" [require rng-pttrn rng-util rng-dt] 2) (defvar rng-not-allowed-ipattern nil) (defvar rng-empty-ipattern nil) (defvar rng-text-ipattern nil) (defvar rng-compile-table nil) #@104 Contains a list of ref patterns currently being compiled. Used to detect invalid recursive references. (defvar rng-being-compiled nil (#$ . 633)) (defvar rng-ipattern-table nil) (defvar rng-last-ipattern-index nil) #@59 An ipattern representing the current state of validation. (defvar rng-match-state nil (#$ . 854)) #@18 (fn NEW-STATE) (defalias 'rng-update-match-state #[257 "\211=\203\n =\207\211\302\207" [rng-not-allowed-ipattern rng-match-state t] 3 (#$ . 958)]) (put 'rng-update-match-state 'byte-optimizer 'byte-compile-inline-expand) #@75 compiler-macro for inlining `rng--ipattern-type'. (fn CL-WHOLE-ARG CL-X) (defalias 'rng--ipattern-type--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rng--ipattern-type (progn (aref cl-x 0))) nil] 9 (#$ . 1191)]) (put 'rng--ipattern-type 'compiler-macro 'rng--ipattern-type--cmacro) #@63 Access slot "type" of `rng--ipattern' struct CL-X. (fn CL-X) (defalias 'rng--ipattern-type #[257 "\211\300H\207" [0] 3 (#$ . 1521)]) (byte-code "\300\301\302\303#\300\207" [function-put rng--ipattern-type side-effect-free t] 4) #@76 compiler-macro for inlining `rng--ipattern-index'. (fn CL-WHOLE-ARG CL-X) (defalias 'rng--ipattern-index--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rng--ipattern-index (progn (aref cl-x 1))) nil] 9 (#$ . 1756)]) (put 'rng--ipattern-index 'compiler-macro 'rng--ipattern-index--cmacro) #@64 Access slot "index" of `rng--ipattern' struct CL-X. (fn CL-X) (defalias 'rng--ipattern-index #[257 "\211\300H\207" [1] 3 (#$ . 2091)]) (byte-code "\300\301\302\303#\300\207" [function-put rng--ipattern-index side-effect-free t] 4) #@81 compiler-macro for inlining `rng--ipattern-name-class'. (fn CL-WHOLE-ARG CL-X) (defalias 'rng--ipattern-name-class--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rng--ipattern-name-class (progn (aref cl-x 2))) nil] 9 (#$ . 2329)]) (put 'rng--ipattern-name-class 'compiler-macro 'rng--ipattern-name-class--cmacro) #@69 Access slot "name-class" of `rng--ipattern' struct CL-X. (fn CL-X) (defalias 'rng--ipattern-name-class #[257 "\211\300H\207" [2] 3 (#$ . 2689)]) (byte-code "\300\301\302\303#\300\207" [function-put rng--ipattern-name-class side-effect-free t] 4) #@76 compiler-macro for inlining `rng--ipattern-child'. (fn CL-WHOLE-ARG CL-X) (defalias 'rng--ipattern-child--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rng--ipattern-child (progn (aref cl-x 3))) nil] 9 (#$ . 2942)]) (put 'rng--ipattern-child 'compiler-macro 'rng--ipattern-child--cmacro) #@64 Access slot "child" of `rng--ipattern' struct CL-X. (fn CL-X) (defalias 'rng--ipattern-child #[257 "\211\300H\207" [3] 3 (#$ . 3277)]) (byte-code "\300\301\302\303#\300\207" [function-put rng--ipattern-child side-effect-free t] 4) #@79 compiler-macro for inlining `rng--ipattern-nullable'. (fn CL-WHOLE-ARG CL-X) (defalias 'rng--ipattern-nullable--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rng--ipattern-nullable (progn (aref cl-x 4))) nil] 9 (#$ . 3515)]) (put 'rng--ipattern-nullable 'compiler-macro 'rng--ipattern-nullable--cmacro) #@67 Access slot "nullable" of `rng--ipattern' struct CL-X. (fn CL-X) (defalias 'rng--ipattern-nullable #[257 "\211\300H\207" [4] 3 (#$ . 3865)]) (byte-code "\300\301\302\303#\300\207" [function-put rng--ipattern-nullable side-effect-free t] 4) #@86 compiler-macro for inlining `rng--ipattern-memo-text-typed'. (fn CL-WHOLE-ARG CL-X) (defalias 'rng--ipattern-memo-text-typed--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rng--ipattern-memo-text-typed (progn (aref cl-x 5))) nil] 9 (#$ . 4112)]) (put 'rng--ipattern-memo-text-typed 'compiler-macro 'rng--ipattern-memo-text-typed--cmacro) #@74 Access slot "memo-text-typed" of `rng--ipattern' struct CL-X. (fn CL-X) (defalias 'rng--ipattern-memo-text-typed #[257 "\211\300H\207" [5] 3 (#$ . 4497)]) (byte-code "\300\301\302\303#\300\207" [function-put rng--ipattern-memo-text-typed side-effect-free t] 4) #@100 compiler-macro for inlining `rng--ipattern-memo-map-start-tag-open-deriv'. (fn CL-WHOLE-ARG CL-X) (defalias 'rng--ipattern-memo-map-start-tag-open-deriv--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rng--ipattern-memo-map-start-tag-open-deriv (progn (aref cl-x 6))) nil] 9 (#$ . 4766)]) (put 'rng--ipattern-memo-map-start-tag-open-deriv 'compiler-macro 'rng--ipattern-memo-map-start-tag-open-deriv--cmacro) #@88 Access slot "memo-map-start-tag-open-deriv" of `rng--ipattern' struct CL-X. (fn CL-X) (defalias 'rng--ipattern-memo-map-start-tag-open-deriv #[257 "\211\300H\207" [6] 3 (#$ . 5221)]) (byte-code "\300\301\302\303#\300\207" [function-put rng--ipattern-memo-map-start-tag-open-deriv side-effect-free t] 4) #@101 compiler-macro for inlining `rng--ipattern-memo-map-start-attribute-deriv'. (fn CL-WHOLE-ARG CL-X) (defalias 'rng--ipattern-memo-map-start-attribute-deriv--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rng--ipattern-memo-map-start-attribute-deriv (progn (aref cl-x 7))) nil] 9 (#$ . 5532)]) (put 'rng--ipattern-memo-map-start-attribute-deriv 'compiler-macro 'rng--ipattern-memo-map-start-attribute-deriv--cmacro) #@89 Access slot "memo-map-start-attribute-deriv" of `rng--ipattern' struct CL-X. (fn CL-X) (defalias 'rng--ipattern-memo-map-start-attribute-deriv #[257 "\211\300H\207" [7] 3 (#$ . 5992)]) (byte-code "\300\301\302\303#\300\207" [function-put rng--ipattern-memo-map-start-attribute-deriv side-effect-free t] 4) #@97 compiler-macro for inlining `rng--ipattern-memo-start-tag-close-deriv'. (fn CL-WHOLE-ARG CL-X) (defalias 'rng--ipattern-memo-start-tag-close-deriv--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rng--ipattern-memo-start-tag-close-deriv (progn (aref cl-x 8))) nil] 9 (#$ . 6305)]) (put 'rng--ipattern-memo-start-tag-close-deriv 'compiler-macro 'rng--ipattern-memo-start-tag-close-deriv--cmacro) #@85 Access slot "memo-start-tag-close-deriv" of `rng--ipattern' struct CL-X. (fn CL-X) (defalias 'rng--ipattern-memo-start-tag-close-deriv #[257 "\211\300H\207" [8] 3 (#$ . 6745)]) (byte-code "\300\301\302\303#\300\207" [function-put rng--ipattern-memo-start-tag-close-deriv side-effect-free t] 4) #@91 compiler-macro for inlining `rng--ipattern-memo-text-only-deriv'. (fn CL-WHOLE-ARG CL-X) (defalias 'rng--ipattern-memo-text-only-deriv--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rng--ipattern-memo-text-only-deriv (progn (aref cl-x 9))) nil] 9 (#$ . 7046)]) (put 'rng--ipattern-memo-text-only-deriv 'compiler-macro 'rng--ipattern-memo-text-only-deriv--cmacro) #@79 Access slot "memo-text-only-deriv" of `rng--ipattern' struct CL-X. (fn CL-X) (defalias 'rng--ipattern-memo-text-only-deriv #[257 "\211\300H\207" [9] 3 (#$ . 7456)]) (byte-code "\300\301\302\303#\300\207" [function-put rng--ipattern-memo-text-only-deriv side-effect-free t] 4) #@92 compiler-macro for inlining `rng--ipattern-memo-mixed-text-deriv'. (fn CL-WHOLE-ARG CL-X) (defalias 'rng--ipattern-memo-mixed-text-deriv--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rng--ipattern-memo-mixed-text-deriv (progn (aref cl-x 10))) nil] 9 (#$ . 7739)]) (put 'rng--ipattern-memo-mixed-text-deriv 'compiler-macro 'rng--ipattern-memo-mixed-text-deriv--cmacro) #@80 Access slot "memo-mixed-text-deriv" of `rng--ipattern' struct CL-X. (fn CL-X) (defalias 'rng--ipattern-memo-mixed-text-deriv #[257 "\211\300H\207" [10] 3 (#$ . 8155)]) (byte-code "\300\301\302\303#\300\207" [function-put rng--ipattern-memo-mixed-text-deriv side-effect-free t] 4) #@90 compiler-macro for inlining `rng--ipattern-memo-map-data-deriv'. (fn CL-WHOLE-ARG CL-X) (defalias 'rng--ipattern-memo-map-data-deriv--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rng--ipattern-memo-map-data-deriv (progn (aref cl-x 11))) nil] 9 (#$ . 8442)]) (put 'rng--ipattern-memo-map-data-deriv 'compiler-macro 'rng--ipattern-memo-map-data-deriv--cmacro) #@78 Access slot "memo-map-data-deriv" of `rng--ipattern' struct CL-X. (fn CL-X) (defalias 'rng--ipattern-memo-map-data-deriv #[257 "\211\300H\207" [11] 3 (#$ . 8848)]) (byte-code "\300\301\302\303#\300\207" [function-put rng--ipattern-memo-map-data-deriv side-effect-free t] 4) #@89 compiler-macro for inlining `rng--ipattern-memo-end-tag-deriv'. (fn CL-WHOLE-ARG CL-X) (defalias 'rng--ipattern-memo-end-tag-deriv--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block rng--ipattern-memo-end-tag-deriv (progn (aref cl-x 12))) nil] 9 (#$ . 9129)]) (put 'rng--ipattern-memo-end-tag-deriv 'compiler-macro 'rng--ipattern-memo-end-tag-deriv--cmacro) #@77 Access slot "memo-end-tag-deriv" of `rng--ipattern' struct CL-X. (fn CL-X) (defalias 'rng--ipattern-memo-end-tag-deriv #[257 "\211\300H\207" [12] 3 (#$ . 9530)]) (byte-code "\300\301\302\303#\300\207" [function-put rng--ipattern-memo-end-tag-deriv side-effect-free t] 4) #@106 compiler-macro for inlining `rng-make-ipattern'. (fn CL-WHOLE-ARG TYPE INDEX NAME-CLASS CHILD NULLABLE) (defalias 'rng-make-ipattern--cmacro #[1542 "\300\301\302\303\211\211\n\n\n\n\n&\n\207" [cl--defsubst-expand (type index name-class child nullable) (cl-block rng-make-ipattern (vector type index name-class child nullable 'unknown nil nil nil nil nil nil nil)) nil] 17 (#$ . 9809)]) (put 'rng-make-ipattern 'compiler-macro 'rng-make-ipattern--cmacro) #@93 Constructor for objects of type `rng--ipattern'. (fn TYPE INDEX NAME-CLASS CHILD NULLABLE) (defalias 'rng-make-ipattern #[1285 "\300\301\302\211\211\211\211\211\211& \207" [vector unknown nil] 19 (#$ . 10275)]) (byte-code "\300\301\302\303#\304\305\306\211\307\306\310\311\305\306& \210\312\313\314\"\210\312\315\314\"\210\312\316\317\"\207" [function-put rng-make-ipattern side-effect-free t cl-struct-define rng--ipattern nil vector ((type) (index) (name-class) (child) (nullable) (memo-text-typed 'unknown) (memo-map-start-tag-open-deriv) (memo-map-start-attribute-deriv) (memo-start-tag-close-deriv) (memo-text-only-deriv) (memo-mixed-text-deriv) (memo-map-data-deriv) (memo-end-tag-deriv)) cl-struct-rng--ipattern-tags defalias rng--ipattern-datatype rng--ipattern-name-class rng--ipattern-after rng--ipattern-value-object rng--ipattern-child] 11) (defconst rng-memo-map-alist-max 10) #@67 Return the value associated with KEY in memo-map MM. (fn KEY MM) (defalias 'rng-memo-map-get #[514 "\300\"\211\203 \211A\202 \205 @\301!\205 \302\"\262\207" [assoc hash-table-p gethash] 7 (#$ . 11177)]) (put 'rng-memo-map-get 'byte-optimizer 'byte-compile-inline-expand) #@828 Associate KEY with VALUE in memo-map MM and return the new memo-map. The new memo-map may or may not be a different object from MM. Alists are better for small maps. Hash tables are better for large maps. A memo-map therefore starts off as an alist and switches to a hash table for large memo-maps. A memo-map is always a list. An empty memo-map is represented by nil. A large memo-map is represented by a list containing just a hash-table. A small memo map is represented by a list whose cdr is an alist and whose car is the number of entries in the alist. The complete memo-map can be passed to `assoc' without problems: assoc ignores any members that are not cons cells. There is therefore minimal overhead in successful lookups on small lists (which is the most common case). (fn KEY VALUE MM &optional WEAKNESS) (defalias 'rng-memo-map-add #[1027 "\204\n \301BD\207@\302!\203 \303#\210\202Y \211Y\203P \304\305\306\307\310\311_&A\262\203H @\262\303@A#\210A\262\2021 \211\312B\262\202Y \211TBABB\207" [rng-memo-map-alist-max 1 hash-table-p puthash make-hash-table :test equal :weakness :size 2 nil] 13 (#$ . 11468)]) (defalias 'rng-ipattern-maybe-init #[0 "?\205 \302\303\304\"\305\211\207" [rng-ipattern-table rng-last-ipattern-index make-hash-table :test equal -1] 3]) (defalias 'rng-ipattern-clear #[0 "\203 \302!\210\303\211\207" [rng-ipattern-table rng-last-ipattern-index clrhash -1] 2]) (defalias 'rng-gen-ipattern-index #[0 "T\211\207" [rng-last-ipattern-index] 2]) (put 'rng-gen-ipattern-index 'byte-optimizer 'byte-compile-inline-expand) #@43 (fn KEY TYPE NAME-CLASS CHILD NULLABLE) (defalias 'rng-put-ipattern #[1285 "T\211\302\303\304\211\211\211\211\211\211& \266\205\305 #\210\211\207" [rng-last-ipattern-index rng-ipattern-table vector unknown nil puthash] 24 (#$ . 13074)]) #@12 (fn KEY) (defalias 'rng-get-ipattern #[257 "\301\"\207" [rng-ipattern-table gethash] 4 (#$ . 13333)]) (byte-code "\204 \303\304\305\306\211\211\307\306\211\211\211\211\211\211& \204* \303\310\311\306\211\312\307\306\211\211\211\211\211\211& \n\204? \303\313\314\306\211\312\307\306\211\211\211\211\211\211& \306\207" [rng-not-allowed-ipattern rng-empty-ipattern rng-text-ipattern vector not-allowed -3 nil unknown empty -2 t text -1] 14) (defconst rng-const-ipatterns (list rng-not-allowed-ipattern rng-empty-ipattern rng-text-ipattern)) #@20 (fn CHILD AFTER) (defalias 'rng-intern-after #[514 "=\203 \207\301\302H\302HE\303!\206 \304\301\305%\207" [rng-not-allowed-ipattern after 1 rng-get-ipattern rng-put-ipattern nil] 9 (#$ . 13887)]) #@28 (fn NAME-CLASS IPATTERN) (defalias 'rng-intern-attribute #[514 "\211=\203 \207\301\302HE\303!\206 \304\301\305%\207" [rng-not-allowed-ipattern attribute 1 rng-get-ipattern rng-put-ipattern nil] 9 (#$ . 14103)]) #@28 (fn DT MATCHES-ANYTHING) (defalias 'rng-intern-data #[514 "\300D\301!\206 \302\300\303%\211\211\304?I\266\211\262\207" [data rng-get-ipattern rng-put-ipattern nil 5] 9 (#$ . 14332)]) #@20 (fn DT IPATTERN) (defalias 'rng-intern-data-except #[514 "\300E\301!\206 \302\300\303%\207" [data-except rng-get-ipattern rng-put-ipattern nil] 9 (#$ . 14533)]) #@15 (fn DT OBJ) (defalias 'rng-intern-value #[514 "\300E\301!\206 \302\300\303%\207" [value rng-get-ipattern rng-put-ipattern nil] 9 (#$ . 14709)]) #@17 (fn IPATTERN) (defalias 'rng-intern-one-or-more #[257 "\300!\206 \301\302HCB\303!\206 \304\301\305\211\306H%\262\207" [rng-intern-one-or-more-shortcut one-or-more 1 rng-get-ipattern rng-put-ipattern nil 4] 9 (#$ . 14868)]) #@17 (fn IPATTERN) (defalias 'rng-intern-one-or-more-shortcut #[257 "\211=\203 \207\211 =\203 \207\211\302H\303=\203 \207\304\207" [rng-not-allowed-ipattern rng-empty-ipattern 0 one-or-more nil] 3 (#$ . 15107)]) #@17 (fn IPATTERN) (defalias 'rng-intern-list #[257 "\211=\203 \207\301\302HCB\303!\206 \304\301\305\305%\207" [rng-not-allowed-ipattern list 1 rng-get-ipattern rng-put-ipattern nil] 8 (#$ . 15328)]) #@80 Return an ipattern for the list of group members in IPATTERNS. (fn IPATTERNS) (defalias 'rng-intern-group #[257 "\300!\206* \301!\211A\300!\206( \302\303\304\"B\305!\206&