%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-bnf.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-bnf-lex' function.
(defvar ebnf-bnf-lex nil (#$ . 428))
#@14 EBNF parser.
(defalias 'ebnf-bnf-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 prod-list origin nil ebnf-bnf-lex end-of-input error "Invalid EBNF file format" "Parsing...%s%%" 100.0 message format ebnf-production ebnf-add-empty-rule-list bias total ebnf-message-float] 8 (#$ . 514)])
(defalias 'ebnf-production #[(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-bnf-lex ebnf-action body action header token nil non-terminal error "Invalid header production" equal "Invalid production: missing `='" ebnf-body period "Invalid production: missing `.'" ebnf-eps-add-production ebnf-make-production] 6])
(defalias 'ebnf-body #[nil "\302\211\303 \211@\304=\203A\211	B\202\305	\"*\207" [sequence body nil ebnf-sequence alternative ebnf-token-alternative] 4])
(defalias 'ebnf-sequence #[nil "\303 \304\211\305\n!\211@A\211\203	B\202\n\306	!+B\207" [term seq token ebnf-bnf-lex nil ebnf-exception ebnf-token-sequence] 4])
(defalias 'ebnf-exception #[(token) "\303!\211@\304=\204	\202\303\305 !\306\nA!\210\307	A\n\"))\207" [token term exception ebnf-repeat except ebnf-bnf-lex ebnf-no-non-terminal ebnf-token-except] 4])
(defalias 'ebnf-no-non-terminal #[(node) "\303!\205O\304H\211\305\267\202M\306\307!\202N\310\311H!\202N\310\312H!\202N\310\312H!\210\310\311H!\202N\312H\211\205I\310\n@!\210\nA\211\204<\313)\202N\313)\207" [node kind seq vectorp 0 #s(hash-table size 8 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (ebnf-generate-non-terminal 16 ebnf-generate-repeat 22 ebnf-generate-optional 30 ebnf-generate-except 30 ebnf-generate-one-or-more 38 ebnf-generate-zero-or-more 38 ebnf-generate-alternative 52 ebnf-generate-sequence 52)) error "Exception sequence should not contain a non-terminal" ebnf-no-non-terminal 7 6 nil] 4])
(defalias 'ebnf-repeat #[(token) "\304=\204\n\305!\207	\306\301 \307=\204\310\311!\210\301 \211\304=\203'	\301 \312\305!\n#*\207" [token ebnf-bnf-lex upper times integer ebnf-term nil repeat error "Missing `*'" ebnf-token-repeat] 5])
(defalias 'ebnf-term #[(token) "\304!\211\203\305 \306\267\202^\305 	\2051	\307H\211\310\267\202,	\2020\311	C!\2020\312	C!)B\202a\305 \304!\211\203G	\206F\313 \203P\305 \202Q	\205Y\312	\")B\202a	B)\207" [token factor kind sep ebnf-factor ebnf-bnf-lex #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (one-or-more 17 list 53)) 0 #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (ebnf-generate-zero-or-more 33 ebnf-generate-one-or-more 33 ebnf-generate-optional 37)) ebnf-make-zero-or-more ebnf-make-one-or-more ebnf-make-empty] 5])
(defalias 'ebnf-factor #[(token) "\305\267\202k\306	!\207\307	!\207\310	!\207\311 \211@\312=\204 \313\314!\210\nA)\207\311 \211@\315=\2042\313\316!\210\317\nA!)\207\311 \211@\nA\320\321=\203R\311 \211@\nA\322\267\202f\323\f\"\202i\324\f\"\202i\313\325!,\207\320\207" [token ebnf-bnf-lex body list-part sep-part #s(hash-table size 6 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (terminal 6 non-terminal 10 special 14 begin-group 18 begin-optional 36 begin-list 56)) ebnf-make-terminal ebnf-make-non-terminal ebnf-make-special ebnf-body end-group error "Missing `)'" end-optional "Missing `]'" ebnf-token-optional nil list-separator #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (end-one-or-more 88 end-zero-or-more 95)) ebnf-make-one-or-more ebnf-make-zero-or-more "Missing `}+', `}*' or `}'"] 4])
#@51 Vector used to map characters to a lexical token.
(defconst ebnf-bnf-token-table (make-vector 256 'error) (#$ . 4354))
#@30 Initialize EBNF token table.
(defalias 'ebnf-bnf-initialize #[nil "\304\211\305W\203	\306I\210T\211\202\307W\203&	\310I\210T\211\202\311W\2038	\306I\210T\211\202'\312\211\313W\203L	\306I\210T\211\202;	\314\315I\210	\316\315I\210	\317\315I\210	\320\315I\210	\304\315I\210	\321\322I\210	\323\324I\210	\325\326I\210	\327\330I\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	\351\352I\210	\353\354I\210	\355\356I\210	\357\360I\210	\n\361I\210	\362I)\207" [char ebnf-bnf-token-table ebnf-lex-comment-char ebnf-lex-eop-char 32 48 non-terminal 58 integer 127 160 256 11 space 10 13 9 12 form-feed 34 terminal 63 special 40 begin-group 41 end-group 42 repeat 45 except 61 equal 91 begin-optional 93 end-optional 123 begin-list 124 alternative 125 end-list 47 list 43 one-or-more 36 default comment period] 4 (#$ . 4479)])
(defconst ebnf-bnf-non-terminal-chars (ebnf-range-regexp "!#%&'*-,0-:<>@-Z\\\\^-z~" 160 255))
#@101 Lexical analyzer for EBNF.

Return a lexical token.

See documentation for variable `ebnf-bnf-lex'.
(defalias 'ebnf-bnf-lex #[nil "`Y\203\306\207\307g\310V\203\311\202;\ngH\211\312\267\2027\313w\210`W\2028\314 \2028\307u\210\315\211\2028\307\204\n\307`Y\203G\306\202	\316\267\202\374\311\317!\202\307u\210\ngH\320>\203e\305 \321\202\311\322!\202\323\324!\325\202)\205y\326\327\330\331\332#)\205\204\326Q\333\202\334\335 !\336\202\323*!+\307,-.\203\302\337.
\"\211,\203\302,\340U\203\302\340\225
GU\203\302\336\202\303\341*\202\307u\210g\342U\203\327\307u\210\343\202g\344U\203\344\307u\210\345\202\345\202\307u\210g\346U\204\365\347\202\307u\210\350\202\307u\210	)\207" [ebnf-limit token ebnf-bnf-token-table ebnf-action ebnf-default-p ebnf-bnf-lex end-of-input nil 255 error #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (space 31 comment 41 form-feed 46)) " \n
	" ebnf-bnf-skip-comment form-feed #s(hash-table size 8 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (error 77 default 83 integer 107 special 115 terminal 138 non-terminal 147 end-list 199 alternative 232)) "Invalid character" (terminal non-terminal special) t "Invalid `default' element" ebnf-buffer-substring "0-9" integer "?" ebnf-string " ->@-~" 63 "special" special ebnf-unescape-string ebnf-get-string terminal string-match 0 non-terminal 43 end-one-or-more 42 end-zero-or-more 124 alternative list-separator ebnf-special-show-delimiter ebnf-bnf-non-terminal-chars ebnf-case-fold-search match case-fold-search ebnf-terminal-regexp] 6 (#$ . 5490)])
(defconst ebnf-bnf-comment-chars (ebnf-range-regexp "^\n--" 127 159))
(defalias 'ebnf-bnf-skip-comment #[nil "\305u\210\203g\306U\203\307\310 !\210\202S\203'g\311U\203'\312\310 !\210\202S\2039g\313U\2039\314\310 !\210\202S\203Kg\315U\203K\316\310 !\210\202S	gH\fw\210`\fY\203[\305\207g\317U\203f\305u\210\320\207\321\322!\207" [ebnf-eps-executing ebnf-comment-table ebnf-action ebnf-bnf-comment-chars ebnf-limit nil 91 ebnf-eps-add-context ebnf-bnf-eps-filename 93 ebnf-eps-remove-context 72 ebnf-eps-header-comment 70 ebnf-eps-footer-comment 10 t error "Invalid character"] 2])
(defalias 'ebnf-bnf-eps-filename #[nil "\301u\210\302!\207" [ebnf-bnf-comment-chars nil ebnf-buffer-substring] 2])
(defalias 'ebnf-unescape-string #[(str) "G\211S\306\211\nW\203'H\307U\203 \fT\310\202!\311\\\211\202\f\306U\2031\202}\312	\fZ\313\"\306\f\306\f\306V\203bH\307U\203QT\fS\f
HI\210
TT\202=	W\203z\f
HI\210
TT\211\202c\f*,\207" [str len size istr n-esc inew 0 92 2 1 make-string 32 new] 5])
(provide 'ebnf-bnf)

Zerion Mini Shell 1.0