;ELC ;;; Compiled by jjc@pineapple.bkk.thaiopensource.com on Mon Oct 4 11:58:42 2004 ;;; from file /home/jjc/elisp/rng-cmpct.el ;;; in Emacs version 21.3.1 ;;; with bytecomp version 2.85.4.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.29"))) (error "`rng-cmpct.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\207" [require nxml-util rng-util rng-uri rng-pttrn] 2) #@75 Load a schema in RELAX NG compact syntax from FILENAME. Return a pattern. (defalias 'rng-c-load-schema #[(filename) "\301!\207" [filename rng-c-parse-file] 2 (#$ . 733)]) (byte-code "\300\301\302\303#\210\300\301\304\305#\207" [put rng-c-incorrect-schema error-conditions (error rng-error nxml-file-parse-error rng-c-incorrect-schema) error-message "Incorrect schema"] 4) (defalias 'rng-c-signal-incorrect-schema #[(filename pos message) "\303 \n\304$\207" [filename pos message nxml-signal-file-parse-error rng-c-incorrect-schema] 5]) #@58 List of strings that are keywords in the compact syntax. (defconst rng-c-keywords '("attribute" "default" "datatypes" "div" "element" "empty" "external" "grammar" "include" "inherit" "list" "mixed" "namespace" "notAllowed" "parent" "start" "string" "text" "token") (#$ . 1277)) #@62 Regular expression to match a keyword in the compact syntax. (defconst rng-c-anchored-keyword-re (byte-code "\301\302!\303Q\207" [rng-c-keywords "\\`\\(" regexp-opt "\\)\\'"] 3) (#$ . 1561)) #@46 Syntax table for parsing the compact syntax. (defvar rng-c-syntax-table nil (#$ . 1759)) (byte-code "\204+\301 \302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\310#\210\302\312\310#\210\302\313\314#\210\301\207" [rng-c-syntax-table make-syntax-table modify-syntax-entry 35 "<" 10 ">" 45 "w" 46 95 58 "_"] 4) #@54 Regular expression to match a single-quoted literal. (defconst rng-c-literal-1-re "'\\(''\\([^']\\|'[^']\\|''[^']\\)*''\\|[^'\n]*\\)'" (#$ . 2093)) #@54 Regular expression to match a double-quoted literal. (defconst rng-c-literal-2-re (replace-regexp-in-string "'" "\"" rng-c-literal-1-re) (#$ . 2247)) (byte-code "\301B\303\302B\304 \305Q\301\207" [current-load-list rng-c-ncname-re rng-c-anchored-ncname-re "\\w+" "\\`" "\\'"] 3) #@60 Regular expression to match a token in the compact syntax. (defconst rng-c-token-re (concat "[&|]=" "\\|" "[][()|&,*+?{}~=-]" "\\|" rng-c-literal-1-re "\\|" rng-c-literal-2-re "\\|" rng-c-ncname-re "\\(:\\(\\*\\|" rng-c-ncname-re "\\)\\)?" "\\|" "\\\\" rng-c-ncname-re "\\|" ">>") (#$ . 2538)) (defalias 'rng-c-init-buffer #[nil "\302\303\304!\210\305 !\207" [case-fold-search rng-c-syntax-table nil set-buffer-multibyte t set-syntax-table] 2]) (byte-code "\301B\302\301!\204\f\303\304\301!\207" [current-load-list rng-c-current-token boundp nil make-variable-buffer-local] 2) (defalias 'rng-c-advance #[nil "\302!\203\303\304!\304\225b\210\305d!\207`dU\203\306\211\207\307\310!\207" [rng-c-token-re rng-c-current-token looking-at match-string 0 forward-comment "" rng-c-error "Invalid token"] 2]) (byte-code "\302B\303 \304 \305\260\302\207" [current-load-list rng-c-ncname-re rng-c-anchored-datatype-name-re "\\`" ":" "\\'"] 5) (defalias 'rng-c-current-token-keyword-p #[nil "\302 \"\207" [rng-c-anchored-keyword-re rng-c-current-token string-match] 3]) (put 'rng-c-current-token-keyword-p 'byte-optimizer 'byte-compile-inline-expand) (defalias 'rng-c-current-token-prefixed-name-p #[nil "\302 \"\207" [rng-c-anchored-datatype-name-re rng-c-current-token string-match] 3]) (put 'rng-c-current-token-prefixed-name-p 'byte-optimizer 'byte-compile-inline-expand) (defalias 'rng-c-current-token-literal-p #[nil "\301\302\"\207" [rng-c-current-token string-match "\\`['\"]"] 3]) (put 'rng-c-current-token-literal-p 'byte-optimizer 'byte-compile-inline-expand) (defalias 'rng-c-current-token-quoted-identifier-p #[nil "\301\302\"\207" [rng-c-current-token string-match "\\`\\\\"] 3]) (put 'rng-c-current-token-quoted-identifier-p 'byte-optimizer 'byte-compile-inline-expand) (defalias 'rng-c-current-token-ncname-p #[nil "\302 \"\207" [rng-c-anchored-ncname-re rng-c-current-token string-match] 3]) (put 'rng-c-current-token-ncname-p 'byte-optimizer 'byte-compile-inline-expand) (defalias 'rng-c-current-token-ns-name-p #[nil "G\211\302V\205 SH\303U)\207" [rng-c-current-token len 0 42] 3]) (byte-code "\304\305\306\307#\210\301B\310\301!\204\311\302B\310\302!\204\311\303B\310\303!\204*\311\311\207" [current-load-list rng-c-inherit-namespace rng-c-default-namespace rng-c-default-namespace-declared put rng-c-current-token-ns-name-p byte-optimizer byte-compile-inline-expand boundp nil] 4) #@34 Alist of namespace declarations. (defvar rng-c-namespace-decls nil (#$ . 4972)) (byte-code "\301B\302\302\207" [current-load-list rng-c-no-namespace nil] 2) (defalias 'rng-c-declare-standard-namespaces #[nil "\305B B\n?\205 \205 \211\207" [nxml-xml-namespace-uri rng-c-namespace-decls rng-c-default-namespace-declared rng-c-inherit-namespace rng-c-default-namespace "xml"] 2]) (defalias 'rng-c-expand-name #[(prefixed-name) "\302\303\"\304\305\306 O! T\307O\")\207" [prefixed-name i string-match ":" rng-make-name rng-c-lookup-prefix 0 nil] 5]) (defalias 'rng-c-lookup-prefix #[(prefix) "\303 \"\211\204\304\305\"\210\nA)\207" [prefix rng-c-namespace-decls binding assoc rng-c-error "Undefined prefix %s"] 4]) (defalias 'rng-c-unqualified-namespace #[(attribute) "\203 \207\n\207" [attribute rng-c-no-namespace rng-c-default-namespace] 1]) (defalias 'rng-c-make-context #[nil " B\207" [rng-c-default-namespace rng-c-namespace-decls] 2]) (byte-code "\302B\304 \305\"\303B\304 \306\"\302\207" [current-load-list rng-builtin-datatypes-uri rng-string-datatype rng-token-datatype rng-make-datatype "string" "token"] 3) #@119 Alist of datatype declarations. Contains a list of pairs (PREFIX . URI) where PREFIX is a string and URI is a symbol. (defvar rng-c-datatype-decls nil (#$ . 6122)) (defalias 'rng-c-declare-standard-datatypes #[nil "\302B B\211\207" [rng-xsd-datatypes-uri rng-c-datatype-decls "xsd"] 2]) (defalias 'rng-c-lookup-datatype-prefix #[(prefix) "\303 \"\211\204\304\305\"\210\nA)\207" [prefix rng-c-datatype-decls binding assoc rng-c-error "Undefined prefix %s"] 4]) (defalias 'rng-c-expand-datatype #[(prefixed-name) "\302\303\"\304\305\306 O! T\307O\")\207" [prefixed-name i string-match ":" rng-make-datatype rng-c-lookup-datatype-prefix 0 nil] 5]) (byte-code "\301B\303\301!\204\f\304\302B\303\302!\204\304\304\207" [current-load-list rng-c-current-grammar rng-c-parent-grammar boundp nil] 2) (defalias 'rng-c-make-grammar #[nil "\300\301\302\"\207" [make-hash-table :test equal] 3]) (byte-code "\301B\303\302B\304\301\207" [current-load-list rng-c-about-override-slot rng-c-about-combine-slot 0 1] 2) #@246 Return a def object for NAME. A def object is a pair (ABOUT . REF) where REF is returned by `rng-make-ref'. ABOUT is a two-element vector [OVERRIDE COMBINE]. COMBINE is either nil, choice or interleave. OVERRIDE is either nil, require or t. (defalias 'rng-c-lookup-create #[(name grammar) "\303 \"\211\203 \n\202\304\305\211\"\306!B\307\n #\210\n)\207" [name grammar def gethash vector nil rng-make-ref puthash] 5 (#$ . 7154)]) (defalias 'rng-c-make-ref #[(name) "\204\302\303!\210\304 \"A\207" [rng-c-current-grammar name rng-c-error "Reference not in a grammar" rng-c-lookup-create] 3]) (defalias 'rng-c-make-parent-ref #[(name) "\204\302\303!\210\304 \"A\207" [rng-c-parent-grammar name rng-c-error "Reference to non-existent parent grammar" rng-c-lookup-create] 3]) #@40 Contains a list of (NAME . DEF) pairs. (defvar rng-c-overrides nil (#$ . 7950)) (defalias 'rng-c-merge-combine #[(def combine name) "@\211\nH\f\203# \203\f =\206$\306\307 \"\202$ \n\fI\202$ *\207" [def about rng-c-about-combine-slot current-combine combine name rng-c-error "Inconsistent combine for %s"] 4]) (defalias 'rng-c-prepare-define #[(name combine in-include) "\306 \"\211@\211\fH\203\nBB \203, \307=\203( \f\310I\210\311\202F\312\n#\313\nA!\203E\204E\314\315\"\210\n+\207" [name rng-c-current-grammar def about rng-c-about-override-slot overridden rng-c-lookup-create require t nil rng-c-merge-combine rng-ref-get rng-c-error "Duplicate definition of %s" in-include rng-c-overrides combine] 5]) (defalias 'rng-c-start-include #[(overrides) "\301\302\"\207" [overrides mapcar #[(name-def) "A\211@\211 H\n \305I\210\f+B\207" [name-def def about rng-c-about-override-slot save require] 4]] 3]) (defalias 'rng-c-end-include #[(overrides) "\301\302\"\207" [overrides mapcar #[(o) "@A\211@\nA\211@\211 H\306=\203\307\310 \"\210  I-\207" [o saved name-def name def about require rng-c-error "Definition of %s in include did not override definition in included file" rng-c-about-override-slot] 4]] 3]) (defalias 'rng-c-define #[(def value) "\205,\304A!\305A \203)@\nH\306=\203!\307 D!\202*\310 D!\202* \")\207" [def current-value rng-c-about-combine-slot value rng-ref-get rng-ref-set choice rng-make-choice rng-make-interleave] 5]) (defalias 'rng-c-finish-grammar #[nil "\301\302\"\210\303\304\305\"\206\306\307!A!\207" [rng-c-current-grammar maphash #[(key def) "\302A!\206 \303\304 \"\207" [def key rng-ref-get rng-c-error "Reference to undefined pattern %s"] 3] rng-ref-get gethash start rng-c-error "No definition of start"] 4]) (byte-code "\301B\304\301!\204\f\305\306\301!\210\302B\304\302!\204\305\306\302!\210\303B\304\303!\204,\305\305\207" [current-load-list rng-c-escape-positions rng-c-file-name rng-c-file-index boundp nil make-variable-buffer-local] 2) (defalias 'rng-c-parse-file #[(filename &optional context) "\212\304\305!!q\210\306 \210\307 \210\310 !@\311\312 \210\313!)\207" [context filename rng-c-file-name rng-c-escape-positions get-buffer-create rng-c-buffer-name erase-buffer rng-c-init-buffer insert-file-contents nil rng-c-process-escapes rng-c-parse-top-level] 3]) (defalias 'rng-c-buffer-name #[(context) "\302\203\303\304 T\211!\305Q\202\306\307P\207" [context rng-c-file-index " *RNC Input" "<" number-to-string ">*" 1 "*"] 5]) (defalias 'rng-c-process-escapes #[nil "\306\307\310\311#\211\203\312\313!\210)\314\315\316d\311#\203^\317\320\321\322\323!\324\"\"\211\203V\n\314V\203V\314\224\314\225\211 |\210\n\325=\203A\314\202B\nc\210 \fZ\323Z\\` B B*\202Z\312\326!\210)\202)\323b\207" [pos offset ch end begin rng-c-escape-positions search-forward "" nil t rng-c-error "Nul character found (binary file?)" 0 re-search-forward "\\\\x+{\\([0-9a-fA-F]+\\)}" decode-char ucs string-to-number match-string 1 16 10 "Invalid character escape"] 6]) (defalias 'rng-c-translate-position #[(pos) "\211\203 \211@@) V\203 A\211\204 \203' \211@A)\\\202( )\207" [rng-c-escape-positions tem x pos] 3]) (defalias 'rng-c-error #[(&rest args) "\302\303`!\304\305 \"#\207" [rng-c-file-name args rng-c-signal-incorrect-schema rng-c-translate-position apply format] 6]) (defalias 'rng-c-parse-top-level #[(context) "\306\211\211eb\210\307d!\210\310 \210\311 \210 \312=\203)\313 \203$\314\315!\2025\316 \2025\313 \2033\317 \2025\320  \315\230\204@\321\322!\210\f,\207" [rng-c-datatype-decls rng-c-default-namespace rng-c-namespace-decls context p rng-c-current-token nil forward-comment rng-c-advance rng-c-parse-decls include rng-c-implicit-grammar-p rng-c-parse-grammar-body "" rng-c-parse-included-grammar rng-c-parse-implicit-grammar rng-c-parse-pattern rng-c-error "Unexpected characters after pattern"] 3]) (defalias 'rng-c-parse-included-grammar #[nil "\301\230\204\n\302\303!\210\304 \210\305\306!\210\307\310!\207" [rng-c-current-token "grammar" rng-c-error "Included schema is not a grammar" rng-c-advance rng-c-expect "{" rng-c-parse-grammar-body "}"] 2]) (defalias 'rng-c-implicit-grammar-p #[nil "\304 \"\204\304\305 \"\204\304\n \"\203\"\304 \"\204\"\306\307!\2064 \310\230\203+\311 \210 \312\235\2064\306\313!\207" [rng-c-anchored-datatype-name-re rng-c-current-token rng-c-anchored-ncname-re rng-c-anchored-keyword-re string-match "\\`\\\\" looking-at "\\[" "[" rng-c-parse-lead-annotation ("div" "include" "") "[|&]?="] 3]) (defalias 'rng-c-parse-decls #[nil "\303\304 \305\"\211\205\306 \210\nA \210\307)\204\310 \210\311 \207" [rng-c-default-namespace-declared rng-c-current-token binding nil assoc (("namespace" . rng-c-parse-namespace) ("datatypes" . rng-c-parse-datatypes) ("default" . rng-c-parse-default)) rng-c-advance t rng-c-declare-standard-datatypes rng-c-declare-standard-namespaces] 4]) (defalias 'rng-c-parse-datatypes #[nil "\302 \303 \"\203\304\305\"\210\306\307!\210\310\311 !B B\211)\207" [prefix rng-c-datatype-decls rng-c-parse-identifier-or-keyword assoc rng-c-error "Duplicate datatypes declaration for prefix %s" rng-c-expect "=" rng-make-datatypes-uri rng-c-parse-literal] 3]) (defalias 'rng-c-parse-namespace #[nil "\300\301\302 \"\207" [rng-c-declare-namespace nil rng-c-parse-identifier-or-keyword] 3]) (defalias 'rng-c-parse-default #[nil "\301\302!\210\303\304\305\230?\205\306 \"\207" [rng-c-current-token rng-c-expect "namespace" rng-c-declare-namespace t "=" rng-c-parse-identifier-or-keyword] 4]) (defalias 'rng-c-declare-namespace #[(declare-default prefix) "\306\307!\210\310\230\203\311 \210 \202\312\313 ! \203.\314 \f\"\203(\315\316 \"\203. \nB\fB \205H\203=\315\317!\205H\320\211\205H\n\211)\207" [rng-c-current-token rng-c-inherit-namespace ns prefix rng-c-namespace-decls declare-default rng-c-expect "=" "inherit" rng-c-advance nxml-make-namespace rng-c-parse-literal assoc rng-c-error "Duplicate namespace declaration for prefix %s" "Duplicate default namespace declaration" t rng-c-default-namespace-declared rng-c-default-namespace] 3]) (defalias 'rng-c-parse-implicit-grammar #[nil "\302 \303\304!\210\305 *\207" [rng-c-current-grammar rng-c-parent-grammar rng-c-make-grammar rng-c-parse-grammar-body "" rng-c-finish-grammar] 2]) (defalias 'rng-c-parse-grammar-body #[(close-token &optional in-include) " \230\204\274\306\n\"\203N\307!\211\310=\203\311\310\f\"\210\202J \312=\203/\313 \210\314\f!\210\202J \315=\203F\f\203=\316\317!\210\313 \210\320 \210\202J\316\321!\210)\202\306 \"\203i\322\323!\203a\324 \210\202\311\f\"\210\202\306\325\"\203\207\322\323!\203|\324 \210\202\311\326\327O\f\"\210\202\306\"\203\225\324 \210\202\330\230\203\265\331 \210 \230\203\250\316\332!\210\322\323!\203\316\333!\210\202\316\334!\210\202\335\230\206\304\313 \207" [rng-c-current-token close-token rng-c-anchored-keyword-re kw in-include rng-c-anchored-ncname-re string-match intern start rng-c-parse-define div rng-c-advance rng-c-parse-div include rng-c-error "Nested include" rng-c-parse-include "Invalid grammar keyword" looking-at "\\[" rng-c-parse-annotation-element "\\`\\\\" 1 nil "[" rng-c-parse-lead-annotation "Missing annotation subject" "Leading annotation applied to annotation" "Invalid grammar content" "" rng-c-anchored-datatype-name-re] 5]) (defalias 'rng-c-parse-div #[(in-include) "\301\302!\210\303\304\"\207" [in-include rng-c-expect "{" rng-c-parse-grammar-body "}"] 3]) (defalias 'rng-c-parse-include #[nil "\305\306 !\307 \310 \311\230\203,\312 \210\310\313\314\315\"\210\f)\316\n!\317\320\"\210\321\n!\2020\317\320\"+\207" [filename rng-c-inherit-namespace overrides rng-c-current-token rng-c-overrides rng-c-expand-file rng-c-parse-literal rng-c-parse-opt-inherit nil "{" rng-c-advance rng-c-parse-grammar-body "}" t rng-c-start-include rng-c-parse-file include rng-c-end-include] 3]) (defalias 'rng-c-parse-define #[(name in-include) "\305 \210\306\307\"\211\204\310\311!\210\305 \210\312\n A #\313\f\314 \"*\207" [rng-c-current-token assign name in-include ref rng-c-advance assoc (("=") ("|=" . choice) ("&=" . interleave)) rng-c-error "Expected assignment operator" rng-c-prepare-define rng-c-define rng-c-parse-pattern] 5]) (byte-code "\301B\302\301!\204\f\303\303\207" [current-load-list rng-c-had-except boundp nil] 2) (defalias 'rng-c-parse-pattern #[nil "\306\307 \310\n\311\"\211\203B\203\312\313!\202C \306B\211\n \314 \210\307 \306B \241\210)\n \230\204! A\f!+\202C +\207" [rng-c-had-except p rng-c-current-token op patterns tail nil rng-c-parse-repeated assoc (("|" . rng-make-choice) ("," . rng-make-group) ("&" . rng-make-interleave)) rng-c-error "Parentheses required around pattern using -" rng-c-advance connector newcdr] 4]) (defalias 'rng-c-parse-repeated #[nil "\304\305 !\306\307\" \203$ \203\310\311!\202%\304\312 \210 A\n!!\202%\n*\207" [rng-c-current-token op p rng-c-had-except rng-c-parse-follow-annotations rng-c-parse-primary assoc (("*" . rng-make-zero-or-more) ("+" . rng-make-one-or-more) ("?" . rng-make-optional)) rng-c-error "Parentheses required around pattern using -" rng-c-advance] 4]) #@174 Parse a primary expression. The current token must be the first token of the expression. After parsing the current token should be token following the primary expression. (defalias 'rng-c-parse-primary #[nil "\306 \"\203\307 !\310N\211\204\311\312 \"\210\313 \210\n )\207\306 \"\203*\314\315 !!\207 \316\230\203=\313 \210\317 \320\321!\210\f)\207\306 \"\203R\322 !\313 \210\323!)\207\306\324 \"\203a\325\326 \327#\207\306\330 \"\203q\314\315 \331\327O!!\207 \332\230\203}\333 \210\334 \207\311\335!\207" [rng-c-anchored-keyword-re rng-c-current-token parse-function rng-c-anchored-ncname-re p rng-c-anchored-datatype-name-re string-match intern rng-c-pattern rng-c-error "Keyword %s does not introduce a pattern" rng-c-advance rng-c-advance-with rng-c-make-ref "(" rng-c-parse-pattern rng-c-expect ")" rng-c-expand-datatype rng-c-parse-data "\\`['\"]" rng-make-value rng-c-parse-literal nil "\\`\\\\" 1 "[" rng-c-parse-lead-annotation rng-c-parse-primary "Invalid pattern" name rng-token-datatype] 6 (#$ . 17267)]) (defalias 'rng-c-parse-parent #[nil "\301 \203\n\302\303\"\210\304\305 !\207" [rng-c-current-token rng-c-current-token-keyword-p rng-c-error "Keyword following parent was not quoted" rng-c-make-parent-ref rng-c-parse-identifier-or-keyword] 3]) (defalias 'rng-c-parse-literal #[nil "\300\301\302\303 \"!\207" [rng-c-fix-escaped-newlines apply concat rng-c-parse-literal-segments] 4]) (defalias 'rng-c-parse-literal-segments #[nil "\302 \211 \303\230\203\304 \210\305 \202\306)B\207" [str rng-c-current-token rng-c-parse-literal-segment "~" rng-c-advance rng-c-parse-literal-segments nil] 4]) (defalias 'rng-c-parse-literal-segment #[nil "\302 \204 \303\304!\210\305G\306Y\203\307H\310H=\203\311\202 \310 \211[O)!\207" [rng-c-current-token n rng-c-current-token-literal-p rng-c-error "Expected a literal" rng-c-advance-with 6 0 1 3] 4]) (defalias 'rng-c-fix-escaped-newlines #[(str) "\303\304\305 #\211\205 \n\306I\205\nT\211)\204) \207" [pos str n 0 string-match "" 10] 5]) (defalias 'rng-c-parse-identifier-or-keyword #[nil "\302 \"\203 \303 !\207\302\304 \"\203\303 \305\306O!\207\307\310!\207" [rng-c-anchored-ncname-re rng-c-current-token string-match rng-c-advance-with "\\`\\\\" 1 nil rng-c-error "Expected identifier or keyword"] 4]) (byte-code "\300\301\302\303#\210\300\304\302\305#\210\300\306\302\307#\210\300\310\302\311#\210\300\312\302\313#\210\300\314\302\315#\210\300\316\302\317#\210\300\320\302\321#\210\300\322\302\323#\210\300\324\302\325#\210\300\326\302\327#\210\300\330\302\331#\207" [put string rng-c-pattern rng-c-parse-string token rng-c-parse-token element rng-c-parse-element attribute rng-c-parse-attribute list rng-c-parse-list mixed rng-c-parse-mixed text rng-c-parse-text empty rng-c-parse-empty notAllowed rng-c-parse-not-allowed grammar rng-c-parse-grammar parent rng-c-parse-parent external rng-c-parse-external] 4) (defalias 'rng-c-parse-element #[nil "\302\303!\304\305!\210\306 \304\307!\210\310 \"*\207" [name-class pattern rng-c-parse-name-class nil rng-c-expect "{" rng-c-parse-pattern "}" rng-make-element] 3]) (defalias 'rng-c-parse-attribute #[nil "\302\303!\304\305!\210\306 \304\307!\210\310 \"*\207" [name-class pattern rng-c-parse-name-class attribute rng-c-expect "{" rng-c-parse-pattern "}" rng-make-attribute] 3]) (defalias 'rng-c-parse-name-class #[(attribute) "\306\307\310 !! \311\230\203>\n\306B\211\203\312\313!\210\314 \210\307\310 !!\306B \241\210) \311\230\204\315\f!*\202?\n*\207" [rng-c-had-except attribute name-class rng-c-current-token name-classes tail nil rng-c-parse-follow-annotations rng-c-parse-primary-name-class "|" rng-c-error "Parentheses required around name-class using - operator" rng-c-advance rng-make-choice-name-class newcdr] 4]) (defalias 'rng-c-parse-primary-name-class #[(attribute) "\306 \"\203\307\310\311\312\n! \"!!\207\306 \"\203!\307\310\313 !!!\207 \314\230\2039\315\n!\211\2035\316\f!\2027\317 )\207 G\211\320V\205H SH\321U)\203j\322 \320\323O!#\315\n!\211\203d\324#\f\"\202h\325#!*\207 \326\230\203\200\327 \210\330\n!$\331\332!\210$)\207\306\333 \"\203\225\307\310\311\312\n! \334\335O\"!!\207 \336\230\203\242\337 \210\340\n!\207\341\342!\207" [rng-c-anchored-ncname-re rng-c-current-token attribute rng-c-anchored-datatype-name-re except len string-match rng-c-advance-with rng-make-name-name-class rng-make-name rng-c-unqualified-namespace rng-c-expand-name "*" rng-c-parse-opt-except-name-class rng-make-any-name-except-name-class rng-make-any-name-name-class 0 42 rng-c-lookup-prefix -2 rng-make-ns-name-except-name-class rng-make-ns-name-name-class "(" rng-c-advance rng-c-parse-name-class rng-c-expect ")" "\\`\\\\" 1 nil "[" rng-c-parse-lead-annotation rng-c-parse-primary-name-class rng-c-error "Bad name class" ns name-class] 8]) (defalias 'rng-c-parse-opt-except-name-class #[(attribute) "\303 \210\304\230\205 \203\305\306!\205\307\211\205\303 \210\310\n!\207" [rng-c-current-token rng-c-had-except attribute rng-c-advance "-" rng-c-error "Parentheses required around name-class using - operator" t rng-c-parse-primary-name-class] 2]) (defalias 'rng-c-parse-mixed #[nil "\301\302!\210\303\304 !\301\305!\210)\207" [pattern rng-c-expect "{" rng-make-mixed rng-c-parse-pattern "}"] 2]) (defalias 'rng-c-parse-list #[nil "\301\302!\210\303\304 !\301\305!\210)\207" [pattern rng-c-expect "{" rng-make-list rng-c-parse-pattern "}"] 2]) (defalias 'rng-c-parse-text #[nil "\300 \207" [rng-make-text] 1]) (defalias 'rng-c-parse-empty #[nil "\300 \207" [rng-make-empty] 1]) (defalias 'rng-c-parse-not-allowed #[nil "\300 \207" [rng-make-not-allowed] 1]) (defalias 'rng-c-parse-string #[nil "\301!\207" [rng-string-datatype rng-c-parse-data] 2]) (defalias 'rng-c-parse-token #[nil "\301!\207" [rng-token-datatype rng-c-parse-data] 2]) (defalias 'rng-c-parse-data #[(name) "\304\305\"\203\306 \307 @\205\310 #\207\311 \312\230\2036 \203(\313\314!\210\202*\315\316 \210\317 \n\320 #\202:\321 \n\")\207" [rng-c-current-token name params rng-c-had-except string-match "\\`['\"]" rng-make-value rng-c-parse-literal rng-c-make-context rng-c-parse-optional-params "-" rng-c-error "Parentheses required around pattern using -" t rng-c-advance rng-make-data-except rng-c-parse-primary rng-make-data] 4]) (defalias 'rng-c-parse-optional-params #[nil "\305\230\205>\306\211B\211\307 \210\310\230\2048\311\230\203\312 \210\313 \314\315!\210\316 !\317 B\306B\n\f\241\210\f*\202\307 \210 A*\207" [rng-c-current-token head tail name newcdr "{" nil rng-c-advance "}" "[" rng-c-parse-lead-annotation rng-c-parse-identifier-or-keyword rng-c-expect "=" intern rng-c-parse-literal] 3]) (defalias 'rng-c-parse-external #[nil "\302\303 !\304 \305\306\"*\207" [filename rng-c-inherit-namespace rng-c-expand-file rng-c-parse-literal rng-c-parse-opt-inherit rng-c-parse-file external] 3]) (defalias 'rng-c-expand-file #[(uri) "\300\301\302\217\207" [err (byte-code "\302\303\304 !\"!\207" [uri rng-c-file-name rng-uri-file-name rng-uri-resolve rng-file-name-uri] 5) ((rng-uri-error (byte-code "\302\211A@)!\207" [err x rng-c-error] 3)))] 3]) (defalias 'rng-c-parse-opt-inherit #[nil "\302\230\203\303 \210\304\305!\210\306\307 !\207 \207" [rng-c-current-token rng-c-default-namespace "inherit" rng-c-advance rng-c-expect "=" rng-c-lookup-prefix rng-c-parse-identifier-or-keyword] 2]) (defalias 'rng-c-parse-grammar #[nil "\302\303!\210\304 \305\306!\210\307 *\207" [rng-c-current-grammar rng-c-parent-grammar rng-c-expect "{" rng-c-make-grammar rng-c-parse-grammar-body "}" rng-c-finish-grammar] 2]) (defalias 'rng-c-parse-lead-annotation #[nil "\301 \210\302\230\205\f\303\304!\207" [rng-c-current-token rng-c-parse-annotation-body "[" rng-c-error "Multiple leading annotations"] 2]) (defalias 'rng-c-parse-follow-annotations #[(obj) "\303\230\203 \304 \210\305 \"\203\304 \210\202\306 \210\307\310!\210\202\n\207" [rng-c-current-token rng-c-anchored-datatype-name-re obj ">>" rng-c-advance string-match rng-c-parse-identifier-or-keyword rng-c-parse-annotation-body t] 3]) (defalias 'rng-c-parse-annotation-element #[nil "\300 \210\301\302!\207" [rng-c-advance rng-c-parse-annotation-body t] 2]) #@94 Current token is [. Parse up to matching ]. Current token after parse is token following ]. (defalias 'rng-c-parse-annotation-body #[(&optional allow-text) "\303\230\204\n\304\305!\210\306 \210\307\230\204[\310\311\"\203( \204\"\304\312!\210\313 \210\202 \310\n\"\2035\306 \210\2028\314 \210\303\230\203E\315\316!\210\202 \317\230\203T\306 \210\313 \210\202 \304\320!\210\202 \306 \207" [rng-c-current-token allow-text rng-c-anchored-datatype-name-re "[" rng-c-error "Expected [" rng-c-advance "]" string-match "\\`['\"]" "Out of place text within annotation" rng-c-parse-literal rng-c-parse-identifier-or-keyword rng-c-parse-annotation-body t "=" "Expected = or ["] 3 (#$ . 25525)]) (defalias 'rng-c-advance-with #[(pattern) "\301 \210\207" [pattern rng-c-advance] 1]) (defalias 'rng-c-expect #[(str) " \230\204\f\302\303 #\210\304 \207" [rng-c-current-token str rng-c-error "Expected `%s' but got `%s'" rng-c-advance] 4]) (provide 'rng-cmpct)