Mercurial > hg > xemacs-beta
comparison lisp/w3/dsssl.el @ 134:34a5b81f86ba r20-2b1
Import from CVS: tag r20-2b1
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:30:11 +0200 |
parents | 0293115a14e9 |
children | 5a88923fcbfe |
comparison
equal
deleted
inserted
replaced
133:b27e67717092 | 134:34a5b81f86ba |
---|---|
1 ;;; dsssl.el --- DSSSL parser | 1 ;;; dsssl.el --- DSSSL parser |
2 ;; Author: wmperry | 2 ;; Author: wmperry |
3 ;; Created: 1997/01/10 00:13:05 | 3 ;; Created: 1997/04/18 15:44:22 |
4 ;; Version: 1.12 | 4 ;; Version: 1.14 |
5 ;; Keywords: | 5 ;; Keywords: |
6 | 6 |
7 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 7 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
8 ;;; Copyright (c) 1996, 1997 by William M. Perry (wmperry@cs.indiana.edu) | 8 ;;; Copyright (c) 1996, 1997 by William M. Perry (wmperry@cs.indiana.edu) |
9 ;;; Copyright (c) 1997 by Free Software Foundation, Inc. | 9 ;;; Copyright (c) 1997 by Free Software Foundation, Inc. |
25 ;;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | 25 ;;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
26 ;;; Boston, MA 02111-1307, USA. | 26 ;;; Boston, MA 02111-1307, USA. |
27 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 27 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
28 | 28 |
29 (require 'cl) | 29 (require 'cl) |
30 (require 'dsssl-flow) | |
30 | 31 |
31 (if (not (fboundp 'cl-copy-hashtable)) | 32 (if (not (fboundp 'cl-copy-hashtable)) |
32 (defun cl-copy-hashtable (h) | 33 (defun cl-copy-hashtable (h) |
33 (let ((new (make-hash-table))) | 34 (let ((new (make-hash-table))) |
34 (cl-maphash (function (lambda (k v) (cl-puthash k v new))) h) | 35 (cl-maphash (function (lambda (k v) (cl-puthash k v new))) h) |
35 new))) | 36 new))) |
36 | |
37 ;; We need to have this up at the top to avoid compilation warnings in | |
38 ;; 'make' in dsssl-eval. Call me anal. | |
39 (defstruct flow-object | |
40 (name 'unknown :read-only t) ; Name of this flow object | |
41 (properties nil) | |
42 (children nil) | |
43 (parent nil) | |
44 ) | |
45 | 37 |
46 (defconst dsssl-builtin-functions | 38 (defconst dsssl-builtin-functions |
47 '(not boolean\? case equal\? null\? list\? list length append | 39 '(not boolean\? case equal\? null\? list\? list length append |
48 reverse list-tail list-ref member symbol\? keyword\? quantity\? | 40 reverse list-tail list-ref member symbol\? keyword\? quantity\? |
49 number\? real\? integer\? = < > <= >= + * - / max min abs quotient | 41 number\? real\? integer\? = < > <= >= + * - / max min abs quotient |
329 (setf (nth temp props) | 321 (setf (nth temp props) |
330 (intern (concat ":" (match-string 1 symname))))) | 322 (intern (concat ":" (match-string 1 symname))))) |
331 (setq temp (- temp 2))) | 323 (setq temp (- temp 2))) |
332 | 324 |
333 ;; Create the actual flow object | 325 ;; Create the actual flow object |
334 (make-flow-object :name type | 326 (make-flow-object :type type |
335 :children children | 327 :children children |
336 :properties props) | 328 :properties props) |
337 ) | 329 ) |
338 ) | 330 ) |
339 (time | 331 (time |