Function: ccl-compile-set
ccl-compile-set is a byte-compiled function defined in ccl.el.gz.
Signature
(ccl-compile-set CMD)
Documentation
Compile SET statement.
Source Code
;; Defined in /usr/src/emacs/lisp/international/ccl.el.gz
(defun ccl-compile-set (cmd)
"Compile SET statement."
(let ((rrr (ccl-check-register (car cmd) cmd))
(right (nth 2 cmd)))
(cond ((listp right)
;; CMD has the form `(RRR = (XXX OP YYY))'.
(ccl-compile-expression rrr right))
((integerp right)
;; CMD has the form `(RRR = integer)'.
(if (and (<= right ccl-max-short-const)
(>= right ccl-min-short-const))
(ccl-embed-code 'set-short-const rrr right)
(ccl-embed-code 'set-const rrr 0)
(ccl-embed-data right)))
(t
;; CMD has the form `(RRR = rrr [ array ])'.
(ccl-check-register right cmd)
(let ((ary (nth 3 cmd)))
(if (vectorp ary)
(let ((i 0) (len (length ary)))
(ccl-embed-code 'set-array rrr len right)
(while (< i len)
(ccl-embed-data (aref ary i))
(setq i (1+ i))))
(ccl-embed-code 'set-register rrr 0 right))))))
nil)