Current File : //proc/thread-self/root/kunden/usr/share/emacs/27.2/lisp/progmodes/ebnf-otz.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 'ebnf2ps)
#@26 List of empty rule name.
(defvar ebnf-empty-rule-list nil (#$ . 427))
#@43 Add empty RULE in `ebnf-empty-rule-list'.
(defalias 'ebnf-add-empty-rule-list #[(rule) "\205 \303H\304H\305=\205 \306H\nB\211\207" [ebnf-ignore-empty-rule rule ebnf-empty-rule-list 7 0 ebnf-generate-empty 6] 2 (#$ . 503)])
#@23 Initialize optimizer.
(defalias 'ebnf-otz-initialize #[nil "\301\211\207" [ebnf-empty-rule-list nil] 2 (#$ . 738)])
#@24 Eliminate empty rules.
(defalias 'ebnf-eliminate-empty-rules #[(syntax-list) "\203Z G\306 \307\211\f\203T \310\311\312\313
T\211\314_\245!#\266\f@\315!\2036 \f\202L \316HB\n\203I \n\fA\241\210\202L A)\fA\211\204 -\202 \207" [ebnf-empty-rule-list syntax-list before new-list prod-list ebnf-nprod 0 nil "Eliminating empty rules" message "%s...%3d%%" round 100.0 ebnf-eliminate-empty 6 ebnf-total rule] 8 (#$ . 861)])
(defalias 'ebnf-eliminate-empty #[(rule) "\306H\211\307\267\202\311 \310H\n\235?\205\312 \202\312 \310H\310H\311\211\211
\203Q
@\312!\2038
\202H \f\203E \f
A\241\210\202H
A
A\211
\204(
\205[ \310
I\210,\202\312 \310H\310H\311\211\211
\203\231
@\312!\203\200
\202\220 \f\203\215 \f
A\241\210\202\220
A
A\211
\204p
\205\257
G\313U\203\251
@\202\257 \310
I\210,\202\312 \312\314H!\211\205\305 \314I\210)\202\312 )\207" [rule kind ebnf-empty-rule-list elt before header 0 #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (ebnf-generate-non-terminal 10 ebnf-generate-sequence 23 ebnf-generate-alternative 95 ebnf-generate-production 179)) 6 nil ebnf-eliminate-empty 1 7 seq prod] 5])
#@28 Syntactic chart optimizer.
(defalias 'ebnf-optimize #[(syntax-list) "\204 \207 G\305\306 \203 \307 @!\nB A\211\204 \n\237+\207" [ebnf-optimize syntax-list new ebnf-nprod ebnf-total 0 nil ebnf-optimize1] 4 (#$ . 2083)])
(defalias 'ebnf-optimize1 #[(prod) "\306\307\310\311T\211\312_ \245!#\266\n\313H\211\314H\315=\203\340 \316\317H\n\317H\"\211@\fA\320
\"\n\313\203} \321=\203E \322\323!\206N \324
!\323A!\206b \325A! @\203s \326 \"\202y \327 \"*\202\335 \203\320 \324!A!\326\323!!\206\225 \325!!!\"\330
!\211#\203\245 #C
\203\271
G\331U\203\276
@\314H\332=\203\276 \"\202\314 \333\323
!\206\310 \325
!\"D!+\202\335 \334!\206\335 \323
!\206\335 I\210,\n)\207" [ebnf-nprod ebnf-total prod production hlist nlist "Optimizing syntactic chart" message "%s...%3d%%" round 100.0 7 0 ebnf-generate-alternative ebnf-split-header-prefix 6 ebnf-split-header-suffix t nil ebnf-prefix-suffix ebnf-extract-empty ebnf-create-alternative ebnf-make-zero-or-more ebnf-make-one-or-more ebnf-map-list-to-optional 1 ebnf-generate-empty ebnf-make-sequence ebnf-map-node-to-optional zlist elist nl el xlist znode nnode] 8])
(defalias 'ebnf-split-header-prefix #[(node-list header) "\306 \"\211@\307\211\nA\211\203I \n@\211\310H\311=\203C \312HA\211G\313U\2033 @\202<