;ELC ;;; compiled by nk@localhost.localdomain on Fri Dec 1 22:48:57 2006 ;;; from file /home/nk/pkg-build/test/mule-packages/mule-base/mule-trex.el ;;; emacs version 21.4 (patch 19) "Constant Variable" XEmacs Lucid. ;;; bytecomp version 2.27 XEmacs; 2000-09-12. ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 19. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "20"))) (error "`mule-trex.el' was compiled for Emacs 20")) (or (boundp 'current-load-list) (setq current-load-list nil)) (require 'mule) ;;;###coding system: escape-quoted (byte-code "B!\"" [current-load-list TREX-version default-boundp set-default "0.41"] 3) (defalias 'TREX-inc '(macro . #[(symbol &optional delta) "  E DE" [delta symbol setq + 1+] 5])) (defalias 'TREX-dec '(macro . #[(symbol &optional delta) "  E DE" [delta symbol setq - 1-] 5])) (defalias 'num '(macro . #[(sym) "DD" [sym num* quote] 3])) (defalias 'num* #[(sym) "!O!" [sym TREX-read-hexa symbol-name 2 nil] 4]) (defalias 'TREX-read-hexa #[(str) "ʼn G\nW \nH X X _ Z\\ X X _ Z\\\\ X X _ Z\\\\\nT)3 +" [max str i result ch 0 ?0 ?9 16 ?a ?f 10 ?A ?F] 3]) (defalias 'TREX-char-octets #[(str index) " G\nW \nXƂ \nH!Xʪ !U G\n W! HX H!X H!X \\X !X \\J !XB \\< \nZ* !XϪ !XѪ !XҪ\n\\ X*)" [bytes max index str ch i 0 nil num* 0x7f 1 0x80 0xa0 0xbe 0xaf 2 0xbb 3 4 0x8f 0x9b 0x9e] 4]) (defalias 'TREX-comp-charp #[(str index) " H!U" [index str num* 0x80] 3]) (defalias 'regexp-make-or #[(&rest body) "B" [body :or] 2]) (defalias 'regexp-make-seq #[(&rest body) "B" [body :seq] 2]) (defalias 'regexp-make-star #[(regexp) "D" [regexp :star] 2]) (defalias 'regexp-make-range #[(from to) " ED" [to from CHARSET :range] 4]) (byte-code "B!!\"!!!!\"\"!!\"!!\"\"!!\"!!\"!!\"#!!!\"!!\"#!!!\"!!\"#!!!\"!!\"!!\"$!!!\"!!\"!!\"$!!!\"!!\"!!\"$&!\"!!\"!!\"\"!!\"!!\"!!\"#!!!\"!!\"#!!!\"!!\"#!!!\"!!\"!!\"$!!!\"!!\"!!\"$!!!\"!!\"!!\"$& \"" [current-load-list regexp-allchar-regexp default-boundp set-default 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] 23) (defalias 'TREX-string-reverse #[(str) " GX G\" GS\nX \nHI T\nSl+" [result i j str 1 make-string 0] 4]) (defalias 'TREX-string-forward-anychar #[(str start) " ;\n G\nX\nW\n \n\"\\)" [max str start 0 TREX-char-octets] 4]) (defalias 'TREX-init '(macro . #[(symbol value) " D EE" [value symbol if null setq] 5])) (defalias 'TREX-push '(macro . #[(val symbol) "  EE" [val symbol setq cons] 5])) (defalias 'TREX-member #[(elm list pred) "\n \n@\"\nAs\n" [elm pred list] 4]) (defalias 'TREX-memequal #[(elm list) "  @k At " [elm list] 3]) (defalias 'TREX-find #[(elm list) "\n\n@k\nA To\n )" [elm pos list 0] 2]) (defalias 'TREX-find-if #[(pred list) "\n\n@! T\nAq\n )" [pred pos list 0] 3]) (defalias 'TREX-firstn #[(list n) "X ?? @ AS\"B" [n list 0 TREX-firstn] 4]) (defalias 'TREX-delete-duplicate #[(list) " @\n\"\nB) Al\n)" [elm list result nil TREX-memequal] 4]) (defalias 'TREX-delete #[(elm list) "\n\n@k\n@ B\nAo )" [elm result list nil] 3]) (defalias 'TREX-string-to-list #[(str) " G W H\nB Tp\n+" [max str result i nil 0] 4]) (defalias 'TREX-sort #[(list lessp &optional key) " \n\"\n\"" [lessp key list sort #[(x y) "\n ! !\"" [y x lessp key] 4]] 3]) (defalias 'TREX-key-lessp #[(x y) "9 9 ‡  W : @a A@W:@a : @a8 A@W 8 W" [x y t :range 2] 2]) (defalias 'TREX-lessp-car #[(x y) " @@ \"*" [y x TREX-key-lessp] 3]) (defalias 'TREX-define-enum '(macro . #[(&rest list) "DD" [list TREX-define-enum* quote] 3])) (defalias 'TREX-define-enum* #[(list) "@ L TAr)" [list i 0 nil] 3]) (defvar *regexp-parse-translate* nil "\ $(B@55,I=8=$rFI$_9~$_Cf$K;HMQ$9$k(B translate table. case-fold-search $(B$NCM$K$h$C$F(B downcasetable $(B$r@_Dj$9$k!#(B") (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!\"ć" [current-load-list *regexp-word-definition* default-boundp set-default nil *regexp-parse-index* *regexp-parse-end* *regexp-parse-str* *regexp-parse-regno* 1] 3) (defalias 'regexp-error #[(&optional reason) "\n\n O O$" [*regexp-parse-index* *regexp-parse-str* reason "Bad regexp" error "Regexp-parse::%s \"%s\" * \"%s\"" 0 nil] 7]) (defalias 'word-parse #[(pattern) "!)" [pattern *regexp-word-definition* t regexp-parse] 2]) (defalias 'regexp-parse #[(pattern) "  G  X\n -" [*regexp-parse-regno* *regexp-parse-str* result *regexp-parse-end* *regexp-parse-index* pattern 0 1 regexp-parse-0 regexp-error] 2]) (defalias 'regexp-parse-0 #[nil "  X\n T W HU THU \\\n E\n)" [*regexp-parse-str* *regexp-parse-end* result *regexp-parse-index* regexp-parse-1 ?\\ ?| 2 :or regexp-parse-0] 3]) (defalias 'regexp-parse-1 #[nil "‰  Bt A B @*" [result2 results nil regexp-parse-2 :seq] 2]) (defalias 'regexp-parse-2 #[nil "  W H\" H T\nU D\nU D\nU D)L )" [*regexp-parse-end* *regexp-parse-str* ch *regexp-parse-index* result regexp-parse-3 TREX-memequal (?* ?+ ?\?) ?* :star ?+ :plus ?\? :optional] 3]) (defalias 'regexp-parse-3 #[nil "< X?  <\n H T Uǂ Uɂ U˂ U  U ς U ς U ς U ς U TW\n TH T T U ς U;W!;=;T; > T=;=ZS>F * U ς Uނ U U:  U:  U:  U:  U!D U!D X X:  ZD U U TW T\n TH!D U TW T\n TH!D U TW T\n THD U TW T\n THD\n T \\O!\n \"??\n ?O! )," [end start *regexp-parse-str* i *regexp-parse-index* ch ?\. (ANYCHAR) ?^ (BEGLINE) ?$ (ENDLINE) ?\[ regexp-parse-charset ?\] nil ?* ?+ ?\? ?\\ ?| ?\( 9 regexp-error "Too many parenth" regexp-parse-0 ?\) 2 :mark ?\` (BEGBUF) ?\' (ENDBUF) ?b (WORDBOUND) ?B (NOTWORDBOUND) ?< (WORDBEG) ?> (WORDEND) ?w SYNTAXSPEC syntax-spec-code ?W NOTSYNTAXSPEC ?1 ?9 DUPLICATE ?0 ?s ?S ?c CATEGORYSPEC ?C NOTCATEGORYSPEC regexp-parse-translate-char-string TREX-string-forward-anychar *regexp-word-definition* *regexp-parse-regno* *regexp-parse-end* regexp-parse-regno result nextpos] 6]) (defalias 'regexp-parse-charset #[nil "\n W\nHa\nT\"\" " [*regexp-parse-str* *regexp-parse-end* *regexp-parse-index* ?^ regexp-parse-charset0 CHARSET_NOT nil CHARSET regexp-error] 3]) (defalias 'regexp-parse-charset0 #[(op list) " W Ha T\n\"\n\" " [*regexp-parse-str* *regexp-parse-end* op *regexp-parse-index* ?\] regexp-parse-charset1 ("]") nil regexp-error] 3]) (defalias 'regexp-parse-charset1 #[(op list) "W \" \" \n\" Ha  \"B \n Ha \nHa  O \nOGGU \"\" GU HHU    B E B * \" \n Ha \nHa  O B \nO B\n \"  O B  \" , " [to from pos2 pos1 *regexp-parse-str* list TREX-string-forward-anychar ?\] sort TREX-charset-lessp ?- TREX-comp-charp 0 1 :range regexp-error regexp-parse-charset1 pos0 *regexp-parse-index* pos3 op *regexp-parse-end*] 5]) (defalias 'TREX-charset-lessp #[(ch1 ch2) " ;;  :: 8A@ : 8: A@" [ch2 ch1 2] 2]) (defalias 'define-regexp '(macro . #[(name &rest forms) " DDE" [forms name define-regexp* quote] 4])) (defalias 'define-regexp* #[(name forms) "# GU @ B#" [name forms put :regexp-has-definition t :regexp-definition 1 :seq] 5]) (defalias 'regexp-get-definition #[(name) "N" [name :regexp-definition] 2]) (defalias 'regexp-define-specials #[(names) "\"" [names mapcar #[(name) "#" [name put :regexp-special t] 4]] 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) "\n:\n@a\nA@\n8\n8!F a\nA\"B a\nA\"B a\nA@!D a\nA@!D a\nA@!D a\n !\n s \" ! ! B\" \")\n;\n\n\n\n" [callers op regexp :mark 2 regexp-expand-definition 3 :or mapcar :seq :optional :star :plus :range regexp-specialp error "regexp defs(%s)" regexp-has-definition regexp-get-definition "undefined regexp(%s)"] 7]) (defalias 'regexp-lessp #[(exp1 exp2) " k?‡  W‡; ? ? ; ‡9 ? ;? 9 ‡: :G GW‡G GU \"" [exp1 exp2 t regexp-lessp-list] 3]) (defalias 'regexp-lessp-list #[(exp1 exp2) " @@\"Ç @@k AA\"" [exp2 exp1 regexp-lessp t regexp-lessp-list] 3]) (defalias 'regexp-item-lessp #[(item1 item2) " k? ‡: :@ @\"‡@ @kA A\"" [item1 item2 t regexp-key-lessp regexp-item-lessp] 3]) (defalias 'regexp-key-lessp-list #[(sym1 sym2 list) " \n\"\n\"W" [sym2 sym1 list TREX-find] 4]) (defalias 'regexp-key-lessp #[(key1 key2) " ! ! @ @ #ȇ ! ! \n# ! ! ! ?ȇ ! ! # ! ! ?ȇ ! ! @ @# ! ?ȇ ! ? ! W" [*regexp-key-class3* *regexp-key-class2* *regexp-key-class1* *regexp-key-class0* key1 key2 regexp-key-class0 regexp-key-lessp-list t regexp-key-class1 regexp-key-class2 regexp-key-class3 regexp-key-class4] 4]) (defalias 'regexp-alist-lessp #[(pair1 pair2) " @@\"" [pair2 pair1 regexp-key-lessp] 3]) (byte-code " B!\" B!\" B!\" B!\" !\n! !!" [*regexp-key-class3* *regexp-key-class2* *regexp-key-class1* *regexp-key-class0* current-load-list default-boundp set-default (START_MEMORY STOP_MEMORY) (BEGLINE ENDLINE BEGBUF ENDBUF WORDBEG WORDEND WORDBOUND NOTWORDBOUND) (ANYCHAR CHARSET CHARSET_NOT) (DUPLICATE SYNTAXSPEC NOTSYNTAXSPEC CATEGORYSPEC NOTCATEGORYSPEC) regexp-define-specials] 3) (defalias 'regexp-key-class0 #[(key) " : @\"" [*regexp-key-class0* key TREX-memequal] 3]) (defalias 'regexp-key-class1 #[(key) " : @\"" [*regexp-key-class1* key TREX-memequal] 3]) (defalias 'regexp-key-class2 #[(key) " : @\"" [*regexp-key-class2* key TREX-memequal] 3]) (defalias 'regexp-key-class3 #[(key) " : @\"" [*regexp-key-class3* key TREX-memequal] 3]) (defalias 'regexp-key-class4 #[(key) ":@a9" [key :range] 2]) (defalias 'regexp-item-key-class0 #[(item) "@!" [item regexp-key-class0] 2]) (defalias 'regexp-item-key-class1 #[(item) "@!" [item regexp-key-class1] 2]) (defalias 'regexp-item-key-class2 #[(item) "@!" [item regexp-key-class2] 2]) (defalias 'regexp-item-key-class3 #[(item) "@!" [item regexp-key-class3] 2]) (defalias 'regexp-item-key-class4 #[(item) "@!" [item regexp-key-class4] 2]) (byte-code "B!\"B!\"Ƈ" [current-load-list *regexp-sort-flag* default-boundp set-default t *regexp-debug* nil] 3) (defalias 'regexp-sort #[(list pred) "\n #! \"\n \"! ) " [*regexp-sort-flag* pred *regexp-debug* result list princ format "(regexp-sort %s %s)\n" sort "<== %s\n"] 5]) (defalias 'regexp-inverse #[(regexp) " : @a A@ 8 8!Fa a A\"Ba A\"Ba A@!Da A@!Da A@!D ) ; ! " [op regexp :mark 2 regexp-inverse 3 DUPLICATE :or mapcar :seq :optional :star :plus TREX-string-reverse] 7]) (defalias 'regexp-remove-infinite-loop #[(regexp) " : @aa aaaaa ) ; ? " [op regexp :mark DUPLICATE :or :seq :optional :star :plus] 3]) (byte-code "B!\"B!\"ć" [current-load-list *regexp-register-definitions* default-boundp set-default nil *regexp-registers*] 3) (defalias 'regexp-reform-duplication #[(regexp) " ! !+" [*regexp-registers* regexp *regexp-register-definitions* newregexp nil regexp-reform-duplication-1 regexp-reform-duplication-2] 2]) (defalias 'regexp-reform-duplication-1 #[(regexp) "\n:\n\n@a\nA\"B a\nA\"B \" \nA@!D a\nAB\nA@D\n)" [*regexp-register-definitions* mop regexp :or mapcar regexp-reform-duplication-1 :seq TREX-memequal (:star :plus :optional) :mark DUPLICATE] 5]) (defalias 'regexp-reform-duplication-2 #[(regexp) " : @a lj A\n\n@! B \"!\nAi ,B a A\"B \" A@!D a A@ \" \" BB )) )" [newregisters result or-body mop *regexp-registers* regexp :or nil regexp-reform-duplication-2 TREX-delete-duplicate append :seq mapcar TREX-memequal (:star :plus :optional) DUPLICATE assoc :mark regno def registers *regexp-register-definitions*] 5]) (defalias 'regexp-expand-regexp #[(regexp) " : @a A! a A! a A@ D!C\"C) a A@ DD!C) a A@!C\" a A@ 8 8 \nE \nEEC \nE \nEDC+ CC) C 9 CC CC ; GW HBTl+C CC" [result regno groups mop arg regexp :or regexp-expand-or :seq regexp-expand-seq :star append nil :plus :optional regexp-expand-regexp :mark 2 3 START_MEMORY STOP_MEMORY 0 i max] 6]) (defalias 'charset-member-elt #[(ch elt) " : @a A@X 8X k" [ch elt :range 2] 2]) (defalias 'charset-member-P #[(ch or-form) " A \n @\" An\n*" [ch or-form result l nil charset-membership-elt t] 4]) (defalias 'charset-member-N #[(ch nor-form) " \"?" [nor-form ch charset-member+] 3]) (defalias 'charset-norp #[(form) ":@a" [form CHARSET_NOT] 2]) (defalias 'charset-and #[(form1 form2) "! !A A\"B \" ! \" \"" [form1 form2 charset-norp :or charset-or-PP charset-and-PN charset-and-pn charset-and-PP] 4]) (defalias 'charset-or-PP #[(or-body1 or-body2) " \"" [or-body2 or-body1 append] 3]) (defalias 'regexp-charset-to-regexp #[(charsets) "\"B" [charsets :or mapcar regexp-charset-to-regexp*] 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) " !!\"GU\n@\nB)" [str2 str1 result regexp-charset-range-to-regexp* TREX-string-to-list 1 :seq] 5]) (defalias 'regexp-charset-range-to-regexp* #[(nums1 nums2) " AG @ @U U C \"C U A A\"B A AG\"\"B T SX T S\"\n\"\n\"\"B \n\" A\"BBBBFCBBEC++" [part3 nums2 len nums1 ch2 ch1 0 regexp-charset-range-1 regexp-charset-range-to-regexp* make-list 255 160 :or :seq part2 part1] 8]) (defalias 'regexp-charset-range-1 #[(from to) " X \nB Sr\n)B" [from to result nil :or] 2]) (defalias 'regexp-charset-range-1* #[(from to) " X T\"B" [to from regexp-charset-range-1*] 4]) (byte-code "B!\"ć" [current-load-list *regexp-charset-vector* default-boundp set-default nil] 3) (defalias 'regexp-expand-charset #[(mode charsets) " \"ɉW I Tq) @ @I @; @GU @HI @! \n@\nA \n@H\"I) @: @@a @A@H @8H X W X ITq) @A@! @8!* A W Ha CB Tg*" [char to list *regexp-charset-vector* i charsets make-vector 256 nil 0 t 1 TREX-string-to-list regexp-expand-charset-set-mark :range 2 128 result from mode] 7]) (defalias 'regexp-expand-charset-set-mark #[(chars alist) "\nÇ\n@ \"\n@\nA\"B B\nAA\" )" [place alist chars t assoc 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@!\n\"A!\n\"\n@A\" B\nAq )\n\n@A\" B\nAq ))" [regexps newresult result nil regexp-expand-regexp TREX-memequal regexp-expand-seq 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@\nšʼnq\nAm) )" [items result l TREX-delete-duplicate regexp-expand-items nil] 4]) (defalias 'regexp-make-island-parallel #[(items) "!!\"" [items regexp-sort TREX-delete-duplicate regexp-expand-items regexp-item-lessp] 4]) (byte-code "B!\"B!\"B!\"ć" [current-load-list *regexp-node-to-transtable* default-boundp set-default nil *regexp-island-to-node* *regexp-counter* 0] 3) (defalias 'FA-make #[(regexp) "ʼn!! ! +B" [regexp *regexp-counter* *regexp-island-to-node* island *regexp-node-to-transtable* nil 0 regexp-make-island regexp-expand-regexp FA-make-closure] 4]) (defalias 'FA-make-closure #[(island) "! \"! 9 \"\nA8 \" \" 8T T @B C B BB\nB  AC#!! .8 \"2 8@ ʉ@ @k A B B B)A[ TBC B BB\nB !! ,TBBD B BB\nB !!!! -, !\"*" [*regexp-island-to-node* item place result-true number island princ format "FA-make-closure %s\n" assoc nil TREX-find-if regexp-item-key-class0 TREX-firstn FA-make-closure regexp-make-island append regexp-item-key-class1 :epsilon FA-make-closure* FA-make-pre-alist pos *regexp-counter* alist *regexp-node-to-transtable* result-false items pair-true key pair-false post pre pair *regexp-debug*] 8]) (defalias 'FA-make-closure* #[(island pre-alist) " \"! T B B B\nB @  A!!) Ak *" [*regexp-node-to-transtable* *regexp-island-to-node* place *regexp-counter* number pre-alist princ format "\nregexp-make-clousre* %s" FA-make-closure regexp-make-island pair *regexp-debug* island] 5]) (defalias 'FA-make-pre-alist #[(items) " @ @! @! @  @@k @A B Al  B B* C B A @! @@! @@\n\"AAB@ACB\nB* AP\n\"@@AAn\n \"* \") )" [newitem newitems alist item pre-alist items nil regexp-key-class2 regexp-key-class3 regexp-key-class4 assoc sort TREX-lessp-car append error "undefined items(%s)" list key place] 4]) (defalias 'FA-inverse #[(FA) "@AƉ  @@WW) A_)ST Ɖ $ @@A\n\n@@A $ $\nA+R+ A? $ @ @A! Aq) \" .B" [newstart newfinal Salist table l newtable nil 10000 0 FA-link :epsilon reverse sort TREX-lessp-car maxnode minnode n Snumber key FA start Snode pair Tnumber invFA] 9]) (defalias 'FA-link #[(from key to table) "\n \"\nB B B AB )" [to key from place table assoc nil] 4]) (defalias 'FA-dump #[(table) " @ A\"!\n\n@@\"!\n@A@@ @@ @A#! @@: @@@\" @@@ @@A@ @A$! @@ @A#! A @@ @@ @A#! @@: @@@\" @@@ @@A@ @A$! @@ @A#! A7)\nA*" [start table l alist princ format "\nstart = %d\n" "%3d: " "%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!\"ć" [current-load-list *FA-table* default-boundp set-default nil *EFFA-table*] 3) (defalias 'EFFA-make #[(FA) " @ A \n !!,B" [*EFFA-table* *FA-table* newstart FA start nil reverse EFFA-make*] 4]) (defalias 'EFFA-make* #[(node) " \n\" B\nB \"A C#! A @@ @A! Ao*)\n" [*FA-table* place *EFFA-table* node alist assoc nil reverse EFFA-make-alist EFFA-make*] 8]) (defalias 'EFFA-make-alist #[(newalist alist set) " @A @@a\n \"\n B \n\"A # @ B) AS " [*FA-table* set node newalist alist :epsilon TREX-memequal EFFA-make-alist assoc] 6]) (byte-code "B!\"ć" [current-load-list *DFA-node-counter* default-boundp set-default nil] 3) (defvar *DFA-node-definitions* nil "\ List of FD-nodes to node number") (defvar *DFA-table* nil "\ node number to alist") (defalias 'DFA-make #[(EFFA) " @ Alj C! C\n\"A -B" [*EFFA-table* *DFA-node-counter* *DFA-node-definitions* *DFA-table* EFFA start 0 nil DFA-make-1 assoc] 5]) (defalias 'DFA-make-1 #[(states) " \n\" T B\nB B B  !!A @ @  A!) Ah* A)" [pair place *DFA-node-definitions* states alist *DFA-node-counter* assoc nil DFA-make-pre-alist DFA-collect-alist DFA-make-1 top *DFA-table*] 5]) (defalias 'DFA-collect-alist #[(states) " @\"A\n\" Ap\n)" [*EFFA-table* states result nil append assoc] 5]) (defalias 'DFA-make-pre-alist #[(oldAlist) " @@ ! ! ! !   @@k @A B Al  B B* ! @@! @@\n\" @AAB @@ @ACB\nB) AO\n\"@@A!Aq\n \"* C B A A) )" [list newAlist alist oldKey pre-alist oldAlist nil regexp-key-class0 regexp-key-class1 regexp-key-class2 regexp-key-class3 regexp-key-class4 assoc sort TREX-lessp-car reverse append key place] 4]) (byte-code "B!\"B!\"B!\"ć" [current-load-list *DFA-optimize-debug* default-boundp set-default nil *DFA-optimize-groups* *DFA-optimize-node* 1] 3) (defalias 'DFA-optimize #[(FA) " @Alj\n\"BCˍ{\n\"! \"!Љ   @A\" @@Љk Ag) @@A@\n\"A @@ @A!BB* Ad)BB A,6.B" [newtable *DFA-optimize-groups* table groups member-alist l terpri 1 mapcar car DFA-optimize-changed (byte-code "6 \"!@@ A  #! + @!\"A \"! A@a@!\"A  \"! @@ @@k @A! @A!k @@ @A @A!$! @@ @A @A!$! A A7 \nB\" \n#!+AS+\n \"! \"!T \nB\"!\nBB\" A4-A)" [oldgroup Smembers newgroup *DFA-optimize-debug* Talist Salist princ format "\nGroups to be checked: %s\n" nil " Sgroup-number: %s = %s\n" assoc " Snumber: %s\n" " 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" "+%s\n" throw DFA-optimize-changed t groups Sgroup Tmembers Tnumber Snumber *DFA-optimize-node* *DFA-optimize-groups* Sgroup-number table] 8) princ format "table: %s\n" "groups: %s\n" nil TREX-memequal assoc DFA-optimize-group-number group-alist *DFA-optimize-debug* newstart FA start group group-number member-number Mnext *DFA-optimize-node* Mkey] 5]) (defalias 'DFA-optimize-group-number #[(node) "  @A\" @@ĉm Ai\n*" [node *DFA-optimize-groups* result l nil TREX-memequal] 4]) (defalias 'DFA-optimize-parallel #[(FA) " @Alj \"BCˍ{ \"!\"!Љ @A\" @@Љk Ag) @@A@ \"A @@ @A\n:\n@!\nA!B\n!BB* AW)BB A,(.B" [*DFA-optimize-groups* table Mnext groups member-alist l terpri 1 mapcar car DFA-optimize-changed (byte-code "!= \"!@@%A  %\n#!\n2\n@&\"A \"!*@\"@\"A##!$  $#$!  @a @&\"A\"A(A!' @A!A%!\"kk$'k B \" lj #!!, A \"! \"! T  B\"! B!B!\"-AQ*\nA4-A)" [Tpair Tmembers Smembers newgroup oldgroup *DFA-optimize-debug* princ format "\nGroups to be checked: %s\n" nil " Sgroup-number: %s = %s\n" assoc " Snumber: %s\n" DFA-optimize-group-number " Skey: %s -> %s(%s)\n" " Tnumber: %s : %s -> %s(%s)\n" (nil) (nil) TREX-delete " oldGroup : %s\n newGroup : %s\n" "Changed :%s --> " "%s" "+%s\n" throw DFA-optimize-changed t groups Sgroup Salist Tnumber Snumber Skey *DFA-optimize-node* *DFA-optimize-groups* Spair Snext Snext-group Sgroup-number table Tnext-group Tnext] 8) princ format "table: %s\n" "groups: %s\n" nil TREX-memequal assoc DFA-optimize-group-number newtable group-alist *DFA-optimize-debug* newstart FA start group group-number member-number *DFA-optimize-node* Mkey] 6]) (defalias 'NEFA-make #[(EFFA) "@A\n \"Ak? \" \n @Ak As  @@ W @@ @@W @@ Ab S !\n \"A!\"B.BB+" [EFFA min start table Salist l assoc ((nil)) nil 10000 -10000 copy-alist TREX-delete (nil) max newstart newtable oldSalist newSalist] 5]) (byte-code "B!\"ć" [current-load-list *FA-simplify-table* default-boundp set-default nil] 3) (defalias 'FA-simplify #[(FA) "@Aʼn \n\" @\n\" B Ar ,B" [FA start table newtable *FA-simplify-table* nil FA-simplify-mark assoc] 5]) (defalias 'FA-simplify-mark #[(node table) "\n \"?\n B\n\"A @@ @A\" An)" [table *FA-simplify-table* node alist TREX-memequal assoc FA-simplify-mark nil] 4]) (defalias 'DFA-shortest-match #[(DFA) " @ A @A\" @@B\nB @\nB Ac\n+B" [start DFA newtable table nil assoc ((nil))] 4]) (byte-code "B!\"B!\"B!\"B!\"B!\"B!\"ć" [current-load-list *DFA-fastmap-chars* default-boundp set-default nil *DFA-fastmap-syntax* *DFA-fastmap-category* *DFA-fastmap-init* 0 *DFA-fastmap-pos* 1 *DFA-fastmap-neg* 2] 3) (defalias 'DFA-code-with-fastmap #[(DFA) "\"\n\" \"!@Aȉ#$!\"ʉW I\n I I Tf)!!?\"?\"ʉ?\"\"\"I I I IkʉW HT I \n H\n HaT\n HaTT I H HaT HaT I T )X\"ȉUʉW H U I IT`) I I I . " [ch *DFA-fastmap-category* *DFA-fastmap-syntax* result syntax i make-vector 256 nil regexp-code-gen 0 DFA-fastmap-collect make-string 4 1 2 3 SYNTAXSPEC NOTSYNTAXSPEC CATEGORYSPEC NOTCATEGORYSPEC *DFA-fastmap-special* category-entries category notsyntax-entries syntax-entries fastmap *DFA-fastmap-chars* DFA fastmap-entries *DFA-fastmap-init* *DFA-fastmap-pos* *DFA-fastmap-neg* start code *DFA-fastmap-mark* *DFA-fastmap-table*] 9]) (defalias 'DFA-fastmap-collect #[(node) "\"?<\"AB;@@ I0 90 @ \"@A!/ \" A@! A@H IH a)/ \" A@H IH a)/ \", Aω @; @H @H @A@H @8H\nX \nH \n aҪI\nTc* A5) aЉW H I Ha ITX)))A)" [specch *DFA-fastmap-chars* from list key op TREX-memequal assoc t (START_MEMORY STOP_MEMORY) DFA-fastmap-collect (SYNTAXSPEC NOTSYNTAXSPEC) syntax-code-spec (CATEGORYSPEC NOTCATEGORYSPEC) (CHARSET CHARSET_NOT) nil 0 2 CHARSET_NOT 256 i alist *DFA-fastmap-special* to node *DFA-fastmap-mark* *DFA-fastmap-syntax* *DFA-fastmap-category* *DFA-fastmap-table*] 5]) (byte-code " U!!\nB!\"\nB!!\"Ç" [SUCCESS_SHORT regexp-version current-load-list 19 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 RANGE RANGE_A) (UNUSED EXACTN BEGLINE ENDLINE JUMP ON_FAILURE_JUMP FINALIZE_JUMP MAYBE_FINALIZE_JUMP DUMMY_FAILURE_JUMP ANYCHAR CHARSET CHARSET_NOT START_MEMORY STOP_MEMORY DUPLICATE BEFORE_DOT AT_DOT AFTER_DOT BEGBUF ENDBUF WORDCHAR NOTWORDCHAR WORDBEG WORDEND WORDBOUND NOTWORDBOUND SYNTAXSPEC NOTSYNTAXSPEC EXACT1 EXACT2 EXACT3 CHARSET_M CHARSET_M_NOT CASEN SUCCESS_SHORT SUCCESS POP EXCEPT0 EXCEPT1 CATEGORYSPEC NOTCATEGORYSPEC) ON_FAILURE_SUCCESS default-boundp set-default *regexp-code-buffer* get-buffer-create " *regexp-code-buffer*"] 4) (defalias 'regexp-code-gen #[(FA) "\n@\nA\nAƉ    @Ak @@ Al) GTT GT qƉ !ed{. " [start *counter* FA table list *final* nil 0 ((nil)) erase-buffer regexp-code-gen* *labels* *table* *regexp-code-buffer* mc-flag kanji-flag] 7]) (defalias 'regexp-code-gen* #[(node) " U \" `B B\nc \" `B B \"Ak\nc !) \"A`\\Z \" \"ͥ)" [*final* alist SUCCESS disp *labels* node assoc ((nil)) regexp-code-gen-alist 3 logand 255 65280 256 *table* JUMP] 6]) (byte-code "B!\"B!\"ć" [current-load-list *regexp-charset-table* default-boundp set-default nil *regexp-case-table*] 3) (defalias 'regexp-code-gen-alist #[(alist) "1\"1+\"+*@@a?*ȉȉ7&,:(*@@:ˉW+ I Tp)((@@(@@(@A--7\";; ;AB -CB7B7)+ -I \nW  W -&\"-&B&*(A( *A(((@@a?c@ˉ`,:R\n U\nC&@\"`&GU*GUAc&@856 W+ H 6W 65 W 5 T^56Z \nZX658\nХ ХT2.8<=.2.Z./2W0 X+/_ \\H8a0 H\\0 S`0c*/T/I.&@!`,Bc&Gc`,&'ˉ'A's)\n \n X+ H+ H&\"Tcc T`)&''@>\"'@!'A'i),b&'!'@>\"A`\\Z33\"3\"ǥ)'A'V+`*@@a*@A!`*@@*@A-9!cZ@\"\"A%)ˉW1 I Tp) R @; @Ga1 @HI @H\nW @H @HW @H) @G\\\\)% % @: @A@Ga @A@H @8H94\nW4 9W949X14I4T4l*) @A@G @8G\\\\)% % A \nW@aC)Wݪ˱\nХ ХT2.@a<=.)Wݪ2.Z\\./2W0 X1/_ \\H0 H\\0 Sc0c*/T/L+)W)\\)ǥ)\"%%@;%@%@%@:%@A@%@8%A%T-GU@!cGU@!A@GU@!A@8 -!*,`,Z3,b!3\"3\"ǥ)(!)." [key max min charset i ch make-vector 256 nil -1 t 0 assoc TREX-memequal regexp-code-gen-exact 1 8 7 [1 2 4 8 16 32 64 128] regexp-code-gen* TREX-find delete-char 2 logand 255 65280 :epsilon eval (CHARSET CHARSET_NOT) 128 CHARSET [1 2 4 8 16 32 64 128] mod 3 regexp-error -2 regexp-code-gen-alist mcchars nexts list nextalist mcbytes alist *regexp-case-table* point next minb b bits *regexp-charset-table* maxb disp from not_max not_min nodealist mode to numberkey place CHARSET_M CHARSET_M_NOT *labels* ON_FAILURE_SUCCESS ON_FAILURE_JUMP EXCEPT0 CASEN CHARSET_NOT] 8]) (defalias 'regexp-code-gen-exact #[(chars node) " \"A \" GU @@ @@\nB @A\"\n!! !)" [*labels* *table* chars node alist assoc 1 regexp-code-gen-exact regexp-code-gen-exact* reverse regexp-code-gen*] 3]) (defalias 'regexp-code-gen-exact* #[(chars) " GU @ GU\n @ A@ GU @ A@ 8 G  @c Av)" [EXACTN EXACT3 EXACT2 EXACT1 list chars 1 2 3 nil] 6]) (byte-code "B!\"B!\"ć" [current-load-list *regexp-code-dump* default-boundp set-default nil *regexp-code-index*] 3) (defalias 'regexp-code-dump #[(*regexp-code-dump*) " \nG W \"!\n HBU! CU\n TH\"! \\ \n TH\\\\W\n H\"! Tm *  DU! EU! FU! U GU! HU! U IU! U JU! U KU! U LU! U MU! NU! U OU! U PU! U QU! U RU! SU! TU! UU! VU U!! WU U!! XU! YU! ZU! [U! \\U! ]U! ^U! _U! `U! aU! bU! cU! dU! eU! fU! gU\n TH\n \\H#! \\ hU\n TH\n \\H\n \\H$! \\ iUst! jUsu! kU\\Ɂv\n TH\"! \\ \n TH\\\\\\WɁw \\ZΥTx \\\n H\n TH##! \\W\n H\n THA@Ɂy@A#! \\@AXɁz@\n H#! T@T@c* * lUˁ{! mUˁ|! nUˁ}! oUˁ~! pU! qU! rU!Ɂ \"! T)Ɂ \"!*" [max regexp-version *regexp-code-dump* j *regexp-code-index* op terpri 0 princ format "%4d:" regexp-code-dump-0 "unused" "exactn(%d) " 2 "%c" "begline" "endline" regexp-code-dump-jump "jump" 19 "jump_past_alt" "on_failure_jump" "on_failure_keep_string_jump" 18 "finalize_jump" "maybe_finalize_jump" "pop_failure_jump" "maybe_pop_jump" "dummy_failure_jump" "push_dummy_failure" regexp-code-dump-jump-2 "succeed_n" "jump_n" "SET_NUMBER_AT" "anychar" regexp-code-dump-charset "charset" "charset_not" regexp-code-dump-2 "start_memory" regexp-code-dump-1 "stop_memory" "duplicate" "before_dot" "at_dot" "after_dot" "begbuf" "endbuf" "wordchar" "notwordchar" "wordbeg" "wordend" "wordbound" "notwordbound" regexp-code-dump-syntax "syntaxspec" "notsyntaxspec" regexp-code-dump-1ch "EXACT1" "EXACT2 %c%c\n" 3 "EXACT3 %c%c%c\n" 4 ch chmax UNUSED EXACTN BEGLINE ENDLINE JUMP JUMP_PAST_ALT ON_FAILURE_JUMP ON_FAILURE_KEEP_STRING_JUMP FINALIZE_JUMP MAYBE_FINALIZE_JUMP POP_FAILURE_JUMP MAYBE_POP_JUMP DUMMY_FAILURE_JUMP PUSH_DUMMY_FAILURE SUCCEED_N JUMP_N SET_NUMBER_AT ANYCHAR CHARSET CHARSET_NOT START_MEMORY STOP_MEMORY DUPLICATE BEFORE_DOT AT_DOT AFTER_DOT BEGBUF ENDBUF WORDCHAR NOTWORDCHAR WORDBEG WORDEND WORDBOUND NOTWORDBOUND SYNTAXSPEC NOTSYNTAXSPEC EXACT1 EXACT2 EXACT3 CHARSET_M CHARSET_M_NOT CASEN ON_FAILURE_SUCCESS SUCCESS POP EXCEPT0 EXCEPT1 CATEGORYSPEC NOTCATEGORYSPEC regexp-code-dump-charset-m "CHARSET_M" "CHARSET_M_NOT" "CASEN %d\n" "[%d]::%d\n" regexp-get-absolute-address "%c::%c\n" "%c=>[%d]\n" "ON_FAILURE_SUCCESS" "SUCCESS" "POP" "EXCEPT0" "EXCEPT1" "CATEGORYSPEC" "NOTCATEGORYSPEC" "unknown op=%d\n" "%4d:\n" nil] 10]) (defalias 'regexp-code-dump-0 #[(op) "! T" [op *regexp-code-index* princ terpri] 2]) (defalias 'regexp-code-dump-1 #[(op) " \nTH#!\n\\" [*regexp-code-dump* op *regexp-code-index* princ format "%s %d\n" 2] 6]) (defalias 'regexp-code-dump-2 #[(op) " \nTH \n\\H$!\n\\" [op *regexp-code-dump* *regexp-code-index* princ format "%s %d %d\n" 2 3] 8]) (defalias 'regexp-code-dump-syntax #[(op) " \nTH!#!\n\\" [*regexp-code-dump* op *regexp-code-index* princ format "%s %c\n" syntax-code-spec 2] 7]) (defalias 'regexp-code-dump-1ch #[(op) " \nTH#!\n\\" [*regexp-code-dump* op *regexp-code-index* princ format "%s %c\n" 2] 6]) (defalias 'regexp-get-absolute-address #[(point b1 b2) "\nW \n_\\\\ \n_#\\" [b1 point b2 128 256 logior -65536] 5]) (defalias 'regexp-code-dump-jump #[(op) " TH \\H \\ \n# #!+ \\" [op p b2 b1 *regexp-code-dump* *regexp-code-index* 2 regexp-get-absolute-address 3 princ format "%s %d\n"] 5]) (defalias 'regexp-code-dump-jump-2 #[(op) " TH \\H \\ \n# \\H_ \\H\\$!+ \\" [op p b2 b1 *regexp-code-dump* *regexp-code-index* 2 regexp-get-absolute-address 3 princ format "%s %d %d\n" 256 4 5] 9]) (defalias 'regexp-code-dump-charset #[(op) " TH #! \\ X Z \\\\W H\"! Tl X H_ TH\\ \\\"! \\ W \"\n\"! \n!\\ \"\n\"! \n!\\)S*  +" [len *regexp-code-index* ch n *regexp-code-dump* j princ format "%s %d " 2 128 "0x%2x " 256 "\n range list[%d-2 bytes]" sref " %c" char-octets "-%c" terpri max last op] 6]) (defalias 'regexp-code-dump-charset-m #[(op) " TH \\H $! \\ X Z \\\\W H\"! Tl X H_ TH\\ \\\"! \\ W \"\n\"! \n!\\ \"\n\"! \n!\\)S*  ," [len *regexp-code-index* ch n *regexp-code-dump* j 2 princ format "%s %d %d " 3 128 "0x%02x " 256 "\n range list[%d-2 bytes]" sref " %c" char-octets "-%c" terpri m max last op] 7]) (defalias 'TREX-simple-test1 #[nil "!" [regexp-word-compile "\\cA+\\cH*\\|\\cK+\\cH*\\|\\cC+\\cH*\\|\\cH+\\|\\sw+"] 2]) (defalias 'TREX-test1 #[(pattern) "!!! !! A !! !!B B @@ AB!! @@ AB!!!!!!!!!!B B* AD ! \n\"! @@!\n\"! @A!\nT A]." [forward bFA count fFA l result regexp-parse EFFA-make FA-make FA-inverse nil DFA-optimize DFA-make NEFA-make FA-simplify DFA-shortest-match reverse 0 princ format "\nForward[%2d]:" FA-dump "\nBackward[%2d]:" backward regexp pattern] 7]) (defalias 'TREX-test2 #[(pattern) " ! !!A\n!!!! ," [l pattern fFA regexp result regexp-parse EFFA-make FA-make nil regexp-code-dump regexp-code-gen DFA-optimize DFA-make] 6]) (defalias 'regexp-compile #[(pattern) "\"" [pattern regexp-compile-internal nil] 3]) (defalias 'regexp-word-compile #[(pattern) "\"" [pattern regexp-compile-internal t] 3]) (defalias 'regexp-compile-internal #[(pattern &optional word) " 8! !!! !!!! !! !!!!*B B* A !!\n@@ AB!!\n@@ AB!!!!!!!!!! ! !B B**\nA; * ." [forward regexp l bFA fFA result 2 current-case-table regexp-parse EFFA-make FA-make regexp-reform-duplication regexp-inverse nil DFA-optimize DFA-make DFA-code-with-fastmap FA-inverse NEFA-make FA-simplify DFA-shortest-match backward word obFA ofFA STOP_MEMORY *regexp-word-definition* case-fold-search *regexp-parse-translate* pattern START_MEMORY] 7]) (defalias 'regexp-compiled-pattern-dump #[(pattern) "H!H\"H\"H\"" [pattern regexp-code-dump 0 print-fastmap 1 " fastmap[char]" 2 " fastmap[synt]" 3 " fastmap[cate]"] 3]) (defalias 'regexp-compile-dump #[(code) " @@H @AH A!!!! @@!!! @A!!! !! \n\"! @@!\n\"! @A!\nT A])+" [Fcode Bcode i code words 0 princ format "\nRegular Expression Compiler Dump:\n" "Forward Search:" regexp-compiled-pattern-dump "Backward Search:" "\n Use the interpreter\n" 1 "In word conditions:\n" "Forward[%d]" "Backward[%d]" nil] 5]) (defalias 'regexp-compile-and-dump #[(regexp) "!!" [regexp regexp-compile-dump regexp-compile] 3]) (defalias 'define-word-regexp '(macro . #[(name regexp) " !DE" [regexp name defconst quote regexp-word-compile] 5])) (put 'define-word-regexp 'byte-hunk-handler 'macroexpand) (defalias 'define-coding-systems '(macro . #[(&rest rest) "DD" [rest define-coding-systems* quote] 3])) (defalias 'define-coding-systems* #[(names) "\"B" [names :or mapcar #[(name) "!E" [name :seq regexp-get-definition] 3]] 5]) (defalias 'oct #[(str) "H" [str 0] 2]) (byte-code "B!\"B!\"ć" [current-load-list *TREX-range-from* default-boundp set-default nil *TREX-range-to*] 3) (defalias 'TREX-range-make-jisjoint #[(regexp) "\n\" \"ljW\n I I Tl)\nI I!!" [regexp *TREX-range-to* *TREX-range-from* i make-vector 256 nil 0 t 255 TREX-range-mark TREX-range-replace] 4]) (defalias 'TREX-range-mark #[(regexp) " : @a 8!a A\"a A\"a A@!a A@!a A@!a A@ 8\") ; \" \"" [op regexp :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;\nH W SI\nW\nTI I \nI" [*TREX-range-from* *TREX-range-to* to from 0 t 255] 3]) (defalias 'TREX-range-replace #[(regexp) " : @a A@ 8 8!F\na A\"B\na A\"B\na A@!D\na A@!D\na A@!D\na A@ 8щ;H;H X H Tu U E B B TW GU @ B-) ; GU H " [to i op result j regexp :mark 2 TREX-range-replace 3 :or mapcar :seq :optional :star :plus :range nil 0 1 from *TREX-range-to*] 7]) (defalias 'FA-sort #[(FA) " @ A\n\"\n@\n@A\"\n@\n@A#\nAe *" [start FA alist sort TREX-lessp-car TREX-sort TREX-key-lessp cdr] 6]) (defalias 'CHARSET-rangep #[(charset) ":@a" [charset :range] 2]) (defalias 'CHARSET-orp #[(charset) ":@a" [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" [to from :range] 3]) (defalias 'CHARSET-membership #[(range charset) " ! !  @!W Amh\n @!X+" [flag1 from to flag range charset CHARSET-range-from CHARSET-range-to nil t] 4]) (defalias 'CHARSET-not #[(charset) "!D!ABAB" [charset CHARSET-rangep :nor CHARSET-orp :or] 2]) (defalias 'CHARSET-union #[(charset1 charset2) "! ! \" ! \" \"! ! \" ! \" \" ! \" ! \" \"" [charset1 charset2 CHARSET-rangep 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) " ! ! ! ! \nW E X\n^ \" X\n^ \" E," [from1 to1 from2 to2 range2 range1 CHARSET-range-from CHARSET-range-to :or CHARSET-range-make] 5]) (defalias 'CHARSET-union-range-or #[(range or) " A\"B" [or range :or CHARSET-union-range-or*] 4]) (defalias 'CHARSET-union-range-or* #[(range or-body) " ! ! \n @ !W !W B A !)S) @!TX @! A \n @ ! W ! W A !)W) @! TX @! A ! \" B+" [from to flag next part1 or-body CHARSET-range-from CHARSET-range-to nil t reverse CHARSET-range-make range] 4]) (defalias 'CHARSET-union-range-nor #[(range nor) "!!Ç" [range CHARSET-range-from CHARSET-range-to nil] 2]) (defalias 'CHARSET-union-or-or #[(or1 or2) " AA\"B" [or2 or1 :or CHARSET-union-or*-or*] 4]) (defalias 'CHARSET-union-or*-or* #[(or1-body or2-body) " @\n\" At\n)" [or2-body or1-body result-body CHARSET-union-range-or*] 4]) (defalias 'CHARSET-union-or-nor #[(or nor) "" [nil] 1]) (defalias 'CHARSET-union-nor-nor #[(nor1 nor2) " AA\"B" [nor2 nor1 :nor CHARSET-intersection-or*-or*] 4]) (defalias 'CHARSET-intersection #[(charset1 charset2) "! ! \" ! \" \"! ! \" ! \" \" ! \" ! \" \"" [charset1 charset2 CHARSET-rangep 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) " A\"" [or range CHARSET-intersection-range-or*] 3]) (defalias 'CHARSET-intersection-range-or* #[(range or-body) " ! ! @\n!W\n!W A)[) @\n! X\n! X\n B A\n B Aɉ)R GU @!] @!^\"C @! @!^\"  @!] @!\" ," [from to next flag or-body part2 CHARSET-range-from CHARSET-range-to nil t 1 CHARSET-range-make range] 7]) (defalias 'CHARSET-intersection-range-nor #[(range nor) " A\"" [nor range CHARSET-intersection-range-nor*] 3]) (defalias 'CHARSET-intersecion-range-nor* #[(range nor-body) "!!Ç" [range CHARSET-range-from CHARSET-range-to nil] 2]) (defalias 'CHARSET-intersection-or-or #[(or1 or2) " AA @\n\" \" Aq GU @ B+" [or2 or1 or2-body or1-body result nil 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) " AA\"B" [nor2 nor1 :nor CHARSET-union-or*-or*] 4]) (defalias 'FA-compaction #[(FA) "@A\n#\n\n@Aɉ # @A @@ B A @Aa @@ B Am \"! @ A @x @ @T @U @ @E` @ BY @:TR),*" [FA next alist newkeys table keys TREX-sort TREX-key-lessp car nil < reverse sort :range start newtable] 5]) (defalias 'FA-dump2 #[(table) " @ A\"!\n\n@@\"!\n@A@@ @@ @@ @A$! @@: @@@\" @@@ @@A@ @A$! @@: @@@a @@A@ @@8 @A$! @@ @A#! A @@ @@ @@ @A$! @@: @@@\" @@@ @@A@ @A$! @@: @@@a @@A@ @@8 @A$! @@ @A#! A)\nA*" [start table l alist princ format "\nstart = %d\n" "%3d: " "\\%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) " H H H H H H H H H H H !\"#$%%! \"$\"!#\"!\"\"!!\"! \"!\"! \"!\n\"! !. ߇" [not-bol not-eol syntax fastmap translate compiled-code 0 1 2 3 4 5 6 7 8 9 10 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 no-sub newline-anchor can-be-null regs-allocated re-nsub compiled-pattern] 12]) (defalias 'print-fastmap #[(fastmap name) "\n\"!\nG W\n HU \"! Th*!" [name max fastmap i princ format "%s:[" 0 "%c" "]\n"] 5]) (defalias 'print-translate #[(trans) " ! G\nW \nH\nU\n \nH#!\nTe*!" [max trans i princ "translate:\n" 0 format " %c --> %c" "\n"] 7]) (defalias 're-compile-and-dump #[(regexp) "!!" [regexp print-compiled-pattern re-compile] 3])