]> code.delx.au - gnu-emacs/blobdiff - lisp/international/ccl.el
(auto-mode-alist): Add snmp-mode patterns.
[gnu-emacs] / lisp / international / ccl.el
index faff239e8be6be636e5e102841f5dcd1fee5da69..e0b12e35abe5154213151acaeca1aac99c080b60 100644 (file)
 ;;     | (write integer) | (write string) | (write REG ARRAY)
 ;;     | string
 ;;      | (write-multibyte-character REG(charset) REG(codepoint))
-;; UNIFY :=
-;;      (unify-char REG(table) REG(charset) REG(codepoint))
-;;      | (unify-char SYMBOL REG(charset) REG(codepoint))
 ;; TRANSLATE :=
-;;      (iterate-multiple-map REG REG TABLE-IDs)
-;;      | (translate-multiple-map REG REG (TABLE-SET))
-;;      | (translate-single-map REG REG TABLE-ID)
-;; TABLE-IDs := TABLE-ID ...
-;; TABLE-SET := TABLE-IDs | (TABLE-IDs) TABLE-SET
-;; TABLE-ID := integer
+;;      (translate-character REG(table) REG(charset) REG(codepoint))
+;;      | (translate-character SYMBOL REG(charset) REG(codepoint))
+;; MAP :=
+;;      (iterate-multiple-map REG REG MAP-IDs)
+;;      | (map-multiple REG REG (MAP-SET))
+;;      | (map-single REG REG MAP-ID)
+;; MAP-IDs := MAP-ID ...
+;; MAP-SET := MAP-IDs | (MAP-IDs) MAP-SET
+;; MAP-ID := integer
 ;;
 ;; CALL := (call ccl-program-name)
 ;; END := (end)
   [if branch loop break repeat write-repeat write-read-repeat
       read read-if read-branch write call end
       read-multibyte-character write-multibyte-character
-      unify-character
-      iterate-multiple-map translate-multiple-map translate-single-map]
+      translate-character
+      iterate-multiple-map map-multiple map-single]
   "Vector of CCL commands (symbols).")
 
 ;; Put a property to each symbol of CCL commands for the compiler.
 (defconst ccl-extended-code-table
   [read-multibyte-character
    write-multibyte-character
-   unify-character
-   unify-character-const-tbl
+   translate-character
+   translate-character-const-tbl
    nil nil nil nil nil nil nil nil nil nil nil nil ; 0x04-0x0f
    iterate-multiple-map
-   translate-multiple-map
-   translate-single-map
+   map-multiple
+   map-single
    ]
   "Vector of CCL extended compiled codes (symbols).")
 
     (ccl-check-register RRR cmd)
     (ccl-embed-extended-command 'write-multibyte-character rrr RRR 0)))
 
-;; Compile unify-character
-(defun ccl-compile-unify-character (cmd)
+;; Compile translate-character
+(defun ccl-compile-translate-character (cmd)
   (if (/= (length cmd) 4)
       (error "CCL: Invalid number of arguments: %s" cmd))
   (let ((Rrr (nth 1 cmd))
     (ccl-check-register rrr cmd)
     (ccl-check-register RRR cmd)
     (cond ((symbolp Rrr)
-          (if (not (get Rrr 'unification-table))
-              (error "CCL: Invalid unification-table %s in %s" Rrr cmd))
-          (ccl-embed-extended-command 'unify-character-const-tbl rrr RRR 0)
+          (if (not (get Rrr 'translation-table))
+              (error "CCL: Invalid translation table %s in %s" Rrr cmd))
+          (ccl-embed-extended-command 'translate-character-const-tbl
+                                      rrr RRR 0)
           (ccl-embed-data Rrr))
          (t
           (ccl-check-register Rrr cmd)
-          (ccl-embed-extended-command 'unify-character rrr RRR Rrr)))))
+          (ccl-embed-extended-command 'translate-character rrr RRR Rrr)))))
 
 (defun ccl-compile-iterate-multiple-map (cmd)
   (ccl-compile-multiple-map-function 'iterate-multiple-map cmd))
 
-(defun ccl-compile-translate-multiple-map (cmd)
+(defun ccl-compile-map-multiple (cmd)
   (if (/= (length cmd) 4)
       (error "CCL: Invalid number of arguments: %s" cmd))
   (let ((func '(lambda (arg mp)
        arg)
     (setq arg (append (list (nth 0 cmd) (nth 1 cmd) (nth 2 cmd))
                      (funcall func (nth 3 cmd) nil)))
-    (ccl-compile-multiple-map-function 'translate-multiple-map arg)))
+    (ccl-compile-multiple-map-function 'map-multiple arg)))
 
-(defun ccl-compile-translate-single-map (cmd)
+(defun ccl-compile-map-single (cmd)
   (if (/= (length cmd) 4)
       (error "CCL: Invalid number of arguments: %s" cmd))
   (let ((RRR (nth 1 cmd))
        (rrr (nth 2 cmd))
-       (table (nth 3 cmd))
+       (map (nth 3 cmd))
        id)
     (ccl-check-register rrr cmd)
     (ccl-check-register RRR cmd)
-    (ccl-embed-extended-command 'translate-single-map rrr RRR 0)
-    (cond ((symbolp table)
-          (if (get table 'ccl-translation-table)
-              (ccl-embed-data table)
-            (error "CCL: Invalid table: %s" table)))
+    (ccl-embed-extended-command 'map-single rrr RRR 0)
+    (cond ((symbolp map)
+          (if (get map 'code-conversion-map)
+              (ccl-embed-data map)
+            (error "CCL: Invalid map: %s" map)))
          (t
           (error "CCL: Invalid type of arguments: %s" cmd)))))
 
   (let ((RRR (nth 1 cmd))
        (rrr (nth 2 cmd))
        (args (nthcdr 3 cmd))
-       table)
+       map)
     (ccl-check-register rrr cmd)
     (ccl-check-register RRR cmd)
     (ccl-embed-extended-command command rrr RRR 0)
     (ccl-embed-data (length args))
     (while args
-      (setq table (car args))
-      (cond ((symbolp table)
-            (if (get table 'ccl-translation-table)
-                (ccl-embed-data table)
-              (error "CCL: Invalid table: %s" table)))
-           ((numberp table)
-            (ccl-embed-data table))
+      (setq map (car args))
+      (cond ((symbolp map)
+            (if (get map 'code-conversion-map)
+                (ccl-embed-data map)
+              (error "CCL: Invalid map: %s" map)))
+           ((numberp map)
+            (ccl-embed-data map))
            (t
             (error "CCL: Invalid type of arguments: %s" cmd)))
       (setq args (cdr args)))))
 (defun ccl-dump-write-multibyte-character (rrr RRR Rrr)
   (insert (format "write-multibyte-character r%d r%d\n" RRR rrr)))
 
-(defun ccl-dump-unify-character (rrr RRR Rrr)
-  (insert (format "unify-character table(r%d) r%d r%d\n" Rrr RRR rrr)))
+(defun ccl-dump-translate-character (rrr RRR Rrr)
+  (insert (format "translation table(r%d) r%d r%d\n" Rrr RRR rrr)))
 
-(defun ccl-dump-unify-character-const-tbl (rrr RRR Rrr)
+(defun ccl-dump-translate-character-const-tbl (rrr RRR Rrr)
   (let ((tbl (ccl-get-next-code)))
-    (insert (format "unify-character table(%d) r%d r%d\n" tbl RRR rrr))))
+    (insert (format "translation table(%d) r%d r%d\n" tbl RRR rrr))))
 
 (defun ccl-dump-iterate-multiple-map (rrr RRR Rrr)
   (let ((notbl (ccl-get-next-code))
        (i 0) id)
     (insert (format "iterate-multiple-map r%d r%d\n" RRR rrr))
-    (insert (format "\tnumber of tables is %d .\n\t [" notbl))
+    (insert (format "\tnumber of maps is %d .\n\t [" notbl))
     (while (< i notbl)
       (setq id (ccl-get-next-code))
       (insert (format "%S" id))
       (setq i (1+ i)))
     (insert "]\n")))
 
-(defun ccl-dump-translate-multiple-map (rrr RRR Rrr)
+(defun ccl-dump-map-multiple (rrr RRR Rrr)
   (let ((notbl (ccl-get-next-code))
        (i 0) id)
-    (insert (format "translate-multiple-map r%d r%d\n" RRR rrr))
-    (insert (format "\tnumber of tables and separators is %d\n\t [" notbl))
+    (insert (format "map-multiple r%d r%d\n" RRR rrr))
+    (insert (format "\tnumber of maps and separators is %d\n\t [" notbl))
     (while (< i notbl)
       (setq id (ccl-get-next-code))
       (if (= id -1)
       (setq i (1+ i)))
     (insert "]\n")))
 
-(defun ccl-dump-translate-single-map (rrr RRR Rrr)
+(defun ccl-dump-map-single (rrr RRR Rrr)
   (let ((id (ccl-get-next-code)))
-    (insert (format "translate-single-map r%d r%d table(%S)\n" RRR rrr id))))
+    (insert (format "map-single r%d r%d map(%S)\n" RRR rrr id))))
 
 \f
 ;; CCL emulation staffs