Mercurial > hg > xemacs-beta
comparison lisp/psgml/psgml-dtd.el @ 2:ac2d302a0011 r19-15b2
Import from CVS: tag r19-15b2
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:46:35 +0200 |
parents | 376386a54a3c |
children | bcdc7deadc19 |
comparison
equal
deleted
inserted
replaced
1:c0c6a60d29db | 2:ac2d302a0011 |
---|---|
1 ;;;; psgml-dtd.el --- DTD parser for SGML-editing mode with parsing support | 1 ;;;; psgml-dtd.el --- DTD parser for SGML-editing mode with parsing support |
2 ;; $Id: psgml-dtd.el,v 1.1.1.1 1996/12/18 03:35:19 steve Exp $ | 2 ;; $Id: psgml-dtd.el,v 1.1.1.2 1996/12/18 03:47:13 steve Exp $ |
3 | 3 |
4 ;; Copyright (C) 1994 Lennart Staflin | 4 ;; Copyright (C) 1994 Lennart Staflin |
5 | 5 |
6 ;; Author: Lennart Staflin <lenst@lysator.liu.se> | 6 ;; Author: Lennart Staflin <lenst@lysator.liu.se> |
7 | 7 |
82 ms (append (sgml-state-opts s) (sgml-state-reqs s))) | 82 ms (append (sgml-state-opts s) (sgml-state-reqs s))) |
83 (while ms | 83 (while ms |
84 (setq m (sgml-move-dest (car ms)) | 84 (setq m (sgml-move-dest (car ms)) |
85 ms (cdr ms)) | 85 ms (cdr ms)) |
86 (unless (sgml-normal-state-p m) | 86 (unless (sgml-normal-state-p m) |
87 (setq m (sgml-&node-next m))) | 87 (setq m (sgml-and-node-next m))) |
88 (unless (memq m states) | 88 (unless (memq m states) |
89 (nconc states (list m)))) | 89 (nconc states (list m)))) |
90 (setq l (cdr l))) | 90 (setq l (cdr l))) |
91 states)) | 91 states)) |
92 | 92 |
154 (length (sgml-state-opts s))) | 154 (length (sgml-state-opts s))) |
155 (let ((yes nil) | 155 (let ((yes nil) |
156 (no (list s)) | 156 (no (list s)) |
157 (l (sgml-state-reqs s)) | 157 (l (sgml-state-reqs s)) |
158 (nl (sgml-state-opts s)) | 158 (nl (sgml-state-opts s)) |
159 (res s) | |
160 dest) | 159 dest) |
161 (while (or l (setq l (prog1 nl (setq nl nil)))) | 160 (while (or l (setq l (prog1 nl (setq nl nil)))) |
162 (cond | 161 (cond |
163 ((not (sgml-normal-state-p (setq dest (sgml-move-dest (car l)))))) | 162 ((not (sgml-normal-state-p (setq dest (sgml-move-dest (car l)))))) |
164 ((memq dest no)) | 163 ((memq dest no)) |
236 (setcdr l (cddr l))) | 235 (setcdr l (cddr l))) |
237 (sgml-one-final-state (car l)) ; optimization | 236 (sgml-one-final-state (car l)) ; optimization |
238 (car l)) | 237 (car l)) |
239 | 238 |
240 (defun sgml-make-& (dfas) | 239 (defun sgml-make-& (dfas) |
241 (let ((&n (sgml-make-&node dfas (sgml-make-state))) | 240 (let ((&n (sgml-make-and-node dfas (sgml-make-state))) |
242 (s (sgml-make-state)) | 241 (s (sgml-make-state)) |
243 (l dfas)) | 242 (l dfas)) |
244 (while l ; For each si: | 243 (while l ; For each si: |
245 ;; For m in opts(si): add optional move from s to &n on token(m). | 244 ;; For m in opts(si): add optional move from s to &n on token(m). |
246 (loop for m in (sgml-state-opts (car l)) | 245 (loop for m in (sgml-state-opts (car l)) |
757 (while p | 756 (while p |
758 (cond ((sgml-normal-state-p (caar p)) | 757 (cond ((sgml-normal-state-p (caar p)) |
759 (sgml-translate-moves (sgml-state-opts (caar p))) | 758 (sgml-translate-moves (sgml-state-opts (caar p))) |
760 (sgml-translate-moves (sgml-state-reqs (caar p)))) | 759 (sgml-translate-moves (sgml-state-reqs (caar p)))) |
761 (t | 760 (t |
762 (sgml-translate-node (sgml-&node-next (caar p))))) | 761 (sgml-translate-node (sgml-and-node-next (caar p))))) |
763 (setq p (cdr p))) | 762 (setq p (cdr p))) |
764 sgml-translate-table)) | 763 sgml-translate-table)) |
765 | 764 |
766 ;;;; Save DTD: binary coding | 765 ;;;; Save DTD: binary coding |
767 | 766 |
830 (sgml-code-move x)) | 829 (sgml-code-move x)) |
831 (sgml-code-sequence (x (sgml-state-reqs s)) | 830 (sgml-code-sequence (x (sgml-state-reqs s)) |
832 (sgml-code-move x))) | 831 (sgml-code-move x))) |
833 (t ; s is a &-node | 832 (t ; s is a &-node |
834 (insert 255) ; Tag &-node | 833 (insert 255) ; Tag &-node |
835 (insert (sgml-code-xlate (sgml-&node-next s))) | 834 (insert (sgml-code-xlate (sgml-and-node-next s))) |
836 (sgml-code-sequence (m (sgml-&node-dfas s)) | 835 (sgml-code-sequence (m (sgml-and-node-dfas s)) |
837 (sgml-code-model m))))))) | 836 (sgml-code-model m))))))) |
838 | 837 |
839 (defun sgml-code-element (et) | 838 (defun sgml-code-element (et) |
840 (sgml-code-sexp (sgml-eltype-all-miscdata et)) | 839 (sgml-code-sexp (sgml-eltype-all-miscdata et)) |
841 (cond | 840 (cond |