;ELC ;;; compiled by handa@tsingyi.etl.go.jp on Wed Aug 19 12:39:26 1998 ;;; from file /net/mulelab/export/dist/mule-2.3-19.34/lisp/ccl.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 "`ccl.el' was compiled for Emacs 19.29 or later")) (byte-code "ÀÁ\nBÃÄ G Wƒ2 HÈÉÊËÌ\"!#ˆT‰‚+ÍÎ\nBÃÄG WƒpHÈÐ#ˆÈÑÊËÒ\"!#ˆT‰‚F+ÓÔ\nBÃÄG Wƒ¡HÈÖ#ˆT‰‚„+ר\nBÃÄG WƒÖH‰ƒÍÈÚ#ˆT‰‚µ+ÛÜ\nBÃÄG WƒHÈÝ#ˆT‰‚ê+Þß!„Ãß\nBÞà!„Ä à\nBÇ" [[if branch loop break repeat write-repeat write-read-repeat read read-if read-branch write end] ccl-operator-table current-load-list nil 0 len i op put ccl-compile-function intern format "ccl-compile-%s" [set-cs set-cl set-r set-a jump jump-cond write-jump write-read-jump write-c-jump write-c-read-jump write-s-jump write-s-read-jump write-a-read-jump branch read1 read2 read-branch write1 write2 write-c write-s write-a end set-self-cs set-self-cl set-self-r set-expr-cl set-expr-r jump-cond-c jump-cond-r read-jump-cond-c read-jump-cond-r] ccl-machine-code-table code ccl-code ccl-dump-function "ccl-dump-%s" [r0 r1 r2 r3 r4 r5 r6 r7] ccl-register-table reg ccl-register-number [+ - * / % & | ^ << >> <8 >8 // nil nil nil < > == <= >= !=] ccl-arith-table arith ccl-arith-code [+= -= *= /= %= &= |= ^= <<= >>= <8= >8= //=] ccl-self-arith-table ccl-self-arith-code boundp ccl-program-vector ccl-current-ic] 8) (defalias 'ccl-embed-const #[(const &optional ic) "ƒ \nI‡ \nIˆ T‰‡" [ic ccl-program-vector const ccl-current-ic] 3]) (defalias 'ccl-embed-code #[(op reg const &optional ic) "À ÂN 9ƒÄ ÅNÆ\"‚ÇÄÉ\"#\n ƒ*\f \nI‚8\f \nIˆ T‰ )‡" [logior op ccl-code reg ash ccl-register-number 5 0 const 8 machine-code ic ccl-program-vector ccl-current-ic] 6]) (defalias 'ccl-embed-nop #[(&optional inc) " †Â\\‰‡" [ccl-current-ic inc 1] 2]) #@43 T if OBJECT is a valid CCL compiled code. (defalias 'ccl-program-p #[(obj) "À !…/ Gà ÇV….\fƒ- Wƒ- H¨T‚\f+‡" [vectorp obj 0 t flag len i 1] 3 (#$ . 2154)]) (byte-code "ÀÁ!„ÂÁ BÀÄ!„ÂÄ B‡" [boundp ccl-loop-head nil current-load-list ccl-breaks] 2) #@69 Return a comiled code of CCL-PROGRAM as a vector of integer (>= 0). (defalias 'ccl-compile #[(ccl-program) ":ƒ@¨ƒA@<„ÁÂ\"ˆÃ\f!„\"ÅÆÇ\"È È\nÇ Ì@!ˆÍ ˆÎA@!ˆÌ Ï\"ˆÐ8ƒKÎÐ8!ˆÑÒlj#ˆÅ Ç\"Ç Wƒv\fHIˆT‰‚]*‡" [ccl-program error "CCL:Invalid CCL source code %s" vectorp ccl-program-vector make-vector 8192 0 nil ccl-loop-head ccl-breaks ccl-current-ic ccl-embed-const ccl-embed-nop ccl-compile-1 1 2 ccl-embed-code end i vec] 5 (#$ . 2434)]) (defalias 'ccl-check-constant #[(arg cmd) "ÁYƒ‡ÂÃ\f#‡" [arg 0 error "CCL: Negative constant %s not allowed: %s" cmd] 4]) (defalias 'ccl-check-register #[(arg cmd) "ÁNƒ‡ÂÃ\f#‡" [arg ccl-register-number error "CCL: Invalide register %s: %s." cmd] 4]) (defalias 'ccl-check-reg-const #[(arg cmd) "¨ƒ\nÁ\n\"‡Ã\n\"‡" [arg ccl-check-constant cmd ccl-check-register] 3]) (defalias 'ccl-check-compile-function #[(arg cmd) "ÁN†\nÂÃ\f\"‡" [arg ccl-compile-function error "CCL: Invalide command: %s" cmd] 3]) (defalias 'ccl-compile-1 #[(cmd-list) "À\n¨„\n;„\nƒ\n@9ƒ\nC\n…\n@‰¨ƒ/ÃÄÅ E!ˆ‚w ;ƒ=ÆÇ D!ˆ‚w <ƒr A@Å=ƒQà !ˆ‚w A@9ƒg A@ÈNƒgÉ !ˆ‚wÊ @ \" !ˆ‚wËÌ \"ˆ\nA‰„À)‡" [nil cmd cmd-list ccl-compile-set r0 = ccl-compile-write-string write ccl-self-arith-code ccl-compile-self-set ccl-check-compile-function error "CCL: Invalid command: %s"] 5]) (defalias 'ccl-compile-set #[(cmd) "À @ \" 8 <ƒÅ\f \"‚Œ ¨ƒ:Æ \"ˆ ÇWƒ.ÈÉ\f #‚ŒÈÊ\fË#ˆÌ !‚ŒÀ \"ˆÍ 8Ï!ƒ†ËGÈÒ\f ÓN#ˆÌ!ˆW…‚ÆH \"ˆÌH!ˆT‰‚b*‚‹ÈÔ\f #)*‡" [ccl-check-register cmd 2 right rrr ccl-compile-expression ccl-check-constant 32768 ccl-embed-code set-cs set-cl 0 ccl-embed-const 3 ary vectorp len i set-a ccl-register-number set-r] 6]) (defalias 'ccl-compile-self-set #[(cmd) "À @ \" 8 <ƒÅÆ \"ˆÆÅ\f‰ÇÈ A@!ÉÊO! E\"*‡" [ccl-check-register cmd 2 right rrr ccl-compile-expression r7 intern symbol-name 0 -1] 7]) (defalias 'ccl-compile-expression #[(rrr expr) "@Á8‰<ƒÄÅ \"ˆÅ =ƒN\n¨ƒ=\nÇWƒ/ÈÉ\n#ˆ‚wÈÊË#ˆÌ\n!ˆ‚wÍ\n\"ˆÈÎ\nÏN#ˆ‚w\n¨ƒcÈÐ ÏN#ˆÌ\n!ˆ‚wÍ\n\"ˆÈÑ ÏN#ˆÌ\nÏN!ˆÌA@ÒN!*‡" [expr 2 right left ccl-compile-expression r7 rrr 32768 ccl-embed-code set-self-cs set-self-cl 0 ccl-embed-const ccl-check-register set-self-r ccl-register-number set-expr-cl set-expr-r ccl-arith-code] 6]) (defalias 'ccl-compile-write-string #[(cmd) "GÁU„\fÂÃ\"ˆA@‰GÆÈÉÆ‰#ˆÊ !ˆ W…7Ê\fH!ˆT‰‚\"+‡" [cmd 2 error "CCL: Invalid number of arguments: %s" str len 0 i ccl-embed-code write-s ccl-embed-const] 5]) (defalias 'ccl-compile-if #[(cmd) "GÁU„GÂU„ÃÄ\"ˆA@Å8Á8Ɖ‰ \n ‰\f<ƒO\f@<ƒOÍÎ\f@\"ˆÎ\fAB\f@\fAABB Ð\f<ƒ^Á‚_Ñ!ˆÒ !ˆ\n„r‚ŒÓÔ!ˆÒ\n!ˆÕÖÔ$ˆ\f9ƒžÕ×\f $‚çÅ\f8‰¨ƒ¿ÕÙ\f@ $ˆÓ T\"ˆ‚ÚÚ\"ˆÕÛ\f@ $ˆÓÜN T\"ˆÓ\fA@ÝN Å\\\").‡" [cmd 3 4 error "CCL: Invalid number of arguments: %s" 2 nil ic2 ic1 ic0 false-cmds true-cmds condition ccl-compile-expression r7 ccl-current-ic ccl-embed-nop 1 ccl-compile-1 ccl-embed-const 0 ccl-embed-code jump jump-cond arg jump-cond-c ccl-check-register jump-cond-r ccl-register-number ccl-arith-code] 7]) (defalias 'ccl-compile-branch #[(cmd) "GÁWƒ\fÂÃ\"ˆA@<ƒ#ÄÅA@\"ˆ@ÅAABBÆ!‡" [cmd 3 error "CCL: Invalid number of arguments: %s" ccl-compile-expression r7 ccl-compile-branch-1] 3]) (defalias 'ccl-compile-read-branch #[(cmd) "À !‡" [ccl-compile-branch-1 cmd] 2]) (defalias 'ccl-compile-branch-1 #[(cmd) "GÁWƒ\fÂÃ\"ˆÄA@\"AAʼn‰‰‰ \n \fÍ@\fGÎZ#ˆ ÐGS!ˆÑ\n ƒmÒ \n\\\"ˆÓ @!ˆBÐ ˆ\nT\n A‰ „EASƒÍÔÑ@$ˆA‰„|Ò \n\\\".‡" [cmd 3 error "CCL: Invalid number of arguments: %s" ccl-check-register nil branch-tails ic2 ic1 ic0 i branches rrr ccl-embed-code 2 ccl-current-ic ccl-embed-nop 0 ccl-embed-const ccl-compile-1 jump] 8]) (defalias 'ccl-compile-loop #[(cmd) "GÁWƒ\fÂÃ\"ˆ\fÅA‰ƒ%È@!ˆA‰„…=ÉÊË\f@$ˆA‰„*Å*‡" [cmd 2 error "CCL: Invalid number of arguments: %s" ccl-current-ic nil ccl-breaks ccl-loop-head ccl-compile-1 ccl-embed-code jump 0] 6]) (defalias 'ccl-compile-break #[(cmd) "GÁU„\fÂÃ\"ˆ\f„ÂÅ\"ˆBÈ ‡" [cmd 1 error "CCL: Invalid number of arguments: %s" ccl-loop-head "CCL: No outer loop: %s" ccl-current-ic ccl-breaks ccl-embed-nop] 3]) (defalias 'ccl-compile-repeat #[(cmd) "GÁU„\fÂÃ\"ˆ\f„ÂÅ\"ˆÆÇÈ\f#‡" [cmd 1 error "CCL: Invalid number of arguments: %s" ccl-loop-head "CCL: No outer loop: %s" ccl-embed-code jump 0] 4]) (defalias 'ccl-compile-write-repeat #[(cmd) "GÁU„\fÂÃ\"ˆ\f„ÂÅ\"ˆA@‰¨ƒ,ÇÈÉ\f#ˆÊ!‚o;ƒcÇËÉ\f#ˆÉG\f ÊG!ˆ \fW…_Ê H!ˆ T‰ ‚H*‚oÎ\"ˆÇÏ\f#)‡" [cmd 2 error "CCL: Invalid number of arguments: %s" ccl-loop-head "CCL: No outer loop: %s" arg ccl-embed-code write-c-jump 0 ccl-embed-const write-s-jump len i ccl-check-register write-jump] 5]) (defalias 'ccl-compile-write-read-repeat #[(cmd) "GÁW„GÂVƒÃÄ\"ˆ „ÃÆ\"ˆÇA@\"Á8 „7ÊË #‚š¨ƒKÊÌ #ˆÍ!‚š;„XÎ!ƒ”Ê;ƒcÏ‚dÐ #ˆÑGÍG!ˆW…ÍH!ˆT‰‚y*‚šÃÔ#*‡" [cmd 2 3 error "CCL: Invalid number of arguments: %s" ccl-loop-head "CCL: No outer loop: %s" ccl-check-register arg rrr ccl-embed-code write-read-jump write-c-read-jump ccl-embed-const vectorp write-s-read-jump write-a-read-jump 0 len i "CCL: Invalide argument %s: %s"] 5]) (defalias 'ccl-compile-read #[(cmd) "À A@ \" GÃUƒÄÅ\nÆ#‚- GÇUƒ)ÄÈ\nà 8ÉN#‚-ÊË \")‡" [ccl-check-register cmd rrr 2 ccl-embed-code read1 0 3 read2 ccl-register-number error "CCL: Invalid number of arguments: %s"] 5]) (defalias 'ccl-compile-read-if #[(cmd) "GÁU„GÂU„ÃÄ\"ˆA@Æ @\"È8 Á8\nË\fË Ë\fÐÁ!ˆÑ !ˆ\n„J ‚dÒÓ!ˆ Ñ\n!ˆÔÕÓ$ˆÈ 8Ô¨ƒtׂuØ \f$ˆÒ¨ƒ‰‚ÙN\fT\"ˆÒ A@ÚN\fÈ\\\".‡" [cmd 3 4 error "CCL: Invalid number of arguments: %s" expr ccl-check-register rrr 2 true-cmds false-cmds nil ic0 ic1 ic2 ccl-current-ic ccl-embed-nop ccl-compile-1 ccl-embed-const 0 ccl-embed-code jump arg read-jump-cond-c read-jump-cond-r ccl-register-number ccl-arith-code] 5]) (defalias 'ccl-compile-write #[(cmd) "GÁU„GÂU„ÃÄ\"ˆA@‰¨ƒ(ÆÇȉ#ˆÉ !‚  ;ƒ5ÊË D!‚ Ì \"ˆÁ8‰ ƒš 9ƒZÌ \"ˆÆÎ  ÏN#‚ŸÐ !ƒ‘È GÆÓ È#ˆÉ!ˆW…É H!ˆT‰‚v*‚ŸÃÔ #‚ŸÆÕ È#))‡" [cmd 2 3 error "CCL: Invalid number of arguments: %s" rrr ccl-embed-code write-c 0 ccl-embed-const ccl-compile-write-string write ccl-check-register arg write2 ccl-register-number vectorp len i write-a "CCL: Invalid argument %s: %s" write1] 6]) (defalias 'ccl-compile-end #[(cmd) "GÁU„\fÂÃ\"ˆÄÅÆ‰#‡" [cmd 1 error "CCL: Invalid number of arguments: %s" ccl-embed-code end 0] 4]) (byte-code "ÀÁ!„ÂÁ B‡" [boundp ccl-program-vector-dump nil current-load-list] 2) #@32 Disassemble compiled CCL-CODE. (defalias 'ccl-dump #[(ccl-code) "GÂH ÂUƒÅcˆ‚' ÆUƒ!Çcˆ‚'ÈÉ \"cˆÊcˆË\fÆHÂVƒG\fÆHWƒDÍ ˆ‚5Îcˆ\f\fW…TÍ ˆ‚G*‡" [ccl-code ccl-program-vector-dump 0 buffer-mag len "Don't output anything.\n" 1 "Needs out-buffer as large as in-buffer.\n" format "Needs out-buffer %d times bigger than in-buffer.\n" "Main:\n" 2 ccl-current-ic ccl-dump-1 "At EOF:\n"] 3 (#$ . 9119)]) (defalias 'ccl-get-next-code #[nil " H T‡" [ccl-program-vector-dump ccl-current-ic] 2]) (defalias 'ccl-dump-1 #[nil "À  Ã\" \fHÂÇ È\"É\"\nÇ Ë\"\fÍÎS\"cˆÐN\n\f\"-‡" [ccl-get-next-code opcode logand 31 code ccl-machine-code-table cmd ash -5 7 rrr -8 cc format "%4d: " ccl-current-ic ccl-dump-function] 4]) (defalias 'ccl-dump-set-cs #[(rrr cc) "ÀÁ\n #c‡" [format "r%d = %d\n" rrr cc] 4]) (defalias 'ccl-dump-set-cl #[(rrr cc) "À ÂÃ\f #c‡" [ccl-get-next-code cc format "r%d = %d\n" rrr] 4]) (defalias 'ccl-dump-set-r #[(rrr cc) "ÀÁ\n #c‡" [format "r%d = r%d\n" rrr cc] 4]) (defalias 'ccl-dump-set-a #[(rrr cc) "À ÁÄÅ $cˆÁÁ Wƒ%ÄÈÀ \"cˆ\nT‰‚)Éc*‡" [ccl-get-next-code 0 i range format "r%d = array[r%d] of length %d\n " rrr cc "%d " "\n"] 6]) (defalias 'ccl-dump-jump #[(rrr cc) "ÀÁ\n\"c‡" [format "jump to %d\n" cc] 3]) (defalias 'ccl-dump-jump-cond #[(rrr cc) "ÀÁ\n #c‡" [format "if !(r%d), jump to %d\n" rrr cc] 4]) (defalias 'ccl-dump-write-jump #[(rrr cc) "ÀÁ\n #c‡" [format "write r%d, jump to %d\n" rrr cc] 4]) (defalias 'ccl-dump-write-read-jump #[(rrr cc) "ÀÁ\n‰ $c‡" [format "write r%d, read r%d, jump to %d\n" rrr cc] 5]) (defalias 'ccl-dump-write-c-jump #[(rrr cc) "À Âà \f#c)‡" [ccl-get-next-code const format "write %d, jump to %d\n" cc] 4]) (defalias 'ccl-dump-write-c-read-jump #[(rrr cc) "À Âà \f $c)‡" [ccl-get-next-code const format "write %d, read r%d, jump to %d\n" rrr cc] 5]) (defalias 'ccl-dump-write-s-jump #[(rrr cc) "À ÁÄcˆ\n WƒÅÆÀ \"cˆ\nT‰‚ ÅÇ\"c*‡" [ccl-get-next-code 0 i len "write \"" format "%c" "\", jump to %d\n" cc] 4]) (defalias 'ccl-dump-write-s-read-jump #[(rrr cc) "À ÁÄcˆ\n WƒÅÆÀ \"cˆ\nT‰‚ ÅÇ #c*‡" [ccl-get-next-code 0 i len "write \"" format "%c" "\", read r%d, jump to %d\n" rrr cc] 5]) (defalias 'ccl-dump-write-a-read-jump #[(rrr cc) "À ÁÄÅ %cˆ\n Wƒ%ÄÈÀ \"cˆ\nT‰‚Éc*‡" [ccl-get-next-code 0 i len format "write array[r%d] of length %d, read r%d, jump to %d\n " rrr cc "%d " "\n"] 7]) (defalias 'ccl-dump-branch #[(rrr cc) "ÀÂÃ\f #cˆ XƒÂÆÇ \"cˆ T‰‚\nÈc)‡" [0 i format "jump to array[r%d] of length %d)\n " rrr cc "%d " ccl-get-next-code "\n"] 5]) (defalias 'ccl-dump-read1 #[(rrr cc) "ÀÁ\n\"c‡" [format "read r%d\n" rrr] 3]) (defalias 'ccl-dump-read2 #[(rrr cc) "ÀÁ\n #c‡" [format "read r%d and r%d\n" rrr cc] 4]) (defalias 'ccl-dump-read-branch #[(rrr cc) "ÀÁ\n\"cˆÃ\n\f\"‡" [format "read r%d, " rrr ccl-dump-branch cc] 3]) (defalias 'ccl-dump-write1 #[(rrr cc) "ÀÁ\n\"c‡" [format "write r%d\n" rrr] 3]) (defalias 'ccl-dump-write2 #[(rrr cc) "ÀÁ\n #c‡" [format "write r%d and r%d\n" rrr cc] 4]) (defalias 'ccl-dump-write-c #[(rrr cc) "ÀÁ \"c‡" [format "write %d\n" ccl-get-next-code] 3]) (defalias 'ccl-dump-write-s #[(rrr cc) "À ÁÄcˆ\n WƒÅÆÀ \"cˆ\nT‰‚ Çc*‡" [ccl-get-next-code 0 i len "write \"" format "%c" "\"\n"] 4]) (defalias 'ccl-dump-write-a #[(rrr cc) "À ÁÄÅ #cˆ\nÁWƒ ÇÀ ±ˆ\nT‰‚Èc*‡" [ccl-get-next-code 0 i len format "write array[r%d] of length %d\n " rrr "%d " "\n"] 5]) (defalias 'ccl-dump-end #[(rrr cc) "Àc‡" ["end\n"] 1]) (defalias 'ccl-dump-set-self-cs #[(rrr cc) "Á HÃÄ \n$c)‡" [ccl-arith-table ccl-get-next-code arith format "r%d %s= %d\n" rrr cc] 5]) (defalias 'ccl-dump-set-self-cl #[(rrr cc) "À \nÀ HÄÅ $c)‡" [ccl-get-next-code cc ccl-arith-table arith format "r%d %s= %d\n" rrr] 5]) (defalias 'ccl-dump-set-self-r #[(rrr cc) "Á HÃÄ \n$c)‡" [ccl-arith-table ccl-get-next-code arith format "r%d %s= r%d\n" rrr cc] 5]) (defalias 'ccl-dump-set-expr-cl #[(rrr cc) "À À HÄÅ\n %c*‡" [ccl-get-next-code ccl-arith-table arith const format "r%d = r%d %s %d\n" rrr cc] 6]) (defalias 'ccl-dump-set-expr-r #[(rrr cc) "À À HÄÅ\n %c*‡" [ccl-get-next-code ccl-arith-table arith reg format "r%d = r%d %s r%d\n" rrr cc] 6]) (defalias 'ccl-dump-jump-cond-c #[(rrr cc) "À À HÄÅ\n %c*‡" [ccl-get-next-code ccl-arith-table arith const format "if !(r%d %s %d), jump to %d\n" rrr cc] 6]) (defalias 'ccl-dump-jump-cond-r #[(rrr cc) "À À HÄÅ\n %c*‡" [ccl-get-next-code ccl-arith-table arith reg format "if !(r%d %s r%d), jump to %d\n" rrr cc] 6]) (defalias 'ccl-dump-read-jump-cond-c #[(rrr cc) "ÀÁ\n\"cˆÃ\n\f\"‡" [format "read r%d, " rrr ccl-dump-jump-cond-c cc] 3]) (defalias 'ccl-dump-read-jump-cond-r #[(rrr cc) "ÀÁ\n\"cˆÃ\n\f\"‡" [format "read r%d, " rrr ccl-dump-jump-cond-r cc] 3]) #@109 Does (defconst NAME (ccl-compile (eval CCL-PROGRAM)) DOC). Byte-compiler expand this macro while compiling. (defalias 'define-ccl-program '(macro . #[(name ccl-program &optional doc) "À ÂÃ\f!! F‡" [defconst name ccl-compile eval ccl-program doc] 5 (#$ . 13878)])) (byte-code "ÀÁÂÃ#ˆÄÅ!‡" [put define-ccl-program byte-hunk-handler macroexpand provide ccl] 4)