;ELC ;;; compiled by handa@tsingyi.etl.go.jp on Wed Aug 19 12:40:16 1998 ;;; from file /net/mulelab/export/dist/mule-2.3-19.34/lisp/trex.el ;;; emacs version 19.34. ;;; bytecomp version FSF 2.10 ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.29"))) (error "`trex.el' was compiled for Emacs 19.29 or later")) (byte-code "! B" [boundp TREX-version "0.41" current-load-list] 2) (defalias 'TREX-inc '(macro . #[(symbol &optional delta) " \n \nE DE" [setq symbol delta + 1+] 5])) (defalias 'TREX-dec '(macro . #[(symbol &optional delta) " \n \nE DE" [setq symbol delta - 1-] 5])) (defalias 'num '(macro . #[(sym) "\nDD" [num* quote sym] 3])) (defalias 'num* #[(sym) "\n!O!" [TREX-read-hexa symbol-name sym 2 nil] 4]) (defalias 'TREX-read-hexa #[(str) " G \nW^ H X( X(\f_ Z\\W XA XA\f_ Z\\\\W XW XW\f_ Z\\\\ T)\f+" [0 str max i result ch 48 57 16 97 102 10 65 70] 3]) (defalias 'TREX-char-bytes #[(str index) "G\nW \nXÂ\nH!X&ɂ!UG\n  W! HX H!X H!Xj \\ 7!X} \\ 7!X5 \\ 7 \nZ*!Xς!Xт!X҂\n \\ X *)" [str max index 0 nil bytes ch num* 0x7f 1 0x80 i 0xa0 0xbe 0xaf 2 0xbb 3 4 0x8f 0x9b 0x9e] 4]) (defalias 'TREX-comp-charp #[(str index) " H!U" [str index num* 0x80] 3]) (defalias 'regexp-make-or #[(&rest body) " B" [:or body] 2]) (defalias 'regexp-make-seq #[(&rest body) " B" [:seq body] 2]) (defalias 'regexp-make-star #[(regexp) " D" [:star regexp] 2]) (defalias 'regexp-make-range #[(from to) "\n ED" [CHARSET :range from to] 4]) (byte-code "!!\"!!!!\"\"!!\"!!\"\"!!\"!!\"!!\"#!!!\"!!\"#!!!\"!!\"#!!!\"!!\"!!\"$!!!\"!!\"!!\"$!!!\"!!\"!!\"$&!\"!!\"!!\"\"!!\"!!\"!!\"#!!!\"!!\"#!!!\"!!\"#!!!\"!!\"!!\"$!!!\"!!\"!!\"$!!!\"!!\"!!\"$& %B%" [boundp regexp-allchar-regexp regexp-make-or regexp-make-range 0 num* 0x7f regexp-make-seq 0x80 regexp-make-star 0xa0 0xff 0xa1 0xaf 0xb0 0xb9 0xba 0xb7 0xbb 0xb8 0xbf 0xbc 0xc0 0xc7 0xbd 0xc8 0xdf 0xbe 0x81 0x8f 0x90 0x99 0x9a 0x9b 0x9c 0x9d 0x9e current-load-list] 21) (defalias 'TREX-string-reverse #[(str) "GX G\"GS\fX- \fHI T\fS+" [str 1 make-string 0 j i result] 4]) (defalias 'TREX-string-forward-anychar #[(str start) "; G X \nW  \"\\)" [str start max 0 TREX-char-bytes] 4]) (defalias 'TREX-init '(macro . #[(symbol value) "\nD\n\fEE" [if null symbol setq value] 5])) (defalias 'TREX-push '(macro . #[(val symbol) " EE" [setq symbol cons val] 5])) (defalias 'TREX-member #[(elm list pred) " \n@\"A" [list pred elm] 4]) (defalias 'TREX-memequal #[(elm list) " @A" [list elm] 3]) (defalias 'TREX-find #[(elm list) "\n \n@\nA T\n )" [0 pos list elm] 2]) (defalias 'TREX-find-if #[(pred list) "\n \n@! T\nA\n )" [0 pos list pred] 3]) (defalias 'TREX-firstn #[(list n) "X\n??\n@\nAS\"B" [n 0 list TREX-firstn] 4]) (defalias 'TREX-delete-duplicate #[(list) "\n\n@ \" B)\nA )" [nil result list elm TREX-memequal] 4]) (defalias 'TREX-delete #[(elm list) "\n \n@\n@ B\nA )" [nil result list elm] 3]) (defalias 'TREX-string-to-list #[(str) "\nG\f W\n\fH B\fT +" [nil 0 str max i result] 4]) (defalias 'TREX-sort #[(list lessp &optional key) " \n \"\n\"" [key sort list lessp #[(x y) " \n! !\"" [lessp key x y] 4]] 3]) (defalias 'TREX-key-lessp #[(x y) "9 9 ‡2  W :0 @=0 A@Wć:_@=_ :R @=R8 A@W ]8 Wćć" [x y t :range nil 2] 2]) (defalias 'TREX-lessp-car #[(x y) "@ @ \"*" [x y TREX-key-lessp] 3]) (defalias 'TREX-define-enum '(macro . #[(&rest list) "\nDD" [TREX-define-enum* quote list] 3])) (defalias 'TREX-define-enum* #[(list) "\n\n@ L T\nA)" [0 i list nil] 3]) #@134 ɽɒߒߒ撤˒Ȓђ translate table. case-fold-search Β͒˒蒤Ò downcasetable ߒ꒤뒡 (defvar *regexp-parse-translate* nil (#$ . 4322)) (defalias 'regexp-parse-translate-char-string #[(str) " GU HH! " [*regexp-parse-translate* str 1 char-to-string 0] 4]) (byte-code "! B! B!  B!- B!: B‡" [boundp *regexp-word-definition* nil current-load-list *regexp-parse-index* *regexp-parse-end* *regexp-parse-str* *regexp-parse-regno* 1] 2) (defalias 'regexp-error #[(&optional reason) "\fO\fO$" [reason "Bad regexp" error "Regexp-parse::%s \"%s\" * \"%s\"" *regexp-parse-str* 0 *regexp-parse-index* nil] 7]) (defalias 'word-parse #[(pattern) " !)" [t *regexp-word-definition* regexp-parse pattern] 2]) (defalias 'regexp-parse #[(pattern) "G \f X -" [pattern *regexp-parse-str* 0 *regexp-parse-index* *regexp-parse-end* 1 *regexp-parse-regno* regexp-parse-0 result regexp-error] 2]) (defalias 'regexp-parse-0 #[nil " \n X 2 T\nW1\f HU1\f THU1 \\ E2 )" [regexp-parse-1 result *regexp-parse-end* *regexp-parse-index* *regexp-parse-str* 92 124 2 :or regexp-parse-0] 3]) (defalias 'regexp-parse-1 #[nil "  \nB\n$\nA\"\nB$\n@*" [nil result2 results regexp-parse-2 :seq] 2]) (defalias 'regexp-parse-2 #[nil " \n WC \nH\"C \nH\nTU' D>U4 D>U> D) )" [regexp-parse-3 result *regexp-parse-index* *regexp-parse-end* TREX-memequal *regexp-parse-str* (42 43 63) ch 42 :star 43 :plus 63 :optional] 3]) (defalias 'regexp-parse-3 #[nil " X?M   H TU ȂLU+ʂLU6̂LUB LUO\nЂLU\\\nЂLUi\nЂLUv\nЂLU2 T\fW2 TH T TU\nЂLUW!T  TW HU THU \\ ZZF *LU\nЂLULULU0 , LLUE A LLUZ V LLUo k LLU~!DLU!DLXX  LZDLU LU T\fW T TH!DLU T\fW T TH!DLU\f T\fW\f T THDLU& T\fW& T THDL T \\O!L \"@I@ @O!K )," [*regexp-parse-end* *regexp-parse-index* start i end *regexp-parse-str* ch 46 (ANYCHAR) 94 (BEGLINE) 36 (ENDLINE) 91 regexp-parse-charset 93 nil 42 43 63 92 124 40 9 *regexp-parse-regno* regexp-error "Too many parenth" regexp-parse-regno regexp-parse-0 result 41 2 *regexp-word-definition* :mark 1 96 (BEGBUF) 39 (ENDBUF) 98 (WORDBOUND) 66 (NOTWORDBOUND) 60 (WORDBEG) 62 (WORDEND) 119 SYNTAXSPEC syntax-spec-code 87 NOTSYNTAXSPEC 49 57 DUPLICATE 48 115 83 99 CATEGORYSPEC 67 NOTCATEGORYSPEC regexp-parse-translate-char-string TREX-string-forward-anychar nextpos] 6]) (defalias 'regexp-parse-charset #[nil " W\nH=T\"\" " [*regexp-parse-index* *regexp-parse-end* *regexp-parse-str* 94 regexp-parse-charset0 CHARSET_NOT nil CHARSET regexp-error] 3]) (defalias 'regexp-parse-charset0 #[(op list) " W\nH=T \" \" " [*regexp-parse-index* *regexp-parse-end* *regexp-parse-str* 93 regexp-parse-charset1 op ("]") nil regexp-error] 3]) (defalias 'regexp-parse-charset1 #[(op list) " W\f\n\"\f \"\f\"\n\f\nH=4   \"B \f H=\fH=\f\n O\fOGGU\"\"GUHHU B E B *  \" \f H=\fH=\f\n O B \f O B   \"\f\n O B   \" , " [*regexp-parse-index* *regexp-parse-end* pos0 TREX-string-forward-anychar *regexp-parse-str* pos1 pos2 pos3 93 op sort list TREX-charset-lessp 45 to from TREX-comp-charp 0 1 :range regexp-error regexp-parse-charset1] 5]) (defalias 'TREX-charset-lessp #[(ch1 ch2) "; ; : : 8 A@:+8 :5 A@" [ch1 ch2 2] 2]) (defalias 'define-regexp '(macro . #[(name &rest forms) "\nD DE" [define-regexp* quote name forms] 4])) (defalias 'define-regexp* #[(name forms) " # GU @ B#" [put name :regexp-has-definition t :regexp-definition forms 1 :seq] 5]) (defalias 'regexp-get-definition #[(name) "N" [name :regexp-definition] 2]) (defalias 'regexp-define-specials #[(names) "\n\"" [mapcar #[(name) " #" [put name :regexp-special t] 4] names] 3]) (defalias 'regexp-has-definition #[(name) "N" [name :regexp-has-definition] 2]) (defalias 'regexp-specialp #[(name) "N" [name :regexp-special] 2]) (defalias 'regexp-expand-definition #[(regexp &optional callers) ":@=A@88!F =.A\"B =>A\"B =NA@!D =^A@!D =nA@!D =x ! > \" ! ! B\" \");" [regexp op :mark 2 regexp-expand-definition 3 :or mapcar :seq :optional :star :plus :range regexp-specialp callers error "regexp defs(%s)" regexp-has-definition regexp-get-definition "undefined regexp(%s)"] 7]) (defalias 'regexp-lessp #[(exp1 exp2) " ‡Ç$ ‡ \" WÇ;? 2 4‡ ;= Ç9_ R R ;T‡ 9] Ç: :k‡G GWuÇG GU \"‡" [exp1 exp2 nil t regexp-lessp-list] 3]) (defalias 'regexp-lessp-list #[(exp1 exp2) "@ @\"ć@ @ A A\"" [exp1 nil regexp-lessp exp2 t regexp-lessp-list] 3]) (defalias 'regexp-item-lessp #[(item1 item2) " ‡ Ç:5 :4@ @\"#Ç@ @2A A\"‡‡" [item1 item2 nil t regexp-key-lessp regexp-item-lessp] 3]) (defalias 'regexp-key-lessp-list #[(sym1 sym2 list) " \n\" \n\"W" [TREX-find sym1 list sym2] 4]) (defalias 'regexp-key-lessp #[(key1 key2) " !\n! @\n@\f#Ň !B\n!) \n#\n!@\n!@\n!@\n?Ň !h\n!U \n #\n!f\n!f\n?Ň !\n!} @\n@\f#\n!\n?Ň !\n?\n! \nW͇" [regexp-key-class0 key1 key2 regexp-key-lessp-list *regexp-key-class0* t regexp-key-class1 *regexp-key-class1* regexp-key-class2 regexp-key-class3 regexp-key-class4 *regexp-key-class2* *regexp-key-class3* nil] 4]) (defalias 'regexp-alist-lessp #[(pair1 pair2) " @\n@\"" [regexp-key-lessp pair1 pair2] 3]) (byte-code "! B! B!! B!. B !\f!!!" [boundp *regexp-key-class0* (START_MEMORY STOP_MEMORY) current-load-list *regexp-key-class1* (BEGLINE ENDLINE BEGBUF ENDBUF WORDBEG WORDEND WORDBOUND NOTWORDBOUND) *regexp-key-class2* (ANYCHAR CHARSET CHARSET_NOT) *regexp-key-class3* (DUPLICATE SYNTAXSPEC NOTSYNTAXSPEC CATEGORYSPEC NOTCATEGORYSPEC) regexp-define-specials] 2) (defalias 'regexp-key-class0 #[(key) ":\n@\n\"" [key TREX-memequal *regexp-key-class0*] 3]) (defalias 'regexp-key-class1 #[(key) ":\n@\n\"" [key TREX-memequal *regexp-key-class1*] 3]) (defalias 'regexp-key-class2 #[(key) ":\n@\n\"" [key TREX-memequal *regexp-key-class2*] 3]) (defalias 'regexp-key-class3 #[(key) ":\n@\n\"" [key TREX-memequal *regexp-key-class3*] 3]) (defalias 'regexp-key-class4 #[(key) ":\f@=9" [key :range] 2]) (defalias 'regexp-item-key-class0 #[(item) " @!" [regexp-key-class0 item] 2]) (defalias 'regexp-item-key-class1 #[(item) " @!" [regexp-key-class1 item] 2]) (defalias 'regexp-item-key-class2 #[(item) " @!" [regexp-key-class2 item] 2]) (defalias 'regexp-item-key-class3 #[(item) " @!" [regexp-key-class3 item] 2]) (defalias 'regexp-item-key-class4 #[(item) " @!" [regexp-key-class4 item] 2]) (byte-code "! B! BŇ" [boundp *regexp-sort-flag* t current-load-list *regexp-debug* nil] 2) (defalias 'regexp-sort #[(list pred) "(  #! \" $\"!) " [*regexp-sort-flag* *regexp-debug* princ format "(regexp-sort %s %s)\n" list pred sort result "<== %s\n"] 5]) (defalias 'regexp-inverse #[(regexp) ":|@=A@88!Fz =(z =8A\"Bz =IA\"Bz =YA@!Dz =iA@!Dz =yA@!Dz);!" [regexp op :mark 2 regexp-inverse 3 DUPLICATE :or mapcar :seq :optional :star :plus TREX-string-reverse] 7]) (defalias 'regexp-remove-infinite-loop #[(regexp) ":9@=7 =7 =7 =7 =7 =7 =7);D?D" [regexp op :mark DUPLICATE :or :seq :optional :star :plus] 3]) (byte-code "! B! B‡" [boundp *regexp-register-definitions* nil current-load-list *regexp-registers*] 2) (defalias 'regexp-reform-duplication #[(regexp) " !\f!+" [nil *regexp-register-definitions* regexp-reform-duplication-1 regexp newregexp *regexp-registers* regexp-reform-duplication-2] 2]) (defalias 'regexp-reform-duplication-1 #[(regexp) ":@=A\"BQ =*A\"BQ \"; A@!DQ =PA B A@DQ)" [regexp mop :or mapcar regexp-reform-duplication-1 :seq TREX-memequal (:star :plus :optional) :mark *regexp-register-definitions* DUPLICATE] 5]) (defalias 'regexp-reform-duplication-2 #[(regexp) ":@=H ĉA < @!B \"! A ,B =XA\"B \"i A@!D =A@ \"\" BB)))" [regexp mop :or *regexp-registers* nil or-body result newregisters registers regexp-reform-duplication-2 TREX-delete-duplicate append :seq mapcar TREX-memequal (:star :plus :optional) DUPLICATE regno assoc *regexp-register-definitions* def :mark] 5]) (defalias 'regexp-expand-regexp #[(regexp) ":@=A! =\"A! =DA@>D!C\"@C) =eA@_DD!aC) =wA@!C\" =A@88EEECEEDC+CC)C9CCCC;GWHBT+CCC" [regexp mop :or regexp-expand-or :seq regexp-expand-seq :star arg append nil :plus :optional regexp-expand-regexp :mark 2 3 groups regno START_MEMORY STOP_MEMORY result 0 max i] 6]) (defalias 'charset-member-elt #[(ch elt) ":@=\nA@X8\nX\n" [elt :range ch 2] 2]) (defalias 'charset-member-P #[(ch or-form) " A\n  \n@\"\nA *" [nil or-form l result charset-membership-elt ch t] 4]) (defalias 'charset-member-N #[(ch nor-form) " \n\"?" [charset-member+ ch nor-form] 3]) (defalias 'charset-norp #[(form) ": @=" [form CHARSET_NOT] 2]) (defalias 'charset-and #[(form1 form2) " !\n! A\nA\"B\n \"\n!% \n\" \n\"" [charset-norp form1 form2 :or charset-or-PP charset-and-PN charset-and-pn charset-and-PP] 4]) (defalias 'charset-or-PP #[(or-body1 or-body2) " \n\"" [append or-body1 or-body2] 3]) (defalias 'regexp-charset-to-regexp #[(charsets) " \"B" [:or mapcar regexp-charset-to-regexp* charsets] 4]) (defalias 'regexp-charset-to-regexp* #[(elm) ":A@8\";!B" [elm regexp-charset-range-to-regexp 2 :seq TREX-string-to-list] 4]) (defalias 'regexp-charset-range-to-regexp #[(str1 str2) "\n! !\"GU\f@\fB)" [regexp-charset-range-to-regexp* TREX-string-to-list str1 str2 result 1 :seq] 5]) (defalias 'regexp-charset-range-to-regexp* #[(nums1 nums2) "AG@ @U# \nU C \n\"C \nU4 A A\"B AAG\"\"B T\nSXY T\nS\"\f\"\f\"\"B\n\f\" A\"B \f \f B\fB BFC B BEC++" [nums1 nums2 ch2 ch1 len 0 regexp-charset-range-1 regexp-charset-range-to-regexp* make-list 255 160 part3 part2 part1 :or :seq] 8]) (defalias 'regexp-charset-range-1 #[(from to) "\n X B S )B" [nil result from to :or] 2]) (defalias 'regexp-charset-range-1* #[(from to) " X T \"B" [from to regexp-charset-range-1*] 4]) (byte-code "! B‡" [boundp *regexp-charset-vector* nil current-load-list] 2) (defalias 'regexp-expand-charset #[(mode charsets) " \"W I T\f)@4@I@;k@GUP@HI@!\n\n@\nA\n@H\"I)@:@@=@A@H@8HXWXIT)@A@!@8!*A# W H= CB T*" [*regexp-charset-vector* make-vector 256 nil 0 i charsets t 1 TREX-string-to-list list regexp-expand-charset-set-mark :range 2 to from 128 char result mode] 7]) (defalias 'regexp-expand-charset-set-mark #[(chars alist) "@ \"@A\"B B'\fA\fA\" )" [chars t assoc alist place regexp-expand-charset-set-mark nil] 5]) (defalias 'regexp-expand-or #[(regexps) "@!A!\"" [regexps append regexp-expand-regexp regexp-expand-or] 4]) (defalias 'regexp-expand-seq #[(regexps) "C@! \":A! \"4 @A\"B A\")V S @A\"B AA))" [regexps nil regexp-expand-regexp result TREX-memequal regexp-expand-seq newresult TREX-delete append] 4]) (defalias 'regexp-expand-items #[(items) "@!A!\"" [items append regexp-expand-seq regexp-expand-items] 4]) (defalias 'regexp-make-island #[(items) "\n!!\"\f@\fšʼn \fA\f) )" [TREX-delete-duplicate regexp-expand-items items result l nil] 4]) (defalias 'regexp-make-island-parallel #[(items) " !!\"" [regexp-sort TREX-delete-duplicate regexp-expand-items items regexp-item-lessp] 4]) (byte-code "! B! B!  B‡" [boundp *regexp-node-to-transtable* nil current-load-list *regexp-island-to-node* *regexp-counter* 0] 2) (defalias 'FA-make #[(regexp) "!!!\f+B" [nil *regexp-island-to-node* 0 *regexp-counter* *regexp-node-to-transtable* regexp-make-island regexp-expand-regexp regexp island FA-make-closure] 3]) (defalias 'FA-make-closure #[(island) " \f\"!\fn\f\" # Am\f\"\f\"\f8T\f T@BCB \fBB BAC #!!.m\f\"g\f8@\flj@@ABBB)ATBCB \fBB B!!,cTBBDB \fBB B!!!!-,m\f\f!\"*" [*regexp-debug* princ format "FA-make-closure %s\n" island assoc *regexp-island-to-node* nil pos place TREX-find-if regexp-item-key-class0 TREX-firstn post item pre *regexp-counter* number pair alist *regexp-node-to-transtable* FA-make-closure regexp-make-island append regexp-item-key-class1 result-false result-true items key pair-true :epsilon pair-false FA-make-closure* FA-make-pre-alist] 8]) (defalias 'FA-make-closure* #[(island pre-alist) " \f\"! T\fBB B \nB\n\fA\f@  A!!)\fA+*" [*regexp-debug* princ format "\nregexp-make-clousre* %s" pre-alist *regexp-counter* number place island *regexp-island-to-node* *regexp-node-to-transtable* pair FA-make-closure regexp-make-island] 5]) (defalias 'FA-make-pre-alist #[(items) "\n\n@ @! @!K @\n:\n@@:\n@AB\nA\"B B* ZC B\nA @! \n\n@@!\n@\n\n@ \"\f\f\nA\fAB\n@\nACB B *\nAh \" @@AA \"* \") )" [nil pre-alist items item regexp-key-class2 regexp-key-class3 newitems key regexp-key-class4 alist newitem assoc place sort TREX-lessp-car list append error "undefined items(%s)"] 4]) (defalias 'FA-inverse #[(FA) " @ A \n  \fG\f@@ W1  W= )\fA\f )ST\f$  @@A@@A $$A+l+ A ^\n\f$\f\f@\f@A!\fA\f)\" .B" [nil FA 10000 0 newfinal newstart newtable maxnode minnode table start invFA l n FA-link Snode Snumber Salist pair key Tnumber :epsilon reverse sort TREX-lessp-car] 9]) (defalias 'FA-link #[(from key to table) " \n\" B\nB B AB\n)" [assoc from table place nil key to] 4]) (defalias 'FA-dump #[(table) "@A\n\"! @@\"! @A@@7@@@A#!p@@:b@@@\"b@@@@@A@@A$!p@@@A#!A@@@@@A#!@@:@@@\"@@@@@A@@A$!@@@A#!Ay) A*" [table l start princ format "\nstart = %d\n" "%3d: " alist "%c -> %s\n" TREX-memequal (CATEGORYSPEC NOTCATEGORYSPEC) "(%s %c) -> %s\n" "%s -> %s\n" " %c -> %s\n" (CATEGORYSPEC NOTCATEGORYSPEC) " (%s %c) -> %s\n" " %s -> %s\n" nil] 7]) (byte-code "! B! B‡" [boundp *FA-table* nil current-load-list *EFFA-table*] 2) (defalias 'EFFA-make #[(FA) "@A  !!,B" [FA start *FA-table* newstart nil *EFFA-table* reverse EFFA-make*] 4]) (defalias 'EFFA-make* #[(node) " \n\"A B\nB \"A C#! A@@@7@A!A)*)\n" [assoc node *EFFA-table* place nil reverse EFFA-make-alist *FA-table* alist EFFA-make*] 8]) (defalias 'EFFA-make-alist #[(newalist alist set) ":@A@@=+ \f\"2 \fB \"A\f#2@B)A" [alist node :epsilon TREX-memequal set EFFA-make-alist newalist assoc *FA-table*] 6]) (byte-code "! B‡" [boundp *DFA-node-counter* nil current-load-list] 2) #@33 List of FD-nodes to node number (defvar *DFA-node-definitions* nil (#$ . 21022)) #@22 node number to alist (defvar *DFA-table* nil (#$ . 21109)) (defalias 'DFA-make #[(EFFA) "@A‰C!C\f\"A -B" [EFFA 0 nil *DFA-table* *DFA-node-definitions* *DFA-node-counter* *EFFA-table* start DFA-make-1 assoc] 5]) (defalias 'DFA-make-1 #[(states) " \n\"O\fT \fB\nB\fBB !!A\nN\n@ @D  A!)\nA\n1* A)" [assoc states *DFA-node-definitions* place *DFA-node-counter* nil pair *DFA-table* DFA-make-pre-alist DFA-collect-alist alist top DFA-make-1] 5]) (defalias 'DFA-collect-alist #[(states) "\n\n@ \"A \"\nA )" [nil result states append assoc *EFFA-table*] 5]) (defalias 'DFA-make-pre-alist #[(oldAlist) "\n\n@@ !\" !\" !\" !U  \nD \n@@D\n@AB\nA, B B* ! \n\n@@!\n@@ \"  \n@A AB\n@@\n@ACB B )\nAb \" @@A!A \"* C B\nA\nA) )" [nil pre-alist oldAlist oldKey regexp-key-class0 regexp-key-class1 regexp-key-class2 regexp-key-class3 newAlist key regexp-key-class4 alist assoc place sort TREX-lessp-car list reverse append] 4]) (byte-code "! B! B!  B‡" [boundp *DFA-optimize-debug* nil current-load-list *DFA-optimize-groups* *DFA-optimize-node* 1] 2) (defalias 'DFA-optimize #[(FA) " \n@\nA\f\"BC ˍ*\f\"!6 \"!Љ  h @A\"_@@ЉEAH)@@A@\f\"A@@@A!BB*A)BBA,i.B" [*DFA-optimize-debug* terpri FA start table 1 *DFA-optimize-node* mapcar car *DFA-optimize-groups* DFA-optimize-changed (byte-code "i\n \"! @@A\n \n3 #! ` @  \"A\nR \"! A @= @\"A\n\"!@@@@@A!@A!\n@@@A@A!$!@@@A@A!$!AA\nB\n\"\n\n#!+A[+\nW\n$\"!\n6\"!T\nJ\nB\"!\nBB\" A 8- A)" [*DFA-optimize-groups* groups *DFA-optimize-debug* princ format "\nGroups to be checked: %s\n" Sgroup Sgroup-number oldgroup nil newgroup Smembers " Sgroup-number: %s = %s\n" Snumber assoc table Salist " Snumber: %s\n" Tmembers Tnumber Talist " Tnumber: %s\n" DFA-optimize-group-number " Skey: %s -> %s(%s)\n" " Tkey: %s -> %s(%s)\n" TREX-delete " oldGroup : %s\n newGroup : %s\n" "Changed :%s --> " "%s" *DFA-optimize-node* "+%s\n" throw DFA-optimize-changed t] 8) princ format "table: %s\n" "groups: %s\n" nil groups newstart newtable l TREX-memequal group group-number member-number assoc member-alist group-alist Mnext Mkey DFA-optimize-group-number] 5]) (defalias 'DFA-optimize-group-number #[(node) "\" @A\" @@ A\n*" [*DFA-optimize-groups* nil result l TREX-memequal node] 4]) (defalias 'DFA-optimize-parallel #[(FA) " \n@\nA\f\"BC ˍ*\f\"!6 \"!Љ  h @A\"_@@ЉEAH)@@A@\f\"A@@@A:@!A!B!BB*A)BBA,i.B" [*DFA-optimize-debug* terpri FA start table 1 *DFA-optimize-node* mapcar car *DFA-optimize-groups* DFA-optimize-changed (byte-code "f\n \"! @@A\n \n3 #! ] @  \"A\nR \"!S@@A!\n$! @=@\"A\"AA!\n@A!A%!ޚߚ\nB\n\"\nĉ\n#!!,A\nI\n\"!\n(\"!$T$\n<$\nB\"!$\nBB\"-AW* A 8- A)" [*DFA-optimize-groups* groups *DFA-optimize-debug* princ format "\nGroups to be checked: %s\n" Sgroup Sgroup-number oldgroup nil newgroup Smembers " Sgroup-number: %s = %s\n" Snumber assoc table Salist " Snumber: %s\n" Spair Skey Snext DFA-optimize-group-number Snext-group Tmembers " Skey: %s -> %s(%s)\n" Tnumber Tpair Tnext Tnext-group " Tnumber: %s : %s -> %s(%s)\n" (nil) (nil) TREX-delete " oldGroup : %s\n newGroup : %s\n" "Changed :%s --> " "%s" *DFA-optimize-node* "+%s\n" throw DFA-optimize-changed t] 8) princ format "table: %s\n" "groups: %s\n" nil groups newstart newtable l TREX-memequal group group-number member-number assoc member-alist group-alist Mnext Mkey DFA-optimize-group-number] 6]) (defalias 'NEFA-make #[(EFFA) "@A \n\"AŚƂ\f\"\f0 \f@A0\fA!\f\n \n  k @@ WR @@ \n @@Wb @@\n A B S\f\n! \n\"A!\"\fB.BB+" [EFFA start table assoc Salist ((nil)) nil 10000 -10000 l max min newstart copy-alist newtable oldSalist TREX-delete (nil) newSalist] 5]) (byte-code "! B‡" [boundp *FA-simplify-table* nil current-load-list] 2) (defalias 'FA-simplify #[(FA) "@A \f\"\n\"\n@\f\" B\nA ,B" [FA nil *FA-simplify-table* newtable table start FA-simplify-mark assoc] 5]) (defalias 'FA-simplify-mark #[(node table) " \n\"?, \nB \f\"A+ @@# @A\f\" A)" [TREX-memequal node *FA-simplify-table* assoc table alist FA-simplify-mark nil] 4]) (defalias 'DFA-shortest-match #[(DFA) "@A , @A\" @@B\nB% @\nB A\f\f\n+B" [DFA nil newtable table start assoc ((nil))] 4]) (byte-code "! B! B!  B!- B!: B!G\n B‡" [boundp *DFA-fastmap-chars* nil current-load-list *DFA-fastmap-syntax* *DFA-fastmap-category* *DFA-fastmap-init* 0 *DFA-fastmap-pos* 1 *DFA-fastmap-neg* 2] 2) (defalias 'DFA-code-with-fastmap #[(DFA) " \"\f\" \"!@AÉ \n \fWUI\fI IT5) !?e\"?p\"͉?|\"\"\fIIIIWHHTI\fH\fH=T\fH=TT!I H= H=-T= H==T!IT)X_\"U$W$H!U$I$I$T$j)III. " [*DFA-fastmap-chars* make-vector 256 nil *DFA-fastmap-syntax* *DFA-fastmap-category* regexp-code-gen DFA *DFA-fastmap-special* *DFA-fastmap-mark* *DFA-fastmap-table* start code 0 i DFA-fastmap-collect make-string category-entries category notsyntax-entries syntax-entries syntax fastmap-entries fastmap 4 result 1 2 3 *DFA-fastmap-init* SYNTAXSPEC *DFA-fastmap-pos* NOTSYNTAXSPEC *DFA-fastmap-neg* CATEGORYSPEC NOTCATEGORYSPEC ch] 9]) (defalias 'DFA-fastmap-collect #[(node) " \n\"?{ \f\"A \nB z @@*Iq96 q@\n\n\"L @A!p\n\"A@!A@Hq\nIH\n= )p\n\"A@H\nIH\n= )p\n\"mA,Չ@;@H@H@A@H@8HX\"H\n=ڂIT*A)\n=pWiHOI`H=`IT8)p )) A)" [TREX-memequal node *DFA-fastmap-mark* assoc *DFA-fastmap-table* alist key *DFA-fastmap-chars* t *DFA-fastmap-special* op (START_MEMORY STOP_MEMORY) DFA-fastmap-collect (SYNTAXSPEC NOTSYNTAXSPEC) syntax-code-spec specch *DFA-fastmap-syntax* (CATEGORYSPEC NOTCATEGORYSPEC) *DFA-fastmap-category* (CHARSET CHARSET_NOT) list nil to from 0 2 CHARSET_NOT i 256] 5]) (byte-code "U !!!B!,! B" [regexp-version 18 TREX-define-enum* (UNUSED EXACTN ANYCHAR CHARSET CHARSET_NOT START_MEMORY STOP_MEMORY DUPLICATE BEGLINE ENDLINE BEGBUF ENDBUF JUMP JUMP_PAST_ALT ON_FAILURE_JUMP ON_FAILURE_KEEP_STRING_JUMP POP_FAILURE_JUMP MAYBE_POP_JUMP DUMMY_FAILURE_JUMP PUSH_DUMMY_FAILURE SUCCEED_N JUMP_N SET_NUMBER_AT WORDCHAR NOTWORDCHAR WORDBEG WORDEND WORDBOUND NOTWORDBOUND BEFORE_DOT AT_DOT AFTER_DOT SYNTAXSPEC NOTSYNTAXSPEC EXACT1 EXACT2 EXACT3 CHARSET_M CHARSET_M_NOT CASEN SUCCESS_SHORT SUCCESS POP EXCEPT0 EXCEPT1 CATEGORYSPEC NOTCATEGORYSPEC) (UNUSED SUCCEED EXACTN ANYCHAR CHARSET CHARSET_NOT START_MEMORY STOP_MEMORY DUPLICATE BEGLINE ENDLINE BEGBUF ENDBUF JUMP JUMP_PAST_ALT ON_FAILURE_JUMP ON_FAILURE_KEEP_STRING_JUMP POP_FAILURE_JUMP MAYBE_POP_JUMP DUMMY_FAILURE_JUMP PUSH_DUMMY_FAILURE SUCCEED_N JUMP_N SET_NUMBER_AT WORDCHAR NOTWORDCHAR WORDBEG WORDEND WORDBOUND NOTWORDBOUND BEFORE_DOT AT_DOT AFTER_DOT SYNTAXSPEC NOTSYNTAXSPEC EXACT1 EXACT2 EXACT3 CHARSET_M CHARSET_M_NOT CASEN SUCCESS_SHORT SUCCESS POP EXCEPT0 EXCEPT1 CATEGORYSPEC NOTCATEGORYSPEC RANGE RANGE_A) boundp ON_FAILURE_SUCCESS SUCCESS_SHORT current-load-list *regexp-code-buffer* get-buffer-create " *regexp-code-buffer*"] 2) (defalias 'regexp-code-gen #[(FA) "@AA 5\f5 @Aʚ, @@ A )\fEGTTJGT q\f !ed{. " [FA nil 0 *counter* *final* *labels* *table* table start list ((nil)) *regexp-code-buffer* mc-flag kanji-flag erase-buffer regexp-code-gen*] 7]) (defalias 'regexp-code-gen* #[(node) " U \"`B B\fc \";`B B \"Aǚ5\fc9!) \"A`\\Z\n \n\"\n\"ϥ)" [node *final* assoc *labels* SUCCESS *table* alist ((nil)) regexp-code-gen-alist 3 disp JUMP logand 255 65280 256] 6]) (byte-code "! B! B‡" [boundp *regexp-charset-table* nil current-load-list *regexp-case-table*] 2) (defalias 'regexp-code-gen-alist #[(alist) " \"\f\" @@=?D ÉÉ \n \f @@\fWR\fIT>)  @@ @@ @A\"ABCBB)\fI\nW\n W \"B* A X A   @@=cω` \f\n U \nC@\"GU GUc@W\\\fHSWGWST/Z \nZXu\n \nޥ ޥT !\"  Z #W%X\f#_\\H=%H\\%S%c*#T#.@! (cGc` )ω)A))\n \n XB\fH6\fH\"Tc9cT))d)@+\"[)@!)A)K) b)!)@+\"A`\\Z..\".\"¥))A)r+ @@= @A! @@ @A393!c3@\"3A78 \n9WIT)99@;Y9@G=B9@HI9@H\nW-9@H\n 9@HW9@H 89@G_\\87979@:9@A@G=9@A@H9@8H:;\nW;\n :W: ;:X;I;T;*89@A@G9@8G\\\\87979A9 \nW3@=<=8Wϱs\nޥ ޥT 3@=!\" 8W%& Z\\ #Wr%Xd#_\\H\\%H\\%S@%c*#T#4+8W8\\8¥8\"77@;7@7@7@:7@A@7@87A7-3GU3@!c3GU3@!3A@3G@U\n3@!3A@38A !* B` Z. bB!.\".\"¥)C !)." [*regexp-charset-table* make-vector 256 nil *regexp-case-table* alist -1 nodealist nexts max min point numberkey nextalist t 0 i next ch assoc place TREX-memequal ON_FAILURE_SUCCESS ON_FAILURE_JUMP regexp-code-gen-exact 1 EXCEPT0 mode not_max not_min 8 maxb minb CHARSET_M CHARSET_M_NOT b 7 bits [1 2 4 8 16 32 64 128] regexp-code-gen* CASEN list TREX-find *labels* delete-char 2 disp logand 255 65280 :epsilon key eval (CHARSET CHARSET_NOT) 128 mcchars mcbytes charset to from CHARSET CHARSET_NOT [1 2 4 8 16 32 64 128] mod 3 regexp-error -2 regexp-code-gen-alist] 8]) (defalias 'regexp-code-gen-exact #[(chars node) " \n\"A \f\") GU) @@) @@B @A\"3!! !)" [assoc node *table* alist *labels* 1 regexp-code-gen-exact chars regexp-code-gen-exact* reverse regexp-code-gen*] 3]) (defalias 'regexp-code-gen-exact* #[(chars) "GU \n@GU\f@A@GU1@A@8GN@cA?)" [chars 1 EXACT1 2 EXACT2 3 EXACT3 EXACTN list nil] 6]) (byte-code "! B! B‡" [boundp *regexp-code-dump* nil current-load-list *regexp-code-index*] 2) (defalias 'regexp-code-dump #[(*regexp-code-dump*) " \nG\f W\f\"!\n\fH U(!\fUk\n\fTH\"!\f\\\f\n\fTH\\\\ Wa\nH\"!TI* Uz!U!U!UU!U!UU!U!U!U#U!U%U!U+'U+!)U:!UP+UP!Uf-Uf!U|0U|!U2U!4U!6U!9U!;UU!!?UU@!@!AUB!CUʁD!EU0ʁF!GUAʁH!IURʁJ!KUcʁL!MUtʁN!OUʁP!QUʁR!SUʁT!UUʁV!WUʁX!YUZ[!\\UZ]!^U_`!aU$Ɓb\n\fTH\n\f\\H#!\fc\\dUMƁe\n\fTH\n\f\\H\n\fc\\H$!\ff\\gU`hi!jUshk!lUƁm\n\fTH\"!\f\\\f\n\fTH_\\\\ WƁn\f\\ZΥTo\\\nH\nTH##!\\\nH\nTHpqƁrqp#!\\qpX\fƁsq\nH#!TqTq**tU%ʁu!vU6ʁw!xUGʁy!zUXʁ{!|Uk_}!~U~_!U_!Ɓ\"!\fT)Ɓ\f\"!*" [terpri 0 *regexp-code-dump* max *regexp-code-index* princ format "%4d:" op UNUSED regexp-code-dump-0 "unused" EXACTN "exactn(%d) " 2 j "%c" BEGLINE "begline" ENDLINE "endline" JUMP regexp-code-dump-jump "jump" regexp-version 19 JUMP_PAST_ALT "jump_past_alt" ON_FAILURE_JUMP "on_failure_jump" ON_FAILURE_KEEP_STRING_JUMP "on_failure_keep_string_jump" 18 FINALIZE_JUMP "finalize_jump" MAYBE_FINALIZE_JUMP "maybe_finalize_jump" POP_FAILURE_JUMP "pop_failure_jump" MAYBE_POP_JUMP "maybe_pop_jump" DUMMY_FAILURE_JUMP "dummy_failure_jump" PUSH_DUMMY_FAILURE "push_dummy_failure" SUCCEED_N regexp-code-dump-jump-2 "succeed_n" JUMP_N "jump_n" SET_NUMBER_AT "SET_NUMBER_AT" ANYCHAR "anychar" CHARSET regexp-code-dump-charset "charset" CHARSET_NOT "charset_not" START_MEMORY regexp-code-dump-2 "start_memory" regexp-code-dump-1 STOP_MEMORY "stop_memory" DUPLICATE "duplicate" BEFORE_DOT "before_dot" AT_DOT "at_dot" AFTER_DOT "after_dot" BEGBUF "begbuf" ENDBUF "endbuf" WORDCHAR "wordchar" NOTWORDCHAR "notwordchar" WORDBEG "wordbeg" WORDEND "wordend" WORDBOUND "wordbound" NOTWORDBOUND "notwordbound" SYNTAXSPEC regexp-code-dump-syntax "syntaxspec" NOTSYNTAXSPEC "notsyntaxspec" EXACT1 regexp-code-dump-1ch "EXACT1" EXACT2 "EXACT2 %c%c\n" 3 EXACT3 "EXACT3 %c%c%c\n" 4 CHARSET_M regexp-code-dump-charset-m "CHARSET_M" CHARSET_M_NOT "CHARSET_M_NOT" CASEN "CASEN %d\n" "[%d]::%d\n" regexp-get-absolute-address chmax ch "%c::%c\n" "%c=>[%d]\n" ON_FAILURE_SUCCESS "ON_FAILURE_SUCCESS" SUCCESS "SUCCESS" POP "POP" EXCEPT0 "EXCEPT0" EXCEPT1 "EXCEPT1" CATEGORYSPEC "CATEGORYSPEC" NOTCATEGORYSPEC "NOTCATEGORYSPEC" "unknown op=%d\n" "%4d:\n" nil] 10]) (defalias 'regexp-code-dump-0 #[(op) " ! T" [princ op terpri *regexp-code-index*] 2]) (defalias 'regexp-code-dump-1 #[(op) " \f TH#! \\" [princ format "%s %d\n" op *regexp-code-dump* *regexp-code-index* 2] 6]) (defalias 'regexp-code-dump-2 #[(op) " \f TH\f \\H$! \\" [princ format "%s %d %d\n" op *regexp-code-dump* *regexp-code-index* 2 3] 8]) (defalias 'regexp-code-dump-syntax #[(op) " TH!#!\\" [princ format "%s %c\n" op syntax-code-spec *regexp-code-dump* *regexp-code-index* 2] 7]) (defalias 'regexp-code-dump-1ch #[(op) " \f TH#! \\" [princ format "%s %c\n" op *regexp-code-dump* *regexp-code-index* 2] 6]) (defalias 'regexp-get-absolute-address #[(point b1 b2) "W\n_\f\\\\\n\\\"_\f#\\" [b2 128 point 256 b1 logior logxor 65280 255 -1] 5]) (defalias 'regexp-code-dump-jump #[(op) " TH \\H \\\n\f# #!+ \\" [*regexp-code-dump* *regexp-code-index* b1 2 b2 regexp-get-absolute-address 3 p princ format "%s %d\n" op] 5]) (defalias 'regexp-code-dump-jump-2 #[(op) " TH \\H \\\n\f#  \\H_ \\H\\$!+ \\" [*regexp-code-dump* *regexp-code-index* b1 2 b2 regexp-get-absolute-address 3 p princ format "%s %d %d\n" op 256 4 5] 9]) (defalias 'regexp-code-dump-charset #[(op) " TH\n#! \\ \nX\nZ\n\\\\ \n W@\nH\"!\nT\n'\nX\nH_\nTH\\ \n \\ \"!\n\\\n\nW\n\"\"!\n!\\\n\n\"\"!\n!\\\n)i*\n +" [*regexp-code-dump* *regexp-code-index* n princ format "%s %d " op 2 128 max j "0x%2x " 256 len last "\n range list[%d-2 bytes]" sref ch " %c" char-bytes "-%c" terpri] 6]) (defalias 'regexp-code-dump-charset-m #[(op) " TH \\H\f $! \\ X% Z& \\\\ \f WG\fH\"!\fT\f. X\fH_\fTH\\\f\\\"!\f\\\f\fW\f\"\"!\f!\\\f\f\"\"!\f!\\\f)p*\f ," [*regexp-code-dump* *regexp-code-index* 2 n m princ format "%s %d %d " op 3 128 max j "0x%02x " 256 len last "\n range list[%d-2 bytes]" sref ch " %c" char-bytes "-%c" terpri] 7]) (defalias 'TREX-simple-test1 #[nil "!" [regexp-word-compile "\\cA+\\cH*\\|\\cK+\\cH*\\|\\cC+\\cH*\\|\\cH+\\|\\sw+"] 2]) (defalias 'TREX-test1 #[(pattern) " !\n!! !! A\n !!!!B\nB\nw@@ AB!!@@AB!!mm!!!!!!!!B\nB\n*A.\n!\n\n\"!\n@@!\"!\n@A!T\nA\n." [regexp-parse pattern regexp EFFA-make FA-make fFA FA-inverse bFA l nil result DFA-optimize DFA-make NEFA-make forward backward FA-simplify DFA-shortest-match reverse 0 count princ format "\nForward[%2d]:" FA-dump "\nBackward[%2d]:"] 7]) (defalias 'TREX-test2 #[(pattern) " !\n!!A !!!!," [regexp-parse pattern regexp EFFA-make FA-make fFA l nil result regexp-code-dump regexp-code-gen DFA-optimize DFA-make] 6]) (defalias 'regexp-compile #[(pattern) " \"" [regexp-compile-internal pattern nil] 3]) (defalias 'regexp-word-compile #[(pattern) " \"" [regexp-compile-internal pattern t] 3]) (defalias 'regexp-compile-internal #[(pattern &optional word) "\n !!!! !!!!  !! !!!!*BB* A !! @@ AB!!@@ AB!!!!!!!!!!   ! !BB**Ad*." [word *regexp-word-definition* case-fold-search current-case-table *regexp-parse-translate* regexp-parse pattern regexp EFFA-make FA-make regexp-reform-duplication fFA regexp-inverse bFA nil result DFA-optimize DFA-make obFA ofFA DFA-code-with-fastmap STOP_MEMORY START_MEMORY FA-inverse l NEFA-make forward backward FA-simplify DFA-shortest-match] 7]) (defalias 'regexp-compiled-pattern-dump #[(pattern) " H! H\" H\" H\"" [regexp-code-dump pattern 0 print-fastmap 1 " fastmap[char]" 2 " fastmap[synt]" 3 " fastmap[cate]"] 3]) (defalias 'regexp-compile-dump #[(code) "@@H@AHA!!!!@@!!! 4@A!:!!\nu !!\nt \"!\n@@! \"!\n@A! T \nAK)+" [code 0 words Bcode Fcode princ format "\nRegular Expression Compiler Dump:\n" "Forward Search:" regexp-compiled-pattern-dump "Backward Search:" "\n Use the interpreter\n" 1 i "In word conditions:\n" "Forward[%d]" "Backward[%d]" nil] 5]) (defalias 'regexp-compile-and-dump #[(regexp) "\n!!" [regexp-compile-dump regexp-compile regexp] 3]) (defalias 'define-word-regexp '(macro . #[(name regexp) " \f!DE" [defconst name quote regexp-word-compile regexp] 5])) (put (quote define-word-regexp) (quote byte-hunk-handler) (quote macroexpand)) (defalias 'define-coding-systems '(macro . #[(&rest rest) "\nDD" [define-coding-systems* quote rest] 3])) (defalias 'define-coding-systems* #[(names) " \"B" [:or mapcar #[(name) "\n!\nE" [:seq regexp-get-definition name] 3] names] 5]) (defalias 'oct #[(str) "H" [str 0] 2]) (byte-code "! B! B‡" [boundp *TREX-range-from* nil current-load-list *TREX-range-to*] 2) (defalias 'TREX-range-make-jisjoint #[(regexp) " \"\f\"W0I\fIT)I\fI\n!\n!" [*TREX-range-from* make-vector 256 nil *TREX-range-to* 0 i t 255 TREX-range-mark regexp TREX-range-replace] 4]) (defalias 'TREX-range-mark #[(regexp) ":l@=8!j =$A\"j =2A\"j =@A@!j =NA@!j =\\A@!j =jA@8\");v\"\"" [regexp op :mark TREX-range-mark 3 :or mapcar :seq :optional :star :plus :range TREX-range-mark2 2] 5]) (defalias 'TREX-range-mark2 #[(from to) "; H\n;\nHW SI\nW+\nTII \nI" [from 0 to *TREX-range-to* t 255 *TREX-range-from*] 3]) (defalias 'TREX-range-replace #[(regexp) ":@=A@88!F =.A\"B =>A\"B =NA@!D =^A@!D =nA@!D =A@8͉;H;HXHTUEBBTGU@B-);GU H" [regexp op :mark 2 TREX-range-replace 3 :or mapcar :seq :optional :star :plus :range nil result j i to from 0 *TREX-range-to* 1] 7]) (defalias 'FA-sort #[(FA) "@A \"+ @ @A\" @ @A# A*" [FA alist start sort TREX-lessp-car TREX-sort TREX-key-lessp cdr] 6]) (defalias 'CHARSET-rangep #[(charset) ":@=" [charset :range] 2]) (defalias 'CHARSET-orp #[(charset) ": @=" [charset :or] 2]) (defalias 'CHARSET-range-from #[(range) "A@" [range] 1]) (defalias 'CHARSET-range-to #[(range) "8" [range 2] 2]) (defalias 'CHARSET-range-make #[(from to) " U E" [from to :range] 3]) (defalias 'CHARSET-membership #[(range charset) " ! !..@!W)A  : @!X+" [CHARSET-range-from range CHARSET-range-to nil flag to from charset flag1 t] 4]) (defalias 'CHARSET-not #[(charset) " !\n D ! AB AB" [CHARSET-rangep charset :nor CHARSET-orp :or] 2]) (defalias 'CHARSET-union #[(charset1 charset2) " !!\n! \n\"\n! \n\" \n\" !B\n!2\n \"\n!= \n\" \n\"\n!M\n \"\n!X\n \" \n\"" [CHARSET-rangep charset1 charset2 CHARSET-union-range-range CHARSET-orp CHARSET-union-range-or CHARSET-union-range-nor CHARSET-union-or-or CHARSET-union-or-nor CHARSET-union-nor-nor] 3]) (defalias 'CHARSET-union-range-range #[(range1 range2) " ! ! ! ! W EG\fX1 ^\f\"G\fXC ^\"G E," [CHARSET-range-from range1 CHARSET-range-to range2 to2 from2 to1 from1 :or CHARSET-range-make] 5]) (defalias 'CHARSET-union-range-or #[(range or) "\n A\"B" [:or CHARSET-union-range-or* range or] 4]) (defalias 'CHARSET-union-range-or* #[(range or-body) " ! !QQ@  !WJ !W> \fBAM !M))\fj\f@!TXj\f@!\fA@  ! W ! WA !)m)@! TX@!A\f! \"B+" [CHARSET-range-from range CHARSET-range-to nil part1 to from flag or-body next t reverse CHARSET-range-make] 4]) (defalias 'CHARSET-union-range-nor #[(range nor) " ! !Ç" [CHARSET-range-from range CHARSET-range-to nil] 2]) (defalias 'CHARSET-union-or-or #[(or1 or2) "\nA A\"B" [:or CHARSET-union-or*-or* or1 or2] 4]) (defalias 'CHARSET-union-or*-or* #[(or1-body or2-body) "\n\n@ \"\nA )" [or2-body result-body or1-body CHARSET-union-range-or*] 4]) (defalias 'CHARSET-union-or-nor #[(or nor) "" [nil] 1]) (defalias 'CHARSET-union-nor-nor #[(nor1 nor2) "\nA A\"B" [:nor CHARSET-intersection-or*-or* nor1 nor2] 4]) (defalias 'CHARSET-intersection #[(charset1 charset2) " !!\n! \n\"\n! \n\" \n\" !B\n!2\n \"\n!= \n\" \n\"\n!M\n \"\n!X\n \" \n\"" [CHARSET-rangep charset1 charset2 CHARSET-intersection-range-range CHARSET-orp CHARSET-intersection-range-or CHARSET-intersection-range-nor CHARSET-intersection-or-or CHARSET-intersection-or-nor CHARSET-intersection-nor-nor] 3]) (defalias 'CHARSET-intersection-range-or #[(range or) " \nA\"" [CHARSET-intersection-range-or* range or] 3]) (defalias 'CHARSET-intersection-range-or* #[(range or-body) " ! !FF@  !W? !W9ABB))@  ! X ! Xx \fBA \fBA)J\fÂ\fGU\f@!] \f@!^\"C\f\f@! \f@!^\"\f\f@!]\f@!\"\f," [CHARSET-range-from range CHARSET-range-to nil part2 to from flag or-body next t 1 CHARSET-range-make] 7]) (defalias 'CHARSET-intersection-range-nor #[(range nor) " \nA\"" [CHARTSET-intersection-range-nor* range nor] 3]) (defalias 'CHARSET-intersecion-range-nor* #[(range nor-body) " ! !Ç" [CHARSET-range-from range CHARSET-range-to nil] 2]) (defalias 'CHARSET-intersection-or-or #[(or1 or2) " A\nA\f\f@ \" \"\fA\f GU( @+ B+" [nil or1 or2 or2-body or1-body result CHARSET-union-or*-or* CHARSET-intersection-range-or* 1 :or] 5]) (defalias 'CHARSET-intersection-or-nor #[(or nor) "" [nil] 1]) (defalias 'CHARSET-intersection-nor-nor #[(nor1 nor2) "\nA A\"B" [:nor CHARSET-union-or*-or* nor1 nor2] 4]) (defalias 'FA-compaction #[(FA) "@A # @AƉ \n\n#\n\n\n@A\n@@B\nA\n_\n@A=_\n@@B\nA\nC\"!@A@u@@T@U@@Eu@Bu@:uu)&,\f*" [FA alist start TREX-sort TREX-key-lessp car nil next keys newtable table < reverse sort newkeys :range] 5]) (defalias 'FA-dump2 #[(table) "@A\n\"! ; @@\"! @A@@;@@@@@A$!@@:f@@@\"f@@@@@A@@A$!@@:@@@=@@A@@@8@A$!@@@A#!A2@@@@@@@A$!)@@:@@@\"@@@@@A@@A$!)@@:@@@=@@A@@@8@A$!)@@@A#!A) A*" [table l start princ format "\nstart = %d\n" "%3d: " alist "\\%03o(%c) -> %s\n" TREX-memequal (CATEGORYSPEC NOTCATEGORYSPEC) "(%s %c) -> %s\n" :range "(:range \\%03o \\%03o) -> %s\n" 2 "%s -> %s\n" " \\%03o(%c) -> %s\n" (CATEGORYSPEC NOTCATEGORYSPEC) " (%s %c) -> %s\n" " (:range \\%03o \\%03o) -> %s\n" " %s -> %s\n" nil] 7]) (defalias 'print-compiled-pattern #[(compiled-code) "HHHHHHHHHHH\f ! G \"\"!\"!\"!\"!\"!\"!\"!\"!\f\f!. " [compiled-code 0 1 2 3 4 5 6 7 8 9 10 translate fastmap syntax not-eol not-bol no-sub newline-anchor can-be-null regs-allocated re-nsub compiled-pattern regexp-code-dump print-fastmap "fastmap" princ format "re_nsub: %d\n" "regs-alloc: %d\n" "can-be-null: %d\n" "newline-anchor: %d\n" "no-sub: %d\n" "not-bol: %d\n" "not-eol: %d\n" "syntax: %d\n" print-translate nil] 12]) (defalias 'print-fastmap #[(fastmap name) "8\f\"!GW4HU+\"!T*!" [fastmap princ format "%s:[" name 0 i max "%c" "]\n"] 5]) (defalias 'print-translate #[(trans) "0!G\f W,\fH\fU%\f\fH#!\fT*!" [trans princ "translate:\n" 0 i max format " %c --> %c" "\n"] 7]) (defalias 're-compile-and-dump #[(regexp) "\n!!" [print-compiled-pattern re-compile regexp] 3])