%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/progmodes/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/progmodes/ebnf-iso.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.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(require 'ebnf-otz)
#@44 Value returned by `ebnf-iso-lex' function.
(defvar ebnf-iso-lex nil (#$ . 428))
#@55 Used by `ebnf-iso-term' and `ebnf-iso-lex' functions.
(defvar ebnf-no-meta-identifier nil (#$ . 514))
#@18 ISO EBNF parser.
(defalias 'ebnf-iso-parser #[(start) "	ZT	S`\306\211\211	b\210\307 \211\310=\203\"\311\312!\210\310=\204S\313`Z\314_\245\315\316\"\"\266\317!\211A@\320\n!\204\"\n\fB\202\"
b\210\f.\207" [ebnf-limit start rule token syntax-list origin nil ebnf-iso-lex end-of-input error "Invalid ISO EBNF file format" "Parsing...%s%%" 100.0 message format ebnf-iso-syntax-rule ebnf-add-empty-rule-list bias total ebnf-message-float] 8 (#$ . 622)])
(defalias 'ebnf-iso-syntax-rule #[(token) "	\306\306
\307=\204\310\311!\210\300 \312=\204\310\313!\210\314 \211@\315=\204+\310\316!\210\nA\317\f!\210\300 \320\f\n#+B\207" [ebnf-iso-lex ebnf-action body action header token nil non-terminal error "Invalid meta identifier syntax rule" equal "Invalid syntax rule: missing `='" ebnf-iso-definition-list period "Invalid syntax rule: missing `;' or `.'" ebnf-eps-add-production ebnf-make-production] 6])
(defalias 'ebnf-iso-definition-list #[nil "\302\211\303 \211@\304=\203A\211	B\202\305	\"*\207" [sequence body nil ebnf-iso-single-definition alternative ebnf-token-alternative] 4])
(defalias 'ebnf-iso-single-definition #[nil "\303\211\211\304\305 !\211@A\211\203\"\n\306=\203\"	B\202\n\307\203.	B\202/	!+B\207" [term seq token nil ebnf-iso-term ebnf-iso-lex catenate ebnf-token-sequence] 5])
(defalias 'ebnf-iso-term #[(token) "\303!\211@\304=\204	\202\305\306	A\303\307 !\"))\207" [token factor ebnf-no-meta-identifier ebnf-iso-factor except t ebnf-token-except ebnf-iso-lex] 5])
(defalias 'ebnf-iso-factor #[(token) "\303=\203	\301 \304=\204\305\306!\210\307\n\310\301 !\")\207\310!\207" [token ebnf-iso-lex times integer repeat error "Missing `*'" ebnf-token-repeat ebnf-iso-primary] 4])
(defalias 'ebnf-iso-primary #[(token) "\305\267\202Z\306	!\202[\307	!\202[\310	!\202[\311 \211@\312=\204&\313\314!\210\nA)\202[\311 \211@\315=\204:\313\316!\210\317\nA!)\202[\311 \211A\n@\320=\204S\313\321!\210\322!*\202[\323\211\203e\301 \202f\f)B\207" [token ebnf-iso-lex body repeat primary #s(hash-table size 6 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (terminal 6 non-terminal 12 special 18 begin-group 24 begin-optional 44 begin-zero-or-more 66)) ebnf-make-terminal ebnf-make-non-terminal ebnf-make-special ebnf-iso-definition-list end-group error "Missing `)'" end-optional "Missing `]' or `/)'" ebnf-token-optional end-zero-or-more "Missing `}' or `:)'" ebnf-make-zero-or-more nil] 3])
#@51 Vector used to map characters to a lexical token.
(defconst ebnf-iso-token-table (byte-code "\302\303\304\"\305\306W\203	\307I\210T\211\202\310W\203+	\311I\210T\211\202\312W\203=	\307I\210T\211\202,\313W\203O	\314I\210T\211\202>\315W\203a	\307I\210T\211\202P\316W\203s	\314I\210T\211\202b\317W\203\205	\307I\210T\211\202t\320\211\303W\203\231	\314I\210T\211\202\210	\321\322I\210	\323\322I\210	\324\322I\210	\325\322I\210	\305\322I\210	\326\327I\210	\330\314I\210	\331\332I\210	\333\334I\210	\335\336I\210	\337\340I\210	\341\342I\210	\343\344I\210	\345\346I\210	\347\350I\210	*\207" [char table make-vector 256 error 32 48 character 58 integer 65 91 non-terminal 97 123 127 160 11 space 10 13 9 12 form-feed 95 34 double-terminal 39 single-terminal 63 special 42 repeat 44 catenate 45 except 61 equal 41 end-group] 4) (#$ . 3137))
#@34 Initialize ISO EBNF token table.
(defalias 'ebnf-iso-initialize #[nil "\203;	\302\303I\210	\304\305I\210	\306\305I\210	\307\305I\210	\310\305I\210	\311\305I\210	\312\305I\210	\313\314I\210	\315\316I\210	\317\320I\210	\321\322I\207	\302\323I\210	\304\324I\210	\306\325I\210	\307\326I\210	\310\327I\210	\311\316I\210	\312\322I\210	\313\305I\210	\315\305I\210	\317\305I\210	\321\305I\207" [ebnf-iso-alternative-p ebnf-iso-token-table 40 left-parenthesis 91 character 93 123 125 124 59 47 slash 33 alternative 58 colon 46 period begin-parenthesis begin-optional end-optional begin-zero-or-more end-zero-or-more] 3 (#$ . 4027)])
(defconst ebnf-iso-non-terminal-chars (ebnf-range-regexp " 0-9A-Za-z_" 160 255))
#@105 Lexical analyzer for ISO EBNF.

Return a lexical token.

See documentation for variable `ebnf-iso-lex'.
(defalias 'ebnf-iso-lex #[nil "`Y\203\306\207\307g\310V\203\311\202W\ngH\211\312=\203)\313w\210`W\202T	\314=\2045	\315=\203D\307u\210g\316U\203W\317 \210\202\n	\320=\203S\307u\210\320\211\202T\307\204\n`Y\203a\306\202	\321\267\202\311\322!\202\323\324!\325\202
\205z\326\327\330\331\332#
\205\204\326Q\333\202\327\334\335\336#\337\202\327\340\341\336#\337\202\342\343\3230!!!1\203\260\311\344!\210\345\202\307u\210g\346U\203\304\307u\210\347\202g\350U\203\321\307u\210\351\202\352\202\307u\210g\353U\204\342\354\202\307u\210\355\202\307u\210g\353U\204\366\356\202\307u\210\357\202\352\202\307u\210	)\207" [ebnf-limit token ebnf-iso-token-table ebnf-action ebnf-iso-lex ebnf-special-show-delimiter end-of-input nil 255 error space " \n
	" begin-parenthesis left-parenthesis 42 ebnf-iso-skip-comment form-feed #s(hash-table size 10 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (error 103 integer 109 special 117 double-terminal 138 single-terminal 148 non-terminal 158 left-parenthesis 180 slash 213 colon 233 begin-parenthesis 253)) "Invalid character" ebnf-buffer-substring "0-9" integer "?" ebnf-string " ->@-~" 63 "special" special " !#-~" 34 "terminal" terminal " -&(-~" 39 ebnf-iso-normalize ebnf-trim-right "Exception sequence should not contain a meta identifier" non-terminal 47 begin-optional 58 begin-zero-or-more begin-group 41 alternative end-optional character end-zero-or-more ebnf-iso-non-terminal-chars ebnf-no-meta-identifier] 6 (#$ . 4741)])
(defconst ebnf-iso-comment-chars (ebnf-range-regexp "^*(--" 127 159))
(defalias 'ebnf-iso-skip-comment #[nil "\306u\210\203g\307U\203\310\311 !\210\202O\203'g\312U\203'\313\311 !\210\202O\2039g\314U\2039\315\311 !\210\202O\203Kg\316U\203K\317\311 !\210\202O	gH\320\321V\205\243\f
w\210`
Y\203h\322\323!\210\202Qg\324U\203\202\325
w\210g\326U\203Q\306u\210S\211\202Rg\327U\203\234\330
w\210g\324U\203Q\306u\210T\211\202R\322\331!\210\202Q)\207" [ebnf-eps-executing ebnf-comment-table ebnf-action pair ebnf-iso-comment-chars ebnf-limit nil 91 ebnf-eps-add-context ebnf-iso-eps-filename 93 ebnf-eps-remove-context 72 ebnf-eps-header-comment 70 ebnf-eps-footer-comment 1 0 error "Missing end of comment: `*)'" 42 "*" 41 40 "(" "Invalid character"] 3])
(defalias 'ebnf-iso-eps-filename #[nil "\304u\210\305`\306P\304	\204P\nw\210`Y\203`\202Kg\307U\2034\310w\210g\311U\205K\312u\210`\202Kg\313U\203J\304u\210g\307U\205K\312u\210`\202K`\211\203	*\"\207" [ebnf-iso-comment-chars found chars ebnf-limit nil buffer-substring-no-properties "\n" 42 "*" 41 -1 40] 5])
(defalias 'ebnf-iso-normalize #[(str) "\204	\207	G\306\211\fW\203<	H\307U\204\"T\211\202T\fW\203
	H\307U\203
T\nT\202%\n\306U\203F	\202\261\310\f\nZ\307\"\306	\306\n\306V\203\227	H\307U\204q	
	HI\210T
T\202R	
	HI\210T
T\n\306V\203R	H\307U\203RT\nS\211\202\200\fW\203\256	
	HI\210T
T\202\227	*+\207" [ebnf-iso-normalize-p str spaces stri len newi 0 32 make-string new] 5])
(provide 'ebnf-iso)

Zerion Mini Shell 1.0