7 (defmacro ew-scan-std11 (scan col str)
8 `(let ((res (ew-make-anchor col str))
20 ([" \t"] (ew-add-frag res r p 'ew:raw-wsp-tok))
21 (?< (ew-add-token res r p 'ew:raw-lt-tok))
22 (?> (ew-add-token res r p 'ew:raw-gt-tok))
23 (?@ (ew-add-token res r p 'ew:raw-at-tok))
24 (?, (ew-add-token res r p 'ew:raw-comma-tok))
25 (?\; (ew-add-token res r p 'ew:raw-semicolon-tok))
26 (?: (ew-add-token res r p 'ew:raw-colon-tok))
27 (?. (ew-add-token res r p 'ew:raw-dot-tok))
29 (ew-add-frag res r p 'ew:raw-fold-tok))
31 (ew-add-frag res r (setq p q) 'ew:raw-err-tok))
32 ((+ [(?a ?z) (?A ?Z) (?0 ?9) "!#$%&'*+-/=?^_`{|}~" non-ascii])
33 (ew-add-token res r p 'ew:raw-atom-tok))
34 (?\" (ew-add-open res r p 'ew:raw-qs-begin-tok)
35 (setq mode 'quoted-string))
36 (?\[ (ew-add-open res r p 'ew:raw-dl-begin-tok)
37 (setq mode 'domain-literal))
38 (?\( (ew-add-open res r p 'ew:raw-cm-begin-tok)
41 (() (ew-add-frag res r q 'ew:raw-err-tok) (setq p q))))
42 ((eq mode 'quoted-string)
45 (?\" (ew-add-close-token res r p 'ew:raw-qs-end-tok)
47 ((?\\ ?\r ?\n [" \t"])
48 (ew-add-frag res r p 'ew:raw-qs-qfold-tok))
49 ((?\\ ?\r ?\n [^ " \t"])
50 (ew-add-frag res r (setq p q) 'ew:raw-err-tok))
51 (((* [^ "\"\\ \t\r"]) (* (+ ?\r) [^ "\"\\ \t\r\n"] (* [^ "\"\\ \t\r"])) (* ?\r)
54 (ew-add-frag res r (- p 3) 'ew:raw-qs-texts-tok)
56 (ew-add-frag res r p 'ew:raw-qs-fold-tok))
57 (((* [^ "\"\\ \t\r"]) (* (+ ?\r) [^ "\"\\ \t\r\n"] (* [^ "\"\\ \t\r"])) (* ?\r)
60 (ew-add-frag res r (- p 3) 'ew:raw-qs-texts-tok)
62 (ew-add-frag res r (setq p q) 'ew:raw-err-tok))
64 (ew-add-frag res r p 'ew:raw-qs-qpair-tok))
66 (ew-add-frag res r p 'ew:raw-qs-wsp-tok))
67 (((* [^ "\"\\ \t\r"]) (* (+ ?\r) [^ "\"\\ \t\r\n"] (* [^ "\"\\ \t\r"])) (* ?\r))
69 (ew-add-frag res r p 'ew:raw-qs-texts-tok)
70 (ew-add-frag res r (setq p q) 'ew:raw-err-tok)))))
71 ((eq mode 'domain-literal)
74 (?\] (ew-add-close-token res r p 'ew:raw-dl-end-tok)
76 ((?\\ ?\r ?\n [" \t"])
77 (ew-add-frag res r p 'ew:raw-dl-qfold-tok))
78 ((?\\ ?\r ?\n [^ " \t"])
79 (ew-add-frag res r (setq p q) 'ew:raw-err-tok))
80 (((* [^ "[]\\ \t\r"]) (* (+ ?\r) [^ "[]\\ \t\r\n"] (* [^ "[]\\ \t\r"])) (* ?\r)
83 (ew-add-frag res r (- p 3) 'ew:raw-dl-texts-tok)
85 (ew-add-frag res r p 'ew:raw-dl-fold-tok))
86 (((* [^ "[]\\ \t\r"]) (* (+ ?\r) [^ "[]\\ \t\r\n"] (* [^ "[]\\ \t\r"])) (* ?\r)
89 (ew-add-frag res r (- p 3) 'ew:raw-dl-texts-tok)
91 (ew-add-frag res r (setq p q) 'ew:raw-err-tok))
93 (ew-add-frag res r p 'ew:raw-dl-qpair-tok))
95 (ew-add-frag res r p 'ew:raw-dl-wsp-tok))
96 (((* [^ "[]\\ \t\r"]) (* (+ ?\r) [^ "[]\\ \t\r\n"] (* [^ "[]\\ \t\r"])) (* ?\r))
98 (ew-add-frag res r p 'ew:raw-dl-texts-tok)
99 (ew-add-frag res r (setq p q) 'ew:raw-err-tok)))))
103 (?\( (ew-add-open res r p 'ew:raw-cm-nested-begin-tok)
104 (setq nest (1+ nest)))
105 (?\) (setq nest (1- nest))
108 (ew-add-close res r p 'ew:raw-cm-end-tok)
110 (ew-add-close res r p 'ew:raw-cm-nested-end-tok)))
111 ((?\\ ?\r ?\n [" \t"])
112 (ew-add-frag res r p 'ew:raw-cm-qfold-tok))
113 ((?\\ ?\r ?\n [^ " \t"])
114 (ew-add-frag res r (setq p q) 'ew:raw-err-tok))
115 (((* [^ "()\\ \t\r"]) (* (+ ?\r) [^ "()\\ \t\r\n"] (* [^ "()\\ \t\r"])) (* ?\r)
118 (ew-add-frag res r (- p 3) 'ew:raw-cm-texts-tok)
120 (ew-add-frag res r p 'ew:raw-cm-fold-tok))
121 (((* [^ "()\\ \t\r"]) (* (+ ?\r) [^ "()\\ \t\r\n"] (* [^ "()\\ \t\r"])) (* ?\r)
124 (ew-add-frag res r (- p 3) 'ew:raw-cm-texts-tok)
126 (ew-add-frag res r (setq p q) 'ew:raw-err-tok))
128 (ew-add-frag res r p 'ew:raw-cm-qpair-tok))
130 (ew-add-frag res r p 'ew:raw-cm-wsp-tok))
131 (((* [^ "()\\ \t\r"]) (* (+ ?\r) [^ "()\\ \t\r\n"] (* [^ "()\\ \t\r"])) (* ?\r))
133 (ew-add-frag res r p 'ew:raw-cm-texts-tok)
134 (ew-add-frag res r (setq p q) 'ew:raw-err-tok)))))))
138 (defun ew-scan-unibyte-std11 (col str)
139 (ew-scan-std11 lex-scan-unibyte col str))
140 (defun ew-scan-multibyte-std11 (col str)
141 (ew-scan-std11 lex-scan-multibyte col str))
148 (ew-scan-unibyte-std11
149 0 " Tanaka Akira <akr@jaist.ac.jp> (Tanaka Akira)"))))
153 (lambda (frag) (cons (get frag 'type) (symbol-name frag)))
155 (ew-scan-unibyte-std11
156 0 " Tanaka Akira <akr@jaist.ac.jp> (Tanaka Akira)"))))