"Fossies" - the Fresh Open Source Software Archive 
Member "xterm-379/VTPrsTbl.c" (25 Nov 2022, 206590 Bytes) of package /linux/misc/xterm-379.tgz:
As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style:
standard) with prefixed line numbers and
code folding option.
Alternatively you can here
view or
download the uninterpreted source code file.
For more information about "VTPrsTbl.c" see the
Fossies "Dox" file reference documentation and the last
Fossies "Diffs" side-by-side code changes report:
376_vs_377.
1 /* $XTermId: VTPrsTbl.c,v 1.106 2022/11/25 01:19:18 tom Exp $ */
2
3 /*
4 * Copyright 1999-2021,2022 by Thomas E. Dickey
5 *
6 * All Rights Reserved
7 *
8 * Permission is hereby granted, free of charge, to any person obtaining a
9 * copy of this software and associated documentation files (the
10 * "Software"), to deal in the Software without restriction, including
11 * without limitation the rights to use, copy, modify, merge, publish,
12 * distribute, sublicense, and/or sell copies of the Software, and to
13 * permit persons to whom the Software is furnished to do so, subject to
14 * the following conditions:
15 *
16 * The above copyright notice and this permission notice shall be included
17 * in all copies or substantial portions of the Software.
18 *
19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
20 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
22 * IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
23 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
24 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
25 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26 *
27 * Except as contained in this notice, the name(s) of the above copyright
28 * holders shall not be used in advertising or otherwise to promote the
29 * sale, use or other dealings in this Software without prior written
30 * authorization.
31 *
32 *
33 * Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
34 *
35 * All Rights Reserved
36 *
37 * Permission to use, copy, modify, and distribute this software and its
38 * documentation for any purpose and without fee is hereby granted,
39 * provided that the above copyright notice appear in all copies and that
40 * both that copyright notice and this permission notice appear in
41 * supporting documentation, and that the name of Digital Equipment
42 * Corporation not be used in advertising or publicity pertaining to
43 * distribution of the software without specific, written prior permission.
44 *
45 *
46 * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
47 * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
48 * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
49 * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
50 * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
51 * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
52 * SOFTWARE.
53 */
54
55 #include <VTparse.h>
56 /* *INDENT-OFF* */
57
58 #if !OPT_BLINK_CURS
59 #undef CASE_CSI_SPACE_STATE
60 #define CASE_CSI_SPACE_STATE CASE_CSI_IGNORE
61 #endif
62
63 #if !OPT_DEC_LOCATOR
64 #undef CASE_DECEFR
65 #define CASE_DECEFR CASE_CSI_IGNORE
66 #undef CASE_DECELR
67 #define CASE_DECELR CASE_CSI_IGNORE
68 #undef CASE_DECSLE
69 #define CASE_DECSLE CASE_CSI_IGNORE
70 #undef CASE_DECRQLP
71 #define CASE_DECRQLP CASE_CSI_IGNORE
72 #endif
73
74 #if !OPT_WIDE_CHARS
75 #undef CASE_ESC_PERCENT
76 #define CASE_ESC_PERCENT CASE_ESC_IGNORE
77 #endif
78
79 #if !OPT_MOD_FKEYS
80 #undef CASE_SET_MOD_FKEYS
81 #define CASE_SET_MOD_FKEYS CASE_GROUND_STATE
82 #undef CASE_SET_MOD_FKEYS0
83 #define CASE_SET_MOD_FKEYS0 CASE_GROUND_STATE
84 #endif
85
86 #if !OPT_XTERM_SGR
87 #undef CASE_CSI_HASH_STATE
88 #define CASE_CSI_HASH_STATE CASE_CSI_IGNORE
89 #endif
90
91 /*
92 * Stupid Apollo C preprocessor can't handle long lines. So... To keep
93 * it happy, we put each onto a separate line.... Sigh...
94 */
95
96 Const PARSE_T ansi_table[] =
97 {
98 /* NUL SOH STX ETX */
99 CASE_IGNORE,
100 CASE_IGNORE,
101 CASE_IGNORE,
102 CASE_IGNORE,
103 /* EOT ENQ ACK BEL */
104 CASE_IGNORE,
105 CASE_ENQ,
106 CASE_IGNORE,
107 CASE_BELL,
108 /* BS HT NL VT */
109 CASE_BS,
110 CASE_TAB,
111 CASE_VMOT,
112 CASE_VMOT,
113 /* FF CR SO SI */
114 CASE_VMOT,
115 CASE_CR,
116 CASE_SO,
117 CASE_SI,
118 /* DLE DC1 DC2 DC3 */
119 CASE_IGNORE,
120 CASE_IGNORE,
121 CASE_IGNORE,
122 CASE_IGNORE,
123 /* DC4 NAK SYN ETB */
124 CASE_IGNORE,
125 CASE_IGNORE,
126 CASE_IGNORE,
127 CASE_IGNORE,
128 /* CAN EM SUB ESC */
129 CASE_GROUND_STATE,
130 CASE_IGNORE,
131 CASE_GROUND_STATE,
132 CASE_ESC,
133 /* FS GS RS US */
134 CASE_IGNORE,
135 CASE_IGNORE,
136 CASE_IGNORE,
137 CASE_IGNORE,
138 /* SP ! " # */
139 CASE_PRINT,
140 CASE_PRINT,
141 CASE_PRINT,
142 CASE_PRINT,
143 /* $ % & ' */
144 CASE_PRINT,
145 CASE_PRINT,
146 CASE_PRINT,
147 CASE_PRINT,
148 /* ( ) * + */
149 CASE_PRINT,
150 CASE_PRINT,
151 CASE_PRINT,
152 CASE_PRINT,
153 /* , - . / */
154 CASE_PRINT,
155 CASE_PRINT,
156 CASE_PRINT,
157 CASE_PRINT,
158 /* 0 1 2 3 */
159 CASE_PRINT,
160 CASE_PRINT,
161 CASE_PRINT,
162 CASE_PRINT,
163 /* 4 5 6 7 */
164 CASE_PRINT,
165 CASE_PRINT,
166 CASE_PRINT,
167 CASE_PRINT,
168 /* 8 9 : ; */
169 CASE_PRINT,
170 CASE_PRINT,
171 CASE_PRINT,
172 CASE_PRINT,
173 /* < = > ? */
174 CASE_PRINT,
175 CASE_PRINT,
176 CASE_PRINT,
177 CASE_PRINT,
178 /* @ A B C */
179 CASE_PRINT,
180 CASE_PRINT,
181 CASE_PRINT,
182 CASE_PRINT,
183 /* D E F G */
184 CASE_PRINT,
185 CASE_PRINT,
186 CASE_PRINT,
187 CASE_PRINT,
188 /* H I J K */
189 CASE_PRINT,
190 CASE_PRINT,
191 CASE_PRINT,
192 CASE_PRINT,
193 /* L M N O */
194 CASE_PRINT,
195 CASE_PRINT,
196 CASE_PRINT,
197 CASE_PRINT,
198 /* P Q R S */
199 CASE_PRINT,
200 CASE_PRINT,
201 CASE_PRINT,
202 CASE_PRINT,
203 /* T U V W */
204 CASE_PRINT,
205 CASE_PRINT,
206 CASE_PRINT,
207 CASE_PRINT,
208 /* X Y Z [ */
209 CASE_PRINT,
210 CASE_PRINT,
211 CASE_PRINT,
212 CASE_PRINT,
213 /* \ ] ^ _ */
214 CASE_PRINT,
215 CASE_PRINT,
216 CASE_PRINT,
217 CASE_PRINT,
218 /* ` a b c */
219 CASE_PRINT,
220 CASE_PRINT,
221 CASE_PRINT,
222 CASE_PRINT,
223 /* d e f g */
224 CASE_PRINT,
225 CASE_PRINT,
226 CASE_PRINT,
227 CASE_PRINT,
228 /* h i j k */
229 CASE_PRINT,
230 CASE_PRINT,
231 CASE_PRINT,
232 CASE_PRINT,
233 /* l m n o */
234 CASE_PRINT,
235 CASE_PRINT,
236 CASE_PRINT,
237 CASE_PRINT,
238 /* p q r s */
239 CASE_PRINT,
240 CASE_PRINT,
241 CASE_PRINT,
242 CASE_PRINT,
243 /* t u v w */
244 CASE_PRINT,
245 CASE_PRINT,
246 CASE_PRINT,
247 CASE_PRINT,
248 /* x y z { */
249 CASE_PRINT,
250 CASE_PRINT,
251 CASE_PRINT,
252 CASE_PRINT,
253 /* | } ~ DEL */
254 CASE_PRINT,
255 CASE_PRINT,
256 CASE_PRINT,
257 CASE_IGNORE,
258 /* 0x80 0x81 0x82 0x83 */
259 CASE_GROUND_STATE,
260 CASE_GROUND_STATE,
261 CASE_GROUND_STATE,
262 CASE_GROUND_STATE,
263 /* 0x84 0x85 0x86 0x87 */
264 CASE_IND,
265 CASE_NEL,
266 CASE_GROUND_STATE,
267 CASE_GROUND_STATE,
268 /* 0x88 0x89 0x8a 0x8b */
269 CASE_HTS,
270 CASE_GROUND_STATE,
271 CASE_GROUND_STATE,
272 CASE_GROUND_STATE,
273 /* 0x8c 0x8d 0x8e 0x8f */
274 CASE_GROUND_STATE,
275 CASE_RI,
276 CASE_SS2,
277 CASE_SS3,
278 /* 0x90 0x91 0x92 0x93 */
279 CASE_DCS,
280 CASE_GROUND_STATE,
281 CASE_GROUND_STATE,
282 CASE_GROUND_STATE,
283 /* 0x94 0x95 0x96 0x97 */
284 CASE_GROUND_STATE,
285 CASE_GROUND_STATE,
286 CASE_SPA,
287 CASE_EPA,
288 /* 0x98 0x99 0x9a 0x9b */
289 CASE_SOS,
290 CASE_GROUND_STATE,
291 CASE_DECID,
292 CASE_CSI_STATE,
293 /* 0x9c 0x9d 0x9e 0x9f */
294 CASE_ST,
295 CASE_OSC,
296 CASE_PM,
297 CASE_APC,
298 /* nobreakspace exclamdown cent sterling */
299 CASE_PRINT,
300 CASE_PRINT,
301 CASE_PRINT,
302 CASE_PRINT,
303 /* currency yen brokenbar section */
304 CASE_PRINT,
305 CASE_PRINT,
306 CASE_PRINT,
307 CASE_PRINT,
308 /* diaeresis copyright ordfeminine guillemotleft */
309 CASE_PRINT,
310 CASE_PRINT,
311 CASE_PRINT,
312 CASE_PRINT,
313 /* notsign hyphen registered macron */
314 CASE_PRINT,
315 CASE_PRINT,
316 CASE_PRINT,
317 CASE_PRINT,
318 /* degree plusminus twosuperior threesuperior */
319 CASE_PRINT,
320 CASE_PRINT,
321 CASE_PRINT,
322 CASE_PRINT,
323 /* acute mu paragraph periodcentered */
324 CASE_PRINT,
325 CASE_PRINT,
326 CASE_PRINT,
327 CASE_PRINT,
328 /* cedilla onesuperior masculine guillemotright */
329 CASE_PRINT,
330 CASE_PRINT,
331 CASE_PRINT,
332 CASE_PRINT,
333 /* onequarter onehalf threequarters questiondown */
334 CASE_PRINT,
335 CASE_PRINT,
336 CASE_PRINT,
337 CASE_PRINT,
338 /* Agrave Aacute Acircumflex Atilde */
339 CASE_PRINT,
340 CASE_PRINT,
341 CASE_PRINT,
342 CASE_PRINT,
343 /* Adiaeresis Aring AE Ccedilla */
344 CASE_PRINT,
345 CASE_PRINT,
346 CASE_PRINT,
347 CASE_PRINT,
348 /* Egrave Eacute Ecircumflex Ediaeresis */
349 CASE_PRINT,
350 CASE_PRINT,
351 CASE_PRINT,
352 CASE_PRINT,
353 /* Igrave Iacute Icircumflex Idiaeresis */
354 CASE_PRINT,
355 CASE_PRINT,
356 CASE_PRINT,
357 CASE_PRINT,
358 /* Eth Ntilde Ograve Oacute */
359 CASE_PRINT,
360 CASE_PRINT,
361 CASE_PRINT,
362 CASE_PRINT,
363 /* Ocircumflex Otilde Odiaeresis multiply */
364 CASE_PRINT,
365 CASE_PRINT,
366 CASE_PRINT,
367 CASE_PRINT,
368 /* Ooblique Ugrave Uacute Ucircumflex */
369 CASE_PRINT,
370 CASE_PRINT,
371 CASE_PRINT,
372 CASE_PRINT,
373 /* Udiaeresis Yacute Thorn ssharp */
374 CASE_PRINT,
375 CASE_PRINT,
376 CASE_PRINT,
377 CASE_PRINT,
378 /* agrave aacute acircumflex atilde */
379 CASE_PRINT,
380 CASE_PRINT,
381 CASE_PRINT,
382 CASE_PRINT,
383 /* adiaeresis aring ae ccedilla */
384 CASE_PRINT,
385 CASE_PRINT,
386 CASE_PRINT,
387 CASE_PRINT,
388 /* egrave eacute ecircumflex ediaeresis */
389 CASE_PRINT,
390 CASE_PRINT,
391 CASE_PRINT,
392 CASE_PRINT,
393 /* igrave iacute icircumflex idiaeresis */
394 CASE_PRINT,
395 CASE_PRINT,
396 CASE_PRINT,
397 CASE_PRINT,
398 /* eth ntilde ograve oacute */
399 CASE_PRINT,
400 CASE_PRINT,
401 CASE_PRINT,
402 CASE_PRINT,
403 /* ocircumflex otilde odiaeresis division */
404 CASE_PRINT,
405 CASE_PRINT,
406 CASE_PRINT,
407 CASE_PRINT,
408 /* oslash ugrave uacute ucircumflex */
409 CASE_PRINT,
410 CASE_PRINT,
411 CASE_PRINT,
412 CASE_PRINT,
413 /* udiaeresis yacute thorn ydiaeresis */
414 CASE_PRINT,
415 CASE_PRINT,
416 CASE_PRINT,
417 CASE_PRINT,
418 };
419
420 Const PARSE_T csi_table[] = /* CSI */
421 {
422 /* NUL SOH STX ETX */
423 CASE_IGNORE,
424 CASE_IGNORE,
425 CASE_IGNORE,
426 CASE_IGNORE,
427 /* EOT ENQ ACK BEL */
428 CASE_IGNORE,
429 CASE_ENQ,
430 CASE_IGNORE,
431 CASE_BELL,
432 /* BS HT NL VT */
433 CASE_BS,
434 CASE_TAB,
435 CASE_VMOT,
436 CASE_VMOT,
437 /* FF CR SO SI */
438 CASE_VMOT,
439 CASE_CR,
440 CASE_SO,
441 CASE_SI,
442 /* DLE DC1 DC2 DC3 */
443 CASE_IGNORE,
444 CASE_IGNORE,
445 CASE_IGNORE,
446 CASE_IGNORE,
447 /* DC4 NAK SYN ETB */
448 CASE_IGNORE,
449 CASE_IGNORE,
450 CASE_IGNORE,
451 CASE_IGNORE,
452 /* CAN EM SUB ESC */
453 CASE_GROUND_STATE,
454 CASE_IGNORE,
455 CASE_GROUND_STATE,
456 CASE_ESC,
457 /* FS GS RS US */
458 CASE_IGNORE,
459 CASE_IGNORE,
460 CASE_IGNORE,
461 CASE_IGNORE,
462 /* SP ! " # */
463 CASE_CSI_SPACE_STATE,
464 CASE_CSI_EX_STATE,
465 CASE_CSI_QUOTE_STATE,
466 CASE_CSI_HASH_STATE,
467 /* $ % & ' */
468 CASE_CSI_DOLLAR_STATE,
469 CASE_CSI_IGNORE,
470 CASE_CSI_IGNORE,
471 CASE_CSI_TICK_STATE,
472 /* ( ) * + */
473 CASE_CSI_IGNORE,
474 CASE_CSI_IGNORE,
475 CASE_CSI_IGNORE,
476 CASE_CSI_IGNORE,
477 /* , - . / */
478 CASE_CSI_IGNORE,
479 CASE_CSI_IGNORE,
480 CASE_CSI_IGNORE,
481 CASE_CSI_IGNORE,
482 /* 0 1 2 3 */
483 CASE_ESC_DIGIT,
484 CASE_ESC_DIGIT,
485 CASE_ESC_DIGIT,
486 CASE_ESC_DIGIT,
487 /* 4 5 6 7 */
488 CASE_ESC_DIGIT,
489 CASE_ESC_DIGIT,
490 CASE_ESC_DIGIT,
491 CASE_ESC_DIGIT,
492 /* 8 9 : ; */
493 CASE_ESC_DIGIT,
494 CASE_ESC_DIGIT,
495 CASE_ESC_COLON,
496 CASE_ESC_SEMI,
497 /* < = > ? */
498 CASE_CSI_IGNORE,
499 CASE_DEC3_STATE,
500 CASE_DEC2_STATE,
501 CASE_DEC_STATE,
502 /* @ A B C */
503 CASE_ICH,
504 CASE_CUU,
505 CASE_CUD,
506 CASE_CUF,
507 /* D E F G */
508 CASE_CUB,
509 CASE_CNL,
510 CASE_CPL,
511 CASE_HPA,
512 /* H I J K */
513 CASE_CUP,
514 CASE_CHT,
515 CASE_ED,
516 CASE_EL,
517 /* L M N O */
518 CASE_IL,
519 CASE_DL,
520 CASE_GROUND_STATE,
521 CASE_GROUND_STATE,
522 /* P Q R S */
523 CASE_DCH,
524 CASE_GROUND_STATE,
525 CASE_GROUND_STATE,
526 CASE_SU,
527 /* T U V W */
528 CASE_TRACK_MOUSE,
529 CASE_GROUND_STATE,
530 CASE_GROUND_STATE,
531 CASE_GROUND_STATE,
532 /* X Y Z [ */
533 CASE_ECH,
534 CASE_GROUND_STATE,
535 CASE_CBT,
536 CASE_GROUND_STATE,
537 /* \ ] ^ _ */
538 CASE_GROUND_STATE,
539 CASE_GROUND_STATE,
540 CASE_SD,
541 CASE_GROUND_STATE,
542 /* ` a b c */
543 CASE_HPA,
544 CASE_HPR,
545 CASE_REP,
546 CASE_DA1,
547 /* d e f g */
548 CASE_VPA,
549 CASE_VPR,
550 CASE_CUP,
551 CASE_TBC,
552 /* h i j k */
553 CASE_SET,
554 CASE_MC,
555 CASE_GROUND_STATE,
556 CASE_GROUND_STATE,
557 /* l m n o */
558 CASE_RST,
559 CASE_SGR,
560 CASE_CPR,
561 CASE_GROUND_STATE,
562 /* p q r s */
563 CASE_GROUND_STATE,
564 CASE_DECLL,
565 CASE_DECSTBM,
566 CASE_ANSI_SC,
567 /* t u v w */
568 CASE_XTERM_WINOPS,
569 CASE_ANSI_RC,
570 CASE_GROUND_STATE,
571 CASE_GROUND_STATE,
572 /* x y z { */
573 CASE_DECREQTPARM,
574 CASE_GROUND_STATE,
575 CASE_GROUND_STATE,
576 CASE_GROUND_STATE,
577 /* | } ~ DEL */
578 CASE_GROUND_STATE,
579 CASE_GROUND_STATE,
580 CASE_GROUND_STATE,
581 CASE_IGNORE,
582 /* 0x80 0x81 0x82 0x83 */
583 CASE_GROUND_STATE,
584 CASE_GROUND_STATE,
585 CASE_GROUND_STATE,
586 CASE_GROUND_STATE,
587 /* 0x84 0x85 0x86 0x87 */
588 CASE_IND,
589 CASE_NEL,
590 CASE_GROUND_STATE,
591 CASE_GROUND_STATE,
592 /* 0x88 0x89 0x8a 0x8b */
593 CASE_HTS,
594 CASE_GROUND_STATE,
595 CASE_GROUND_STATE,
596 CASE_GROUND_STATE,
597 /* 0x8c 0x8d 0x8e 0x8f */
598 CASE_GROUND_STATE,
599 CASE_RI,
600 CASE_SS2,
601 CASE_SS3,
602 /* 0x90 0x91 0x92 0x93 */
603 CASE_DCS,
604 CASE_GROUND_STATE,
605 CASE_GROUND_STATE,
606 CASE_GROUND_STATE,
607 /* 0x94 0x95 0x96 0x97 */
608 CASE_GROUND_STATE,
609 CASE_GROUND_STATE,
610 CASE_SPA,
611 CASE_EPA,
612 /* 0x98 0x99 0x9a 0x9b */
613 CASE_SOS,
614 CASE_GROUND_STATE,
615 CASE_DECID,
616 CASE_CSI_STATE,
617 /* 0x9c 0x9d 0x9e 0x9f */
618 CASE_ST,
619 CASE_OSC,
620 CASE_PM,
621 CASE_APC,
622 /* nobreakspace exclamdown cent sterling */
623 CASE_CSI_SPACE_STATE,
624 CASE_CSI_EX_STATE,
625 CASE_CSI_QUOTE_STATE,
626 CASE_CSI_HASH_STATE,
627 /* currency yen brokenbar section */
628 CASE_CSI_DOLLAR_STATE,
629 CASE_CSI_IGNORE,
630 CASE_CSI_IGNORE,
631 CASE_CSI_TICK_STATE,
632 /* diaeresis copyright ordfeminine guillemotleft */
633 CASE_CSI_IGNORE,
634 CASE_CSI_IGNORE,
635 CASE_CSI_IGNORE,
636 CASE_CSI_IGNORE,
637 /* notsign hyphen registered macron */
638 CASE_CSI_IGNORE,
639 CASE_CSI_IGNORE,
640 CASE_CSI_IGNORE,
641 CASE_CSI_IGNORE,
642 /* degree plusminus twosuperior threesuperior */
643 CASE_ESC_DIGIT,
644 CASE_ESC_DIGIT,
645 CASE_ESC_DIGIT,
646 CASE_ESC_DIGIT,
647 /* acute mu paragraph periodcentered */
648 CASE_ESC_DIGIT,
649 CASE_ESC_DIGIT,
650 CASE_ESC_DIGIT,
651 CASE_ESC_DIGIT,
652 /* cedilla onesuperior masculine guillemotright */
653 CASE_ESC_DIGIT,
654 CASE_ESC_DIGIT,
655 CASE_ESC_COLON,
656 CASE_ESC_SEMI,
657 /* onequarter onehalf threequarters questiondown */
658 CASE_CSI_IGNORE,
659 CASE_DEC3_STATE,
660 CASE_DEC2_STATE,
661 CASE_DEC_STATE,
662 /* Agrave Aacute Acircumflex Atilde */
663 CASE_ICH,
664 CASE_CUU,
665 CASE_CUD,
666 CASE_CUF,
667 /* Adiaeresis Aring AE Ccedilla */
668 CASE_CUB,
669 CASE_CNL,
670 CASE_CPL,
671 CASE_HPA,
672 /* Egrave Eacute Ecircumflex Ediaeresis */
673 CASE_CUP,
674 CASE_CHT,
675 CASE_ED,
676 CASE_EL,
677 /* Igrave Iacute Icircumflex Idiaeresis */
678 CASE_IL,
679 CASE_DL,
680 CASE_GROUND_STATE,
681 CASE_GROUND_STATE,
682 /* Eth Ntilde Ograve Oacute */
683 CASE_DCH,
684 CASE_GROUND_STATE,
685 CASE_GROUND_STATE,
686 CASE_SU,
687 /* Ocircumflex Otilde Odiaeresis multiply */
688 CASE_TRACK_MOUSE,
689 CASE_GROUND_STATE,
690 CASE_GROUND_STATE,
691 CASE_GROUND_STATE,
692 /* Ooblique Ugrave Uacute Ucircumflex */
693 CASE_ECH,
694 CASE_GROUND_STATE,
695 CASE_CBT,
696 CASE_GROUND_STATE,
697 /* Udiaeresis Yacute Thorn ssharp */
698 CASE_GROUND_STATE,
699 CASE_GROUND_STATE,
700 CASE_SD,
701 CASE_GROUND_STATE,
702 /* agrave aacute acircumflex atilde */
703 CASE_HPA,
704 CASE_HPR,
705 CASE_REP,
706 CASE_DA1,
707 /* adiaeresis aring ae ccedilla */
708 CASE_VPA,
709 CASE_VPR,
710 CASE_CUP,
711 CASE_TBC,
712 /* egrave eacute ecircumflex ediaeresis */
713 CASE_SET,
714 CASE_MC,
715 CASE_GROUND_STATE,
716 CASE_GROUND_STATE,
717 /* igrave iacute icircumflex idiaeresis */
718 CASE_RST,
719 CASE_SGR,
720 CASE_CPR,
721 CASE_GROUND_STATE,
722 /* eth ntilde ograve oacute */
723 CASE_GROUND_STATE,
724 CASE_DECLL,
725 CASE_DECSTBM,
726 CASE_ANSI_SC,
727 /* ocircumflex otilde odiaeresis division */
728 CASE_XTERM_WINOPS,
729 CASE_ANSI_RC,
730 CASE_GROUND_STATE,
731 CASE_GROUND_STATE,
732 /* oslash ugrave uacute ucircumflex */
733 CASE_DECREQTPARM,
734 CASE_GROUND_STATE,
735 CASE_GROUND_STATE,
736 CASE_GROUND_STATE,
737 /* udiaeresis yacute thorn ydiaeresis */
738 CASE_GROUND_STATE,
739 CASE_GROUND_STATE,
740 CASE_GROUND_STATE,
741 CASE_IGNORE,
742 };
743
744 Const PARSE_T csi2_table[] = /* CSI */
745 {
746 /* NUL SOH STX ETX */
747 CASE_IGNORE,
748 CASE_IGNORE,
749 CASE_IGNORE,
750 CASE_IGNORE,
751 /* EOT ENQ ACK BEL */
752 CASE_IGNORE,
753 CASE_ENQ,
754 CASE_IGNORE,
755 CASE_BELL,
756 /* BS HT NL VT */
757 CASE_BS,
758 CASE_TAB,
759 CASE_VMOT,
760 CASE_VMOT,
761 /* FF CR SO SI */
762 CASE_VMOT,
763 CASE_CR,
764 CASE_SO,
765 CASE_SI,
766 /* DLE DC1 DC2 DC3 */
767 CASE_IGNORE,
768 CASE_IGNORE,
769 CASE_IGNORE,
770 CASE_IGNORE,
771 /* DC4 NAK SYN ETB */
772 CASE_IGNORE,
773 CASE_IGNORE,
774 CASE_IGNORE,
775 CASE_IGNORE,
776 /* CAN EM SUB ESC */
777 CASE_GROUND_STATE,
778 CASE_IGNORE,
779 CASE_GROUND_STATE,
780 CASE_ESC,
781 /* FS GS RS US */
782 CASE_IGNORE,
783 CASE_IGNORE,
784 CASE_IGNORE,
785 CASE_IGNORE,
786 /* SP ! " # */
787 CASE_CSI_SPACE_STATE,
788 CASE_CSI_EX_STATE,
789 CASE_CSI_QUOTE_STATE,
790 CASE_CSI_HASH_STATE,
791 /* $ % & ' */
792 CASE_CSI_DOLLAR_STATE,
793 CASE_CSI_IGNORE,
794 CASE_CSI_IGNORE,
795 CASE_CSI_TICK_STATE,
796 /* ( ) * + */
797 CASE_CSI_IGNORE,
798 CASE_CSI_IGNORE,
799 CASE_CSI_STAR_STATE,
800 CASE_CSI_IGNORE,
801 /* , - . / */
802 CASE_CSI_IGNORE,
803 CASE_CSI_IGNORE,
804 CASE_CSI_IGNORE,
805 CASE_CSI_IGNORE,
806 /* 0 1 2 3 */
807 CASE_ESC_DIGIT,
808 CASE_ESC_DIGIT,
809 CASE_ESC_DIGIT,
810 CASE_ESC_DIGIT,
811 /* 4 5 6 7 */
812 CASE_ESC_DIGIT,
813 CASE_ESC_DIGIT,
814 CASE_ESC_DIGIT,
815 CASE_ESC_DIGIT,
816 /* 8 9 : ; */
817 CASE_ESC_DIGIT,
818 CASE_ESC_DIGIT,
819 CASE_ESC_COLON,
820 CASE_ESC_SEMI,
821 /* < = > ? */
822 CASE_CSI_IGNORE,
823 CASE_CSI_IGNORE,
824 CASE_CSI_IGNORE,
825 CASE_CSI_IGNORE,
826 /* @ A B C */
827 CASE_ICH,
828 CASE_CUU,
829 CASE_CUD,
830 CASE_CUF,
831 /* D E F G */
832 CASE_CUB,
833 CASE_CNL,
834 CASE_CPL,
835 CASE_HPA,
836 /* H I J K */
837 CASE_CUP,
838 CASE_CHT,
839 CASE_ED,
840 CASE_EL,
841 /* L M N O */
842 CASE_IL,
843 CASE_DL,
844 CASE_GROUND_STATE,
845 CASE_GROUND_STATE,
846 /* P Q R S */
847 CASE_DCH,
848 CASE_GROUND_STATE,
849 CASE_GROUND_STATE,
850 CASE_SU,
851 /* T U V W */
852 CASE_TRACK_MOUSE,
853 CASE_GROUND_STATE,
854 CASE_GROUND_STATE,
855 CASE_GROUND_STATE,
856 /* X Y Z [ */
857 CASE_ECH,
858 CASE_GROUND_STATE,
859 CASE_CBT,
860 CASE_GROUND_STATE,
861 /* \ ] ^ _ */
862 CASE_GROUND_STATE,
863 CASE_GROUND_STATE,
864 CASE_SD,
865 CASE_GROUND_STATE,
866 /* ` a b c */
867 CASE_HPA,
868 CASE_HPR,
869 CASE_REP,
870 CASE_DA1,
871 /* d e f g */
872 CASE_VPA,
873 CASE_VPR,
874 CASE_CUP,
875 CASE_TBC,
876 /* h i j k */
877 CASE_SET,
878 CASE_MC,
879 CASE_GROUND_STATE,
880 CASE_GROUND_STATE,
881 /* l m n o */
882 CASE_RST,
883 CASE_SGR,
884 CASE_CPR,
885 CASE_GROUND_STATE,
886 /* p q r s */
887 CASE_GROUND_STATE,
888 CASE_DECLL,
889 CASE_DECSTBM,
890 CASE_ANSI_SC,
891 /* t u v w */
892 CASE_XTERM_WINOPS,
893 CASE_ANSI_RC,
894 CASE_GROUND_STATE,
895 CASE_GROUND_STATE,
896 /* x y z { */
897 CASE_DECREQTPARM,
898 CASE_GROUND_STATE,
899 CASE_GROUND_STATE,
900 CASE_GROUND_STATE,
901 /* | } ~ DEL */
902 CASE_GROUND_STATE,
903 CASE_GROUND_STATE,
904 CASE_GROUND_STATE,
905 CASE_IGNORE,
906 /* 0x80 0x81 0x82 0x83 */
907 CASE_GROUND_STATE,
908 CASE_GROUND_STATE,
909 CASE_GROUND_STATE,
910 CASE_GROUND_STATE,
911 /* 0x84 0x85 0x86 0x87 */
912 CASE_IND,
913 CASE_NEL,
914 CASE_GROUND_STATE,
915 CASE_GROUND_STATE,
916 /* 0x88 0x89 0x8a 0x8b */
917 CASE_HTS,
918 CASE_GROUND_STATE,
919 CASE_GROUND_STATE,
920 CASE_GROUND_STATE,
921 /* 0x8c 0x8d 0x8e 0x8f */
922 CASE_GROUND_STATE,
923 CASE_RI,
924 CASE_SS2,
925 CASE_SS3,
926 /* 0x90 0x91 0x92 0x93 */
927 CASE_DCS,
928 CASE_GROUND_STATE,
929 CASE_GROUND_STATE,
930 CASE_GROUND_STATE,
931 /* 0x94 0x95 0x96 0x97 */
932 CASE_GROUND_STATE,
933 CASE_GROUND_STATE,
934 CASE_SPA,
935 CASE_EPA,
936 /* 0x98 0x99 0x9a 0x9b */
937 CASE_SOS,
938 CASE_GROUND_STATE,
939 CASE_DECID,
940 CASE_CSI_STATE,
941 /* 0x9c 0x9d 0x9e 0x9f */
942 CASE_ST,
943 CASE_OSC,
944 CASE_PM,
945 CASE_APC,
946 /* nobreakspace exclamdown cent sterling */
947 CASE_CSI_SPACE_STATE,
948 CASE_CSI_EX_STATE,
949 CASE_CSI_QUOTE_STATE,
950 CASE_CSI_HASH_STATE,
951 /* currency yen brokenbar section */
952 CASE_CSI_DOLLAR_STATE,
953 CASE_CSI_IGNORE,
954 CASE_CSI_IGNORE,
955 CASE_CSI_TICK_STATE,
956 /* diaeresis copyright ordfeminine guillemotleft */
957 CASE_CSI_IGNORE,
958 CASE_CSI_IGNORE,
959 CASE_CSI_STAR_STATE,
960 CASE_CSI_IGNORE,
961 /* notsign hyphen registered macron */
962 CASE_CSI_IGNORE,
963 CASE_CSI_IGNORE,
964 CASE_CSI_IGNORE,
965 CASE_CSI_IGNORE,
966 /* degree plusminus twosuperior threesuperior */
967 CASE_ESC_DIGIT,
968 CASE_ESC_DIGIT,
969 CASE_ESC_DIGIT,
970 CASE_ESC_DIGIT,
971 /* acute mu paragraph periodcentered */
972 CASE_ESC_DIGIT,
973 CASE_ESC_DIGIT,
974 CASE_ESC_DIGIT,
975 CASE_ESC_DIGIT,
976 /* cedilla onesuperior masculine guillemotright */
977 CASE_ESC_DIGIT,
978 CASE_ESC_DIGIT,
979 CASE_ESC_COLON,
980 CASE_ESC_SEMI,
981 /* onequarter onehalf threequarters questiondown */
982 CASE_CSI_IGNORE,
983 CASE_CSI_IGNORE,
984 CASE_CSI_IGNORE,
985 CASE_CSI_IGNORE,
986 /* Agrave Aacute Acircumflex Atilde */
987 CASE_ICH,
988 CASE_CUU,
989 CASE_CUD,
990 CASE_CUF,
991 /* Adiaeresis Aring AE Ccedilla */
992 CASE_CUB,
993 CASE_CNL,
994 CASE_CPL,
995 CASE_HPA,
996 /* Egrave Eacute Ecircumflex Ediaeresis */
997 CASE_CUP,
998 CASE_CHT,
999 CASE_ED,
1000 CASE_EL,
1001 /* Igrave Iacute Icircumflex Idiaeresis */
1002 CASE_IL,
1003 CASE_DL,
1004 CASE_GROUND_STATE,
1005 CASE_GROUND_STATE,
1006 /* Eth Ntilde Ograve Oacute */
1007 CASE_DCH,
1008 CASE_GROUND_STATE,
1009 CASE_GROUND_STATE,
1010 CASE_SU,
1011 /* Ocircumflex Otilde Odiaeresis multiply */
1012 CASE_TRACK_MOUSE,
1013 CASE_GROUND_STATE,
1014 CASE_GROUND_STATE,
1015 CASE_GROUND_STATE,
1016 /* Ooblique Ugrave Uacute Ucircumflex */
1017 CASE_ECH,
1018 CASE_GROUND_STATE,
1019 CASE_CBT,
1020 CASE_GROUND_STATE,
1021 /* Udiaeresis Yacute Thorn ssharp */
1022 CASE_GROUND_STATE,
1023 CASE_GROUND_STATE,
1024 CASE_SD,
1025 CASE_GROUND_STATE,
1026 /* agrave aacute acircumflex atilde */
1027 CASE_HPA,
1028 CASE_HPR,
1029 CASE_REP,
1030 CASE_DA1,
1031 /* adiaeresis aring ae ccedilla */
1032 CASE_VPA,
1033 CASE_VPR,
1034 CASE_CUP,
1035 CASE_TBC,
1036 /* egrave eacute ecircumflex ediaeresis */
1037 CASE_SET,
1038 CASE_MC,
1039 CASE_GROUND_STATE,
1040 CASE_GROUND_STATE,
1041 /* igrave iacute icircumflex idiaeresis */
1042 CASE_RST,
1043 CASE_SGR,
1044 CASE_CPR,
1045 CASE_GROUND_STATE,
1046 /* eth ntilde ograve oacute */
1047 CASE_GROUND_STATE,
1048 CASE_DECLL,
1049 CASE_DECSTBM,
1050 CASE_ANSI_SC,
1051 /* ocircumflex otilde odiaeresis division */
1052 CASE_XTERM_WINOPS,
1053 CASE_ANSI_RC,
1054 CASE_GROUND_STATE,
1055 CASE_GROUND_STATE,
1056 /* oslash ugrave uacute ucircumflex */
1057 CASE_DECREQTPARM,
1058 CASE_GROUND_STATE,
1059 CASE_GROUND_STATE,
1060 CASE_GROUND_STATE,
1061 /* udiaeresis yacute thorn ydiaeresis */
1062 CASE_GROUND_STATE,
1063 CASE_GROUND_STATE,
1064 CASE_GROUND_STATE,
1065 CASE_IGNORE,
1066 };
1067
1068 Const PARSE_T csi_ex_table[] = /* CSI ! */
1069 {
1070 /* NUL SOH STX ETX */
1071 CASE_IGNORE,
1072 CASE_IGNORE,
1073 CASE_IGNORE,
1074 CASE_IGNORE,
1075 /* EOT ENQ ACK BEL */
1076 CASE_IGNORE,
1077 CASE_ENQ,
1078 CASE_IGNORE,
1079 CASE_BELL,
1080 /* BS HT NL VT */
1081 CASE_BS,
1082 CASE_TAB,
1083 CASE_VMOT,
1084 CASE_VMOT,
1085 /* FF CR SO SI */
1086 CASE_VMOT,
1087 CASE_CR,
1088 CASE_SO,
1089 CASE_SI,
1090 /* DLE DC1 DC2 DC3 */
1091 CASE_IGNORE,
1092 CASE_IGNORE,
1093 CASE_IGNORE,
1094 CASE_IGNORE,
1095 /* DC4 NAK SYN ETB */
1096 CASE_IGNORE,
1097 CASE_IGNORE,
1098 CASE_IGNORE,
1099 CASE_IGNORE,
1100 /* CAN EM SUB ESC */
1101 CASE_GROUND_STATE,
1102 CASE_IGNORE,
1103 CASE_GROUND_STATE,
1104 CASE_ESC,
1105 /* FS GS RS US */
1106 CASE_IGNORE,
1107 CASE_IGNORE,
1108 CASE_IGNORE,
1109 CASE_IGNORE,
1110 /* SP ! " # */
1111 CASE_CSI_IGNORE,
1112 CASE_CSI_IGNORE,
1113 CASE_CSI_IGNORE,
1114 CASE_CSI_IGNORE,
1115 /* $ % & ' */
1116 CASE_CSI_IGNORE,
1117 CASE_CSI_IGNORE,
1118 CASE_CSI_IGNORE,
1119 CASE_CSI_IGNORE,
1120 /* ( ) * + */
1121 CASE_CSI_IGNORE,
1122 CASE_CSI_IGNORE,
1123 CASE_CSI_IGNORE,
1124 CASE_CSI_IGNORE,
1125 /* , - . / */
1126 CASE_CSI_IGNORE,
1127 CASE_CSI_IGNORE,
1128 CASE_CSI_IGNORE,
1129 CASE_CSI_IGNORE,
1130 /* 0 1 2 3 */
1131 CASE_CSI_IGNORE,
1132 CASE_CSI_IGNORE,
1133 CASE_CSI_IGNORE,
1134 CASE_CSI_IGNORE,
1135 /* 4 5 6 7 */
1136 CASE_CSI_IGNORE,
1137 CASE_CSI_IGNORE,
1138 CASE_CSI_IGNORE,
1139 CASE_CSI_IGNORE,
1140 /* 8 9 : ; */
1141 CASE_CSI_IGNORE,
1142 CASE_CSI_IGNORE,
1143 CASE_CSI_IGNORE,
1144 CASE_CSI_IGNORE,
1145 /* < = > ? */
1146 CASE_CSI_IGNORE,
1147 CASE_CSI_IGNORE,
1148 CASE_CSI_IGNORE,
1149 CASE_CSI_IGNORE,
1150 /* @ A B C */
1151 CASE_GROUND_STATE,
1152 CASE_GROUND_STATE,
1153 CASE_GROUND_STATE,
1154 CASE_GROUND_STATE,
1155 /* D E F G */
1156 CASE_GROUND_STATE,
1157 CASE_GROUND_STATE,
1158 CASE_GROUND_STATE,
1159 CASE_GROUND_STATE,
1160 /* H I J K */
1161 CASE_GROUND_STATE,
1162 CASE_GROUND_STATE,
1163 CASE_GROUND_STATE,
1164 CASE_GROUND_STATE,
1165 /* L M N O */
1166 CASE_GROUND_STATE,
1167 CASE_GROUND_STATE,
1168 CASE_GROUND_STATE,
1169 CASE_GROUND_STATE,
1170 /* P Q R S */
1171 CASE_GROUND_STATE,
1172 CASE_GROUND_STATE,
1173 CASE_GROUND_STATE,
1174 CASE_GROUND_STATE,
1175 /* T U V W */
1176 CASE_GROUND_STATE,
1177 CASE_GROUND_STATE,
1178 CASE_GROUND_STATE,
1179 CASE_GROUND_STATE,
1180 /* X Y Z [ */
1181 CASE_GROUND_STATE,
1182 CASE_GROUND_STATE,
1183 CASE_GROUND_STATE,
1184 CASE_GROUND_STATE,
1185 /* \ ] ^ _ */
1186 CASE_GROUND_STATE,
1187 CASE_GROUND_STATE,
1188 CASE_GROUND_STATE,
1189 CASE_GROUND_STATE,
1190 /* ` a b c */
1191 CASE_GROUND_STATE,
1192 CASE_GROUND_STATE,
1193 CASE_GROUND_STATE,
1194 CASE_GROUND_STATE,
1195 /* d e f g */
1196 CASE_GROUND_STATE,
1197 CASE_GROUND_STATE,
1198 CASE_GROUND_STATE,
1199 CASE_GROUND_STATE,
1200 /* h i j k */
1201 CASE_GROUND_STATE,
1202 CASE_GROUND_STATE,
1203 CASE_GROUND_STATE,
1204 CASE_GROUND_STATE,
1205 /* l m n o */
1206 CASE_GROUND_STATE,
1207 CASE_GROUND_STATE,
1208 CASE_GROUND_STATE,
1209 CASE_GROUND_STATE,
1210 /* p q r s */
1211 CASE_DECSTR,
1212 CASE_GROUND_STATE,
1213 CASE_GROUND_STATE,
1214 CASE_GROUND_STATE,
1215 /* t u v w */
1216 CASE_GROUND_STATE,
1217 CASE_GROUND_STATE,
1218 CASE_GROUND_STATE,
1219 CASE_GROUND_STATE,
1220 /* x y z { */
1221 CASE_GROUND_STATE,
1222 CASE_GROUND_STATE,
1223 CASE_GROUND_STATE,
1224 CASE_GROUND_STATE,
1225 /* | } ~ DEL */
1226 CASE_GROUND_STATE,
1227 CASE_GROUND_STATE,
1228 CASE_GROUND_STATE,
1229 CASE_IGNORE,
1230 /* 0x80 0x81 0x82 0x83 */
1231 CASE_GROUND_STATE,
1232 CASE_GROUND_STATE,
1233 CASE_GROUND_STATE,
1234 CASE_GROUND_STATE,
1235 /* 0x84 0x85 0x86 0x87 */
1236 CASE_IND,
1237 CASE_NEL,
1238 CASE_GROUND_STATE,
1239 CASE_GROUND_STATE,
1240 /* 0x88 0x89 0x8a 0x8b */
1241 CASE_HTS,
1242 CASE_GROUND_STATE,
1243 CASE_GROUND_STATE,
1244 CASE_GROUND_STATE,
1245 /* 0x8c 0x8d 0x8e 0x8f */
1246 CASE_GROUND_STATE,
1247 CASE_RI,
1248 CASE_SS2,
1249 CASE_SS3,
1250 /* 0x90 0x91 0x92 0x93 */
1251 CASE_DCS,
1252 CASE_GROUND_STATE,
1253 CASE_GROUND_STATE,
1254 CASE_GROUND_STATE,
1255 /* 0x94 0x95 0x96 0x97 */
1256 CASE_GROUND_STATE,
1257 CASE_GROUND_STATE,
1258 CASE_SPA,
1259 CASE_EPA,
1260 /* 0x98 0x99 0x9a 0x9b */
1261 CASE_SOS,
1262 CASE_GROUND_STATE,
1263 CASE_DECID,
1264 CASE_CSI_STATE,
1265 /* 0x9c 0x9d 0x9e 0x9f */
1266 CASE_ST,
1267 CASE_OSC,
1268 CASE_PM,
1269 CASE_APC,
1270 /* nobreakspace exclamdown cent sterling */
1271 CASE_CSI_IGNORE,
1272 CASE_CSI_IGNORE,
1273 CASE_CSI_IGNORE,
1274 CASE_CSI_IGNORE,
1275 /* currency yen brokenbar section */
1276 CASE_CSI_IGNORE,
1277 CASE_CSI_IGNORE,
1278 CASE_CSI_IGNORE,
1279 CASE_CSI_IGNORE,
1280 /* diaeresis copyright ordfeminine guillemotleft */
1281 CASE_CSI_IGNORE,
1282 CASE_CSI_IGNORE,
1283 CASE_CSI_IGNORE,
1284 CASE_CSI_IGNORE,
1285 /* notsign hyphen registered macron */
1286 CASE_CSI_IGNORE,
1287 CASE_CSI_IGNORE,
1288 CASE_CSI_IGNORE,
1289 CASE_CSI_IGNORE,
1290 /* degree plusminus twosuperior threesuperior */
1291 CASE_CSI_IGNORE,
1292 CASE_CSI_IGNORE,
1293 CASE_CSI_IGNORE,
1294 CASE_CSI_IGNORE,
1295 /* acute mu paragraph periodcentered */
1296 CASE_CSI_IGNORE,
1297 CASE_CSI_IGNORE,
1298 CASE_CSI_IGNORE,
1299 CASE_CSI_IGNORE,
1300 /* cedilla onesuperior masculine guillemotright */
1301 CASE_CSI_IGNORE,
1302 CASE_CSI_IGNORE,
1303 CASE_CSI_IGNORE,
1304 CASE_CSI_IGNORE,
1305 /* onequarter onehalf threequarters questiondown */
1306 CASE_CSI_IGNORE,
1307 CASE_CSI_IGNORE,
1308 CASE_CSI_IGNORE,
1309 CASE_CSI_IGNORE,
1310 /* Agrave Aacute Acircumflex Atilde */
1311 CASE_GROUND_STATE,
1312 CASE_GROUND_STATE,
1313 CASE_GROUND_STATE,
1314 CASE_GROUND_STATE,
1315 /* Adiaeresis Aring AE Ccedilla */
1316 CASE_GROUND_STATE,
1317 CASE_GROUND_STATE,
1318 CASE_GROUND_STATE,
1319 CASE_GROUND_STATE,
1320 /* Egrave Eacute Ecircumflex Ediaeresis */
1321 CASE_GROUND_STATE,
1322 CASE_GROUND_STATE,
1323 CASE_GROUND_STATE,
1324 CASE_GROUND_STATE,
1325 /* Igrave Iacute Icircumflex Idiaeresis */
1326 CASE_GROUND_STATE,
1327 CASE_GROUND_STATE,
1328 CASE_GROUND_STATE,
1329 CASE_GROUND_STATE,
1330 /* Eth Ntilde Ograve Oacute */
1331 CASE_GROUND_STATE,
1332 CASE_GROUND_STATE,
1333 CASE_GROUND_STATE,
1334 CASE_GROUND_STATE,
1335 /* Ocircumflex Otilde Odiaeresis multiply */
1336 CASE_GROUND_STATE,
1337 CASE_GROUND_STATE,
1338 CASE_GROUND_STATE,
1339 CASE_GROUND_STATE,
1340 /* Ooblique Ugrave Uacute Ucircumflex */
1341 CASE_GROUND_STATE,
1342 CASE_GROUND_STATE,
1343 CASE_GROUND_STATE,
1344 CASE_GROUND_STATE,
1345 /* Udiaeresis Yacute Thorn ssharp */
1346 CASE_GROUND_STATE,
1347 CASE_GROUND_STATE,
1348 CASE_GROUND_STATE,
1349 CASE_GROUND_STATE,
1350 /* agrave aacute acircumflex atilde */
1351 CASE_GROUND_STATE,
1352 CASE_GROUND_STATE,
1353 CASE_GROUND_STATE,
1354 CASE_GROUND_STATE,
1355 /* adiaeresis aring ae ccedilla */
1356 CASE_GROUND_STATE,
1357 CASE_GROUND_STATE,
1358 CASE_GROUND_STATE,
1359 CASE_GROUND_STATE,
1360 /* egrave eacute ecircumflex ediaeresis */
1361 CASE_GROUND_STATE,
1362 CASE_GROUND_STATE,
1363 CASE_GROUND_STATE,
1364 CASE_GROUND_STATE,
1365 /* igrave iacute icircumflex idiaeresis */
1366 CASE_GROUND_STATE,
1367 CASE_GROUND_STATE,
1368 CASE_GROUND_STATE,
1369 CASE_GROUND_STATE,
1370 /* eth ntilde ograve oacute */
1371 CASE_DECSTR,
1372 CASE_GROUND_STATE,
1373 CASE_GROUND_STATE,
1374 CASE_GROUND_STATE,
1375 /* ocircumflex otilde odiaeresis division */
1376 CASE_GROUND_STATE,
1377 CASE_GROUND_STATE,
1378 CASE_GROUND_STATE,
1379 CASE_GROUND_STATE,
1380 /* oslash ugrave uacute ucircumflex */
1381 CASE_GROUND_STATE,
1382 CASE_GROUND_STATE,
1383 CASE_GROUND_STATE,
1384 CASE_GROUND_STATE,
1385 /* udiaeresis yacute thorn ydiaeresis */
1386 CASE_GROUND_STATE,
1387 CASE_GROUND_STATE,
1388 CASE_GROUND_STATE,
1389 CASE_IGNORE,
1390 };
1391
1392 Const PARSE_T csi_quo_table[] = /* CSI ... " */
1393 {
1394 /* NUL SOH STX ETX */
1395 CASE_IGNORE,
1396 CASE_IGNORE,
1397 CASE_IGNORE,
1398 CASE_IGNORE,
1399 /* EOT ENQ ACK BEL */
1400 CASE_IGNORE,
1401 CASE_ENQ,
1402 CASE_IGNORE,
1403 CASE_BELL,
1404 /* BS HT NL VT */
1405 CASE_BS,
1406 CASE_TAB,
1407 CASE_VMOT,
1408 CASE_VMOT,
1409 /* FF CR SO SI */
1410 CASE_VMOT,
1411 CASE_CR,
1412 CASE_SO,
1413 CASE_SI,
1414 /* DLE DC1 DC2 DC3 */
1415 CASE_IGNORE,
1416 CASE_IGNORE,
1417 CASE_IGNORE,
1418 CASE_IGNORE,
1419 /* DC4 NAK SYN ETB */
1420 CASE_IGNORE,
1421 CASE_IGNORE,
1422 CASE_IGNORE,
1423 CASE_IGNORE,
1424 /* CAN EM SUB ESC */
1425 CASE_GROUND_STATE,
1426 CASE_IGNORE,
1427 CASE_GROUND_STATE,
1428 CASE_ESC,
1429 /* FS GS RS US */
1430 CASE_IGNORE,
1431 CASE_IGNORE,
1432 CASE_IGNORE,
1433 CASE_IGNORE,
1434 /* SP ! " # */
1435 CASE_CSI_IGNORE,
1436 CASE_CSI_IGNORE,
1437 CASE_CSI_IGNORE,
1438 CASE_CSI_IGNORE,
1439 /* $ % & ' */
1440 CASE_CSI_IGNORE,
1441 CASE_CSI_IGNORE,
1442 CASE_CSI_IGNORE,
1443 CASE_CSI_IGNORE,
1444 /* ( ) * + */
1445 CASE_CSI_IGNORE,
1446 CASE_CSI_IGNORE,
1447 CASE_CSI_IGNORE,
1448 CASE_CSI_IGNORE,
1449 /* , - . / */
1450 CASE_CSI_IGNORE,
1451 CASE_CSI_IGNORE,
1452 CASE_CSI_IGNORE,
1453 CASE_CSI_IGNORE,
1454 /* 0 1 2 3 */
1455 CASE_CSI_IGNORE,
1456 CASE_CSI_IGNORE,
1457 CASE_CSI_IGNORE,
1458 CASE_CSI_IGNORE,
1459 /* 4 5 6 7 */
1460 CASE_CSI_IGNORE,
1461 CASE_CSI_IGNORE,
1462 CASE_CSI_IGNORE,
1463 CASE_CSI_IGNORE,
1464 /* 8 9 : ; */
1465 CASE_CSI_IGNORE,
1466 CASE_CSI_IGNORE,
1467 CASE_CSI_IGNORE,
1468 CASE_CSI_IGNORE,
1469 /* < = > ? */
1470 CASE_CSI_IGNORE,
1471 CASE_CSI_IGNORE,
1472 CASE_CSI_IGNORE,
1473 CASE_CSI_IGNORE,
1474 /* @ A B C */
1475 CASE_GROUND_STATE,
1476 CASE_GROUND_STATE,
1477 CASE_GROUND_STATE,
1478 CASE_GROUND_STATE,
1479 /* D E F G */
1480 CASE_GROUND_STATE,
1481 CASE_GROUND_STATE,
1482 CASE_GROUND_STATE,
1483 CASE_GROUND_STATE,
1484 /* H I J K */
1485 CASE_GROUND_STATE,
1486 CASE_GROUND_STATE,
1487 CASE_GROUND_STATE,
1488 CASE_GROUND_STATE,
1489 /* L M N O */
1490 CASE_GROUND_STATE,
1491 CASE_GROUND_STATE,
1492 CASE_GROUND_STATE,
1493 CASE_GROUND_STATE,
1494 /* P Q R S */
1495 CASE_GROUND_STATE,
1496 CASE_GROUND_STATE,
1497 CASE_GROUND_STATE,
1498 CASE_GROUND_STATE,
1499 /* T U V W */
1500 CASE_GROUND_STATE,
1501 CASE_GROUND_STATE,
1502 CASE_GROUND_STATE,
1503 CASE_GROUND_STATE,
1504 /* X Y Z [ */
1505 CASE_GROUND_STATE,
1506 CASE_GROUND_STATE,
1507 CASE_GROUND_STATE,
1508 CASE_GROUND_STATE,
1509 /* \ ] ^ _ */
1510 CASE_GROUND_STATE,
1511 CASE_GROUND_STATE,
1512 CASE_GROUND_STATE,
1513 CASE_GROUND_STATE,
1514 /* ` a b c */
1515 CASE_GROUND_STATE,
1516 CASE_GROUND_STATE,
1517 CASE_GROUND_STATE,
1518 CASE_GROUND_STATE,
1519 /* d e f g */
1520 CASE_GROUND_STATE,
1521 CASE_GROUND_STATE,
1522 CASE_GROUND_STATE,
1523 CASE_GROUND_STATE,
1524 /* h i j k */
1525 CASE_GROUND_STATE,
1526 CASE_GROUND_STATE,
1527 CASE_GROUND_STATE,
1528 CASE_GROUND_STATE,
1529 /* l m n o */
1530 CASE_GROUND_STATE,
1531 CASE_GROUND_STATE,
1532 CASE_GROUND_STATE,
1533 CASE_GROUND_STATE,
1534 /* p q r s */
1535 CASE_DECSCL,
1536 CASE_DECSCA,
1537 CASE_GROUND_STATE,
1538 CASE_GROUND_STATE,
1539 /* t u v w */
1540 CASE_GROUND_STATE,
1541 CASE_GROUND_STATE,
1542 CASE_GROUND_STATE,
1543 CASE_GROUND_STATE,
1544 /* x y z { */
1545 CASE_GROUND_STATE,
1546 CASE_GROUND_STATE,
1547 CASE_GROUND_STATE,
1548 CASE_GROUND_STATE,
1549 /* | } ~ DEL */
1550 CASE_GROUND_STATE,
1551 CASE_GROUND_STATE,
1552 CASE_GROUND_STATE,
1553 CASE_IGNORE,
1554 /* 0x80 0x81 0x82 0x83 */
1555 CASE_GROUND_STATE,
1556 CASE_GROUND_STATE,
1557 CASE_GROUND_STATE,
1558 CASE_GROUND_STATE,
1559 /* 0x84 0x85 0x86 0x87 */
1560 CASE_IND,
1561 CASE_NEL,
1562 CASE_GROUND_STATE,
1563 CASE_GROUND_STATE,
1564 /* 0x88 0x89 0x8a 0x8b */
1565 CASE_HTS,
1566 CASE_GROUND_STATE,
1567 CASE_GROUND_STATE,
1568 CASE_GROUND_STATE,
1569 /* 0x8c 0x8d 0x8e 0x8f */
1570 CASE_GROUND_STATE,
1571 CASE_RI,
1572 CASE_SS2,
1573 CASE_SS3,
1574 /* 0x90 0x91 0x92 0x93 */
1575 CASE_DCS,
1576 CASE_GROUND_STATE,
1577 CASE_GROUND_STATE,
1578 CASE_GROUND_STATE,
1579 /* 0x94 0x95 0x96 0x97 */
1580 CASE_GROUND_STATE,
1581 CASE_GROUND_STATE,
1582 CASE_SPA,
1583 CASE_EPA,
1584 /* 0x98 0x99 0x9a 0x9b */
1585 CASE_SOS,
1586 CASE_GROUND_STATE,
1587 CASE_DECID,
1588 CASE_CSI_STATE,
1589 /* 0x9c 0x9d 0x9e 0x9f */
1590 CASE_ST,
1591 CASE_OSC,
1592 CASE_PM,
1593 CASE_APC,
1594 /* nobreakspace exclamdown cent sterling */
1595 CASE_CSI_IGNORE,
1596 CASE_CSI_IGNORE,
1597 CASE_CSI_IGNORE,
1598 CASE_CSI_IGNORE,
1599 /* currency yen brokenbar section */
1600 CASE_CSI_IGNORE,
1601 CASE_CSI_IGNORE,
1602 CASE_CSI_IGNORE,
1603 CASE_CSI_IGNORE,
1604 /* diaeresis copyright ordfeminine guillemotleft */
1605 CASE_CSI_IGNORE,
1606 CASE_CSI_IGNORE,
1607 CASE_CSI_IGNORE,
1608 CASE_CSI_IGNORE,
1609 /* notsign hyphen registered macron */
1610 CASE_CSI_IGNORE,
1611 CASE_CSI_IGNORE,
1612 CASE_CSI_IGNORE,
1613 CASE_CSI_IGNORE,
1614 /* degree plusminus twosuperior threesuperior */
1615 CASE_CSI_IGNORE,
1616 CASE_CSI_IGNORE,
1617 CASE_CSI_IGNORE,
1618 CASE_CSI_IGNORE,
1619 /* acute mu paragraph periodcentered */
1620 CASE_CSI_IGNORE,
1621 CASE_CSI_IGNORE,
1622 CASE_CSI_IGNORE,
1623 CASE_CSI_IGNORE,
1624 /* cedilla onesuperior masculine guillemotright */
1625 CASE_CSI_IGNORE,
1626 CASE_CSI_IGNORE,
1627 CASE_CSI_IGNORE,
1628 CASE_CSI_IGNORE,
1629 /* onequarter onehalf threequarters questiondown */
1630 CASE_CSI_IGNORE,
1631 CASE_CSI_IGNORE,
1632 CASE_CSI_IGNORE,
1633 CASE_CSI_IGNORE,
1634 /* Agrave Aacute Acircumflex Atilde */
1635 CASE_GROUND_STATE,
1636 CASE_GROUND_STATE,
1637 CASE_GROUND_STATE,
1638 CASE_GROUND_STATE,
1639 /* Adiaeresis Aring AE Ccedilla */
1640 CASE_GROUND_STATE,
1641 CASE_GROUND_STATE,
1642 CASE_GROUND_STATE,
1643 CASE_GROUND_STATE,
1644 /* Egrave Eacute Ecircumflex Ediaeresis */
1645 CASE_GROUND_STATE,
1646 CASE_GROUND_STATE,
1647 CASE_GROUND_STATE,
1648 CASE_GROUND_STATE,
1649 /* Igrave Iacute Icircumflex Idiaeresis */
1650 CASE_GROUND_STATE,
1651 CASE_GROUND_STATE,
1652 CASE_GROUND_STATE,
1653 CASE_GROUND_STATE,
1654 /* Eth Ntilde Ograve Oacute */
1655 CASE_GROUND_STATE,
1656 CASE_GROUND_STATE,
1657 CASE_GROUND_STATE,
1658 CASE_GROUND_STATE,
1659 /* Ocircumflex Otilde Odiaeresis multiply */
1660 CASE_GROUND_STATE,
1661 CASE_GROUND_STATE,
1662 CASE_GROUND_STATE,
1663 CASE_GROUND_STATE,
1664 /* Ooblique Ugrave Uacute Ucircumflex */
1665 CASE_GROUND_STATE,
1666 CASE_GROUND_STATE,
1667 CASE_GROUND_STATE,
1668 CASE_GROUND_STATE,
1669 /* Udiaeresis Yacute Thorn ssharp */
1670 CASE_GROUND_STATE,
1671 CASE_GROUND_STATE,
1672 CASE_GROUND_STATE,
1673 CASE_GROUND_STATE,
1674 /* agrave aacute acircumflex atilde */
1675 CASE_GROUND_STATE,
1676 CASE_GROUND_STATE,
1677 CASE_GROUND_STATE,
1678 CASE_GROUND_STATE,
1679 /* adiaeresis aring ae ccedilla */
1680 CASE_GROUND_STATE,
1681 CASE_GROUND_STATE,
1682 CASE_GROUND_STATE,
1683 CASE_GROUND_STATE,
1684 /* egrave eacute ecircumflex ediaeresis */
1685 CASE_GROUND_STATE,
1686 CASE_GROUND_STATE,
1687 CASE_GROUND_STATE,
1688 CASE_GROUND_STATE,
1689 /* igrave iacute icircumflex idiaeresis */
1690 CASE_GROUND_STATE,
1691 CASE_GROUND_STATE,
1692 CASE_GROUND_STATE,
1693 CASE_GROUND_STATE,
1694 /* eth ntilde ograve oacute */
1695 CASE_DECSCL,
1696 CASE_DECSCA,
1697 CASE_GROUND_STATE,
1698 CASE_GROUND_STATE,
1699 /* ocircumflex otilde odiaeresis division */
1700 CASE_GROUND_STATE,
1701 CASE_GROUND_STATE,
1702 CASE_GROUND_STATE,
1703 CASE_GROUND_STATE,
1704 /* oslash ugrave uacute ucircumflex */
1705 CASE_GROUND_STATE,
1706 CASE_GROUND_STATE,
1707 CASE_GROUND_STATE,
1708 CASE_GROUND_STATE,
1709 /* udiaeresis yacute thorn ydiaeresis */
1710 CASE_GROUND_STATE,
1711 CASE_GROUND_STATE,
1712 CASE_GROUND_STATE,
1713 CASE_IGNORE,
1714 };
1715
1716 #if OPT_BLINK_CURS
1717 Const PARSE_T csi_sp_table[] = /* CSI ... SP */
1718 {
1719 /* NUL SOH STX ETX */
1720 CASE_IGNORE,
1721 CASE_IGNORE,
1722 CASE_IGNORE,
1723 CASE_IGNORE,
1724 /* EOT ENQ ACK BEL */
1725 CASE_IGNORE,
1726 CASE_ENQ,
1727 CASE_IGNORE,
1728 CASE_BELL,
1729 /* BS HT NL VT */
1730 CASE_BS,
1731 CASE_TAB,
1732 CASE_VMOT,
1733 CASE_VMOT,
1734 /* FF CR SO SI */
1735 CASE_VMOT,
1736 CASE_CR,
1737 CASE_SO,
1738 CASE_SI,
1739 /* DLE DC1 DC2 DC3 */
1740 CASE_IGNORE,
1741 CASE_IGNORE,
1742 CASE_IGNORE,
1743 CASE_IGNORE,
1744 /* DC4 NAK SYN ETB */
1745 CASE_IGNORE,
1746 CASE_IGNORE,
1747 CASE_IGNORE,
1748 CASE_IGNORE,
1749 /* CAN EM SUB ESC */
1750 CASE_GROUND_STATE,
1751 CASE_IGNORE,
1752 CASE_GROUND_STATE,
1753 CASE_ESC,
1754 /* FS GS RS US */
1755 CASE_IGNORE,
1756 CASE_IGNORE,
1757 CASE_IGNORE,
1758 CASE_IGNORE,
1759 /* SP ! " # */
1760 CASE_CSI_IGNORE,
1761 CASE_CSI_IGNORE,
1762 CASE_CSI_IGNORE,
1763 CASE_CSI_IGNORE,
1764 /* $ % & ' */
1765 CASE_CSI_IGNORE,
1766 CASE_CSI_IGNORE,
1767 CASE_CSI_IGNORE,
1768 CASE_CSI_IGNORE,
1769 /* ( ) * + */
1770 CASE_CSI_IGNORE,
1771 CASE_CSI_IGNORE,
1772 CASE_CSI_IGNORE,
1773 CASE_CSI_IGNORE,
1774 /* , - . / */
1775 CASE_CSI_IGNORE,
1776 CASE_CSI_IGNORE,
1777 CASE_CSI_IGNORE,
1778 CASE_CSI_IGNORE,
1779 /* 0 1 2 3 */
1780 CASE_CSI_IGNORE,
1781 CASE_CSI_IGNORE,
1782 CASE_CSI_IGNORE,
1783 CASE_CSI_IGNORE,
1784 /* 4 5 6 7 */
1785 CASE_CSI_IGNORE,
1786 CASE_CSI_IGNORE,
1787 CASE_CSI_IGNORE,
1788 CASE_CSI_IGNORE,
1789 /* 8 9 : ; */
1790 CASE_CSI_IGNORE,
1791 CASE_CSI_IGNORE,
1792 CASE_CSI_IGNORE,
1793 CASE_CSI_IGNORE,
1794 /* < = > ? */
1795 CASE_CSI_IGNORE,
1796 CASE_CSI_IGNORE,
1797 CASE_CSI_IGNORE,
1798 CASE_CSI_IGNORE,
1799 /* @ A B C */
1800 CASE_SL,
1801 CASE_SR,
1802 CASE_GROUND_STATE,
1803 CASE_GROUND_STATE,
1804 /* D E F G */
1805 CASE_GROUND_STATE,
1806 CASE_GROUND_STATE,
1807 CASE_GROUND_STATE,
1808 CASE_GROUND_STATE,
1809 /* H I J K */
1810 CASE_GROUND_STATE,
1811 CASE_GROUND_STATE,
1812 CASE_GROUND_STATE,
1813 CASE_GROUND_STATE,
1814 /* L M N O */
1815 CASE_GROUND_STATE,
1816 CASE_GROUND_STATE,
1817 CASE_GROUND_STATE,
1818 CASE_GROUND_STATE,
1819 /* P Q R S */
1820 CASE_GROUND_STATE,
1821 CASE_GROUND_STATE,
1822 CASE_GROUND_STATE,
1823 CASE_GROUND_STATE,
1824 /* T U V W */
1825 CASE_GROUND_STATE,
1826 CASE_GROUND_STATE,
1827 CASE_GROUND_STATE,
1828 CASE_GROUND_STATE,
1829 /* X Y Z [ */
1830 CASE_GROUND_STATE,
1831 CASE_GROUND_STATE,
1832 CASE_GROUND_STATE,
1833 CASE_GROUND_STATE,
1834 /* \ ] ^ _ */
1835 CASE_GROUND_STATE,
1836 CASE_GROUND_STATE,
1837 CASE_GROUND_STATE,
1838 CASE_GROUND_STATE,
1839 /* ` a b c */
1840 CASE_GROUND_STATE,
1841 CASE_GROUND_STATE,
1842 CASE_GROUND_STATE,
1843 CASE_GROUND_STATE,
1844 /* d e f g */
1845 CASE_GROUND_STATE,
1846 CASE_GROUND_STATE,
1847 CASE_GROUND_STATE,
1848 CASE_GROUND_STATE,
1849 /* h i j k */
1850 CASE_GROUND_STATE,
1851 CASE_GROUND_STATE,
1852 CASE_GROUND_STATE,
1853 CASE_GROUND_STATE,
1854 /* l m n o */
1855 CASE_GROUND_STATE,
1856 CASE_GROUND_STATE,
1857 CASE_GROUND_STATE,
1858 CASE_GROUND_STATE,
1859 /* p q r s */
1860 CASE_GROUND_STATE,
1861 CASE_DECSCUSR,
1862 CASE_GROUND_STATE,
1863 CASE_GROUND_STATE,
1864 /* t u v w */
1865 CASE_DECSWBV,
1866 CASE_DECSMBV,
1867 CASE_GROUND_STATE,
1868 CASE_GROUND_STATE,
1869 /* x y z { */
1870 CASE_GROUND_STATE,
1871 CASE_GROUND_STATE,
1872 CASE_GROUND_STATE,
1873 CASE_GROUND_STATE,
1874 /* | } ~ DEL */
1875 CASE_GROUND_STATE,
1876 CASE_GROUND_STATE,
1877 CASE_GROUND_STATE,
1878 CASE_IGNORE,
1879 /* 0x80 0x81 0x82 0x83 */
1880 CASE_GROUND_STATE,
1881 CASE_GROUND_STATE,
1882 CASE_GROUND_STATE,
1883 CASE_GROUND_STATE,
1884 /* 0x84 0x85 0x86 0x87 */
1885 CASE_IND,
1886 CASE_NEL,
1887 CASE_GROUND_STATE,
1888 CASE_GROUND_STATE,
1889 /* 0x88 0x89 0x8a 0x8b */
1890 CASE_HTS,
1891 CASE_GROUND_STATE,
1892 CASE_GROUND_STATE,
1893 CASE_GROUND_STATE,
1894 /* 0x8c 0x8d 0x8e 0x8f */
1895 CASE_GROUND_STATE,
1896 CASE_RI,
1897 CASE_SS2,
1898 CASE_SS3,
1899 /* 0x90 0x91 0x92 0x93 */
1900 CASE_DCS,
1901 CASE_GROUND_STATE,
1902 CASE_GROUND_STATE,
1903 CASE_GROUND_STATE,
1904 /* 0x94 0x95 0x96 0x97 */
1905 CASE_GROUND_STATE,
1906 CASE_GROUND_STATE,
1907 CASE_SPA,
1908 CASE_EPA,
1909 /* 0x98 0x99 0x9a 0x9b */
1910 CASE_SOS,
1911 CASE_GROUND_STATE,
1912 CASE_DECID,
1913 CASE_CSI_STATE,
1914 /* 0x9c 0x9d 0x9e 0x9f */
1915 CASE_ST,
1916 CASE_OSC,
1917 CASE_PM,
1918 CASE_APC,
1919 /* nobreakspace exclamdown cent sterling */
1920 CASE_CSI_IGNORE,
1921 CASE_CSI_IGNORE,
1922 CASE_CSI_IGNORE,
1923 CASE_CSI_IGNORE,
1924 /* currency yen brokenbar section */
1925 CASE_CSI_IGNORE,
1926 CASE_CSI_IGNORE,
1927 CASE_CSI_IGNORE,
1928 CASE_CSI_IGNORE,
1929 /* diaeresis copyright ordfeminine guillemotleft */
1930 CASE_CSI_IGNORE,
1931 CASE_CSI_IGNORE,
1932 CASE_CSI_IGNORE,
1933 CASE_CSI_IGNORE,
1934 /* notsign hyphen registered macron */
1935 CASE_CSI_IGNORE,
1936 CASE_CSI_IGNORE,
1937 CASE_CSI_IGNORE,
1938 CASE_CSI_IGNORE,
1939 /* degree plusminus twosuperior threesuperior */
1940 CASE_CSI_IGNORE,
1941 CASE_CSI_IGNORE,
1942 CASE_CSI_IGNORE,
1943 CASE_CSI_IGNORE,
1944 /* acute mu paragraph periodcentered */
1945 CASE_CSI_IGNORE,
1946 CASE_CSI_IGNORE,
1947 CASE_CSI_IGNORE,
1948 CASE_CSI_IGNORE,
1949 /* cedilla onesuperior masculine guillemotright */
1950 CASE_CSI_IGNORE,
1951 CASE_CSI_IGNORE,
1952 CASE_CSI_IGNORE,
1953 CASE_CSI_IGNORE,
1954 /* onequarter onehalf threequarters questiondown */
1955 CASE_CSI_IGNORE,
1956 CASE_CSI_IGNORE,
1957 CASE_CSI_IGNORE,
1958 CASE_CSI_IGNORE,
1959 /* Agrave Aacute Acircumflex Atilde */
1960 CASE_SL,
1961 CASE_SR,
1962 CASE_GROUND_STATE,
1963 CASE_GROUND_STATE,
1964 /* Adiaeresis Aring AE Ccedilla */
1965 CASE_GROUND_STATE,
1966 CASE_GROUND_STATE,
1967 CASE_GROUND_STATE,
1968 CASE_GROUND_STATE,
1969 /* Egrave Eacute Ecircumflex Ediaeresis */
1970 CASE_GROUND_STATE,
1971 CASE_GROUND_STATE,
1972 CASE_GROUND_STATE,
1973 CASE_GROUND_STATE,
1974 /* Igrave Iacute Icircumflex Idiaeresis */
1975 CASE_GROUND_STATE,
1976 CASE_GROUND_STATE,
1977 CASE_GROUND_STATE,
1978 CASE_GROUND_STATE,
1979 /* Eth Ntilde Ograve Oacute */
1980 CASE_GROUND_STATE,
1981 CASE_GROUND_STATE,
1982 CASE_GROUND_STATE,
1983 CASE_GROUND_STATE,
1984 /* Ocircumflex Otilde Odiaeresis multiply */
1985 CASE_GROUND_STATE,
1986 CASE_GROUND_STATE,
1987 CASE_GROUND_STATE,
1988 CASE_GROUND_STATE,
1989 /* Ooblique Ugrave Uacute Ucircumflex */
1990 CASE_GROUND_STATE,
1991 CASE_GROUND_STATE,
1992 CASE_GROUND_STATE,
1993 CASE_GROUND_STATE,
1994 /* Udiaeresis Yacute Thorn ssharp */
1995 CASE_GROUND_STATE,
1996 CASE_GROUND_STATE,
1997 CASE_GROUND_STATE,
1998 CASE_GROUND_STATE,
1999 /* agrave aacute acircumflex atilde */
2000 CASE_GROUND_STATE,
2001 CASE_GROUND_STATE,
2002 CASE_GROUND_STATE,
2003 CASE_GROUND_STATE,
2004 /* adiaeresis aring ae ccedilla */
2005 CASE_GROUND_STATE,
2006 CASE_GROUND_STATE,
2007 CASE_GROUND_STATE,
2008 CASE_GROUND_STATE,
2009 /* egrave eacute ecircumflex ediaeresis */
2010 CASE_GROUND_STATE,
2011 CASE_GROUND_STATE,
2012 CASE_GROUND_STATE,
2013 CASE_GROUND_STATE,
2014 /* igrave iacute icircumflex idiaeresis */
2015 CASE_GROUND_STATE,
2016 CASE_GROUND_STATE,
2017 CASE_GROUND_STATE,
2018 CASE_GROUND_STATE,
2019 /* eth ntilde ograve oacute */
2020 CASE_GROUND_STATE,
2021 CASE_DECSCUSR,
2022 CASE_GROUND_STATE,
2023 CASE_GROUND_STATE,
2024 /* ocircumflex otilde odiaeresis division */
2025 CASE_DECSWBV,
2026 CASE_DECSMBV,
2027 CASE_GROUND_STATE,
2028 CASE_GROUND_STATE,
2029 /* oslash ugrave uacute ucircumflex */
2030 CASE_GROUND_STATE,
2031 CASE_GROUND_STATE,
2032 CASE_GROUND_STATE,
2033 CASE_GROUND_STATE,
2034 /* udiaeresis yacute thorn ydiaeresis */
2035 CASE_GROUND_STATE,
2036 CASE_GROUND_STATE,
2037 CASE_GROUND_STATE,
2038 CASE_IGNORE,
2039 };
2040 #endif
2041
2042 Const PARSE_T csi_tick_table[] = /* CSI ... ' */
2043 {
2044 /* NUL SOH STX ETX */
2045 CASE_IGNORE,
2046 CASE_IGNORE,
2047 CASE_IGNORE,
2048 CASE_IGNORE,
2049 /* EOT ENQ ACK BEL */
2050 CASE_IGNORE,
2051 CASE_ENQ,
2052 CASE_IGNORE,
2053 CASE_BELL,
2054 /* BS HT NL VT */
2055 CASE_BS,
2056 CASE_TAB,
2057 CASE_VMOT,
2058 CASE_VMOT,
2059 /* FF CR SO SI */
2060 CASE_VMOT,
2061 CASE_CR,
2062 CASE_SO,
2063 CASE_SI,
2064 /* DLE DC1 DC2 DC3 */
2065 CASE_IGNORE,
2066 CASE_IGNORE,
2067 CASE_IGNORE,
2068 CASE_IGNORE,
2069 /* DC4 NAK SYN ETB */
2070 CASE_IGNORE,
2071 CASE_IGNORE,
2072 CASE_IGNORE,
2073 CASE_IGNORE,
2074 /* CAN EM SUB ESC */
2075 CASE_GROUND_STATE,
2076 CASE_IGNORE,
2077 CASE_GROUND_STATE,
2078 CASE_ESC,
2079 /* FS GS RS US */
2080 CASE_IGNORE,
2081 CASE_IGNORE,
2082 CASE_IGNORE,
2083 CASE_IGNORE,
2084 /* SP ! " # */
2085 CASE_CSI_IGNORE,
2086 CASE_CSI_IGNORE,
2087 CASE_CSI_IGNORE,
2088 CASE_CSI_IGNORE,
2089 /* $ % & ' */
2090 CASE_CSI_IGNORE,
2091 CASE_CSI_IGNORE,
2092 CASE_CSI_IGNORE,
2093 CASE_CSI_IGNORE,
2094 /* ( ) * + */
2095 CASE_CSI_IGNORE,
2096 CASE_CSI_IGNORE,
2097 CASE_CSI_IGNORE,
2098 CASE_CSI_IGNORE,
2099 /* , - . / */
2100 CASE_CSI_IGNORE,
2101 CASE_CSI_IGNORE,
2102 CASE_CSI_IGNORE,
2103 CASE_CSI_IGNORE,
2104 /* 0 1 2 3 */
2105 CASE_CSI_IGNORE,
2106 CASE_CSI_IGNORE,
2107 CASE_CSI_IGNORE,
2108 CASE_CSI_IGNORE,
2109 /* 4 5 6 7 */
2110 CASE_CSI_IGNORE,
2111 CASE_CSI_IGNORE,
2112 CASE_CSI_IGNORE,
2113 CASE_CSI_IGNORE,
2114 /* 8 9 : ; */
2115 CASE_CSI_IGNORE,
2116 CASE_CSI_IGNORE,
2117 CASE_CSI_IGNORE,
2118 CASE_CSI_IGNORE,
2119 /* < = > ? */
2120 CASE_CSI_IGNORE,
2121 CASE_CSI_IGNORE,
2122 CASE_CSI_IGNORE,
2123 CASE_CSI_IGNORE,
2124 /* @ A B C */
2125 CASE_GROUND_STATE,
2126 CASE_GROUND_STATE,
2127 CASE_GROUND_STATE,
2128 CASE_GROUND_STATE,
2129 /* D E F G */
2130 CASE_GROUND_STATE,
2131 CASE_GROUND_STATE,
2132 CASE_GROUND_STATE,
2133 CASE_GROUND_STATE,
2134 /* H I J K */
2135 CASE_GROUND_STATE,
2136 CASE_GROUND_STATE,
2137 CASE_GROUND_STATE,
2138 CASE_GROUND_STATE,
2139 /* L M N O */
2140 CASE_GROUND_STATE,
2141 CASE_GROUND_STATE,
2142 CASE_GROUND_STATE,
2143 CASE_GROUND_STATE,
2144 /* P Q R S */
2145 CASE_GROUND_STATE,
2146 CASE_GROUND_STATE,
2147 CASE_GROUND_STATE,
2148 CASE_GROUND_STATE,
2149 /* T U V W */
2150 CASE_GROUND_STATE,
2151 CASE_GROUND_STATE,
2152 CASE_GROUND_STATE,
2153 CASE_GROUND_STATE,
2154 /* X Y Z [ */
2155 CASE_GROUND_STATE,
2156 CASE_GROUND_STATE,
2157 CASE_GROUND_STATE,
2158 CASE_GROUND_STATE,
2159 /* \ ] ^ _ */
2160 CASE_GROUND_STATE,
2161 CASE_GROUND_STATE,
2162 CASE_GROUND_STATE,
2163 CASE_GROUND_STATE,
2164 /* ` a b c */
2165 CASE_GROUND_STATE,
2166 CASE_GROUND_STATE,
2167 CASE_GROUND_STATE,
2168 CASE_GROUND_STATE,
2169 /* d e f g */
2170 CASE_GROUND_STATE,
2171 CASE_GROUND_STATE,
2172 CASE_GROUND_STATE,
2173 CASE_GROUND_STATE,
2174 /* h i j k */
2175 CASE_GROUND_STATE,
2176 CASE_GROUND_STATE,
2177 CASE_GROUND_STATE,
2178 CASE_GROUND_STATE,
2179 /* l m n o */
2180 CASE_GROUND_STATE,
2181 CASE_GROUND_STATE,
2182 CASE_GROUND_STATE,
2183 CASE_GROUND_STATE,
2184 /* p q r s */
2185 CASE_GROUND_STATE,
2186 CASE_GROUND_STATE,
2187 CASE_GROUND_STATE,
2188 CASE_GROUND_STATE,
2189 /* t u v w */
2190 CASE_GROUND_STATE,
2191 CASE_GROUND_STATE,
2192 CASE_GROUND_STATE,
2193 CASE_DECEFR,
2194 /* x y z { */
2195 CASE_GROUND_STATE,
2196 CASE_GROUND_STATE,
2197 CASE_DECELR,
2198 CASE_DECSLE,
2199 /* | } ~ DEL */
2200 CASE_DECRQLP,
2201 CASE_DECIC,
2202 CASE_DECDC,
2203 CASE_IGNORE,
2204 /* 0x80 0x81 0x82 0x83 */
2205 CASE_GROUND_STATE,
2206 CASE_GROUND_STATE,
2207 CASE_GROUND_STATE,
2208 CASE_GROUND_STATE,
2209 /* 0x84 0x85 0x86 0x87 */
2210 CASE_IND,
2211 CASE_NEL,
2212 CASE_GROUND_STATE,
2213 CASE_GROUND_STATE,
2214 /* 0x88 0x89 0x8a 0x8b */
2215 CASE_HTS,
2216 CASE_GROUND_STATE,
2217 CASE_GROUND_STATE,
2218 CASE_GROUND_STATE,
2219 /* 0x8c 0x8d 0x8e 0x8f */
2220 CASE_GROUND_STATE,
2221 CASE_RI,
2222 CASE_SS2,
2223 CASE_SS3,
2224 /* 0x90 0x91 0x92 0x93 */
2225 CASE_DCS,
2226 CASE_GROUND_STATE,
2227 CASE_GROUND_STATE,
2228 CASE_GROUND_STATE,
2229 /* 0x94 0x95 0x96 0x97 */
2230 CASE_GROUND_STATE,
2231 CASE_GROUND_STATE,
2232 CASE_SPA,
2233 CASE_EPA,
2234 /* 0x98 0x99 0x9a 0x9b */
2235 CASE_SOS,
2236 CASE_GROUND_STATE,
2237 CASE_DECID,
2238 CASE_CSI_STATE,
2239 /* 0x9c 0x9d 0x9e 0x9f */
2240 CASE_ST,
2241 CASE_OSC,
2242 CASE_PM,
2243 CASE_APC,
2244 /* nobreakspace exclamdown cent sterling */
2245 CASE_CSI_IGNORE,
2246 CASE_CSI_IGNORE,
2247 CASE_CSI_IGNORE,
2248 CASE_CSI_IGNORE,
2249 /* currency yen brokenbar section */
2250 CASE_CSI_IGNORE,
2251 CASE_CSI_IGNORE,
2252 CASE_CSI_IGNORE,
2253 CASE_CSI_IGNORE,
2254 /* diaeresis copyright ordfeminine guillemotleft */
2255 CASE_CSI_IGNORE,
2256 CASE_CSI_IGNORE,
2257 CASE_CSI_IGNORE,
2258 CASE_CSI_IGNORE,
2259 /* notsign hyphen registered macron */
2260 CASE_CSI_IGNORE,
2261 CASE_CSI_IGNORE,
2262 CASE_CSI_IGNORE,
2263 CASE_CSI_IGNORE,
2264 /* degree plusminus twosuperior threesuperior */
2265 CASE_CSI_IGNORE,
2266 CASE_CSI_IGNORE,
2267 CASE_CSI_IGNORE,
2268 CASE_CSI_IGNORE,
2269 /* acute mu paragraph periodcentered */
2270 CASE_CSI_IGNORE,
2271 CASE_CSI_IGNORE,
2272 CASE_CSI_IGNORE,
2273 CASE_CSI_IGNORE,
2274 /* cedilla onesuperior masculine guillemotright */
2275 CASE_CSI_IGNORE,
2276 CASE_CSI_IGNORE,
2277 CASE_CSI_IGNORE,
2278 CASE_CSI_IGNORE,
2279 /* onequarter onehalf threequarters questiondown */
2280 CASE_CSI_IGNORE,
2281 CASE_CSI_IGNORE,
2282 CASE_CSI_IGNORE,
2283 CASE_CSI_IGNORE,
2284 /* Agrave Aacute Acircumflex Atilde */
2285 CASE_GROUND_STATE,
2286 CASE_GROUND_STATE,
2287 CASE_GROUND_STATE,
2288 CASE_GROUND_STATE,
2289 /* Adiaeresis Aring AE Ccedilla */
2290 CASE_GROUND_STATE,
2291 CASE_GROUND_STATE,
2292 CASE_GROUND_STATE,
2293 CASE_GROUND_STATE,
2294 /* Egrave Eacute Ecircumflex Ediaeresis */
2295 CASE_GROUND_STATE,
2296 CASE_GROUND_STATE,
2297 CASE_GROUND_STATE,
2298 CASE_GROUND_STATE,
2299 /* Igrave Iacute Icircumflex Idiaeresis */
2300 CASE_GROUND_STATE,
2301 CASE_GROUND_STATE,
2302 CASE_GROUND_STATE,
2303 CASE_GROUND_STATE,
2304 /* Eth Ntilde Ograve Oacute */
2305 CASE_GROUND_STATE,
2306 CASE_GROUND_STATE,
2307 CASE_GROUND_STATE,
2308 CASE_GROUND_STATE,
2309 /* Ocircumflex Otilde Odiaeresis multiply */
2310 CASE_GROUND_STATE,
2311 CASE_GROUND_STATE,
2312 CASE_GROUND_STATE,
2313 CASE_GROUND_STATE,
2314 /* Ooblique Ugrave Uacute Ucircumflex */
2315 CASE_GROUND_STATE,
2316 CASE_GROUND_STATE,
2317 CASE_GROUND_STATE,
2318 CASE_GROUND_STATE,
2319 /* Udiaeresis Yacute Thorn ssharp */
2320 CASE_GROUND_STATE,
2321 CASE_GROUND_STATE,
2322 CASE_GROUND_STATE,
2323 CASE_GROUND_STATE,
2324 /* agrave aacute acircumflex atilde */
2325 CASE_GROUND_STATE,
2326 CASE_GROUND_STATE,
2327 CASE_GROUND_STATE,
2328 CASE_GROUND_STATE,
2329 /* adiaeresis aring ae ccedilla */
2330 CASE_GROUND_STATE,
2331 CASE_GROUND_STATE,
2332 CASE_GROUND_STATE,
2333 CASE_GROUND_STATE,
2334 /* egrave eacute ecircumflex ediaeresis */
2335 CASE_GROUND_STATE,
2336 CASE_GROUND_STATE,
2337 CASE_GROUND_STATE,
2338 CASE_GROUND_STATE,
2339 /* igrave iacute icircumflex idiaeresis */
2340 CASE_GROUND_STATE,
2341 CASE_GROUND_STATE,
2342 CASE_GROUND_STATE,
2343 CASE_GROUND_STATE,
2344 /* eth ntilde ograve oacute */
2345 CASE_GROUND_STATE,
2346 CASE_GROUND_STATE,
2347 CASE_GROUND_STATE,
2348 CASE_GROUND_STATE,
2349 /* ocircumflex otilde odiaeresis division */
2350 CASE_GROUND_STATE,
2351 CASE_GROUND_STATE,
2352 CASE_GROUND_STATE,
2353 CASE_DECEFR,
2354 /* oslash ugrave uacute ucircumflex */
2355 CASE_GROUND_STATE,
2356 CASE_GROUND_STATE,
2357 CASE_DECELR,
2358 CASE_DECSLE,
2359 /* udiaeresis yacute thorn ydiaeresis */
2360 CASE_DECRQLP,
2361 CASE_DECIC,
2362 CASE_DECDC,
2363 CASE_IGNORE,
2364 };
2365
2366 #if OPT_XTERM_SGR
2367 Const PARSE_T csi_hash_table[] = /* CSI ... # */
2368 {
2369 /* NUL SOH STX ETX */
2370 CASE_IGNORE,
2371 CASE_IGNORE,
2372 CASE_IGNORE,
2373 CASE_IGNORE,
2374 /* EOT ENQ ACK BEL */
2375 CASE_IGNORE,
2376 CASE_ENQ,
2377 CASE_IGNORE,
2378 CASE_BELL,
2379 /* BS HT NL VT */
2380 CASE_BS,
2381 CASE_TAB,
2382 CASE_VMOT,
2383 CASE_VMOT,
2384 /* FF CR SO SI */
2385 CASE_VMOT,
2386 CASE_CR,
2387 CASE_SO,
2388 CASE_SI,
2389 /* DLE DC1 DC2 DC3 */
2390 CASE_IGNORE,
2391 CASE_IGNORE,
2392 CASE_IGNORE,
2393 CASE_IGNORE,
2394 /* DC4 NAK SYN ETB */
2395 CASE_IGNORE,
2396 CASE_IGNORE,
2397 CASE_IGNORE,
2398 CASE_IGNORE,
2399 /* CAN EM SUB ESC */
2400 CASE_GROUND_STATE,
2401 CASE_IGNORE,
2402 CASE_GROUND_STATE,
2403 CASE_ESC,
2404 /* FS GS RS US */
2405 CASE_IGNORE,
2406 CASE_IGNORE,
2407 CASE_IGNORE,
2408 CASE_IGNORE,
2409 /* SP ! " # */
2410 CASE_CSI_IGNORE,
2411 CASE_CSI_IGNORE,
2412 CASE_CSI_IGNORE,
2413 CASE_CSI_IGNORE,
2414 /* $ % & ' */
2415 CASE_CSI_IGNORE,
2416 CASE_CSI_IGNORE,
2417 CASE_CSI_IGNORE,
2418 CASE_CSI_IGNORE,
2419 /* ( ) * + */
2420 CASE_CSI_IGNORE,
2421 CASE_CSI_IGNORE,
2422 CASE_CSI_IGNORE,
2423 CASE_CSI_IGNORE,
2424 /* , - . / */
2425 CASE_CSI_IGNORE,
2426 CASE_CSI_IGNORE,
2427 CASE_CSI_IGNORE,
2428 CASE_CSI_IGNORE,
2429 /* 0 1 2 3 */
2430 CASE_ESC_DIGIT,
2431 CASE_ESC_DIGIT,
2432 CASE_ESC_DIGIT,
2433 CASE_ESC_DIGIT,
2434 /* 4 5 6 7 */
2435 CASE_ESC_DIGIT,
2436 CASE_ESC_DIGIT,
2437 CASE_ESC_DIGIT,
2438 CASE_ESC_DIGIT,
2439 /* 8 9 : ; */
2440 CASE_ESC_DIGIT,
2441 CASE_ESC_DIGIT,
2442 CASE_ESC_DIGIT,
2443 CASE_ESC_DIGIT,
2444 /* < = > ? */
2445 CASE_CSI_IGNORE,
2446 CASE_CSI_IGNORE,
2447 CASE_CSI_IGNORE,
2448 CASE_CSI_IGNORE,
2449 /* @ A B C */
2450 CASE_GROUND_STATE,
2451 CASE_GROUND_STATE,
2452 CASE_GROUND_STATE,
2453 CASE_GROUND_STATE,
2454 /* D E F G */
2455 CASE_GROUND_STATE,
2456 CASE_GROUND_STATE,
2457 CASE_GROUND_STATE,
2458 CASE_GROUND_STATE,
2459 /* H I J K */
2460 CASE_GROUND_STATE,
2461 CASE_GROUND_STATE,
2462 CASE_GROUND_STATE,
2463 CASE_GROUND_STATE,
2464 /* L M N O */
2465 CASE_GROUND_STATE,
2466 CASE_GROUND_STATE,
2467 CASE_GROUND_STATE,
2468 CASE_GROUND_STATE,
2469 /* P Q R S */
2470 CASE_XTERM_PUSH_COLORS,
2471 CASE_XTERM_POP_COLORS,
2472 CASE_XTERM_REPORT_COLORS,
2473 CASE_GROUND_STATE,
2474 /* T U V W */
2475 CASE_GROUND_STATE,
2476 CASE_GROUND_STATE,
2477 CASE_GROUND_STATE,
2478 CASE_GROUND_STATE,
2479 /* X Y Z [ */
2480 CASE_GROUND_STATE,
2481 CASE_GROUND_STATE,
2482 CASE_GROUND_STATE,
2483 CASE_GROUND_STATE,
2484 /* \ ] ^ _ */
2485 CASE_GROUND_STATE,
2486 CASE_GROUND_STATE,
2487 CASE_GROUND_STATE,
2488 CASE_GROUND_STATE,
2489 /* ` a b c */
2490 CASE_GROUND_STATE,
2491 CASE_GROUND_STATE,
2492 CASE_GROUND_STATE,
2493 CASE_GROUND_STATE,
2494 /* d e f g */
2495 CASE_GROUND_STATE,
2496 CASE_GROUND_STATE,
2497 CASE_GROUND_STATE,
2498 CASE_GROUND_STATE,
2499 /* h i j k */
2500 CASE_GROUND_STATE,
2501 CASE_GROUND_STATE,
2502 CASE_GROUND_STATE,
2503 CASE_GROUND_STATE,
2504 /* l m n o */
2505 CASE_GROUND_STATE,
2506 CASE_GROUND_STATE,
2507 CASE_GROUND_STATE,
2508 CASE_GROUND_STATE,
2509 /* p q r s */
2510 CASE_XTERM_PUSH_SGR,
2511 CASE_XTERM_POP_SGR,
2512 CASE_GROUND_STATE,
2513 CASE_GROUND_STATE,
2514 /* t u v w */
2515 CASE_GROUND_STATE,
2516 CASE_GROUND_STATE,
2517 CASE_GROUND_STATE,
2518 CASE_GROUND_STATE,
2519 /* x y z { */
2520 CASE_GROUND_STATE,
2521 CASE_XTERM_CHECKSUM,
2522 CASE_GROUND_STATE,
2523 CASE_XTERM_PUSH_SGR,
2524 /* | } ~ DEL */
2525 CASE_XTERM_REPORT_SGR,
2526 CASE_XTERM_POP_SGR,
2527 CASE_GROUND_STATE,
2528 CASE_IGNORE,
2529 /* 0x80 0x81 0x82 0x83 */
2530 CASE_GROUND_STATE,
2531 CASE_GROUND_STATE,
2532 CASE_GROUND_STATE,
2533 CASE_GROUND_STATE,
2534 /* 0x84 0x85 0x86 0x87 */
2535 CASE_IND,
2536 CASE_NEL,
2537 CASE_GROUND_STATE,
2538 CASE_GROUND_STATE,
2539 /* 0x88 0x89 0x8a 0x8b */
2540 CASE_HTS,
2541 CASE_GROUND_STATE,
2542 CASE_GROUND_STATE,
2543 CASE_GROUND_STATE,
2544 /* 0x8c 0x8d 0x8e 0x8f */
2545 CASE_GROUND_STATE,
2546 CASE_RI,
2547 CASE_SS2,
2548 CASE_SS3,
2549 /* 0x90 0x91 0x92 0x93 */
2550 CASE_DCS,
2551 CASE_GROUND_STATE,
2552 CASE_GROUND_STATE,
2553 CASE_GROUND_STATE,
2554 /* 0x94 0x95 0x96 0x97 */
2555 CASE_GROUND_STATE,
2556 CASE_GROUND_STATE,
2557 CASE_SPA,
2558 CASE_EPA,
2559 /* 0x98 0x99 0x9a 0x9b */
2560 CASE_SOS,
2561 CASE_GROUND_STATE,
2562 CASE_DECID,
2563 CASE_CSI_STATE,
2564 /* 0x9c 0x9d 0x9e 0x9f */
2565 CASE_ST,
2566 CASE_OSC,
2567 CASE_PM,
2568 CASE_APC,
2569 /* nobreakspace exclamdown cent sterling */
2570 CASE_CSI_IGNORE,
2571 CASE_CSI_IGNORE,
2572 CASE_CSI_IGNORE,
2573 CASE_CSI_IGNORE,
2574 /* currency yen brokenbar section */
2575 CASE_CSI_IGNORE,
2576 CASE_CSI_IGNORE,
2577 CASE_CSI_IGNORE,
2578 CASE_CSI_IGNORE,
2579 /* diaeresis copyright ordfeminine guillemotleft */
2580 CASE_CSI_IGNORE,
2581 CASE_CSI_IGNORE,
2582 CASE_CSI_IGNORE,
2583 CASE_CSI_IGNORE,
2584 /* notsign hyphen registered macron */
2585 CASE_CSI_IGNORE,
2586 CASE_CSI_IGNORE,
2587 CASE_CSI_IGNORE,
2588 CASE_CSI_IGNORE,
2589 /* degree plusminus twosuperior threesuperior */
2590 CASE_ESC_DIGIT,
2591 CASE_ESC_DIGIT,
2592 CASE_ESC_DIGIT,
2593 CASE_ESC_DIGIT,
2594 /* acute mu paragraph periodcentered */
2595 CASE_ESC_DIGIT,
2596 CASE_ESC_DIGIT,
2597 CASE_ESC_DIGIT,
2598 CASE_ESC_DIGIT,
2599 /* cedilla onesuperior masculine guillemotright */
2600 CASE_ESC_DIGIT,
2601 CASE_ESC_DIGIT,
2602 CASE_ESC_DIGIT,
2603 CASE_ESC_DIGIT,
2604 /* onequarter onehalf threequarters questiondown */
2605 CASE_CSI_IGNORE,
2606 CASE_CSI_IGNORE,
2607 CASE_CSI_IGNORE,
2608 CASE_CSI_IGNORE,
2609 /* Agrave Aacute Acircumflex Atilde */
2610 CASE_GROUND_STATE,
2611 CASE_GROUND_STATE,
2612 CASE_GROUND_STATE,
2613 CASE_GROUND_STATE,
2614 /* Adiaeresis Aring AE Ccedilla */
2615 CASE_GROUND_STATE,
2616 CASE_GROUND_STATE,
2617 CASE_GROUND_STATE,
2618 CASE_GROUND_STATE,
2619 /* Egrave Eacute Ecircumflex Ediaeresis */
2620 CASE_GROUND_STATE,
2621 CASE_GROUND_STATE,
2622 CASE_GROUND_STATE,
2623 CASE_GROUND_STATE,
2624 /* Igrave Iacute Icircumflex Idiaeresis */
2625 CASE_GROUND_STATE,
2626 CASE_GROUND_STATE,
2627 CASE_GROUND_STATE,
2628 CASE_GROUND_STATE,
2629 /* Eth Ntilde Ograve Oacute */
2630 CASE_XTERM_PUSH_COLORS,
2631 CASE_XTERM_POP_COLORS,
2632 CASE_XTERM_REPORT_COLORS,
2633 CASE_GROUND_STATE,
2634 /* Ocircumflex Otilde Odiaeresis multiply */
2635 CASE_GROUND_STATE,
2636 CASE_GROUND_STATE,
2637 CASE_GROUND_STATE,
2638 CASE_GROUND_STATE,
2639 /* Ooblique Ugrave Uacute Ucircumflex */
2640 CASE_GROUND_STATE,
2641 CASE_GROUND_STATE,
2642 CASE_GROUND_STATE,
2643 CASE_GROUND_STATE,
2644 /* Udiaeresis Yacute Thorn ssharp */
2645 CASE_GROUND_STATE,
2646 CASE_GROUND_STATE,
2647 CASE_GROUND_STATE,
2648 CASE_GROUND_STATE,
2649 /* agrave aacute acircumflex atilde */
2650 CASE_GROUND_STATE,
2651 CASE_GROUND_STATE,
2652 CASE_GROUND_STATE,
2653 CASE_GROUND_STATE,
2654 /* adiaeresis aring ae ccedilla */
2655 CASE_GROUND_STATE,
2656 CASE_GROUND_STATE,
2657 CASE_GROUND_STATE,
2658 CASE_GROUND_STATE,
2659 /* egrave eacute ecircumflex ediaeresis */
2660 CASE_GROUND_STATE,
2661 CASE_GROUND_STATE,
2662 CASE_GROUND_STATE,
2663 CASE_GROUND_STATE,
2664 /* igrave iacute icircumflex idiaeresis */
2665 CASE_GROUND_STATE,
2666 CASE_GROUND_STATE,
2667 CASE_GROUND_STATE,
2668 CASE_GROUND_STATE,
2669 /* eth ntilde ograve oacute */
2670 CASE_XTERM_PUSH_SGR,
2671 CASE_XTERM_POP_SGR,
2672 CASE_GROUND_STATE,
2673 CASE_GROUND_STATE,
2674 /* ocircumflex otilde odiaeresis division */
2675 CASE_GROUND_STATE,
2676 CASE_GROUND_STATE,
2677 CASE_GROUND_STATE,
2678 CASE_GROUND_STATE,
2679 /* oslash ugrave uacute ucircumflex */
2680 CASE_GROUND_STATE,
2681 CASE_XTERM_CHECKSUM,
2682 CASE_GROUND_STATE,
2683 CASE_XTERM_PUSH_SGR,
2684 /* udiaeresis yacute thorn ydiaeresis */
2685 CASE_XTERM_REPORT_SGR,
2686 CASE_XTERM_POP_SGR,
2687 CASE_GROUND_STATE,
2688 CASE_GROUND_STATE,
2689 };
2690 #endif
2691
2692 #if OPT_DEC_RECTOPS
2693 Const PARSE_T csi_dollar_table[] = /* CSI ... $ */
2694 {
2695 /* NUL SOH STX ETX */
2696 CASE_IGNORE,
2697 CASE_IGNORE,
2698 CASE_IGNORE,
2699 CASE_IGNORE,
2700 /* EOT ENQ ACK BEL */
2701 CASE_IGNORE,
2702 CASE_ENQ,
2703 CASE_IGNORE,
2704 CASE_BELL,
2705 /* BS HT NL VT */
2706 CASE_BS,
2707 CASE_TAB,
2708 CASE_VMOT,
2709 CASE_VMOT,
2710 /* FF CR SO SI */
2711 CASE_VMOT,
2712 CASE_CR,
2713 CASE_SO,
2714 CASE_SI,
2715 /* DLE DC1 DC2 DC3 */
2716 CASE_IGNORE,
2717 CASE_IGNORE,
2718 CASE_IGNORE,
2719 CASE_IGNORE,
2720 /* DC4 NAK SYN ETB */
2721 CASE_IGNORE,
2722 CASE_IGNORE,
2723 CASE_IGNORE,
2724 CASE_IGNORE,
2725 /* CAN EM SUB ESC */
2726 CASE_GROUND_STATE,
2727 CASE_IGNORE,
2728 CASE_GROUND_STATE,
2729 CASE_ESC,
2730 /* FS GS RS US */
2731 CASE_IGNORE,
2732 CASE_IGNORE,
2733 CASE_IGNORE,
2734 CASE_IGNORE,
2735 /* SP ! " # */
2736 CASE_CSI_IGNORE,
2737 CASE_CSI_IGNORE,
2738 CASE_CSI_IGNORE,
2739 CASE_CSI_IGNORE,
2740 /* $ % & ' */
2741 CASE_CSI_IGNORE,
2742 CASE_CSI_IGNORE,
2743 CASE_CSI_IGNORE,
2744 CASE_CSI_IGNORE,
2745 /* ( ) * + */
2746 CASE_CSI_IGNORE,
2747 CASE_CSI_IGNORE,
2748 CASE_CSI_IGNORE,
2749 CASE_CSI_IGNORE,
2750 /* , - . / */
2751 CASE_CSI_IGNORE,
2752 CASE_CSI_IGNORE,
2753 CASE_CSI_IGNORE,
2754 CASE_CSI_IGNORE,
2755 /* 0 1 2 3 */
2756 CASE_CSI_IGNORE,
2757 CASE_CSI_IGNORE,
2758 CASE_CSI_IGNORE,
2759 CASE_CSI_IGNORE,
2760 /* 4 5 6 7 */
2761 CASE_CSI_IGNORE,
2762 CASE_CSI_IGNORE,
2763 CASE_CSI_IGNORE,
2764 CASE_CSI_IGNORE,
2765 /* 8 9 : ; */
2766 CASE_CSI_IGNORE,
2767 CASE_CSI_IGNORE,
2768 CASE_CSI_IGNORE,
2769 CASE_CSI_IGNORE,
2770 /* < = > ? */
2771 CASE_CSI_IGNORE,
2772 CASE_CSI_IGNORE,
2773 CASE_CSI_IGNORE,
2774 CASE_CSI_IGNORE,
2775 /* @ A B C */
2776 CASE_GROUND_STATE,
2777 CASE_GROUND_STATE,
2778 CASE_GROUND_STATE,
2779 CASE_GROUND_STATE,
2780 /* D E F G */
2781 CASE_GROUND_STATE,
2782 CASE_GROUND_STATE,
2783 CASE_GROUND_STATE,
2784 CASE_GROUND_STATE,
2785 /* H I J K */
2786 CASE_GROUND_STATE,
2787 CASE_GROUND_STATE,
2788 CASE_GROUND_STATE,
2789 CASE_GROUND_STATE,
2790 /* L M N O */
2791 CASE_GROUND_STATE,
2792 CASE_GROUND_STATE,
2793 CASE_GROUND_STATE,
2794 CASE_GROUND_STATE,
2795 /* P Q R S */
2796 CASE_GROUND_STATE,
2797 CASE_GROUND_STATE,
2798 CASE_GROUND_STATE,
2799 CASE_GROUND_STATE,
2800 /* T U V W */
2801 CASE_GROUND_STATE,
2802 CASE_GROUND_STATE,
2803 CASE_GROUND_STATE,
2804 CASE_GROUND_STATE,
2805 /* X Y Z [ */
2806 CASE_GROUND_STATE,
2807 CASE_GROUND_STATE,
2808 CASE_GROUND_STATE,
2809 CASE_GROUND_STATE,
2810 /* \ ] ^ _ */
2811 CASE_GROUND_STATE,
2812 CASE_GROUND_STATE,
2813 CASE_GROUND_STATE,
2814 CASE_GROUND_STATE,
2815 /* ` a b c */
2816 CASE_GROUND_STATE,
2817 CASE_GROUND_STATE,
2818 CASE_GROUND_STATE,
2819 CASE_GROUND_STATE,
2820 /* d e f g */
2821 CASE_GROUND_STATE,
2822 CASE_GROUND_STATE,
2823 CASE_GROUND_STATE,
2824 CASE_GROUND_STATE,
2825 /* h i j k */
2826 CASE_GROUND_STATE,
2827 CASE_GROUND_STATE,
2828 CASE_GROUND_STATE,
2829 CASE_GROUND_STATE,
2830 /* l m n o */
2831 CASE_GROUND_STATE,
2832 CASE_GROUND_STATE,
2833 CASE_GROUND_STATE,
2834 CASE_GROUND_STATE,
2835 /* p q r s */
2836 CASE_RQM,
2837 CASE_GROUND_STATE,
2838 CASE_DECCARA,
2839 CASE_GROUND_STATE,
2840 /* t u v w */
2841 CASE_DECRARA,
2842 CASE_GROUND_STATE,
2843 CASE_DECCRA,
2844 CASE_DECRQPSR,
2845 /* x y z { */
2846 CASE_DECFRA,
2847 CASE_GROUND_STATE,
2848 CASE_DECERA,
2849 CASE_DECSERA,
2850 /* | } ~ DEL */
2851 CASE_DECSCPP,
2852 CASE_DECSASD,
2853 CASE_DECSSDT,
2854 CASE_IGNORE,
2855 /* 0x80 0x81 0x82 0x83 */
2856 CASE_GROUND_STATE,
2857 CASE_GROUND_STATE,
2858 CASE_GROUND_STATE,
2859 CASE_GROUND_STATE,
2860 /* 0x84 0x85 0x86 0x87 */
2861 CASE_IND,
2862 CASE_NEL,
2863 CASE_GROUND_STATE,
2864 CASE_GROUND_STATE,
2865 /* 0x88 0x89 0x8a 0x8b */
2866 CASE_HTS,
2867 CASE_GROUND_STATE,
2868 CASE_GROUND_STATE,
2869 CASE_GROUND_STATE,
2870 /* 0x8c 0x8d 0x8e 0x8f */
2871 CASE_GROUND_STATE,
2872 CASE_RI,
2873 CASE_SS2,
2874 CASE_SS3,
2875 /* 0x90 0x91 0x92 0x93 */
2876 CASE_DCS,
2877 CASE_GROUND_STATE,
2878 CASE_GROUND_STATE,
2879 CASE_GROUND_STATE,
2880 /* 0x94 0x95 0x96 0x97 */
2881 CASE_GROUND_STATE,
2882 CASE_GROUND_STATE,
2883 CASE_SPA,
2884 CASE_EPA,
2885 /* 0x98 0x99 0x9a 0x9b */
2886 CASE_SOS,
2887 CASE_GROUND_STATE,
2888 CASE_DECID,
2889 CASE_CSI_STATE,
2890 /* 0x9c 0x9d 0x9e 0x9f */
2891 CASE_ST,
2892 CASE_OSC,
2893 CASE_PM,
2894 CASE_APC,
2895 /* nobreakspace exclamdown cent sterling */
2896 CASE_CSI_IGNORE,
2897 CASE_CSI_IGNORE,
2898 CASE_CSI_IGNORE,
2899 CASE_CSI_IGNORE,
2900 /* currency yen brokenbar section */
2901 CASE_CSI_IGNORE,
2902 CASE_CSI_IGNORE,
2903 CASE_CSI_IGNORE,
2904 CASE_CSI_IGNORE,
2905 /* diaeresis copyright ordfeminine guillemotleft */
2906 CASE_CSI_IGNORE,
2907 CASE_CSI_IGNORE,
2908 CASE_CSI_IGNORE,
2909 CASE_CSI_IGNORE,
2910 /* notsign hyphen registered macron */
2911 CASE_CSI_IGNORE,
2912 CASE_CSI_IGNORE,
2913 CASE_CSI_IGNORE,
2914 CASE_CSI_IGNORE,
2915 /* degree plusminus twosuperior threesuperior */
2916 CASE_CSI_IGNORE,
2917 CASE_CSI_IGNORE,
2918 CASE_CSI_IGNORE,
2919 CASE_CSI_IGNORE,
2920 /* acute mu paragraph periodcentered */
2921 CASE_CSI_IGNORE,
2922 CASE_CSI_IGNORE,
2923 CASE_CSI_IGNORE,
2924 CASE_CSI_IGNORE,
2925 /* cedilla onesuperior masculine guillemotright */
2926 CASE_CSI_IGNORE,
2927 CASE_CSI_IGNORE,
2928 CASE_CSI_IGNORE,
2929 CASE_CSI_IGNORE,
2930 /* onequarter onehalf threequarters questiondown */
2931 CASE_CSI_IGNORE,
2932 CASE_CSI_IGNORE,
2933 CASE_CSI_IGNORE,
2934 CASE_CSI_IGNORE,
2935 /* Agrave Aacute Acircumflex Atilde */
2936 CASE_GROUND_STATE,
2937 CASE_GROUND_STATE,
2938 CASE_GROUND_STATE,
2939 CASE_GROUND_STATE,
2940 /* Adiaeresis Aring AE Ccedilla */
2941 CASE_GROUND_STATE,
2942 CASE_GROUND_STATE,
2943 CASE_GROUND_STATE,
2944 CASE_GROUND_STATE,
2945 /* Egrave Eacute Ecircumflex Ediaeresis */
2946 CASE_GROUND_STATE,
2947 CASE_GROUND_STATE,
2948 CASE_GROUND_STATE,
2949 CASE_GROUND_STATE,
2950 /* Igrave Iacute Icircumflex Idiaeresis */
2951 CASE_GROUND_STATE,
2952 CASE_GROUND_STATE,
2953 CASE_GROUND_STATE,
2954 CASE_GROUND_STATE,
2955 /* Eth Ntilde Ograve Oacute */
2956 CASE_GROUND_STATE,
2957 CASE_GROUND_STATE,
2958 CASE_GROUND_STATE,
2959 CASE_GROUND_STATE,
2960 /* Ocircumflex Otilde Odiaeresis multiply */
2961 CASE_GROUND_STATE,
2962 CASE_GROUND_STATE,
2963 CASE_GROUND_STATE,
2964 CASE_GROUND_STATE,
2965 /* Ooblique Ugrave Uacute Ucircumflex */
2966 CASE_GROUND_STATE,
2967 CASE_GROUND_STATE,
2968 CASE_GROUND_STATE,
2969 CASE_GROUND_STATE,
2970 /* Udiaeresis Yacute Thorn ssharp */
2971 CASE_GROUND_STATE,
2972 CASE_GROUND_STATE,
2973 CASE_GROUND_STATE,
2974 CASE_GROUND_STATE,
2975 /* agrave aacute acircumflex atilde */
2976 CASE_GROUND_STATE,
2977 CASE_GROUND_STATE,
2978 CASE_GROUND_STATE,
2979 CASE_GROUND_STATE,
2980 /* adiaeresis aring ae ccedilla */
2981 CASE_GROUND_STATE,
2982 CASE_GROUND_STATE,
2983 CASE_GROUND_STATE,
2984 CASE_GROUND_STATE,
2985 /* egrave eacute ecircumflex ediaeresis */
2986 CASE_GROUND_STATE,
2987 CASE_GROUND_STATE,
2988 CASE_GROUND_STATE,
2989 CASE_GROUND_STATE,
2990 /* igrave iacute icircumflex idiaeresis */
2991 CASE_GROUND_STATE,
2992 CASE_GROUND_STATE,
2993 CASE_GROUND_STATE,
2994 CASE_GROUND_STATE,
2995 /* eth ntilde ograve oacute */
2996 CASE_RQM,
2997 CASE_GROUND_STATE,
2998 CASE_DECCARA,
2999 CASE_GROUND_STATE,
3000 /* ocircumflex otilde odiaeresis division */
3001 CASE_DECRARA,
3002 CASE_GROUND_STATE,
3003 CASE_DECCRA,
3004 CASE_DECRQPSR,
3005 /* oslash ugrave uacute ucircumflex */
3006 CASE_DECFRA,
3007 CASE_GROUND_STATE,
3008 CASE_DECERA,
3009 CASE_DECSERA,
3010 /* udiaeresis yacute thorn ydiaeresis */
3011 CASE_DECSCPP,
3012 CASE_DECSASD,
3013 CASE_DECSSDT,
3014 CASE_GROUND_STATE,
3015 };
3016
3017 Const PARSE_T csi_star_table[] = /* CSI ... * */
3018 {
3019 /* NUL SOH STX ETX */
3020 CASE_IGNORE,
3021 CASE_IGNORE,
3022 CASE_IGNORE,
3023 CASE_IGNORE,
3024 /* EOT ENQ ACK BEL */
3025 CASE_IGNORE,
3026 CASE_ENQ,
3027 CASE_IGNORE,
3028 CASE_BELL,
3029 /* BS HT NL VT */
3030 CASE_BS,
3031 CASE_TAB,
3032 CASE_VMOT,
3033 CASE_VMOT,
3034 /* FF CR SO SI */
3035 CASE_VMOT,
3036 CASE_CR,
3037 CASE_SO,
3038 CASE_SI,
3039 /* DLE DC1 DC2 DC3 */
3040 CASE_IGNORE,
3041 CASE_IGNORE,
3042 CASE_IGNORE,
3043 CASE_IGNORE,
3044 /* DC4 NAK SYN ETB */
3045 CASE_IGNORE,
3046 CASE_IGNORE,
3047 CASE_IGNORE,
3048 CASE_IGNORE,
3049 /* CAN EM SUB ESC */
3050 CASE_GROUND_STATE,
3051 CASE_IGNORE,
3052 CASE_GROUND_STATE,
3053 CASE_ESC,
3054 /* FS GS RS US */
3055 CASE_IGNORE,
3056 CASE_IGNORE,
3057 CASE_IGNORE,
3058 CASE_IGNORE,
3059 /* SP ! " # */
3060 CASE_CSI_IGNORE,
3061 CASE_CSI_IGNORE,
3062 CASE_CSI_IGNORE,
3063 CASE_CSI_IGNORE,
3064 /* $ % & ' */
3065 CASE_CSI_IGNORE,
3066 CASE_CSI_IGNORE,
3067 CASE_CSI_IGNORE,
3068 CASE_CSI_IGNORE,
3069 /* ( ) * + */
3070 CASE_CSI_IGNORE,
3071 CASE_CSI_IGNORE,
3072 CASE_CSI_IGNORE,
3073 CASE_CSI_IGNORE,
3074 /* , - . / */
3075 CASE_CSI_IGNORE,
3076 CASE_CSI_IGNORE,
3077 CASE_CSI_IGNORE,
3078 CASE_CSI_IGNORE,
3079 /* 0 1 2 3 */
3080 CASE_CSI_IGNORE,
3081 CASE_CSI_IGNORE,
3082 CASE_CSI_IGNORE,
3083 CASE_CSI_IGNORE,
3084 /* 4 5 6 7 */
3085 CASE_CSI_IGNORE,
3086 CASE_CSI_IGNORE,
3087 CASE_CSI_IGNORE,
3088 CASE_CSI_IGNORE,
3089 /* 8 9 : ; */
3090 CASE_CSI_IGNORE,
3091 CASE_CSI_IGNORE,
3092 CASE_CSI_IGNORE,
3093 CASE_CSI_IGNORE,
3094 /* < = > ? */
3095 CASE_CSI_IGNORE,
3096 CASE_CSI_IGNORE,
3097 CASE_CSI_IGNORE,
3098 CASE_CSI_IGNORE,
3099 /* @ A B C */
3100 CASE_GROUND_STATE,
3101 CASE_GROUND_STATE,
3102 CASE_GROUND_STATE,
3103 CASE_GROUND_STATE,
3104 /* D E F G */
3105 CASE_GROUND_STATE,
3106 CASE_GROUND_STATE,
3107 CASE_GROUND_STATE,
3108 CASE_GROUND_STATE,
3109 /* H I J K */
3110 CASE_GROUND_STATE,
3111 CASE_GROUND_STATE,
3112 CASE_GROUND_STATE,
3113 CASE_GROUND_STATE,
3114 /* L M N O */
3115 CASE_GROUND_STATE,
3116 CASE_GROUND_STATE,
3117 CASE_GROUND_STATE,
3118 CASE_GROUND_STATE,
3119 /* P Q R S */
3120 CASE_GROUND_STATE,
3121 CASE_GROUND_STATE,
3122 CASE_GROUND_STATE,
3123 CASE_GROUND_STATE,
3124 /* T U V W */
3125 CASE_GROUND_STATE,
3126 CASE_GROUND_STATE,
3127 CASE_GROUND_STATE,
3128 CASE_GROUND_STATE,
3129 /* X Y Z [ */
3130 CASE_GROUND_STATE,
3131 CASE_GROUND_STATE,
3132 CASE_GROUND_STATE,
3133 CASE_GROUND_STATE,
3134 /* \ ] ^ _ */
3135 CASE_GROUND_STATE,
3136 CASE_GROUND_STATE,
3137 CASE_GROUND_STATE,
3138 CASE_GROUND_STATE,
3139 /* ` a b c */
3140 CASE_GROUND_STATE,
3141 CASE_GROUND_STATE,
3142 CASE_GROUND_STATE,
3143 CASE_GROUND_STATE,
3144 /* d e f g */
3145 CASE_GROUND_STATE,
3146 CASE_GROUND_STATE,
3147 CASE_GROUND_STATE,
3148 CASE_GROUND_STATE,
3149 /* h i j k */
3150 CASE_GROUND_STATE,
3151 CASE_GROUND_STATE,
3152 CASE_GROUND_STATE,
3153 CASE_GROUND_STATE,
3154 /* l m n o */
3155 CASE_GROUND_STATE,
3156 CASE_GROUND_STATE,
3157 CASE_GROUND_STATE,
3158 CASE_GROUND_STATE,
3159 /* p q r s */
3160 CASE_GROUND_STATE,
3161 CASE_GROUND_STATE,
3162 CASE_GROUND_STATE,
3163 CASE_GROUND_STATE,
3164 /* t u v w */
3165 CASE_GROUND_STATE,
3166 CASE_GROUND_STATE,
3167 CASE_GROUND_STATE,
3168 CASE_GROUND_STATE,
3169 /* x y z { */
3170 CASE_DECSACE,
3171 CASE_DECRQCRA,
3172 CASE_GROUND_STATE,
3173 CASE_GROUND_STATE,
3174 /* | } ~ DEL */
3175 CASE_DECSNLS,
3176 CASE_GROUND_STATE,
3177 CASE_GROUND_STATE,
3178 CASE_IGNORE,
3179 /* 0x80 0x81 0x82 0x83 */
3180 CASE_GROUND_STATE,
3181 CASE_GROUND_STATE,
3182 CASE_GROUND_STATE,
3183 CASE_GROUND_STATE,
3184 /* 0x84 0x85 0x86 0x87 */
3185 CASE_IND,
3186 CASE_NEL,
3187 CASE_GROUND_STATE,
3188 CASE_GROUND_STATE,
3189 /* 0x88 0x89 0x8a 0x8b */
3190 CASE_HTS,
3191 CASE_GROUND_STATE,
3192 CASE_GROUND_STATE,
3193 CASE_GROUND_STATE,
3194 /* 0x8c 0x8d 0x8e 0x8f */
3195 CASE_GROUND_STATE,
3196 CASE_RI,
3197 CASE_SS2,
3198 CASE_SS3,
3199 /* 0x90 0x91 0x92 0x93 */
3200 CASE_DCS,
3201 CASE_GROUND_STATE,
3202 CASE_GROUND_STATE,
3203 CASE_GROUND_STATE,
3204 /* 0x94 0x95 0x96 0x97 */
3205 CASE_GROUND_STATE,
3206 CASE_GROUND_STATE,
3207 CASE_SPA,
3208 CASE_EPA,
3209 /* 0x98 0x99 0x9a 0x9b */
3210 CASE_SOS,
3211 CASE_GROUND_STATE,
3212 CASE_DECID,
3213 CASE_CSI_STATE,
3214 /* 0x9c 0x9d 0x9e 0x9f */
3215 CASE_ST,
3216 CASE_OSC,
3217 CASE_PM,
3218 CASE_APC,
3219 /* nobreakspace exclamdown cent sterling */
3220 CASE_CSI_IGNORE,
3221 CASE_CSI_IGNORE,
3222 CASE_CSI_IGNORE,
3223 CASE_CSI_IGNORE,
3224 /* currency yen brokenbar section */
3225 CASE_CSI_IGNORE,
3226 CASE_CSI_IGNORE,
3227 CASE_CSI_IGNORE,
3228 CASE_CSI_IGNORE,
3229 /* diaeresis copyright ordfeminine guillemotleft */
3230 CASE_CSI_IGNORE,
3231 CASE_CSI_IGNORE,
3232 CASE_CSI_IGNORE,
3233 CASE_CSI_IGNORE,
3234 /* notsign hyphen registered macron */
3235 CASE_CSI_IGNORE,
3236 CASE_CSI_IGNORE,
3237 CASE_CSI_IGNORE,
3238 CASE_CSI_IGNORE,
3239 /* degree plusminus twosuperior threesuperior */
3240 CASE_CSI_IGNORE,
3241 CASE_CSI_IGNORE,
3242 CASE_CSI_IGNORE,
3243 CASE_CSI_IGNORE,
3244 /* acute mu paragraph periodcentered */
3245 CASE_CSI_IGNORE,
3246 CASE_CSI_IGNORE,
3247 CASE_CSI_IGNORE,
3248 CASE_CSI_IGNORE,
3249 /* cedilla onesuperior masculine guillemotright */
3250 CASE_CSI_IGNORE,
3251 CASE_CSI_IGNORE,
3252 CASE_CSI_IGNORE,
3253 CASE_CSI_IGNORE,
3254 /* onequarter onehalf threequarters questiondown */
3255 CASE_CSI_IGNORE,
3256 CASE_CSI_IGNORE,
3257 CASE_CSI_IGNORE,
3258 CASE_CSI_IGNORE,
3259 /* Agrave Aacute Acircumflex Atilde */
3260 CASE_GROUND_STATE,
3261 CASE_GROUND_STATE,
3262 CASE_GROUND_STATE,
3263 CASE_GROUND_STATE,
3264 /* Adiaeresis Aring AE Ccedilla */
3265 CASE_GROUND_STATE,
3266 CASE_GROUND_STATE,
3267 CASE_GROUND_STATE,
3268 CASE_GROUND_STATE,
3269 /* Egrave Eacute Ecircumflex Ediaeresis */
3270 CASE_GROUND_STATE,
3271 CASE_GROUND_STATE,
3272 CASE_GROUND_STATE,
3273 CASE_GROUND_STATE,
3274 /* Igrave Iacute Icircumflex Idiaeresis */
3275 CASE_GROUND_STATE,
3276 CASE_GROUND_STATE,
3277 CASE_GROUND_STATE,
3278 CASE_GROUND_STATE,
3279 /* Eth Ntilde Ograve Oacute */
3280 CASE_GROUND_STATE,
3281 CASE_GROUND_STATE,
3282 CASE_GROUND_STATE,
3283 CASE_GROUND_STATE,
3284 /* Ocircumflex Otilde Odiaeresis multiply */
3285 CASE_GROUND_STATE,
3286 CASE_GROUND_STATE,
3287 CASE_GROUND_STATE,
3288 CASE_GROUND_STATE,
3289 /* Ooblique Ugrave Uacute Ucircumflex */
3290 CASE_GROUND_STATE,
3291 CASE_GROUND_STATE,
3292 CASE_GROUND_STATE,
3293 CASE_GROUND_STATE,
3294 /* Udiaeresis Yacute Thorn ssharp */
3295 CASE_GROUND_STATE,
3296 CASE_GROUND_STATE,
3297 CASE_GROUND_STATE,
3298 CASE_GROUND_STATE,
3299 /* agrave aacute acircumflex atilde */
3300 CASE_GROUND_STATE,
3301 CASE_GROUND_STATE,
3302 CASE_GROUND_STATE,
3303 CASE_GROUND_STATE,
3304 /* adiaeresis aring ae ccedilla */
3305 CASE_GROUND_STATE,
3306 CASE_GROUND_STATE,
3307 CASE_GROUND_STATE,
3308 CASE_GROUND_STATE,
3309 /* egrave eacute ecircumflex ediaeresis */
3310 CASE_GROUND_STATE,
3311 CASE_GROUND_STATE,
3312 CASE_GROUND_STATE,
3313 CASE_GROUND_STATE,
3314 /* igrave iacute icircumflex idiaeresis */
3315 CASE_GROUND_STATE,
3316 CASE_GROUND_STATE,
3317 CASE_GROUND_STATE,
3318 CASE_GROUND_STATE,
3319 /* eth ntilde ograve oacute */
3320 CASE_GROUND_STATE,
3321 CASE_GROUND_STATE,
3322 CASE_GROUND_STATE,
3323 CASE_GROUND_STATE,
3324 /* ocircumflex otilde odiaeresis division */
3325 CASE_GROUND_STATE,
3326 CASE_GROUND_STATE,
3327 CASE_GROUND_STATE,
3328 CASE_GROUND_STATE,
3329 /* oslash ugrave uacute ucircumflex */
3330 CASE_DECSACE,
3331 CASE_DECRQCRA,
3332 CASE_GROUND_STATE,
3333 CASE_GROUND_STATE,
3334 /* udiaeresis yacute thorn ydiaeresis */
3335 CASE_DECSNLS,
3336 CASE_GROUND_STATE,
3337 CASE_GROUND_STATE,
3338 CASE_GROUND_STATE,
3339 };
3340 #endif /* OPT_DEC_RECTOPS */
3341
3342 Const PARSE_T dec_table[] = /* CSI ? */
3343 {
3344 /* NUL SOH STX ETX */
3345 CASE_IGNORE,
3346 CASE_IGNORE,
3347 CASE_IGNORE,
3348 CASE_IGNORE,
3349 /* EOT ENQ ACK BEL */
3350 CASE_IGNORE,
3351 CASE_ENQ,
3352 CASE_IGNORE,
3353 CASE_BELL,
3354 /* BS HT NL VT */
3355 CASE_BS,
3356 CASE_TAB,
3357 CASE_VMOT,
3358 CASE_VMOT,
3359 /* FF CR SO SI */
3360 CASE_VMOT,
3361 CASE_CR,
3362 CASE_SO,
3363 CASE_SI,
3364 /* DLE DC1 DC2 DC3 */
3365 CASE_IGNORE,
3366 CASE_IGNORE,
3367 CASE_IGNORE,
3368 CASE_IGNORE,
3369 /* DC4 NAK SYN ETB */
3370 CASE_IGNORE,
3371 CASE_IGNORE,
3372 CASE_IGNORE,
3373 CASE_IGNORE,
3374 /* CAN EM SUB ESC */
3375 CASE_GROUND_STATE,
3376 CASE_IGNORE,
3377 CASE_GROUND_STATE,
3378 CASE_ESC,
3379 /* FS GS RS US */
3380 CASE_IGNORE,
3381 CASE_IGNORE,
3382 CASE_IGNORE,
3383 CASE_IGNORE,
3384 /* SP ! " # */
3385 CASE_CSI_IGNORE,
3386 CASE_CSI_IGNORE,
3387 CASE_CSI_IGNORE,
3388 CASE_CSI_IGNORE,
3389 /* $ % & ' */
3390 CASE_CSI_DEC_DOLLAR_STATE,
3391 CASE_CSI_IGNORE,
3392 CASE_CSI_IGNORE,
3393 CASE_CSI_IGNORE,
3394 /* ( ) * + */
3395 CASE_CSI_IGNORE,
3396 CASE_CSI_IGNORE,
3397 CASE_CSI_IGNORE,
3398 CASE_CSI_IGNORE,
3399 /* , - . / */
3400 CASE_CSI_IGNORE,
3401 CASE_CSI_IGNORE,
3402 CASE_CSI_IGNORE,
3403 CASE_CSI_IGNORE,
3404 /* 0 1 2 3 */
3405 CASE_ESC_DIGIT,
3406 CASE_ESC_DIGIT,
3407 CASE_ESC_DIGIT,
3408 CASE_ESC_DIGIT,
3409 /* 4 5 6 7 */
3410 CASE_ESC_DIGIT,
3411 CASE_ESC_DIGIT,
3412 CASE_ESC_DIGIT,
3413 CASE_ESC_DIGIT,
3414 /* 8 9 : ; */
3415 CASE_ESC_DIGIT,
3416 CASE_ESC_DIGIT,
3417 CASE_ESC_COLON,
3418 CASE_ESC_SEMI,
3419 /* < = > ? */
3420 CASE_CSI_IGNORE,
3421 CASE_CSI_IGNORE,
3422 CASE_CSI_IGNORE,
3423 CASE_CSI_IGNORE,
3424 /* @ A B C */
3425 CASE_GROUND_STATE,
3426 CASE_GROUND_STATE,
3427 CASE_GROUND_STATE,
3428 CASE_GROUND_STATE,
3429 /* D E F G */
3430 CASE_GROUND_STATE,
3431 CASE_GROUND_STATE,
3432 CASE_GROUND_STATE,
3433 CASE_GROUND_STATE,
3434 /* H I J K */
3435 CASE_GROUND_STATE,
3436 CASE_GROUND_STATE,
3437 CASE_DECSED,
3438 CASE_DECSEL,
3439 /* L M N O */
3440 CASE_GROUND_STATE,
3441 CASE_GROUND_STATE,
3442 CASE_GROUND_STATE,
3443 CASE_GROUND_STATE,
3444 /* P Q R S */
3445 CASE_GROUND_STATE,
3446 CASE_GROUND_STATE,
3447 CASE_GROUND_STATE,
3448 CASE_GRAPHICS_ATTRIBUTES,
3449 /* T U V W */
3450 CASE_GROUND_STATE,
3451 CASE_GROUND_STATE,
3452 CASE_GROUND_STATE,
3453 CASE_GROUND_STATE,
3454 /* X Y Z [ */
3455 CASE_GROUND_STATE,
3456 CASE_GROUND_STATE,
3457 CASE_GROUND_STATE,
3458 CASE_GROUND_STATE,
3459 /* \ ] ^ _ */
3460 CASE_GROUND_STATE,
3461 CASE_GROUND_STATE,
3462 CASE_GROUND_STATE,
3463 CASE_GROUND_STATE,
3464 /* ` a b c */
3465 CASE_GROUND_STATE,
3466 CASE_GROUND_STATE,
3467 CASE_GROUND_STATE,
3468 CASE_GROUND_STATE,
3469 /* d e f g */
3470 CASE_GROUND_STATE,
3471 CASE_GROUND_STATE,
3472 CASE_GROUND_STATE,
3473 CASE_GROUND_STATE,
3474 /* h i j k */
3475 CASE_DECSET,
3476 CASE_DEC_MC,
3477 CASE_GROUND_STATE,
3478 CASE_GROUND_STATE,
3479 /* l m n o */
3480 CASE_DECRST,
3481 CASE_XTERM_REPORT_MOD_FKEYS,
3482 CASE_DSR,
3483 CASE_GROUND_STATE,
3484 /* p q r s */
3485 CASE_GROUND_STATE,
3486 CASE_GROUND_STATE,
3487 CASE_XTERM_RESTORE,
3488 CASE_XTERM_SAVE,
3489 /* t u v w */
3490 CASE_GROUND_STATE,
3491 CASE_GROUND_STATE,
3492 CASE_GROUND_STATE,
3493 CASE_GROUND_STATE,
3494 /* x y z { */
3495 CASE_GROUND_STATE,
3496 CASE_GROUND_STATE,
3497 CASE_GROUND_STATE,
3498 CASE_GROUND_STATE,
3499 /* | } ~ DEL */
3500 CASE_GROUND_STATE,
3501 CASE_GROUND_STATE,
3502 CASE_GROUND_STATE,
3503 CASE_IGNORE,
3504 /* 0x80 0x81 0x82 0x83 */
3505 CASE_GROUND_STATE,
3506 CASE_GROUND_STATE,
3507 CASE_GROUND_STATE,
3508 CASE_GROUND_STATE,
3509 /* 0x84 0x85 0x86 0x87 */
3510 CASE_IND,
3511 CASE_NEL,
3512 CASE_GROUND_STATE,
3513 CASE_GROUND_STATE,
3514 /* 0x88 0x89 0x8a 0x8b */
3515 CASE_HTS,
3516 CASE_GROUND_STATE,
3517 CASE_GROUND_STATE,
3518 CASE_GROUND_STATE,
3519 /* 0x8c 0x8d 0x8e 0x8f */
3520 CASE_GROUND_STATE,
3521 CASE_RI,
3522 CASE_SS2,
3523 CASE_SS3,
3524 /* 0x90 0x91 0x92 0x93 */
3525 CASE_DCS,
3526 CASE_GROUND_STATE,
3527 CASE_GROUND_STATE,
3528 CASE_GROUND_STATE,
3529 /* 0x94 0x95 0x96 0x97 */
3530 CASE_GROUND_STATE,
3531 CASE_GROUND_STATE,
3532 CASE_SPA,
3533 CASE_EPA,
3534 /* 0x98 0x99 0x9a 0x9b */
3535 CASE_SOS,
3536 CASE_GROUND_STATE,
3537 CASE_DECID,
3538 CASE_CSI_STATE,
3539 /* 0x9c 0x9d 0x9e 0x9f */
3540 CASE_ST,
3541 CASE_OSC,
3542 CASE_PM,
3543 CASE_APC,
3544 /* nobreakspace exclamdown cent sterling */
3545 CASE_CSI_IGNORE,
3546 CASE_CSI_IGNORE,
3547 CASE_CSI_IGNORE,
3548 CASE_CSI_IGNORE,
3549 /* currency yen brokenbar section */
3550 CASE_CSI_DEC_DOLLAR_STATE,
3551 CASE_CSI_IGNORE,
3552 CASE_CSI_IGNORE,
3553 CASE_CSI_IGNORE,
3554 /* diaeresis copyright ordfeminine guillemotleft */
3555 CASE_CSI_IGNORE,
3556 CASE_CSI_IGNORE,
3557 CASE_CSI_IGNORE,
3558 CASE_CSI_IGNORE,
3559 /* notsign hyphen registered macron */
3560 CASE_CSI_IGNORE,
3561 CASE_CSI_IGNORE,
3562 CASE_CSI_IGNORE,
3563 CASE_CSI_IGNORE,
3564 /* degree plusminus twosuperior threesuperior */
3565 CASE_ESC_DIGIT,
3566 CASE_ESC_DIGIT,
3567 CASE_ESC_DIGIT,
3568 CASE_ESC_DIGIT,
3569 /* acute mu paragraph periodcentered */
3570 CASE_ESC_DIGIT,
3571 CASE_ESC_DIGIT,
3572 CASE_ESC_DIGIT,
3573 CASE_ESC_DIGIT,
3574 /* cedilla onesuperior masculine guillemotright */
3575 CASE_ESC_DIGIT,
3576 CASE_ESC_DIGIT,
3577 CASE_ESC_COLON,
3578 CASE_ESC_SEMI,
3579 /* onequarter onehalf threequarters questiondown */
3580 CASE_CSI_IGNORE,
3581 CASE_CSI_IGNORE,
3582 CASE_CSI_IGNORE,
3583 CASE_CSI_IGNORE,
3584 /* Agrave Aacute Acircumflex Atilde */
3585 CASE_GROUND_STATE,
3586 CASE_GROUND_STATE,
3587 CASE_GROUND_STATE,
3588 CASE_GROUND_STATE,
3589 /* Adiaeresis Aring AE Ccedilla */
3590 CASE_GROUND_STATE,
3591 CASE_GROUND_STATE,
3592 CASE_GROUND_STATE,
3593 CASE_GROUND_STATE,
3594 /* Egrave Eacute Ecircumflex Ediaeresis */
3595 CASE_GROUND_STATE,
3596 CASE_GROUND_STATE,
3597 CASE_DECSED,
3598 CASE_DECSEL,
3599 /* Igrave Iacute Icircumflex Idiaeresis */
3600 CASE_GROUND_STATE,
3601 CASE_GROUND_STATE,
3602 CASE_GROUND_STATE,
3603 CASE_GROUND_STATE,
3604 /* Eth Ntilde Ograve Oacute */
3605 CASE_GROUND_STATE,
3606 CASE_GROUND_STATE,
3607 CASE_GROUND_STATE,
3608 CASE_GRAPHICS_ATTRIBUTES,
3609 /* Ocircumflex Otilde Odiaeresis multiply */
3610 CASE_GROUND_STATE,
3611 CASE_GROUND_STATE,
3612 CASE_GROUND_STATE,
3613 CASE_GROUND_STATE,
3614 /* Ooblique Ugrave Uacute Ucircumflex */
3615 CASE_GROUND_STATE,
3616 CASE_GROUND_STATE,
3617 CASE_GROUND_STATE,
3618 CASE_GROUND_STATE,
3619 /* Udiaeresis Yacute Thorn ssharp */
3620 CASE_GROUND_STATE,
3621 CASE_GROUND_STATE,
3622 CASE_GROUND_STATE,
3623 CASE_GROUND_STATE,
3624 /* agrave aacute acircumflex atilde */
3625 CASE_GROUND_STATE,
3626 CASE_GROUND_STATE,
3627 CASE_GROUND_STATE,
3628 CASE_GROUND_STATE,
3629 /* adiaeresis aring ae ccedilla */
3630 CASE_GROUND_STATE,
3631 CASE_GROUND_STATE,
3632 CASE_GROUND_STATE,
3633 CASE_GROUND_STATE,
3634 /* egrave eacute ecircumflex ediaeresis */
3635 CASE_DECSET,
3636 CASE_DEC_MC,
3637 CASE_GROUND_STATE,
3638 CASE_GROUND_STATE,
3639 /* igrave iacute icircumflex idiaeresis */
3640 CASE_DECRST,
3641 CASE_XTERM_REPORT_MOD_FKEYS,
3642 CASE_DSR,
3643 CASE_GROUND_STATE,
3644 /* eth ntilde ograve oacute */
3645 CASE_GROUND_STATE,
3646 CASE_GROUND_STATE,
3647 CASE_XTERM_RESTORE,
3648 CASE_XTERM_SAVE,
3649 /* ocircumflex otilde odiaeresis division */
3650 CASE_GROUND_STATE,
3651 CASE_GROUND_STATE,
3652 CASE_GROUND_STATE,
3653 CASE_GROUND_STATE,
3654 /* oslash ugrave uacute ucircumflex */
3655 CASE_GROUND_STATE,
3656 CASE_GROUND_STATE,
3657 CASE_GROUND_STATE,
3658 CASE_GROUND_STATE,
3659 /* udiaeresis yacute thorn ydiaeresis */
3660 CASE_GROUND_STATE,
3661 CASE_GROUND_STATE,
3662 CASE_GROUND_STATE,
3663 CASE_IGNORE,
3664 };
3665
3666 #if OPT_DEC_RECTOPS
3667 Const PARSE_T csi_dec_dollar_table[] = /* CSI ?... $ */
3668 {
3669 /* NUL SOH STX ETX */
3670 CASE_IGNORE,
3671 CASE_IGNORE,
3672 CASE_IGNORE,
3673 CASE_IGNORE,
3674 /* EOT ENQ ACK BEL */
3675 CASE_IGNORE,
3676 CASE_ENQ,
3677 CASE_IGNORE,
3678 CASE_BELL,
3679 /* BS HT NL VT */
3680 CASE_BS,
3681 CASE_TAB,
3682 CASE_VMOT,
3683 CASE_VMOT,
3684 /* FF CR SO SI */
3685 CASE_VMOT,
3686 CASE_CR,
3687 CASE_SO,
3688 CASE_SI,
3689 /* DLE DC1 DC2 DC3 */
3690 CASE_IGNORE,
3691 CASE_IGNORE,
3692 CASE_IGNORE,
3693 CASE_IGNORE,
3694 /* DC4 NAK SYN ETB */
3695 CASE_IGNORE,
3696 CASE_IGNORE,
3697 CASE_IGNORE,
3698 CASE_IGNORE,
3699 /* CAN EM SUB ESC */
3700 CASE_GROUND_STATE,
3701 CASE_IGNORE,
3702 CASE_GROUND_STATE,
3703 CASE_ESC,
3704 /* FS GS RS US */
3705 CASE_IGNORE,
3706 CASE_IGNORE,
3707 CASE_IGNORE,
3708 CASE_IGNORE,
3709 /* SP ! " # */
3710 CASE_CSI_IGNORE,
3711 CASE_CSI_IGNORE,
3712 CASE_CSI_IGNORE,
3713 CASE_CSI_IGNORE,
3714 /* $ % & ' */
3715 CASE_CSI_IGNORE,
3716 CASE_CSI_IGNORE,
3717 CASE_CSI_IGNORE,
3718 CASE_CSI_IGNORE,
3719 /* ( ) * + */
3720 CASE_CSI_IGNORE,
3721 CASE_CSI_IGNORE,
3722 CASE_CSI_IGNORE,
3723 CASE_CSI_IGNORE,
3724 /* , - . / */
3725 CASE_CSI_IGNORE,
3726 CASE_CSI_IGNORE,
3727 CASE_CSI_IGNORE,
3728 CASE_CSI_IGNORE,
3729 /* 0 1 2 3 */
3730 CASE_CSI_IGNORE,
3731 CASE_CSI_IGNORE,
3732 CASE_CSI_IGNORE,
3733 CASE_CSI_IGNORE,
3734 /* 4 5 6 7 */
3735 CASE_CSI_IGNORE,
3736 CASE_CSI_IGNORE,
3737 CASE_CSI_IGNORE,
3738 CASE_CSI_IGNORE,
3739 /* 8 9 : ; */
3740 CASE_CSI_IGNORE,
3741 CASE_CSI_IGNORE,
3742 CASE_CSI_IGNORE,
3743 CASE_CSI_IGNORE,
3744 /* < = > ? */
3745 CASE_CSI_IGNORE,
3746 CASE_CSI_IGNORE,
3747 CASE_CSI_IGNORE,
3748 CASE_CSI_IGNORE,
3749 /* @ A B C */
3750 CASE_GROUND_STATE,
3751 CASE_GROUND_STATE,
3752 CASE_GROUND_STATE,
3753 CASE_GROUND_STATE,
3754 /* D E F G */
3755 CASE_GROUND_STATE,
3756 CASE_GROUND_STATE,
3757 CASE_GROUND_STATE,
3758 CASE_GROUND_STATE,
3759 /* H I J K */
3760 CASE_GROUND_STATE,
3761 CASE_GROUND_STATE,
3762 CASE_GROUND_STATE,
3763 CASE_GROUND_STATE,
3764 /* L M N O */
3765 CASE_GROUND_STATE,
3766 CASE_GROUND_STATE,
3767 CASE_GROUND_STATE,
3768 CASE_GROUND_STATE,
3769 /* P Q R S */
3770 CASE_GROUND_STATE,
3771 CASE_GROUND_STATE,
3772 CASE_GROUND_STATE,
3773 CASE_GROUND_STATE,
3774 /* T U V W */
3775 CASE_GROUND_STATE,
3776 CASE_GROUND_STATE,
3777 CASE_GROUND_STATE,
3778 CASE_GROUND_STATE,
3779 /* X Y Z [ */
3780 CASE_GROUND_STATE,
3781 CASE_GROUND_STATE,
3782 CASE_GROUND_STATE,
3783 CASE_GROUND_STATE,
3784 /* \ ] ^ _ */
3785 CASE_GROUND_STATE,
3786 CASE_GROUND_STATE,
3787 CASE_GROUND_STATE,
3788 CASE_GROUND_STATE,
3789 /* ` a b c */
3790 CASE_GROUND_STATE,
3791 CASE_GROUND_STATE,
3792 CASE_GROUND_STATE,
3793 CASE_GROUND_STATE,
3794 /* d e f g */
3795 CASE_GROUND_STATE,
3796 CASE_GROUND_STATE,
3797 CASE_GROUND_STATE,
3798 CASE_GROUND_STATE,
3799 /* h i j k */
3800 CASE_GROUND_STATE,
3801 CASE_GROUND_STATE,
3802 CASE_GROUND_STATE,
3803 CASE_GROUND_STATE,
3804 /* l m n o */
3805 CASE_GROUND_STATE,
3806 CASE_GROUND_STATE,
3807 CASE_GROUND_STATE,
3808 CASE_GROUND_STATE,
3809 /* p q r s */
3810 CASE_DECRQM,
3811 CASE_GROUND_STATE,
3812 CASE_GROUND_STATE,
3813 CASE_GROUND_STATE,
3814 /* t u v w */
3815 CASE_GROUND_STATE,
3816 CASE_GROUND_STATE,
3817 CASE_GROUND_STATE,
3818 CASE_GROUND_STATE,
3819 /* x y z { */
3820 CASE_GROUND_STATE,
3821 CASE_GROUND_STATE,
3822 CASE_GROUND_STATE,
3823 CASE_GROUND_STATE,
3824 /* | } ~ DEL */
3825 CASE_GROUND_STATE,
3826 CASE_GROUND_STATE,
3827 CASE_GROUND_STATE,
3828 CASE_IGNORE,
3829 /* 0x80 0x81 0x82 0x83 */
3830 CASE_GROUND_STATE,
3831 CASE_GROUND_STATE,
3832 CASE_GROUND_STATE,
3833 CASE_GROUND_STATE,
3834 /* 0x84 0x85 0x86 0x87 */
3835 CASE_IND,
3836 CASE_NEL,
3837 CASE_GROUND_STATE,
3838 CASE_GROUND_STATE,
3839 /* 0x88 0x89 0x8a 0x8b */
3840 CASE_HTS,
3841 CASE_GROUND_STATE,
3842 CASE_GROUND_STATE,
3843 CASE_GROUND_STATE,
3844 /* 0x8c 0x8d 0x8e 0x8f */
3845 CASE_GROUND_STATE,
3846 CASE_RI,
3847 CASE_SS2,
3848 CASE_SS3,
3849 /* 0x90 0x91 0x92 0x93 */
3850 CASE_DCS,
3851 CASE_GROUND_STATE,
3852 CASE_GROUND_STATE,
3853 CASE_GROUND_STATE,
3854 /* 0x94 0x95 0x96 0x97 */
3855 CASE_GROUND_STATE,
3856 CASE_GROUND_STATE,
3857 CASE_SPA,
3858 CASE_EPA,
3859 /* 0x98 0x99 0x9a 0x9b */
3860 CASE_SOS,
3861 CASE_GROUND_STATE,
3862 CASE_DECID,
3863 CASE_CSI_STATE,
3864 /* 0x9c 0x9d 0x9e 0x9f */
3865 CASE_ST,
3866 CASE_OSC,
3867 CASE_PM,
3868 CASE_APC,
3869 /* nobreakspace exclamdown cent sterling */
3870 CASE_CSI_IGNORE,
3871 CASE_CSI_IGNORE,
3872 CASE_CSI_IGNORE,
3873 CASE_CSI_IGNORE,
3874 /* currency yen brokenbar section */
3875 CASE_CSI_IGNORE,
3876 CASE_CSI_IGNORE,
3877 CASE_CSI_IGNORE,
3878 CASE_CSI_IGNORE,
3879 /* diaeresis copyright ordfeminine guillemotleft */
3880 CASE_CSI_IGNORE,
3881 CASE_CSI_IGNORE,
3882 CASE_CSI_IGNORE,
3883 CASE_CSI_IGNORE,
3884 /* notsign hyphen registered macron */
3885 CASE_CSI_IGNORE,
3886 CASE_CSI_IGNORE,
3887 CASE_CSI_IGNORE,
3888 CASE_CSI_IGNORE,
3889 /* degree plusminus twosuperior threesuperior */
3890 CASE_CSI_IGNORE,
3891 CASE_CSI_IGNORE,
3892 CASE_CSI_IGNORE,
3893 CASE_CSI_IGNORE,
3894 /* acute mu paragraph periodcentered */
3895 CASE_CSI_IGNORE,
3896 CASE_CSI_IGNORE,
3897 CASE_CSI_IGNORE,
3898 CASE_CSI_IGNORE,
3899 /* cedilla onesuperior masculine guillemotright */
3900 CASE_CSI_IGNORE,
3901 CASE_CSI_IGNORE,
3902 CASE_CSI_IGNORE,
3903 CASE_CSI_IGNORE,
3904 /* onequarter onehalf threequarters questiondown */
3905 CASE_CSI_IGNORE,
3906 CASE_CSI_IGNORE,
3907 CASE_CSI_IGNORE,
3908 CASE_CSI_IGNORE,
3909 /* Agrave Aacute Acircumflex Atilde */
3910 CASE_GROUND_STATE,
3911 CASE_GROUND_STATE,
3912 CASE_GROUND_STATE,
3913 CASE_GROUND_STATE,
3914 /* Adiaeresis Aring AE Ccedilla */
3915 CASE_GROUND_STATE,
3916 CASE_GROUND_STATE,
3917 CASE_GROUND_STATE,
3918 CASE_GROUND_STATE,
3919 /* Egrave Eacute Ecircumflex Ediaeresis */
3920 CASE_GROUND_STATE,
3921 CASE_GROUND_STATE,
3922 CASE_GROUND_STATE,
3923 CASE_GROUND_STATE,
3924 /* Igrave Iacute Icircumflex Idiaeresis */
3925 CASE_GROUND_STATE,
3926 CASE_GROUND_STATE,
3927 CASE_GROUND_STATE,
3928 CASE_GROUND_STATE,
3929 /* Eth Ntilde Ograve Oacute */
3930 CASE_GROUND_STATE,
3931 CASE_GROUND_STATE,
3932 CASE_GROUND_STATE,
3933 CASE_GROUND_STATE,
3934 /* Ocircumflex Otilde Odiaeresis multiply */
3935 CASE_GROUND_STATE,
3936 CASE_GROUND_STATE,
3937 CASE_GROUND_STATE,
3938 CASE_GROUND_STATE,
3939 /* Ooblique Ugrave Uacute Ucircumflex */
3940 CASE_GROUND_STATE,
3941 CASE_GROUND_STATE,
3942 CASE_GROUND_STATE,
3943 CASE_GROUND_STATE,
3944 /* Udiaeresis Yacute Thorn ssharp */
3945 CASE_GROUND_STATE,
3946 CASE_GROUND_STATE,
3947 CASE_GROUND_STATE,
3948 CASE_GROUND_STATE,
3949 /* agrave aacute acircumflex atilde */
3950 CASE_GROUND_STATE,
3951 CASE_GROUND_STATE,
3952 CASE_GROUND_STATE,
3953 CASE_GROUND_STATE,
3954 /* adiaeresis aring ae ccedilla */
3955 CASE_GROUND_STATE,
3956 CASE_GROUND_STATE,
3957 CASE_GROUND_STATE,
3958 CASE_GROUND_STATE,
3959 /* egrave eacute ecircumflex ediaeresis */
3960 CASE_GROUND_STATE,
3961 CASE_GROUND_STATE,
3962 CASE_GROUND_STATE,
3963 CASE_GROUND_STATE,
3964 /* igrave iacute icircumflex idiaeresis */
3965 CASE_GROUND_STATE,
3966 CASE_GROUND_STATE,
3967 CASE_GROUND_STATE,
3968 CASE_GROUND_STATE,
3969 /* eth ntilde ograve oacute */
3970 CASE_DECRQM,
3971 CASE_GROUND_STATE,
3972 CASE_GROUND_STATE,
3973 CASE_GROUND_STATE,
3974 /* ocircumflex otilde odiaeresis division */
3975 CASE_GROUND_STATE,
3976 CASE_GROUND_STATE,
3977 CASE_GROUND_STATE,
3978 CASE_GROUND_STATE,
3979 /* oslash ugrave uacute ucircumflex */
3980 CASE_GROUND_STATE,
3981 CASE_GROUND_STATE,
3982 CASE_GROUND_STATE,
3983 CASE_GROUND_STATE,
3984 /* udiaeresis yacute thorn ydiaeresis */
3985 CASE_GROUND_STATE,
3986 CASE_GROUND_STATE,
3987 CASE_GROUND_STATE,
3988 CASE_GROUND_STATE,
3989 };
3990 #endif /* OPT_DEC_RECTOPS */
3991
3992 Const PARSE_T dec2_table[] = /* CSI > */
3993 {
3994 /* NUL SOH STX ETX */
3995 CASE_IGNORE,
3996 CASE_IGNORE,
3997 CASE_IGNORE,
3998 CASE_IGNORE,
3999 /* EOT ENQ ACK BEL */
4000 CASE_IGNORE,
4001 CASE_ENQ,
4002 CASE_IGNORE,
4003 CASE_BELL,
4004 /* BS HT NL VT */
4005 CASE_BS,
4006 CASE_TAB,
4007 CASE_VMOT,
4008 CASE_VMOT,
4009 /* FF CR SO SI */
4010 CASE_VMOT,
4011 CASE_CR,
4012 CASE_SO,
4013 CASE_SI,
4014 /* DLE DC1 DC2 DC3 */
4015 CASE_IGNORE,
4016 CASE_IGNORE,
4017 CASE_IGNORE,
4018 CASE_IGNORE,
4019 /* DC4 NAK SYN ETB */
4020 CASE_IGNORE,
4021 CASE_IGNORE,
4022 CASE_IGNORE,
4023 CASE_IGNORE,
4024 /* CAN EM SUB ESC */
4025 CASE_GROUND_STATE,
4026 CASE_IGNORE,
4027 CASE_GROUND_STATE,
4028 CASE_ESC,
4029 /* FS GS RS US */
4030 CASE_IGNORE,
4031 CASE_IGNORE,
4032 CASE_IGNORE,
4033 CASE_IGNORE,
4034 /* SP ! " # */
4035 CASE_CSI_IGNORE,
4036 CASE_CSI_IGNORE,
4037 CASE_CSI_IGNORE,
4038 CASE_CSI_IGNORE,
4039 /* $ % & ' */
4040 CASE_CSI_IGNORE,
4041 CASE_CSI_IGNORE,
4042 CASE_CSI_IGNORE,
4043 CASE_CSI_IGNORE,
4044 /* ( ) * + */
4045 CASE_CSI_IGNORE,
4046 CASE_CSI_IGNORE,
4047 CASE_CSI_IGNORE,
4048 CASE_CSI_IGNORE,
4049 /* , - . / */
4050 CASE_CSI_IGNORE,
4051 CASE_CSI_IGNORE,
4052 CASE_CSI_IGNORE,
4053 CASE_CSI_IGNORE,
4054 /* 0 1 2 3 */
4055 CASE_ESC_DIGIT,
4056 CASE_ESC_DIGIT,
4057 CASE_ESC_DIGIT,
4058 CASE_ESC_DIGIT,
4059 /* 4 5 6 7 */
4060 CASE_ESC_DIGIT,
4061 CASE_ESC_DIGIT,
4062 CASE_ESC_DIGIT,
4063 CASE_ESC_DIGIT,
4064 /* 8 9 : ; */
4065 CASE_ESC_DIGIT,
4066 CASE_ESC_DIGIT,
4067 CASE_ESC_COLON,
4068 CASE_ESC_SEMI,
4069 /* < = > ? */
4070 CASE_CSI_IGNORE,
4071 CASE_CSI_IGNORE,
4072 CASE_CSI_IGNORE,
4073 CASE_CSI_IGNORE,
4074 /* @ A B C */
4075 CASE_GROUND_STATE,
4076 CASE_GROUND_STATE,
4077 CASE_GROUND_STATE,
4078 CASE_GROUND_STATE,
4079 /* D E F G */
4080 CASE_GROUND_STATE,
4081 CASE_GROUND_STATE,
4082 CASE_GROUND_STATE,
4083 CASE_GROUND_STATE,
4084 /* H I J K */
4085 CASE_GROUND_STATE,
4086 CASE_GROUND_STATE,
4087 CASE_GROUND_STATE,
4088 CASE_GROUND_STATE,
4089 /* L M N O */
4090 CASE_GROUND_STATE,
4091 CASE_GROUND_STATE,
4092 CASE_GROUND_STATE,
4093 CASE_GROUND_STATE,
4094 /* P Q R S */
4095 CASE_GROUND_STATE,
4096 CASE_GROUND_STATE,
4097 CASE_GROUND_STATE,
4098 CASE_GROUND_STATE,
4099 /* T U V W */
4100 CASE_XTERM_RM_TITLE,
4101 CASE_GROUND_STATE,
4102 CASE_GROUND_STATE,
4103 CASE_GROUND_STATE,
4104 /* X Y Z [ */
4105 CASE_GROUND_STATE,
4106 CASE_GROUND_STATE,
4107 CASE_GROUND_STATE,
4108 CASE_GROUND_STATE,
4109 /* \ ] ^ _ */
4110 CASE_GROUND_STATE,
4111 CASE_GROUND_STATE,
4112 CASE_GROUND_STATE,
4113 CASE_GROUND_STATE,
4114 /* ` a b c */
4115 CASE_GROUND_STATE,
4116 CASE_GROUND_STATE,
4117 CASE_GROUND_STATE,
4118 CASE_DA2,
4119 /* d e f g */
4120 CASE_GROUND_STATE,
4121 CASE_GROUND_STATE,
4122 CASE_GROUND_STATE,
4123 CASE_GROUND_STATE,
4124 /* h i j k */
4125 CASE_GROUND_STATE,
4126 CASE_GROUND_STATE,
4127 CASE_GROUND_STATE,
4128 CASE_GROUND_STATE,
4129 /* l m n o */
4130 CASE_GROUND_STATE,
4131 CASE_SET_MOD_FKEYS,
4132 CASE_SET_MOD_FKEYS0,
4133 CASE_GROUND_STATE,
4134 /* p q r s */
4135 CASE_HIDE_POINTER,
4136 CASE_REPORT_VERSION,
4137 CASE_GROUND_STATE,
4138 CASE_XTERM_SHIFT_ESCAPE,
4139 /* t u v w */
4140 CASE_XTERM_SM_TITLE,
4141 CASE_GROUND_STATE,
4142 CASE_GROUND_STATE,
4143 CASE_GROUND_STATE,
4144 /* x y z { */
4145 CASE_GROUND_STATE,
4146 CASE_GROUND_STATE,
4147 CASE_GROUND_STATE,
4148 CASE_GROUND_STATE,
4149 /* | } ~ DEL */
4150 CASE_GROUND_STATE,
4151 CASE_GROUND_STATE,
4152 CASE_GROUND_STATE,
4153 CASE_IGNORE,
4154 /* 0x80 0x81 0x82 0x83 */
4155 CASE_GROUND_STATE,
4156 CASE_GROUND_STATE,
4157 CASE_GROUND_STATE,
4158 CASE_GROUND_STATE,
4159 /* 0x84 0x85 0x86 0x87 */
4160 CASE_IND,
4161 CASE_NEL,
4162 CASE_GROUND_STATE,
4163 CASE_GROUND_STATE,
4164 /* 0x88 0x89 0x8a 0x8b */
4165 CASE_HTS,
4166 CASE_GROUND_STATE,
4167 CASE_GROUND_STATE,
4168 CASE_GROUND_STATE,
4169 /* 0x8c 0x8d 0x8e 0x8f */
4170 CASE_GROUND_STATE,
4171 CASE_RI,
4172 CASE_SS2,
4173 CASE_SS3,
4174 /* 0x90 0x91 0x92 0x93 */
4175 CASE_DCS,
4176 CASE_GROUND_STATE,
4177 CASE_GROUND_STATE,
4178 CASE_GROUND_STATE,
4179 /* 0x94 0x95 0x96 0x97 */
4180 CASE_GROUND_STATE,
4181 CASE_GROUND_STATE,
4182 CASE_SPA,
4183 CASE_EPA,
4184 /* 0x98 0x99 0x9a 0x9b */
4185 CASE_SOS,
4186 CASE_GROUND_STATE,
4187 CASE_DECID,
4188 CASE_CSI_STATE,
4189 /* 0x9c 0x9d 0x9e 0x9f */
4190 CASE_ST,
4191 CASE_OSC,
4192 CASE_PM,
4193 CASE_APC,
4194 /* nobreakspace exclamdown cent sterling */
4195 CASE_CSI_IGNORE,
4196 CASE_CSI_IGNORE,
4197 CASE_CSI_IGNORE,
4198 CASE_CSI_IGNORE,
4199 /* currency yen brokenbar section */
4200 CASE_CSI_IGNORE,
4201 CASE_CSI_IGNORE,
4202 CASE_CSI_IGNORE,
4203 CASE_CSI_IGNORE,
4204 /* diaeresis copyright ordfeminine guillemotleft */
4205 CASE_CSI_IGNORE,
4206 CASE_CSI_IGNORE,
4207 CASE_CSI_IGNORE,
4208 CASE_CSI_IGNORE,
4209 /* notsign hyphen registered macron */
4210 CASE_CSI_IGNORE,
4211 CASE_CSI_IGNORE,
4212 CASE_CSI_IGNORE,
4213 CASE_CSI_IGNORE,
4214 /* degree plusminus twosuperior threesuperior */
4215 CASE_ESC_DIGIT,
4216 CASE_ESC_DIGIT,
4217 CASE_ESC_DIGIT,
4218 CASE_ESC_DIGIT,
4219 /* acute mu paragraph periodcentered */
4220 CASE_ESC_DIGIT,
4221 CASE_ESC_DIGIT,
4222 CASE_ESC_DIGIT,
4223 CASE_ESC_DIGIT,
4224 /* cedilla onesuperior masculine guillemotright */
4225 CASE_ESC_DIGIT,
4226 CASE_ESC_DIGIT,
4227 CASE_ESC_COLON,
4228 CASE_ESC_SEMI,
4229 /* onequarter onehalf threequarters questiondown */
4230 CASE_CSI_IGNORE,
4231 CASE_CSI_IGNORE,
4232 CASE_CSI_IGNORE,
4233 CASE_CSI_IGNORE,
4234 /* Agrave Aacute Acircumflex Atilde */
4235 CASE_GROUND_STATE,
4236 CASE_GROUND_STATE,
4237 CASE_GROUND_STATE,
4238 CASE_GROUND_STATE,
4239 /* Adiaeresis Aring AE Ccedilla */
4240 CASE_GROUND_STATE,
4241 CASE_GROUND_STATE,
4242 CASE_GROUND_STATE,
4243 CASE_GROUND_STATE,
4244 /* Egrave Eacute Ecircumflex Ediaeresis */
4245 CASE_GROUND_STATE,
4246 CASE_GROUND_STATE,
4247 CASE_GROUND_STATE,
4248 CASE_GROUND_STATE,
4249 /* Igrave Iacute Icircumflex Idiaeresis */
4250 CASE_GROUND_STATE,
4251 CASE_GROUND_STATE,
4252 CASE_GROUND_STATE,
4253 CASE_GROUND_STATE,
4254 /* Eth Ntilde Ograve Oacute */
4255 CASE_GROUND_STATE,
4256 CASE_GROUND_STATE,
4257 CASE_GROUND_STATE,
4258 CASE_GROUND_STATE,
4259 /* Ocircumflex Otilde Odiaeresis multiply */
4260 CASE_XTERM_RM_TITLE,
4261 CASE_GROUND_STATE,
4262 CASE_GROUND_STATE,
4263 CASE_GROUND_STATE,
4264 /* Ooblique Ugrave Uacute Ucircumflex */
4265 CASE_GROUND_STATE,
4266 CASE_GROUND_STATE,
4267 CASE_GROUND_STATE,
4268 CASE_GROUND_STATE,
4269 /* Udiaeresis Yacute Thorn ssharp */
4270 CASE_GROUND_STATE,
4271 CASE_GROUND_STATE,
4272 CASE_GROUND_STATE,
4273 CASE_GROUND_STATE,
4274 /* agrave aacute acircumflex atilde */
4275 CASE_GROUND_STATE,
4276 CASE_GROUND_STATE,
4277 CASE_GROUND_STATE,
4278 CASE_DA2,
4279 /* adiaeresis aring ae ccedilla */
4280 CASE_GROUND_STATE,
4281 CASE_GROUND_STATE,
4282 CASE_GROUND_STATE,
4283 CASE_GROUND_STATE,
4284 /* egrave eacute ecircumflex ediaeresis */
4285 CASE_GROUND_STATE,
4286 CASE_GROUND_STATE,
4287 CASE_GROUND_STATE,
4288 CASE_GROUND_STATE,
4289 /* igrave iacute icircumflex idiaeresis */
4290 CASE_GROUND_STATE,
4291 CASE_SET_MOD_FKEYS,
4292 CASE_SET_MOD_FKEYS0,
4293 CASE_GROUND_STATE,
4294 /* eth ntilde ograve oacute */
4295 CASE_HIDE_POINTER,
4296 CASE_REPORT_VERSION,
4297 CASE_GROUND_STATE,
4298 CASE_XTERM_SHIFT_ESCAPE,
4299 /* ocircumflex otilde odiaeresis division */
4300 CASE_XTERM_SM_TITLE,
4301 CASE_GROUND_STATE,
4302 CASE_GROUND_STATE,
4303 CASE_GROUND_STATE,
4304 /* oslash ugrave uacute ucircumflex */
4305 CASE_GROUND_STATE,
4306 CASE_GROUND_STATE,
4307 CASE_GROUND_STATE,
4308 CASE_GROUND_STATE,
4309 /* udiaeresis yacute thorn ydiaeresis */
4310 CASE_GROUND_STATE,
4311 CASE_GROUND_STATE,
4312 CASE_GROUND_STATE,
4313 CASE_IGNORE,
4314 };
4315
4316 Const PARSE_T dec3_table[] = /* CSI = */
4317 {
4318 /* NUL SOH STX ETX */
4319 CASE_IGNORE,
4320 CASE_IGNORE,
4321 CASE_IGNORE,
4322 CASE_IGNORE,
4323 /* EOT ENQ ACK BEL */
4324 CASE_IGNORE,
4325 CASE_ENQ,
4326 CASE_IGNORE,
4327 CASE_BELL,
4328 /* BS HT NL VT */
4329 CASE_BS,
4330 CASE_TAB,
4331 CASE_VMOT,
4332 CASE_VMOT,
4333 /* FF CR SO SI */
4334 CASE_VMOT,
4335 CASE_CR,
4336 CASE_SO,
4337 CASE_SI,
4338 /* DLE DC1 DC2 DC3 */
4339 CASE_IGNORE,
4340 CASE_IGNORE,
4341 CASE_IGNORE,
4342 CASE_IGNORE,
4343 /* DC4 NAK SYN ETB */
4344 CASE_IGNORE,
4345 CASE_IGNORE,
4346 CASE_IGNORE,
4347 CASE_IGNORE,
4348 /* CAN EM SUB ESC */
4349 CASE_GROUND_STATE,
4350 CASE_IGNORE,
4351 CASE_GROUND_STATE,
4352 CASE_ESC,
4353 /* FS GS RS US */
4354 CASE_IGNORE,
4355 CASE_IGNORE,
4356 CASE_IGNORE,
4357 CASE_IGNORE,
4358 /* SP ! " # */
4359 CASE_CSI_IGNORE,
4360 CASE_CSI_IGNORE,
4361 CASE_CSI_IGNORE,
4362 CASE_CSI_IGNORE,
4363 /* $ % & ' */
4364 CASE_CSI_IGNORE,
4365 CASE_CSI_IGNORE,
4366 CASE_CSI_IGNORE,
4367 CASE_CSI_IGNORE,
4368 /* ( ) * + */
4369 CASE_CSI_IGNORE,
4370 CASE_CSI_IGNORE,
4371 CASE_CSI_IGNORE,
4372 CASE_CSI_IGNORE,
4373 /* , - . / */
4374 CASE_CSI_IGNORE,
4375 CASE_CSI_IGNORE,
4376 CASE_CSI_IGNORE,
4377 CASE_CSI_IGNORE,
4378 /* 0 1 2 3 */
4379 CASE_ESC_DIGIT,
4380 CASE_ESC_DIGIT,
4381 CASE_ESC_DIGIT,
4382 CASE_ESC_DIGIT,
4383 /* 4 5 6 7 */
4384 CASE_ESC_DIGIT,
4385 CASE_ESC_DIGIT,
4386 CASE_ESC_DIGIT,
4387 CASE_ESC_DIGIT,
4388 /* 8 9 : ; */
4389 CASE_ESC_DIGIT,
4390 CASE_ESC_DIGIT,
4391 CASE_ESC_COLON,
4392 CASE_ESC_SEMI,
4393 /* < = > ? */
4394 CASE_CSI_IGNORE,
4395 CASE_CSI_IGNORE,
4396 CASE_CSI_IGNORE,
4397 CASE_CSI_IGNORE,
4398 /* @ A B C */
4399 CASE_GROUND_STATE,
4400 CASE_GROUND_STATE,
4401 CASE_GROUND_STATE,
4402 CASE_GROUND_STATE,
4403 /* D E F G */
4404 CASE_GROUND_STATE,
4405 CASE_GROUND_STATE,
4406 CASE_GROUND_STATE,
4407 CASE_GROUND_STATE,
4408 /* H I J K */
4409 CASE_GROUND_STATE,
4410 CASE_GROUND_STATE,
4411 CASE_GROUND_STATE,
4412 CASE_GROUND_STATE,
4413 /* L M N O */
4414 CASE_GROUND_STATE,
4415 CASE_GROUND_STATE,
4416 CASE_GROUND_STATE,
4417 CASE_GROUND_STATE,
4418 /* P Q R S */
4419 CASE_GROUND_STATE,
4420 CASE_GROUND_STATE,
4421 CASE_GROUND_STATE,
4422 CASE_GROUND_STATE,
4423 /* T U V W */
4424 CASE_GROUND_STATE,
4425 CASE_GROUND_STATE,
4426 CASE_GROUND_STATE,
4427 CASE_GROUND_STATE,
4428 /* X Y Z [ */
4429 CASE_GROUND_STATE,
4430 CASE_GROUND_STATE,
4431 CASE_GROUND_STATE,
4432 CASE_GROUND_STATE,
4433 /* \ ] ^ _ */
4434 CASE_GROUND_STATE,
4435 CASE_GROUND_STATE,
4436 CASE_GROUND_STATE,
4437 CASE_GROUND_STATE,
4438 /* ` a b c */
4439 CASE_GROUND_STATE,
4440 CASE_GROUND_STATE,
4441 CASE_GROUND_STATE,
4442 CASE_DECRPTUI,
4443 /* d e f g */
4444 CASE_GROUND_STATE,
4445 CASE_GROUND_STATE,
4446 CASE_GROUND_STATE,
4447 CASE_GROUND_STATE,
4448 /* h i j k */
4449 CASE_GROUND_STATE,
4450 CASE_GROUND_STATE,
4451 CASE_GROUND_STATE,
4452 CASE_GROUND_STATE,
4453 /* l m n o */
4454 CASE_GROUND_STATE,
4455 CASE_GROUND_STATE,
4456 CASE_GROUND_STATE,
4457 CASE_GROUND_STATE,
4458 /* p q r s */
4459 CASE_GROUND_STATE,
4460 CASE_GROUND_STATE,
4461 CASE_GROUND_STATE,
4462 CASE_GROUND_STATE,
4463 /* t u v w */
4464 CASE_GROUND_STATE,
4465 CASE_GROUND_STATE,
4466 CASE_GROUND_STATE,
4467 CASE_GROUND_STATE,
4468 /* x y z { */
4469 CASE_GROUND_STATE,
4470 CASE_GROUND_STATE,
4471 CASE_GROUND_STATE,
4472 CASE_GROUND_STATE,
4473 /* | } ~ DEL */
4474 CASE_GROUND_STATE,
4475 CASE_GROUND_STATE,
4476 CASE_GROUND_STATE,
4477 CASE_IGNORE,
4478 /* 0x80 0x81 0x82 0x83 */
4479 CASE_GROUND_STATE,
4480 CASE_GROUND_STATE,
4481 CASE_GROUND_STATE,
4482 CASE_GROUND_STATE,
4483 /* 0x84 0x85 0x86 0x87 */
4484 CASE_IND,
4485 CASE_NEL,
4486 CASE_GROUND_STATE,
4487 CASE_GROUND_STATE,
4488 /* 0x88 0x89 0x8a 0x8b */
4489 CASE_HTS,
4490 CASE_GROUND_STATE,
4491 CASE_GROUND_STATE,
4492 CASE_GROUND_STATE,
4493 /* 0x8c 0x8d 0x8e 0x8f */
4494 CASE_GROUND_STATE,
4495 CASE_RI,
4496 CASE_SS2,
4497 CASE_SS3,
4498 /* 0x90 0x91 0x92 0x93 */
4499 CASE_DCS,
4500 CASE_GROUND_STATE,
4501 CASE_GROUND_STATE,
4502 CASE_GROUND_STATE,
4503 /* 0x94 0x95 0x96 0x97 */
4504 CASE_GROUND_STATE,
4505 CASE_GROUND_STATE,
4506 CASE_SPA,
4507 CASE_EPA,
4508 /* 0x98 0x99 0x9a 0x9b */
4509 CASE_SOS,
4510 CASE_GROUND_STATE,
4511 CASE_DECID,
4512 CASE_CSI_STATE,
4513 /* 0x9c 0x9d 0x9e 0x9f */
4514 CASE_ST,
4515 CASE_OSC,
4516 CASE_PM,
4517 CASE_APC,
4518 /* nobreakspace exclamdown cent sterling */
4519 CASE_CSI_IGNORE,
4520 CASE_CSI_IGNORE,
4521 CASE_CSI_IGNORE,
4522 CASE_CSI_IGNORE,
4523 /* currency yen brokenbar section */
4524 CASE_CSI_IGNORE,
4525 CASE_CSI_IGNORE,
4526 CASE_CSI_IGNORE,
4527 CASE_CSI_IGNORE,
4528 /* diaeresis copyright ordfeminine guillemotleft */
4529 CASE_CSI_IGNORE,
4530 CASE_CSI_IGNORE,
4531 CASE_CSI_IGNORE,
4532 CASE_CSI_IGNORE,
4533 /* notsign hyphen registered macron */
4534 CASE_CSI_IGNORE,
4535 CASE_CSI_IGNORE,
4536 CASE_CSI_IGNORE,
4537 CASE_CSI_IGNORE,
4538 /* degree plusminus twosuperior threesuperior */
4539 CASE_ESC_DIGIT,
4540 CASE_ESC_DIGIT,
4541 CASE_ESC_DIGIT,
4542 CASE_ESC_DIGIT,
4543 /* acute mu paragraph periodcentered */
4544 CASE_ESC_DIGIT,
4545 CASE_ESC_DIGIT,
4546 CASE_ESC_DIGIT,
4547 CASE_ESC_DIGIT,
4548 /* cedilla onesuperior masculine guillemotright */
4549 CASE_ESC_DIGIT,
4550 CASE_ESC_DIGIT,
4551 CASE_ESC_COLON,
4552 CASE_ESC_SEMI,
4553 /* onequarter onehalf threequarters questiondown */
4554 CASE_CSI_IGNORE,
4555 CASE_CSI_IGNORE,
4556 CASE_CSI_IGNORE,
4557 CASE_CSI_IGNORE,
4558 /* Agrave Aacute Acircumflex Atilde */
4559 CASE_GROUND_STATE,
4560 CASE_GROUND_STATE,
4561 CASE_GROUND_STATE,
4562 CASE_GROUND_STATE,
4563 /* Adiaeresis Aring AE Ccedilla */
4564 CASE_GROUND_STATE,
4565 CASE_GROUND_STATE,
4566 CASE_GROUND_STATE,
4567 CASE_GROUND_STATE,
4568 /* Egrave Eacute Ecircumflex Ediaeresis */
4569 CASE_GROUND_STATE,
4570 CASE_GROUND_STATE,
4571 CASE_GROUND_STATE,
4572 CASE_GROUND_STATE,
4573 /* Igrave Iacute Icircumflex Idiaeresis */
4574 CASE_GROUND_STATE,
4575 CASE_GROUND_STATE,
4576 CASE_GROUND_STATE,
4577 CASE_GROUND_STATE,
4578 /* Eth Ntilde Ograve Oacute */
4579 CASE_GROUND_STATE,
4580 CASE_GROUND_STATE,
4581 CASE_GROUND_STATE,
4582 CASE_GROUND_STATE,
4583 /* Ocircumflex Otilde Odiaeresis multiply */
4584 CASE_GROUND_STATE,
4585 CASE_GROUND_STATE,
4586 CASE_GROUND_STATE,
4587 CASE_GROUND_STATE,
4588 /* Ooblique Ugrave Uacute Ucircumflex */
4589 CASE_GROUND_STATE,
4590 CASE_GROUND_STATE,
4591 CASE_GROUND_STATE,
4592 CASE_GROUND_STATE,
4593 /* Udiaeresis Yacute Thorn ssharp */
4594 CASE_GROUND_STATE,
4595 CASE_GROUND_STATE,
4596 CASE_GROUND_STATE,
4597 CASE_GROUND_STATE,
4598 /* agrave aacute acircumflex atilde */
4599 CASE_GROUND_STATE,
4600 CASE_GROUND_STATE,
4601 CASE_GROUND_STATE,
4602 CASE_DECRPTUI,
4603 /* adiaeresis aring ae ccedilla */
4604 CASE_GROUND_STATE,
4605 CASE_GROUND_STATE,
4606 CASE_GROUND_STATE,
4607 CASE_GROUND_STATE,
4608 /* egrave eacute ecircumflex ediaeresis */
4609 CASE_GROUND_STATE,
4610 CASE_GROUND_STATE,
4611 CASE_GROUND_STATE,
4612 CASE_GROUND_STATE,
4613 /* igrave iacute icircumflex idiaeresis */
4614 CASE_GROUND_STATE,
4615 CASE_GROUND_STATE,
4616 CASE_GROUND_STATE,
4617 CASE_GROUND_STATE,
4618 /* eth ntilde ograve oacute */
4619 CASE_GROUND_STATE,
4620 CASE_GROUND_STATE,
4621 CASE_GROUND_STATE,
4622 CASE_GROUND_STATE,
4623 /* ocircumflex otilde odiaeresis division */
4624 CASE_GROUND_STATE,
4625 CASE_GROUND_STATE,
4626 CASE_GROUND_STATE,
4627 CASE_GROUND_STATE,
4628 /* oslash ugrave uacute ucircumflex */
4629 CASE_GROUND_STATE,
4630 CASE_GROUND_STATE,
4631 CASE_GROUND_STATE,
4632 CASE_GROUND_STATE,
4633 /* udiaeresis yacute thorn ydiaeresis */
4634 CASE_GROUND_STATE,
4635 CASE_GROUND_STATE,
4636 CASE_GROUND_STATE,
4637 CASE_IGNORE,
4638 };
4639
4640 Const PARSE_T cigtable[] = /* CASE_CSI_IGNORE */
4641 {
4642 /* NUL SOH STX ETX */
4643 CASE_IGNORE,
4644 CASE_IGNORE,
4645 CASE_IGNORE,
4646 CASE_IGNORE,
4647 /* EOT ENQ ACK BEL */
4648 CASE_IGNORE,
4649 CASE_ENQ,
4650 CASE_IGNORE,
4651 CASE_BELL,
4652 /* BS HT NL VT */
4653 CASE_BS,
4654 CASE_TAB,
4655 CASE_VMOT,
4656 CASE_VMOT,
4657 /* FF CR SO SI */
4658 CASE_VMOT,
4659 CASE_CR,
4660 CASE_SO,
4661 CASE_SI,
4662 /* DLE DC1 DC2 DC3 */
4663 CASE_IGNORE,
4664 CASE_IGNORE,
4665 CASE_IGNORE,
4666 CASE_IGNORE,
4667 /* DC4 NAK SYN ETB */
4668 CASE_IGNORE,
4669 CASE_IGNORE,
4670 CASE_IGNORE,
4671 CASE_IGNORE,
4672 /* CAN EM SUB ESC */
4673 CASE_GROUND_STATE,
4674 CASE_IGNORE,
4675 CASE_GROUND_STATE,
4676 CASE_ESC,
4677 /* FS GS RS US */
4678 CASE_IGNORE,
4679 CASE_IGNORE,
4680 CASE_IGNORE,
4681 CASE_IGNORE,
4682 /* SP ! " # */
4683 CASE_IGNORE,
4684 CASE_IGNORE,
4685 CASE_IGNORE,
4686 CASE_IGNORE,
4687 /* $ % & ' */
4688 CASE_IGNORE,
4689 CASE_IGNORE,
4690 CASE_IGNORE,
4691 CASE_IGNORE,
4692 /* ( ) * + */
4693 CASE_IGNORE,
4694 CASE_IGNORE,
4695 CASE_IGNORE,
4696 CASE_IGNORE,
4697 /* , - . / */
4698 CASE_IGNORE,
4699 CASE_IGNORE,
4700 CASE_IGNORE,
4701 CASE_IGNORE,
4702 /* 0 1 2 3 */
4703 CASE_IGNORE,
4704 CASE_IGNORE,
4705 CASE_IGNORE,
4706 CASE_IGNORE,
4707 /* 4 5 6 7 */
4708 CASE_IGNORE,
4709 CASE_IGNORE,
4710 CASE_IGNORE,
4711 CASE_IGNORE,
4712 /* 8 9 : ; */
4713 CASE_IGNORE,
4714 CASE_IGNORE,
4715 CASE_IGNORE,
4716 CASE_IGNORE,
4717 /* < = > ? */
4718 CASE_IGNORE,
4719 CASE_IGNORE,
4720 CASE_IGNORE,
4721 CASE_IGNORE,
4722 /* @ A B C */
4723 CASE_GROUND_STATE,
4724 CASE_GROUND_STATE,
4725 CASE_GROUND_STATE,
4726 CASE_GROUND_STATE,
4727 /* D E F G */
4728 CASE_GROUND_STATE,
4729 CASE_GROUND_STATE,
4730 CASE_GROUND_STATE,
4731 CASE_GROUND_STATE,
4732 /* H I J K */
4733 CASE_GROUND_STATE,
4734 CASE_GROUND_STATE,
4735 CASE_GROUND_STATE,
4736 CASE_GROUND_STATE,
4737 /* L M N O */
4738 CASE_GROUND_STATE,
4739 CASE_GROUND_STATE,
4740 CASE_GROUND_STATE,
4741 CASE_GROUND_STATE,
4742 /* P Q R S */
4743 CASE_GROUND_STATE,
4744 CASE_GROUND_STATE,
4745 CASE_GROUND_STATE,
4746 CASE_GROUND_STATE,
4747 /* T U V W */
4748 CASE_GROUND_STATE,
4749 CASE_GROUND_STATE,
4750 CASE_GROUND_STATE,
4751 CASE_GROUND_STATE,
4752 /* X Y Z [ */
4753 CASE_GROUND_STATE,
4754 CASE_GROUND_STATE,
4755 CASE_GROUND_STATE,
4756 CASE_GROUND_STATE,
4757 /* \ ] ^ _ */
4758 CASE_GROUND_STATE,
4759 CASE_GROUND_STATE,
4760 CASE_GROUND_STATE,
4761 CASE_GROUND_STATE,
4762 /* ` a b c */
4763 CASE_GROUND_STATE,
4764 CASE_GROUND_STATE,
4765 CASE_GROUND_STATE,
4766 CASE_GROUND_STATE,
4767 /* d e f g */
4768 CASE_GROUND_STATE,
4769 CASE_GROUND_STATE,
4770 CASE_GROUND_STATE,
4771 CASE_GROUND_STATE,
4772 /* h i j k */
4773 CASE_GROUND_STATE,
4774 CASE_GROUND_STATE,
4775 CASE_GROUND_STATE,
4776 CASE_GROUND_STATE,
4777 /* l m n o */
4778 CASE_GROUND_STATE,
4779 CASE_GROUND_STATE,
4780 CASE_GROUND_STATE,
4781 CASE_GROUND_STATE,
4782 /* p q r s */
4783 CASE_GROUND_STATE,
4784 CASE_GROUND_STATE,
4785 CASE_GROUND_STATE,
4786 CASE_GROUND_STATE,
4787 /* t u v w */
4788 CASE_GROUND_STATE,
4789 CASE_GROUND_STATE,
4790 CASE_GROUND_STATE,
4791 CASE_GROUND_STATE,
4792 /* x y z { */
4793 CASE_GROUND_STATE,
4794 CASE_GROUND_STATE,
4795 CASE_GROUND_STATE,
4796 CASE_GROUND_STATE,
4797 /* | } ~ DEL */
4798 CASE_GROUND_STATE,
4799 CASE_GROUND_STATE,
4800 CASE_GROUND_STATE,
4801 CASE_IGNORE,
4802 /* 0x80 0x81 0x82 0x83 */
4803 CASE_GROUND_STATE,
4804 CASE_GROUND_STATE,
4805 CASE_GROUND_STATE,
4806 CASE_GROUND_STATE,
4807 /* 0x84 0x85 0x86 0x87 */
4808 CASE_IND,
4809 CASE_NEL,
4810 CASE_GROUND_STATE,
4811 CASE_GROUND_STATE,
4812 /* 0x88 0x89 0x8a 0x8b */
4813 CASE_HTS,
4814 CASE_GROUND_STATE,
4815 CASE_GROUND_STATE,
4816 CASE_GROUND_STATE,
4817 /* 0x8c 0x8d 0x8e 0x8f */
4818 CASE_GROUND_STATE,
4819 CASE_RI,
4820 CASE_SS2,
4821 CASE_SS3,
4822 /* 0x90 0x91 0x92 0x93 */
4823 CASE_DCS,
4824 CASE_GROUND_STATE,
4825 CASE_GROUND_STATE,
4826 CASE_GROUND_STATE,
4827 /* 0x94 0x95 0x96 0x97 */
4828 CASE_GROUND_STATE,
4829 CASE_GROUND_STATE,
4830 CASE_SPA,
4831 CASE_EPA,
4832 /* 0x98 0x99 0x9a 0x9b */
4833 CASE_SOS,
4834 CASE_GROUND_STATE,
4835 CASE_DECID,
4836 CASE_CSI_STATE,
4837 /* 0x9c 0x9d 0x9e 0x9f */
4838 CASE_ST,
4839 CASE_OSC,
4840 CASE_PM,
4841 CASE_APC,
4842 /* nobreakspace exclamdown cent sterling */
4843 CASE_IGNORE,
4844 CASE_IGNORE,
4845 CASE_IGNORE,
4846 CASE_IGNORE,
4847 /* currency yen brokenbar section */
4848 CASE_IGNORE,
4849 CASE_IGNORE,
4850 CASE_IGNORE,
4851 CASE_IGNORE,
4852 /* diaeresis copyright ordfeminine guillemotleft */
4853 CASE_IGNORE,
4854 CASE_IGNORE,
4855 CASE_IGNORE,
4856 CASE_IGNORE,
4857 /* notsign hyphen registered macron */
4858 CASE_IGNORE,
4859 CASE_IGNORE,
4860 CASE_IGNORE,
4861 CASE_IGNORE,
4862 /* degree plusminus twosuperior threesuperior */
4863 CASE_IGNORE,
4864 CASE_IGNORE,
4865 CASE_IGNORE,
4866 CASE_IGNORE,
4867 /* acute mu paragraph periodcentered */
4868 CASE_IGNORE,
4869 CASE_IGNORE,
4870 CASE_IGNORE,
4871 CASE_IGNORE,
4872 /* cedilla onesuperior masculine guillemotright */
4873 CASE_IGNORE,
4874 CASE_IGNORE,
4875 CASE_IGNORE,
4876 CASE_IGNORE,
4877 /* onequarter onehalf threequarters questiondown */
4878 CASE_IGNORE,
4879 CASE_IGNORE,
4880 CASE_IGNORE,
4881 CASE_IGNORE,
4882 /* Agrave Aacute Acircumflex Atilde */
4883 CASE_GROUND_STATE,
4884 CASE_GROUND_STATE,
4885 CASE_GROUND_STATE,
4886 CASE_GROUND_STATE,
4887 /* Adiaeresis Aring AE Ccedilla */
4888 CASE_GROUND_STATE,
4889 CASE_GROUND_STATE,
4890 CASE_GROUND_STATE,
4891 CASE_GROUND_STATE,
4892 /* Egrave Eacute Ecircumflex Ediaeresis */
4893 CASE_GROUND_STATE,
4894 CASE_GROUND_STATE,
4895 CASE_GROUND_STATE,
4896 CASE_GROUND_STATE,
4897 /* Igrave Iacute Icircumflex Idiaeresis */
4898 CASE_GROUND_STATE,
4899 CASE_GROUND_STATE,
4900 CASE_GROUND_STATE,
4901 CASE_GROUND_STATE,
4902 /* Eth Ntilde Ograve Oacute */
4903 CASE_GROUND_STATE,
4904 CASE_GROUND_STATE,
4905 CASE_GROUND_STATE,
4906 CASE_GROUND_STATE,
4907 /* Ocircumflex Otilde Odiaeresis multiply */
4908 CASE_GROUND_STATE,
4909 CASE_GROUND_STATE,
4910 CASE_GROUND_STATE,
4911 CASE_GROUND_STATE,
4912 /* Ooblique Ugrave Uacute Ucircumflex */
4913 CASE_GROUND_STATE,
4914 CASE_GROUND_STATE,
4915 CASE_GROUND_STATE,
4916 CASE_GROUND_STATE,
4917 /* Udiaeresis Yacute Thorn ssharp */
4918 CASE_GROUND_STATE,
4919 CASE_GROUND_STATE,
4920 CASE_GROUND_STATE,
4921 CASE_GROUND_STATE,
4922 /* agrave aacute acircumflex atilde */
4923 CASE_GROUND_STATE,
4924 CASE_GROUND_STATE,
4925 CASE_GROUND_STATE,
4926 CASE_GROUND_STATE,
4927 /* adiaeresis aring ae ccedilla */
4928 CASE_GROUND_STATE,
4929 CASE_GROUND_STATE,
4930 CASE_GROUND_STATE,
4931 CASE_GROUND_STATE,
4932 /* egrave eacute ecircumflex ediaeresis */
4933 CASE_GROUND_STATE,
4934 CASE_GROUND_STATE,
4935 CASE_GROUND_STATE,
4936 CASE_GROUND_STATE,
4937 /* igrave iacute icircumflex idiaeresis */
4938 CASE_GROUND_STATE,
4939 CASE_GROUND_STATE,
4940 CASE_GROUND_STATE,
4941 CASE_GROUND_STATE,
4942 /* eth ntilde ograve oacute */
4943 CASE_GROUND_STATE,
4944 CASE_GROUND_STATE,
4945 CASE_GROUND_STATE,
4946 CASE_GROUND_STATE,
4947 /* ocircumflex otilde odiaeresis division */
4948 CASE_GROUND_STATE,
4949 CASE_GROUND_STATE,
4950 CASE_GROUND_STATE,
4951 CASE_GROUND_STATE,
4952 /* oslash ugrave uacute ucircumflex */
4953 CASE_GROUND_STATE,
4954 CASE_GROUND_STATE,
4955 CASE_GROUND_STATE,
4956 CASE_GROUND_STATE,
4957 /* udiaeresis yacute thorn ydiaeresis */
4958 CASE_GROUND_STATE,
4959 CASE_GROUND_STATE,
4960 CASE_GROUND_STATE,
4961 CASE_IGNORE,
4962 };
4963
4964 Const PARSE_T eigtable[] = /* CASE_ESC_IGNORE */
4965 {
4966 /* NUL SOH STX ETX */
4967 CASE_IGNORE,
4968 CASE_IGNORE,
4969 CASE_IGNORE,
4970 CASE_IGNORE,
4971 /* EOT ENQ ACK BEL */
4972 CASE_IGNORE,
4973 CASE_ENQ,
4974 CASE_IGNORE,
4975 CASE_BELL,
4976 /* BS HT NL VT */
4977 CASE_BS,
4978 CASE_TAB,
4979 CASE_VMOT,
4980 CASE_VMOT,
4981 /* FF CR SO SI */
4982 CASE_VMOT,
4983 CASE_CR,
4984 CASE_SO,
4985 CASE_SI,
4986 /* DLE DC1 DC2 DC3 */
4987 CASE_IGNORE,
4988 CASE_IGNORE,
4989 CASE_IGNORE,
4990 CASE_IGNORE,
4991 /* DC4 NAK SYN ETB */
4992 CASE_IGNORE,
4993 CASE_IGNORE,
4994 CASE_IGNORE,
4995 CASE_IGNORE,
4996 /* CAN EM SUB ESC */
4997 CASE_GROUND_STATE,
4998 CASE_IGNORE,
4999 CASE_GROUND_STATE,
5000 CASE_ESC,
5001 /* FS GS RS US */
5002 CASE_IGNORE,
5003 CASE_IGNORE,
5004 CASE_IGNORE,
5005 CASE_IGNORE,
5006 /* SP ! " # */
5007 CASE_IGNORE,
5008 CASE_IGNORE,
5009 CASE_IGNORE,
5010 CASE_IGNORE,
5011 /* $ % & ' */
5012 CASE_IGNORE,
5013 CASE_IGNORE,
5014 CASE_IGNORE,
5015 CASE_IGNORE,
5016 /* ( ) * + */
5017 CASE_IGNORE,
5018 CASE_IGNORE,
5019 CASE_IGNORE,
5020 CASE_IGNORE,
5021 /* , - . / */
5022 CASE_IGNORE,
5023 CASE_IGNORE,
5024 CASE_IGNORE,
5025 CASE_IGNORE,
5026 /* 0 1 2 3 */
5027 CASE_GROUND_STATE,
5028 CASE_GROUND_STATE,
5029 CASE_GROUND_STATE,
5030 CASE_GROUND_STATE,
5031 /* 4 5 6 7 */
5032 CASE_GROUND_STATE,
5033 CASE_GROUND_STATE,
5034 CASE_GROUND_STATE,
5035 CASE_GROUND_STATE,
5036 /* 8 9 : ; */
5037 CASE_GROUND_STATE,
5038 CASE_GROUND_STATE,
5039 CASE_GROUND_STATE,
5040 CASE_GROUND_STATE,
5041 /* < = > ? */
5042 CASE_GROUND_STATE,
5043 CASE_GROUND_STATE,
5044 CASE_GROUND_STATE,
5045 CASE_GROUND_STATE,
5046 /* @ A B C */
5047 CASE_GROUND_STATE,
5048 CASE_GROUND_STATE,
5049 CASE_GROUND_STATE,
5050 CASE_GROUND_STATE,
5051 /* D E F G */
5052 CASE_GROUND_STATE,
5053 CASE_GROUND_STATE,
5054 CASE_GROUND_STATE,
5055 CASE_GROUND_STATE,
5056 /* H I J K */
5057 CASE_GROUND_STATE,
5058 CASE_GROUND_STATE,
5059 CASE_GROUND_STATE,
5060 CASE_GROUND_STATE,
5061 /* L M N O */
5062 CASE_GROUND_STATE,
5063 CASE_GROUND_STATE,
5064 CASE_GROUND_STATE,
5065 CASE_GROUND_STATE,
5066 /* P Q R S */
5067 CASE_GROUND_STATE,
5068 CASE_GROUND_STATE,
5069 CASE_GROUND_STATE,
5070 CASE_GROUND_STATE,
5071 /* T U V W */
5072 CASE_GROUND_STATE,
5073 CASE_GROUND_STATE,
5074 CASE_GROUND_STATE,
5075 CASE_GROUND_STATE,
5076 /* X Y Z [ */
5077 CASE_GROUND_STATE,
5078 CASE_GROUND_STATE,
5079 CASE_GROUND_STATE,
5080 CASE_GROUND_STATE,
5081 /* \ ] ^ _ */
5082 CASE_GROUND_STATE,
5083 CASE_GROUND_STATE,
5084 CASE_GROUND_STATE,
5085 CASE_GROUND_STATE,
5086 /* ` a b c */
5087 CASE_GROUND_STATE,
5088 CASE_GROUND_STATE,
5089 CASE_GROUND_STATE,
5090 CASE_GROUND_STATE,
5091 /* d e f g */
5092 CASE_GROUND_STATE,
5093 CASE_GROUND_STATE,
5094 CASE_GROUND_STATE,
5095 CASE_GROUND_STATE,
5096 /* h i j k */
5097 CASE_GROUND_STATE,
5098 CASE_GROUND_STATE,
5099 CASE_GROUND_STATE,
5100 CASE_GROUND_STATE,
5101 /* l m n o */
5102 CASE_GROUND_STATE,
5103 CASE_GROUND_STATE,
5104 CASE_GROUND_STATE,
5105 CASE_GROUND_STATE,
5106 /* p q r s */
5107 CASE_GROUND_STATE,
5108 CASE_GROUND_STATE,
5109 CASE_GROUND_STATE,
5110 CASE_GROUND_STATE,
5111 /* t u v w */
5112 CASE_GROUND_STATE,
5113 CASE_GROUND_STATE,
5114 CASE_GROUND_STATE,
5115 CASE_GROUND_STATE,
5116 /* x y z { */
5117 CASE_GROUND_STATE,
5118 CASE_GROUND_STATE,
5119 CASE_GROUND_STATE,
5120 CASE_GROUND_STATE,
5121 /* | } ~ DEL */
5122 CASE_GROUND_STATE,
5123 CASE_GROUND_STATE,
5124 CASE_GROUND_STATE,
5125 CASE_IGNORE,
5126 /* 0x80 0x81 0x82 0x83 */
5127 CASE_GROUND_STATE,
5128 CASE_GROUND_STATE,
5129 CASE_GROUND_STATE,
5130 CASE_GROUND_STATE,
5131 /* 0x84 0x85 0x86 0x87 */
5132 CASE_IND,
5133 CASE_NEL,
5134 CASE_GROUND_STATE,
5135 CASE_GROUND_STATE,
5136 /* 0x88 0x89 0x8a 0x8b */
5137 CASE_HTS,
5138 CASE_GROUND_STATE,
5139 CASE_GROUND_STATE,
5140 CASE_GROUND_STATE,
5141 /* 0x8c 0x8d 0x8e 0x8f */
5142 CASE_GROUND_STATE,
5143 CASE_RI,
5144 CASE_SS2,
5145 CASE_SS3,
5146 /* 0x90 0x91 0x92 0x93 */
5147 CASE_DCS,
5148 CASE_GROUND_STATE,
5149 CASE_GROUND_STATE,
5150 CASE_GROUND_STATE,
5151 /* 0x94 0x95 0x96 0x97 */
5152 CASE_GROUND_STATE,
5153 CASE_GROUND_STATE,
5154 CASE_SPA,
5155 CASE_EPA,
5156 /* 0x98 0x99 0x9a 0x9b */
5157 CASE_SOS,
5158 CASE_GROUND_STATE,
5159 CASE_DECID,
5160 CASE_CSI_STATE,
5161 /* 0x9c 0x9d 0x9e 0x9f */
5162 CASE_ST,
5163 CASE_OSC,
5164 CASE_PM,
5165 CASE_APC,
5166 /* nobreakspace exclamdown cent sterling */
5167 CASE_IGNORE,
5168 CASE_IGNORE,
5169 CASE_IGNORE,
5170 CASE_IGNORE,
5171 /* currency yen brokenbar section */
5172 CASE_IGNORE,
5173 CASE_IGNORE,
5174 CASE_IGNORE,
5175 CASE_IGNORE,
5176 /* diaeresis copyright ordfeminine guillemotleft */
5177 CASE_IGNORE,
5178 CASE_IGNORE,
5179 CASE_IGNORE,
5180 CASE_IGNORE,
5181 /* notsign hyphen registered macron */
5182 CASE_IGNORE,
5183 CASE_IGNORE,
5184 CASE_IGNORE,
5185 CASE_IGNORE,
5186 /* degree plusminus twosuperior threesuperior */
5187 CASE_GROUND_STATE,
5188 CASE_GROUND_STATE,
5189 CASE_GROUND_STATE,
5190 CASE_GROUND_STATE,
5191 /* acute mu paragraph periodcentered */
5192 CASE_GROUND_STATE,
5193 CASE_GROUND_STATE,
5194 CASE_GROUND_STATE,
5195 CASE_GROUND_STATE,
5196 /* cedilla onesuperior masculine guillemotright */
5197 CASE_GROUND_STATE,
5198 CASE_GROUND_STATE,
5199 CASE_GROUND_STATE,
5200 CASE_GROUND_STATE,
5201 /* onequarter onehalf threequarters questiondown */
5202 CASE_GROUND_STATE,
5203 CASE_GROUND_STATE,
5204 CASE_GROUND_STATE,
5205 CASE_GROUND_STATE,
5206 /* Agrave Aacute Acircumflex Atilde */
5207 CASE_GROUND_STATE,
5208 CASE_GROUND_STATE,
5209 CASE_GROUND_STATE,
5210 CASE_GROUND_STATE,
5211 /* Adiaeresis Aring AE Ccedilla */
5212 CASE_GROUND_STATE,
5213 CASE_GROUND_STATE,
5214 CASE_GROUND_STATE,
5215 CASE_GROUND_STATE,
5216 /* Egrave Eacute Ecircumflex Ediaeresis */
5217 CASE_GROUND_STATE,
5218 CASE_GROUND_STATE,
5219 CASE_GROUND_STATE,
5220 CASE_GROUND_STATE,
5221 /* Igrave Iacute Icircumflex Idiaeresis */
5222 CASE_GROUND_STATE,
5223 CASE_GROUND_STATE,
5224 CASE_GROUND_STATE,
5225 CASE_GROUND_STATE,
5226 /* Eth Ntilde Ograve Oacute */
5227 CASE_GROUND_STATE,
5228 CASE_GROUND_STATE,
5229 CASE_GROUND_STATE,
5230 CASE_GROUND_STATE,
5231 /* Ocircumflex Otilde Odiaeresis multiply */
5232 CASE_GROUND_STATE,
5233 CASE_GROUND_STATE,
5234 CASE_GROUND_STATE,
5235 CASE_GROUND_STATE,
5236 /* Ooblique Ugrave Uacute Ucircumflex */
5237 CASE_GROUND_STATE,
5238 CASE_GROUND_STATE,
5239 CASE_GROUND_STATE,
5240 CASE_GROUND_STATE,
5241 /* Udiaeresis Yacute Thorn ssharp */
5242 CASE_GROUND_STATE,
5243 CASE_GROUND_STATE,
5244 CASE_GROUND_STATE,
5245 CASE_GROUND_STATE,
5246 /* agrave aacute acircumflex atilde */
5247 CASE_GROUND_STATE,
5248 CASE_GROUND_STATE,
5249 CASE_GROUND_STATE,
5250 CASE_GROUND_STATE,
5251 /* adiaeresis aring ae ccedilla */
5252 CASE_GROUND_STATE,
5253 CASE_GROUND_STATE,
5254 CASE_GROUND_STATE,
5255 CASE_GROUND_STATE,
5256 /* egrave eacute ecircumflex ediaeresis */
5257 CASE_GROUND_STATE,
5258 CASE_GROUND_STATE,
5259 CASE_GROUND_STATE,
5260 CASE_GROUND_STATE,
5261 /* igrave iacute icircumflex idiaeresis */
5262 CASE_GROUND_STATE,
5263 CASE_GROUND_STATE,
5264 CASE_GROUND_STATE,
5265 CASE_GROUND_STATE,
5266 /* eth ntilde ograve oacute */
5267 CASE_GROUND_STATE,
5268 CASE_GROUND_STATE,
5269 CASE_GROUND_STATE,
5270 CASE_GROUND_STATE,
5271 /* ocircumflex otilde odiaeresis division */
5272 CASE_GROUND_STATE,
5273 CASE_GROUND_STATE,
5274 CASE_GROUND_STATE,
5275 CASE_GROUND_STATE,
5276 /* oslash ugrave uacute ucircumflex */
5277 CASE_GROUND_STATE,
5278 CASE_GROUND_STATE,
5279 CASE_GROUND_STATE,
5280 CASE_GROUND_STATE,
5281 /* udiaeresis yacute thorn ydiaeresis */
5282 CASE_GROUND_STATE,
5283 CASE_GROUND_STATE,
5284 CASE_GROUND_STATE,
5285 CASE_IGNORE,
5286 };
5287
5288 Const PARSE_T esc_table[] = /* ESC */
5289 {
5290 /* NUL SOH STX ETX */
5291 CASE_IGNORE,
5292 CASE_IGNORE,
5293 CASE_IGNORE,
5294 CASE_IGNORE,
5295 /* EOT ENQ ACK BEL */
5296 CASE_IGNORE,
5297 CASE_ENQ,
5298 CASE_IGNORE,
5299 CASE_BELL,
5300 /* BS HT NL VT */
5301 CASE_BS,
5302 CASE_TAB,
5303 CASE_VMOT,
5304 CASE_VMOT,
5305 /* FF CR SO SI */
5306 CASE_VMOT,
5307 CASE_CR,
5308 CASE_SO,
5309 CASE_SI,
5310 /* DLE DC1 DC2 DC3 */
5311 CASE_IGNORE,
5312 CASE_IGNORE,
5313 CASE_IGNORE,
5314 CASE_IGNORE,
5315 /* DC4 NAK SYN ETB */
5316 CASE_IGNORE,
5317 CASE_IGNORE,
5318 CASE_IGNORE,
5319 CASE_IGNORE,
5320 /* CAN EM SUB ESC */
5321 CASE_GROUND_STATE,
5322 CASE_IGNORE,
5323 CASE_GROUND_STATE,
5324 CASE_ESC,
5325 /* FS GS RS US */
5326 CASE_IGNORE,
5327 CASE_IGNORE,
5328 CASE_IGNORE,
5329 CASE_IGNORE,
5330 /* SP ! " # */
5331 CASE_ESC_SP_STATE,
5332 CASE_ESC_IGNORE,
5333 CASE_ESC_IGNORE,
5334 CASE_SCR_STATE,
5335 /* $ % & ' */
5336 CASE_ESC_IGNORE,
5337 CASE_ESC_PERCENT,
5338 CASE_ESC_IGNORE,
5339 CASE_ESC_IGNORE,
5340 /* ( ) * + */
5341 CASE_SCS0_STATE,
5342 CASE_SCS1_STATE,
5343 CASE_SCS2_STATE,
5344 CASE_SCS3_STATE,
5345 /* , - . / */
5346 CASE_ESC_IGNORE,
5347 CASE_SCS1A_STATE,
5348 CASE_SCS2A_STATE,
5349 CASE_SCS3A_STATE,
5350 /* 0 1 2 3 */
5351 CASE_GROUND_STATE,
5352 CASE_GROUND_STATE,
5353 CASE_GROUND_STATE,
5354 CASE_GROUND_STATE,
5355 /* 4 5 6 7 */
5356 CASE_GROUND_STATE,
5357 CASE_GROUND_STATE,
5358 CASE_DECBI,
5359 CASE_DECSC,
5360 /* 8 9 : ; */
5361 CASE_DECRC,
5362 CASE_DECFI,
5363 CASE_GROUND_STATE,
5364 CASE_GROUND_STATE,
5365 /* < = > ? */
5366 CASE_GROUND_STATE,
5367 CASE_DECKPAM,
5368 CASE_DECKPNM,
5369 CASE_GROUND_STATE,
5370 /* @ A B C */
5371 CASE_GROUND_STATE,
5372 CASE_GROUND_STATE,
5373 CASE_GROUND_STATE,
5374 CASE_GROUND_STATE,
5375 /* D E F G */
5376 CASE_IND,
5377 CASE_NEL,
5378 CASE_HP_BUGGY_LL,
5379 CASE_GROUND_STATE,
5380 /* H I J K */
5381 CASE_HTS,
5382 CASE_GROUND_STATE,
5383 CASE_GROUND_STATE,
5384 CASE_GROUND_STATE,
5385 /* L M N O */
5386 CASE_GROUND_STATE,
5387 CASE_RI,
5388 CASE_SS2,
5389 CASE_SS3,
5390 /* P Q R S */
5391 CASE_DCS,
5392 CASE_GROUND_STATE,
5393 CASE_GROUND_STATE,
5394 CASE_GROUND_STATE,
5395 /* T U V W */
5396 CASE_GROUND_STATE,
5397 CASE_GROUND_STATE,
5398 CASE_SPA,
5399 CASE_EPA,
5400 /* X Y Z [ */
5401 CASE_SOS,
5402 CASE_GROUND_STATE,
5403 CASE_DECID,
5404 CASE_CSI_STATE,
5405 /* \ ] ^ _ */
5406 CASE_ST,
5407 CASE_OSC,
5408 CASE_PM,
5409 CASE_APC,
5410 /* ` a b c */
5411 CASE_GROUND_STATE,
5412 CASE_GROUND_STATE,
5413 CASE_GROUND_STATE,
5414 CASE_RIS,
5415 /* d e f g */
5416 CASE_GROUND_STATE,
5417 CASE_GROUND_STATE,
5418 CASE_GROUND_STATE,
5419 CASE_GROUND_STATE,
5420 /* h i j k */
5421 CASE_GROUND_STATE,
5422 CASE_GROUND_STATE,
5423 CASE_GROUND_STATE,
5424 CASE_GROUND_STATE,
5425 /* l m n o */
5426 CASE_HP_MEM_LOCK,
5427 CASE_HP_MEM_UNLOCK,
5428 CASE_LS2,
5429 CASE_LS3,
5430 /* p q r s */
5431 CASE_GROUND_STATE,
5432 CASE_GROUND_STATE,
5433 CASE_GROUND_STATE,
5434 CASE_GROUND_STATE,
5435 /* t u v w */
5436 CASE_GROUND_STATE,
5437 CASE_GROUND_STATE,
5438 CASE_GROUND_STATE,
5439 CASE_GROUND_STATE,
5440 /* x y z { */
5441 CASE_GROUND_STATE,
5442 CASE_GROUND_STATE,
5443 CASE_GROUND_STATE,
5444 CASE_GROUND_STATE,
5445 /* | } ~ DEL */
5446 CASE_LS3R,
5447 CASE_LS2R,
5448 CASE_LS1R,
5449 CASE_IGNORE,
5450 /* 0x80 0x81 0x82 0x83 */
5451 CASE_GROUND_STATE,
5452 CASE_GROUND_STATE,
5453 CASE_GROUND_STATE,
5454 CASE_GROUND_STATE,
5455 /* 0x84 0x85 0x86 0x87 */
5456 CASE_IND,
5457 CASE_NEL,
5458 CASE_GROUND_STATE,
5459 CASE_GROUND_STATE,
5460 /* 0x88 0x89 0x8a 0x8b */
5461 CASE_HTS,
5462 CASE_GROUND_STATE,
5463 CASE_GROUND_STATE,
5464 CASE_GROUND_STATE,
5465 /* 0x8c 0x8d 0x8e 0x8f */
5466 CASE_GROUND_STATE,
5467 CASE_RI,
5468 CASE_SS2,
5469 CASE_SS3,
5470 /* 0x90 0x91 0x92 0x93 */
5471 CASE_DCS,
5472 CASE_GROUND_STATE,
5473 CASE_GROUND_STATE,
5474 CASE_GROUND_STATE,
5475 /* 0x94 0x95 0x96 0x97 */
5476 CASE_GROUND_STATE,
5477 CASE_GROUND_STATE,
5478 CASE_SPA,
5479 CASE_EPA,
5480 /* 0x98 0x99 0x9a 0x9b */
5481 CASE_SOS,
5482 CASE_GROUND_STATE,
5483 CASE_DECID,
5484 CASE_CSI_STATE,
5485 /* 0x9c 0x9d 0x9e 0x9f */
5486 CASE_ST,
5487 CASE_OSC,
5488 CASE_PM,
5489 CASE_APC,
5490 /* nobreakspace exclamdown cent sterling */
5491 CASE_ESC_SP_STATE,
5492 CASE_ESC_IGNORE,
5493 CASE_ESC_IGNORE,
5494 CASE_SCR_STATE,
5495 /* currency yen brokenbar section */
5496 CASE_ESC_IGNORE,
5497 CASE_ESC_PERCENT,
5498 CASE_ESC_IGNORE,
5499 CASE_ESC_IGNORE,
5500 /* diaeresis copyright ordfeminine guillemotleft */
5501 CASE_SCS0_STATE,
5502 CASE_SCS1_STATE,
5503 CASE_SCS2_STATE,
5504 CASE_SCS3_STATE,
5505 /* notsign hyphen registered macron */
5506 CASE_ESC_IGNORE,
5507 CASE_SCS1A_STATE,
5508 CASE_SCS2A_STATE,
5509 CASE_SCS3A_STATE,
5510 /* degree plusminus twosuperior threesuperior */
5511 CASE_GROUND_STATE,
5512 CASE_GROUND_STATE,
5513 CASE_GROUND_STATE,
5514 CASE_GROUND_STATE,
5515 /* acute mu paragraph periodcentered */
5516 CASE_GROUND_STATE,
5517 CASE_GROUND_STATE,
5518 CASE_DECBI,
5519 CASE_DECSC,
5520 /* cedilla onesuperior masculine guillemotright */
5521 CASE_DECRC,
5522 CASE_DECFI,
5523 CASE_GROUND_STATE,
5524 CASE_GROUND_STATE,
5525 /* onequarter onehalf threequarters questiondown */
5526 CASE_GROUND_STATE,
5527 CASE_DECKPAM,
5528 CASE_DECKPNM,
5529 CASE_GROUND_STATE,
5530 /* Agrave Aacute Acircumflex Atilde */
5531 CASE_GROUND_STATE,
5532 CASE_GROUND_STATE,
5533 CASE_GROUND_STATE,
5534 CASE_GROUND_STATE,
5535 /* Adiaeresis Aring AE Ccedilla */
5536 CASE_IND,
5537 CASE_NEL,
5538 CASE_HP_BUGGY_LL,
5539 CASE_GROUND_STATE,
5540 /* Egrave Eacute Ecircumflex Ediaeresis */
5541 CASE_HTS,
5542 CASE_GROUND_STATE,
5543 CASE_GROUND_STATE,
5544 CASE_GROUND_STATE,
5545 /* Igrave Iacute Icircumflex Idiaeresis */
5546 CASE_GROUND_STATE,
5547 CASE_RI,
5548 CASE_SS2,
5549 CASE_SS3,
5550 /* Eth Ntilde Ograve Oacute */
5551 CASE_DCS,
5552 CASE_GROUND_STATE,
5553 CASE_GROUND_STATE,
5554 CASE_GROUND_STATE,
5555 /* Ocircumflex Otilde Odiaeresis multiply */
5556 CASE_GROUND_STATE,
5557 CASE_GROUND_STATE,
5558 CASE_SPA,
5559 CASE_EPA,
5560 /* Ooblique Ugrave Uacute Ucircumflex */
5561 CASE_SOS,
5562 CASE_GROUND_STATE,
5563 CASE_DECID,
5564 CASE_CSI_STATE,
5565 /* Udiaeresis Yacute Thorn ssharp */
5566 CASE_ST,
5567 CASE_OSC,
5568 CASE_PM,
5569 CASE_APC,
5570 /* agrave aacute acircumflex atilde */
5571 CASE_GROUND_STATE,
5572 CASE_GROUND_STATE,
5573 CASE_GROUND_STATE,
5574 CASE_RIS,
5575 /* adiaeresis aring ae ccedilla */
5576 CASE_GROUND_STATE,
5577 CASE_GROUND_STATE,
5578 CASE_GROUND_STATE,
5579 CASE_GROUND_STATE,
5580 /* egrave eacute ecircumflex ediaeresis */
5581 CASE_GROUND_STATE,
5582 CASE_GROUND_STATE,
5583 CASE_GROUND_STATE,
5584 CASE_GROUND_STATE,
5585 /* igrave iacute icircumflex idiaeresis */
5586 CASE_HP_MEM_LOCK,
5587 CASE_HP_MEM_UNLOCK,
5588 CASE_LS2,
5589 CASE_LS3,
5590 /* eth ntilde ograve oacute */
5591 CASE_GROUND_STATE,
5592 CASE_GROUND_STATE,
5593 CASE_GROUND_STATE,
5594 CASE_GROUND_STATE,
5595 /* ocircumflex otilde odiaeresis division */
5596 CASE_GROUND_STATE,
5597 CASE_GROUND_STATE,
5598 CASE_GROUND_STATE,
5599 CASE_GROUND_STATE,
5600 /* oslash ugrave uacute ucircumflex */
5601 CASE_GROUND_STATE,
5602 CASE_GROUND_STATE,
5603 CASE_GROUND_STATE,
5604 CASE_GROUND_STATE,
5605 /* udiaeresis yacute thorn ydiaeresis */
5606 CASE_LS3R,
5607 CASE_LS2R,
5608 CASE_LS1R,
5609 CASE_IGNORE,
5610 };
5611
5612 Const PARSE_T esc_sp_table[] = /* ESC SP */
5613 {
5614 /* NUL SOH STX ETX */
5615 CASE_IGNORE,
5616 CASE_IGNORE,
5617 CASE_IGNORE,
5618 CASE_IGNORE,
5619 /* EOT ENQ ACK BEL */
5620 CASE_IGNORE,
5621 CASE_ENQ,
5622 CASE_IGNORE,
5623 CASE_BELL,
5624 /* BS HT NL VT */
5625 CASE_BS,
5626 CASE_TAB,
5627 CASE_VMOT,
5628 CASE_VMOT,
5629 /* FF CR SO SI */
5630 CASE_VMOT,
5631 CASE_CR,
5632 CASE_SO,
5633 CASE_SI,
5634 /* DLE DC1 DC2 DC3 */
5635 CASE_IGNORE,
5636 CASE_IGNORE,
5637 CASE_IGNORE,
5638 CASE_IGNORE,
5639 /* DC4 NAK SYN ETB */
5640 CASE_IGNORE,
5641 CASE_IGNORE,
5642 CASE_IGNORE,
5643 CASE_IGNORE,
5644 /* CAN EM SUB ESC */
5645 CASE_GROUND_STATE,
5646 CASE_IGNORE,
5647 CASE_GROUND_STATE,
5648 CASE_ESC,
5649 /* FS GS RS US */
5650 CASE_IGNORE,
5651 CASE_IGNORE,
5652 CASE_IGNORE,
5653 CASE_IGNORE,
5654 /* SP ! " # */
5655 CASE_ESC_IGNORE,
5656 CASE_ESC_IGNORE,
5657 CASE_ESC_IGNORE,
5658 CASE_ESC_IGNORE,
5659 /* $ % & ' */
5660 CASE_ESC_IGNORE,
5661 CASE_ESC_IGNORE,
5662 CASE_ESC_IGNORE,
5663 CASE_ESC_IGNORE,
5664 /* ( ) * + */
5665 CASE_ESC_IGNORE,
5666 CASE_ESC_IGNORE,
5667 CASE_ESC_IGNORE,
5668 CASE_ESC_IGNORE,
5669 /* , - . / */
5670 CASE_ESC_IGNORE,
5671 CASE_ESC_IGNORE,
5672 CASE_ESC_IGNORE,
5673 CASE_ESC_IGNORE,
5674 /* 0 1 2 3 */
5675 CASE_GROUND_STATE,
5676 CASE_GROUND_STATE,
5677 CASE_GROUND_STATE,
5678 CASE_GROUND_STATE,
5679 /* 4 5 6 7 */
5680 CASE_GROUND_STATE,
5681 CASE_GROUND_STATE,
5682 CASE_GROUND_STATE,
5683 CASE_GROUND_STATE,
5684 /* 8 9 : ; */
5685 CASE_GROUND_STATE,
5686 CASE_GROUND_STATE,
5687 CASE_GROUND_STATE,
5688 CASE_GROUND_STATE,
5689 /* < = > ? */
5690 CASE_GROUND_STATE,
5691 CASE_GROUND_STATE,
5692 CASE_GROUND_STATE,
5693 CASE_GROUND_STATE,
5694 /* @ A B C */
5695 CASE_GROUND_STATE,
5696 CASE_GROUND_STATE,
5697 CASE_GROUND_STATE,
5698 CASE_GROUND_STATE,
5699 /* D E F G */
5700 CASE_GROUND_STATE,
5701 CASE_GROUND_STATE,
5702 CASE_S7C1T,
5703 CASE_S8C1T,
5704 /* H I J K */
5705 CASE_GROUND_STATE,
5706 CASE_GROUND_STATE,
5707 CASE_GROUND_STATE,
5708 CASE_GROUND_STATE,
5709 /* L M N O */
5710 CASE_ANSI_LEVEL_1,
5711 CASE_ANSI_LEVEL_2,
5712 CASE_ANSI_LEVEL_3,
5713 CASE_GROUND_STATE,
5714 /* P Q R S */
5715 CASE_GROUND_STATE,
5716 CASE_GROUND_STATE,
5717 CASE_GROUND_STATE,
5718 CASE_GROUND_STATE,
5719 /* T U V W */
5720 CASE_GROUND_STATE,
5721 CASE_GROUND_STATE,
5722 CASE_GROUND_STATE,
5723 CASE_GROUND_STATE,
5724 /* X Y Z [ */
5725 CASE_GROUND_STATE,
5726 CASE_GROUND_STATE,
5727 CASE_GROUND_STATE,
5728 CASE_GROUND_STATE,
5729 /* \ ] ^ _ */
5730 CASE_GROUND_STATE,
5731 CASE_GROUND_STATE,
5732 CASE_GROUND_STATE,
5733 CASE_GROUND_STATE,
5734 /* ` a b c */
5735 CASE_GROUND_STATE,
5736 CASE_GROUND_STATE,
5737 CASE_GROUND_STATE,
5738 CASE_GROUND_STATE,
5739 /* d e f g */
5740 CASE_GROUND_STATE,
5741 CASE_GROUND_STATE,
5742 CASE_GROUND_STATE,
5743 CASE_GROUND_STATE,
5744 /* h i j k */
5745 CASE_GROUND_STATE,
5746 CASE_GROUND_STATE,
5747 CASE_GROUND_STATE,
5748 CASE_GROUND_STATE,
5749 /* l m n o */
5750 CASE_GROUND_STATE,
5751 CASE_GROUND_STATE,
5752 CASE_GROUND_STATE,
5753 CASE_GROUND_STATE,
5754 /* p q r s */
5755 CASE_GROUND_STATE,
5756 CASE_GROUND_STATE,
5757 CASE_GROUND_STATE,
5758 CASE_GROUND_STATE,
5759 /* t u v w */
5760 CASE_GROUND_STATE,
5761 CASE_GROUND_STATE,
5762 CASE_GROUND_STATE,
5763 CASE_GROUND_STATE,
5764 /* x y z { */
5765 CASE_GROUND_STATE,
5766 CASE_GROUND_STATE,
5767 CASE_GROUND_STATE,
5768 CASE_GROUND_STATE,
5769 /* | } ~ DEL */
5770 CASE_GROUND_STATE,
5771 CASE_GROUND_STATE,
5772 CASE_GROUND_STATE,
5773 CASE_IGNORE,
5774 /* 0x80 0x81 0x82 0x83 */
5775 CASE_GROUND_STATE,
5776 CASE_GROUND_STATE,
5777 CASE_GROUND_STATE,
5778 CASE_GROUND_STATE,
5779 /* 0x84 0x85 0x86 0x87 */
5780 CASE_IND,
5781 CASE_NEL,
5782 CASE_GROUND_STATE,
5783 CASE_GROUND_STATE,
5784 /* 0x88 0x89 0x8a 0x8b */
5785 CASE_HTS,
5786 CASE_GROUND_STATE,
5787 CASE_GROUND_STATE,
5788 CASE_GROUND_STATE,
5789 /* 0x8c 0x8d 0x8e 0x8f */
5790 CASE_GROUND_STATE,
5791 CASE_RI,
5792 CASE_SS2,
5793 CASE_SS3,
5794 /* 0x90 0x91 0x92 0x93 */
5795 CASE_DCS,
5796 CASE_GROUND_STATE,
5797 CASE_GROUND_STATE,
5798 CASE_GROUND_STATE,
5799 /* 0x94 0x95 0x96 0x97 */
5800 CASE_GROUND_STATE,
5801 CASE_GROUND_STATE,
5802 CASE_SPA,
5803 CASE_EPA,
5804 /* 0x98 0x99 0x9a 0x9b */
5805 CASE_SOS,
5806 CASE_GROUND_STATE,
5807 CASE_DECID,
5808 CASE_CSI_STATE,
5809 /* 0x9c 0x9d 0x9e 0x9f */
5810 CASE_ST,
5811 CASE_OSC,
5812 CASE_PM,
5813 CASE_APC,
5814 /* nobreakspace exclamdown cent sterling */
5815 CASE_ESC_IGNORE,
5816 CASE_ESC_IGNORE,
5817 CASE_ESC_IGNORE,
5818 CASE_ESC_IGNORE,
5819 /* currency yen brokenbar section */
5820 CASE_ESC_IGNORE,
5821 CASE_ESC_IGNORE,
5822 CASE_ESC_IGNORE,
5823 CASE_ESC_IGNORE,
5824 /* diaeresis copyright ordfeminine guillemotleft */
5825 CASE_ESC_IGNORE,
5826 CASE_ESC_IGNORE,
5827 CASE_ESC_IGNORE,
5828 CASE_ESC_IGNORE,
5829 /* notsign hyphen registered macron */
5830 CASE_ESC_IGNORE,
5831 CASE_ESC_IGNORE,
5832 CASE_ESC_IGNORE,
5833 CASE_ESC_IGNORE,
5834 /* degree plusminus twosuperior threesuperior */
5835 CASE_GROUND_STATE,
5836 CASE_GROUND_STATE,
5837 CASE_GROUND_STATE,
5838 CASE_GROUND_STATE,
5839 /* acute mu paragraph periodcentered */
5840 CASE_GROUND_STATE,
5841 CASE_GROUND_STATE,
5842 CASE_GROUND_STATE,
5843 CASE_GROUND_STATE,
5844 /* cedilla onesuperior masculine guillemotright */
5845 CASE_GROUND_STATE,
5846 CASE_GROUND_STATE,
5847 CASE_GROUND_STATE,
5848 CASE_GROUND_STATE,
5849 /* onequarter onehalf threequarters questiondown */
5850 CASE_GROUND_STATE,
5851 CASE_GROUND_STATE,
5852 CASE_GROUND_STATE,
5853 CASE_GROUND_STATE,
5854 /* Agrave Aacute Acircumflex Atilde */
5855 CASE_GROUND_STATE,
5856 CASE_GROUND_STATE,
5857 CASE_GROUND_STATE,
5858 CASE_GROUND_STATE,
5859 /* Adiaeresis Aring AE Ccedilla */
5860 CASE_GROUND_STATE,
5861 CASE_GROUND_STATE,
5862 CASE_S7C1T,
5863 CASE_S8C1T,
5864 /* Egrave Eacute Ecircumflex Ediaeresis */
5865 CASE_GROUND_STATE,
5866 CASE_GROUND_STATE,
5867 CASE_GROUND_STATE,
5868 CASE_GROUND_STATE,
5869 /* Igrave Iacute Icircumflex Idiaeresis */
5870 CASE_ANSI_LEVEL_1,
5871 CASE_ANSI_LEVEL_2,
5872 CASE_ANSI_LEVEL_3,
5873 CASE_GROUND_STATE,
5874 /* Eth Ntilde Ograve Oacute */
5875 CASE_GROUND_STATE,
5876 CASE_GROUND_STATE,
5877 CASE_GROUND_STATE,
5878 CASE_GROUND_STATE,
5879 /* Ocircumflex Otilde Odiaeresis multiply */
5880 CASE_GROUND_STATE,
5881 CASE_GROUND_STATE,
5882 CASE_GROUND_STATE,
5883 CASE_GROUND_STATE,
5884 /* Ooblique Ugrave Uacute Ucircumflex */
5885 CASE_GROUND_STATE,
5886 CASE_GROUND_STATE,
5887 CASE_GROUND_STATE,
5888 CASE_GROUND_STATE,
5889 /* Udiaeresis Yacute Thorn ssharp */
5890 CASE_GROUND_STATE,
5891 CASE_GROUND_STATE,
5892 CASE_GROUND_STATE,
5893 CASE_GROUND_STATE,
5894 /* agrave aacute acircumflex atilde */
5895 CASE_GROUND_STATE,
5896 CASE_GROUND_STATE,
5897 CASE_GROUND_STATE,
5898 CASE_GROUND_STATE,
5899 /* adiaeresis aring ae ccedilla */
5900 CASE_GROUND_STATE,
5901 CASE_GROUND_STATE,
5902 CASE_GROUND_STATE,
5903 CASE_GROUND_STATE,
5904 /* egrave eacute ecircumflex ediaeresis */
5905 CASE_GROUND_STATE,
5906 CASE_GROUND_STATE,
5907 CASE_GROUND_STATE,
5908 CASE_GROUND_STATE,
5909 /* igrave iacute icircumflex idiaeresis */
5910 CASE_GROUND_STATE,
5911 CASE_GROUND_STATE,
5912 CASE_GROUND_STATE,
5913 CASE_GROUND_STATE,
5914 /* eth ntilde ograve oacute */
5915 CASE_GROUND_STATE,
5916 CASE_GROUND_STATE,
5917 CASE_GROUND_STATE,
5918 CASE_GROUND_STATE,
5919 /* ocircumflex otilde odiaeresis division */
5920 CASE_GROUND_STATE,
5921 CASE_GROUND_STATE,
5922 CASE_GROUND_STATE,
5923 CASE_GROUND_STATE,
5924 /* oslash ugrave uacute ucircumflex */
5925 CASE_GROUND_STATE,
5926 CASE_GROUND_STATE,
5927 CASE_GROUND_STATE,
5928 CASE_GROUND_STATE,
5929 /* udiaeresis yacute thorn ydiaeresis */
5930 CASE_GROUND_STATE,
5931 CASE_GROUND_STATE,
5932 CASE_GROUND_STATE,
5933 CASE_IGNORE,
5934 };
5935
5936 Const PARSE_T scrtable[] = /* ESC # */
5937 {
5938 /* NUL SOH STX ETX */
5939 CASE_IGNORE,
5940 CASE_IGNORE,
5941 CASE_IGNORE,
5942 CASE_IGNORE,
5943 /* EOT ENQ ACK BEL */
5944 CASE_IGNORE,
5945 CASE_ENQ,
5946 CASE_IGNORE,
5947 CASE_BELL,
5948 /* BS HT NL VT */
5949 CASE_BS,
5950 CASE_TAB,
5951 CASE_VMOT,
5952 CASE_VMOT,
5953 /* FF CR SO SI */
5954 CASE_VMOT,
5955 CASE_CR,
5956 CASE_SO,
5957 CASE_SI,
5958 /* DLE DC1 DC2 DC3 */
5959 CASE_IGNORE,
5960 CASE_IGNORE,
5961 CASE_IGNORE,
5962 CASE_IGNORE,
5963 /* DC4 NAK SYN ETB */
5964 CASE_IGNORE,
5965 CASE_IGNORE,
5966 CASE_IGNORE,
5967 CASE_IGNORE,
5968 /* CAN EM SUB ESC */
5969 CASE_GROUND_STATE,
5970 CASE_IGNORE,
5971 CASE_GROUND_STATE,
5972 CASE_ESC,
5973 /* FS GS RS US */
5974 CASE_IGNORE,
5975 CASE_IGNORE,
5976 CASE_IGNORE,
5977 CASE_IGNORE,
5978 /* SP ! " # */
5979 CASE_ESC_IGNORE,
5980 CASE_ESC_IGNORE,
5981 CASE_ESC_IGNORE,
5982 CASE_ESC_IGNORE,
5983 /* $ % & ' */
5984 CASE_ESC_IGNORE,
5985 CASE_ESC_IGNORE,
5986 CASE_ESC_IGNORE,
5987 CASE_ESC_IGNORE,
5988 /* ( ) * + */
5989 CASE_ESC_IGNORE,
5990 CASE_ESC_IGNORE,
5991 CASE_ESC_IGNORE,
5992 CASE_ESC_IGNORE,
5993 /* , - . / */
5994 CASE_ESC_IGNORE,
5995 CASE_ESC_IGNORE,
5996 CASE_ESC_IGNORE,
5997 CASE_ESC_IGNORE,
5998 /* 0 1 2 3 */
5999 CASE_GROUND_STATE,
6000 CASE_GROUND_STATE,
6001 CASE_GROUND_STATE,
6002 CASE_DECDHL,
6003 /* 4 5 6 7 */
6004 CASE_DECDHL,
6005 CASE_DECSWL,
6006 CASE_DECDWL,
6007 CASE_GROUND_STATE,
6008 /* 8 9 : ; */
6009 CASE_DECALN,
6010 CASE_GROUND_STATE,
6011 CASE_GROUND_STATE,
6012 CASE_GROUND_STATE,
6013 /* < = > ? */
6014 CASE_GROUND_STATE,
6015 CASE_GROUND_STATE,
6016 CASE_GROUND_STATE,
6017 CASE_GROUND_STATE,
6018 /* @ A B C */
6019 CASE_GROUND_STATE,
6020 CASE_GROUND_STATE,
6021 CASE_GROUND_STATE,
6022 CASE_GROUND_STATE,
6023 /* D E F G */
6024 CASE_GROUND_STATE,
6025 CASE_GROUND_STATE,
6026 CASE_GROUND_STATE,
6027 CASE_GROUND_STATE,
6028 /* H I J K */
6029 CASE_GROUND_STATE,
6030 CASE_GROUND_STATE,
6031 CASE_GROUND_STATE,
6032 CASE_GROUND_STATE,
6033 /* L M N O */
6034 CASE_GROUND_STATE,
6035 CASE_GROUND_STATE,
6036 CASE_GROUND_STATE,
6037 CASE_GROUND_STATE,
6038 /* P Q R S */
6039 CASE_GROUND_STATE,
6040 CASE_GROUND_STATE,
6041 CASE_GROUND_STATE,
6042 CASE_GROUND_STATE,
6043 /* T U V W */
6044 CASE_GROUND_STATE,
6045 CASE_GROUND_STATE,
6046 CASE_GROUND_STATE,
6047 CASE_GROUND_STATE,
6048 /* X Y Z [ */
6049 CASE_GROUND_STATE,
6050 CASE_GROUND_STATE,
6051 CASE_GROUND_STATE,
6052 CASE_GROUND_STATE,
6053 /* \ ] ^ _ */
6054 CASE_GROUND_STATE,
6055 CASE_GROUND_STATE,
6056 CASE_GROUND_STATE,
6057 CASE_GROUND_STATE,
6058 /* ` a b c */
6059 CASE_GROUND_STATE,
6060 CASE_GROUND_STATE,
6061 CASE_GROUND_STATE,
6062 CASE_GROUND_STATE,
6063 /* d e f g */
6064 CASE_GROUND_STATE,
6065 CASE_GROUND_STATE,
6066 CASE_GROUND_STATE,
6067 CASE_GROUND_STATE,
6068 /* h i j k */
6069 CASE_GROUND_STATE,
6070 CASE_GROUND_STATE,
6071 CASE_GROUND_STATE,
6072 CASE_GROUND_STATE,
6073 /* l m n o */
6074 CASE_GROUND_STATE,
6075 CASE_GROUND_STATE,
6076 CASE_GROUND_STATE,
6077 CASE_GROUND_STATE,
6078 /* p q r s */
6079 CASE_GROUND_STATE,
6080 CASE_GROUND_STATE,
6081 CASE_GROUND_STATE,
6082 CASE_GROUND_STATE,
6083 /* t u v w */
6084 CASE_GROUND_STATE,
6085 CASE_GROUND_STATE,
6086 CASE_GROUND_STATE,
6087 CASE_GROUND_STATE,
6088 /* x y z { */
6089 CASE_GROUND_STATE,
6090 CASE_GROUND_STATE,
6091 CASE_GROUND_STATE,
6092 CASE_GROUND_STATE,
6093 /* | } ~ DEL */
6094 CASE_GROUND_STATE,
6095 CASE_GROUND_STATE,
6096 CASE_GROUND_STATE,
6097 CASE_IGNORE,
6098 /* 0x80 0x81 0x82 0x83 */
6099 CASE_GROUND_STATE,
6100 CASE_GROUND_STATE,
6101 CASE_GROUND_STATE,
6102 CASE_GROUND_STATE,
6103 /* 0x84 0x85 0x86 0x87 */
6104 CASE_IND,
6105 CASE_NEL,
6106 CASE_GROUND_STATE,
6107 CASE_GROUND_STATE,
6108 /* 0x88 0x89 0x8a 0x8b */
6109 CASE_HTS,
6110 CASE_GROUND_STATE,
6111 CASE_GROUND_STATE,
6112 CASE_GROUND_STATE,
6113 /* 0x8c 0x8d 0x8e 0x8f */
6114 CASE_GROUND_STATE,
6115 CASE_RI,
6116 CASE_SS2,
6117 CASE_SS3,
6118 /* 0x90 0x91 0x92 0x93 */
6119 CASE_DCS,
6120 CASE_GROUND_STATE,
6121 CASE_GROUND_STATE,
6122 CASE_GROUND_STATE,
6123 /* 0x94 0x95 0x96 0x97 */
6124 CASE_GROUND_STATE,
6125 CASE_GROUND_STATE,
6126 CASE_SPA,
6127 CASE_EPA,
6128 /* 0x98 0x99 0x9a 0x9b */
6129 CASE_SOS,
6130 CASE_GROUND_STATE,
6131 CASE_DECID,
6132 CASE_CSI_STATE,
6133 /* 0x9c 0x9d 0x9e 0x9f */
6134 CASE_ST,
6135 CASE_OSC,
6136 CASE_PM,
6137 CASE_APC,
6138 /* nobreakspace exclamdown cent sterling */
6139 CASE_ESC_IGNORE,
6140 CASE_ESC_IGNORE,
6141 CASE_ESC_IGNORE,
6142 CASE_ESC_IGNORE,
6143 /* currency yen brokenbar section */
6144 CASE_ESC_IGNORE,
6145 CASE_ESC_IGNORE,
6146 CASE_ESC_IGNORE,
6147 CASE_ESC_IGNORE,
6148 /* diaeresis copyright ordfeminine guillemotleft */
6149 CASE_ESC_IGNORE,
6150 CASE_ESC_IGNORE,
6151 CASE_ESC_IGNORE,
6152 CASE_ESC_IGNORE,
6153 /* notsign hyphen registered macron */
6154 CASE_ESC_IGNORE,
6155 CASE_ESC_IGNORE,
6156 CASE_ESC_IGNORE,
6157 CASE_ESC_IGNORE,
6158 /* degree plusminus twosuperior threesuperior */
6159 CASE_GROUND_STATE,
6160 CASE_GROUND_STATE,
6161 CASE_GROUND_STATE,
6162 CASE_DECDHL,
6163 /* acute mu paragraph periodcentered */
6164 CASE_DECDHL,
6165 CASE_DECSWL,
6166 CASE_DECDWL,
6167 CASE_GROUND_STATE,
6168 /* cedilla onesuperior masculine guillemotright */
6169 CASE_DECALN,
6170 CASE_GROUND_STATE,
6171 CASE_GROUND_STATE,
6172 CASE_GROUND_STATE,
6173 /* onequarter onehalf threequarters questiondown */
6174 CASE_GROUND_STATE,
6175 CASE_GROUND_STATE,
6176 CASE_GROUND_STATE,
6177 CASE_GROUND_STATE,
6178 /* Agrave Aacute Acircumflex Atilde */
6179 CASE_GROUND_STATE,
6180 CASE_GROUND_STATE,
6181 CASE_GROUND_STATE,
6182 CASE_GROUND_STATE,
6183 /* Adiaeresis Aring AE Ccedilla */
6184 CASE_GROUND_STATE,
6185 CASE_GROUND_STATE,
6186 CASE_GROUND_STATE,
6187 CASE_GROUND_STATE,
6188 /* Egrave Eacute Ecircumflex Ediaeresis */
6189 CASE_GROUND_STATE,
6190 CASE_GROUND_STATE,
6191 CASE_GROUND_STATE,
6192 CASE_GROUND_STATE,
6193 /* Igrave Iacute Icircumflex Idiaeresis */
6194 CASE_GROUND_STATE,
6195 CASE_GROUND_STATE,
6196 CASE_GROUND_STATE,
6197 CASE_GROUND_STATE,
6198 /* Eth Ntilde Ograve Oacute */
6199 CASE_GROUND_STATE,
6200 CASE_GROUND_STATE,
6201 CASE_GROUND_STATE,
6202 CASE_GROUND_STATE,
6203 /* Ocircumflex Otilde Odiaeresis multiply */
6204 CASE_GROUND_STATE,
6205 CASE_GROUND_STATE,
6206 CASE_GROUND_STATE,
6207 CASE_GROUND_STATE,
6208 /* Ooblique Ugrave Uacute Ucircumflex */
6209 CASE_GROUND_STATE,
6210 CASE_GROUND_STATE,
6211 CASE_GROUND_STATE,
6212 CASE_GROUND_STATE,
6213 /* Udiaeresis Yacute Thorn ssharp */
6214 CASE_GROUND_STATE,
6215 CASE_GROUND_STATE,
6216 CASE_GROUND_STATE,
6217 CASE_GROUND_STATE,
6218 /* agrave aacute acircumflex atilde */
6219 CASE_GROUND_STATE,
6220 CASE_GROUND_STATE,
6221 CASE_GROUND_STATE,
6222 CASE_GROUND_STATE,
6223 /* adiaeresis aring ae ccedilla */
6224 CASE_GROUND_STATE,
6225 CASE_GROUND_STATE,
6226 CASE_GROUND_STATE,
6227 CASE_GROUND_STATE,
6228 /* egrave eacute ecircumflex ediaeresis */
6229 CASE_GROUND_STATE,
6230 CASE_GROUND_STATE,
6231 CASE_GROUND_STATE,
6232 CASE_GROUND_STATE,
6233 /* igrave iacute icircumflex idiaeresis */
6234 CASE_GROUND_STATE,
6235 CASE_GROUND_STATE,
6236 CASE_GROUND_STATE,
6237 CASE_GROUND_STATE,
6238 /* eth ntilde ograve oacute */
6239 CASE_GROUND_STATE,
6240 CASE_GROUND_STATE,
6241 CASE_GROUND_STATE,
6242 CASE_GROUND_STATE,
6243 /* ocircumflex otilde odiaeresis division */
6244 CASE_GROUND_STATE,
6245 CASE_GROUND_STATE,
6246 CASE_GROUND_STATE,
6247 CASE_GROUND_STATE,
6248 /* oslash ugrave uacute ucircumflex */
6249 CASE_GROUND_STATE,
6250 CASE_GROUND_STATE,
6251 CASE_GROUND_STATE,
6252 CASE_GROUND_STATE,
6253 /* udiaeresis yacute thorn ydiaeresis */
6254 CASE_GROUND_STATE,
6255 CASE_GROUND_STATE,
6256 CASE_GROUND_STATE,
6257 CASE_IGNORE,
6258 };
6259
6260 Const PARSE_T scstable[] = /* ESC ( etc. */
6261 {
6262 /* NUL SOH STX ETX */
6263 CASE_IGNORE,
6264 CASE_IGNORE,
6265 CASE_IGNORE,
6266 CASE_IGNORE,
6267 /* EOT ENQ ACK BEL */
6268 CASE_IGNORE,
6269 CASE_ENQ,
6270 CASE_IGNORE,
6271 CASE_BELL,
6272 /* BS HT NL VT */
6273 CASE_BS,
6274 CASE_TAB,
6275 CASE_VMOT,
6276 CASE_VMOT,
6277 /* FF CR SO SI */
6278 CASE_VMOT,
6279 CASE_CR,
6280 CASE_SO,
6281 CASE_SI,
6282 /* DLE DC1 DC2 DC3 */
6283 CASE_IGNORE,
6284 CASE_IGNORE,
6285 CASE_IGNORE,
6286 CASE_IGNORE,
6287 /* DC4 NAK SYN ETB */
6288 CASE_IGNORE,
6289 CASE_IGNORE,
6290 CASE_IGNORE,
6291 CASE_IGNORE,
6292 /* CAN EM SUB ESC */
6293 CASE_GROUND_STATE,
6294 CASE_IGNORE,
6295 CASE_GROUND_STATE,
6296 CASE_ESC,
6297 /* FS GS RS US */
6298 CASE_IGNORE,
6299 CASE_IGNORE,
6300 CASE_IGNORE,
6301 CASE_IGNORE,
6302 /* SP ! " # */
6303 CASE_ESC_IGNORE,
6304 CASE_ESC_IGNORE,
6305 CASE_SCS_DQUOTE,
6306 CASE_ESC_IGNORE,
6307 /* $ % & ' */
6308 CASE_ESC_IGNORE,
6309 CASE_SCS_PERCENT,
6310 CASE_SCS_AMPRSND,
6311 CASE_ESC_IGNORE,
6312 /* ( ) * + */
6313 CASE_ESC_IGNORE,
6314 CASE_ESC_IGNORE,
6315 CASE_ESC_IGNORE,
6316 CASE_ESC_IGNORE,
6317 /* , - . / */
6318 CASE_ESC_IGNORE,
6319 CASE_ESC_IGNORE,
6320 CASE_ESC_IGNORE,
6321 CASE_ESC_IGNORE,
6322 /* 0 1 2 3 */
6323 CASE_GSETS,
6324 CASE_GSETS,
6325 CASE_GSETS,
6326 CASE_GROUND_STATE,
6327 /* 4 5 6 7 */
6328 CASE_GSETS,
6329 CASE_GSETS,
6330 CASE_GSETS,
6331 CASE_GSETS,
6332 /* 8 9 : ; */
6333 CASE_GROUND_STATE,
6334 CASE_GSETS3,
6335 CASE_GROUND_STATE,
6336 CASE_GROUND_STATE,
6337 /* < = > ? */
6338 CASE_GSETS,
6339 CASE_GSETS,
6340 CASE_GSETS3,
6341 CASE_GROUND_STATE,
6342 /* @ A B C */
6343 CASE_GROUND_STATE,
6344 CASE_GSETS,
6345 CASE_GSETS,
6346 CASE_GSETS,
6347 /* D E F G */
6348 CASE_GROUND_STATE,
6349 CASE_GSETS,
6350 CASE_GROUND_STATE,
6351 CASE_GROUND_STATE,
6352 /* H I J K */
6353 CASE_GSETS,
6354 CASE_GROUND_STATE,
6355 CASE_GROUND_STATE,
6356 CASE_GSETS,
6357 /* L M N O */
6358 CASE_GROUND_STATE,
6359 CASE_GROUND_STATE,
6360 CASE_GROUND_STATE,
6361 CASE_GROUND_STATE,
6362 /* P Q R S */
6363 CASE_GROUND_STATE,
6364 CASE_GSETS,
6365 CASE_GSETS,
6366 CASE_GROUND_STATE,
6367 /* T U V W */
6368 CASE_GROUND_STATE,
6369 CASE_GROUND_STATE,
6370 CASE_GROUND_STATE,
6371 CASE_GROUND_STATE,
6372 /* X Y Z [ */
6373 CASE_GROUND_STATE,
6374 CASE_GSETS,
6375 CASE_GSETS,
6376 CASE_GROUND_STATE,
6377 /* \ ] ^ _ */
6378 CASE_GROUND_STATE,
6379 CASE_GROUND_STATE,
6380 CASE_GROUND_STATE,
6381 CASE_GROUND_STATE,
6382 /* ` a b c */
6383 CASE_GSETS3,
6384 CASE_GROUND_STATE,
6385 CASE_GROUND_STATE,
6386 CASE_GROUND_STATE,
6387 /* d e f g */
6388 CASE_GROUND_STATE,
6389 CASE_GROUND_STATE,
6390 CASE_GSETS,
6391 CASE_GROUND_STATE,
6392 /* h i j k */
6393 CASE_GROUND_STATE,
6394 CASE_GROUND_STATE,
6395 CASE_GROUND_STATE,
6396 CASE_GROUND_STATE,
6397 /* l m n o */
6398 CASE_GROUND_STATE,
6399 CASE_GROUND_STATE,
6400 CASE_GROUND_STATE,
6401 CASE_GROUND_STATE,
6402 /* p q r s */
6403 CASE_GROUND_STATE,
6404 CASE_GROUND_STATE,
6405 CASE_GROUND_STATE,
6406 CASE_GROUND_STATE,
6407 /* t u v w */
6408 CASE_GROUND_STATE,
6409 CASE_GROUND_STATE,
6410 CASE_GROUND_STATE,
6411 CASE_GROUND_STATE,
6412 /* x y z { */
6413 CASE_GROUND_STATE,
6414 CASE_GROUND_STATE,
6415 CASE_GROUND_STATE,
6416 CASE_GROUND_STATE,
6417 /* | } ~ DEL */
6418 CASE_GROUND_STATE,
6419 CASE_GROUND_STATE,
6420 CASE_GROUND_STATE,
6421 CASE_IGNORE,
6422 /* 0x80 0x81 0x82 0x83 */
6423 CASE_GROUND_STATE,
6424 CASE_GROUND_STATE,
6425 CASE_GROUND_STATE,
6426 CASE_GROUND_STATE,
6427 /* 0x84 0x85 0x86 0x87 */
6428 CASE_IND,
6429 CASE_NEL,
6430 CASE_GROUND_STATE,
6431 CASE_GROUND_STATE,
6432 /* 0x88 0x89 0x8a 0x8b */
6433 CASE_HTS,
6434 CASE_GROUND_STATE,
6435 CASE_GROUND_STATE,
6436 CASE_GROUND_STATE,
6437 /* 0x8c 0x8d 0x8e 0x8f */
6438 CASE_GROUND_STATE,
6439 CASE_RI,
6440 CASE_SS2,
6441 CASE_SS3,
6442 /* 0x90 0x91 0x92 0x93 */
6443 CASE_DCS,
6444 CASE_GROUND_STATE,
6445 CASE_GROUND_STATE,
6446 CASE_GROUND_STATE,
6447 /* 0x94 0x95 0x96 0x97 */
6448 CASE_GROUND_STATE,
6449 CASE_GROUND_STATE,
6450 CASE_SPA,
6451 CASE_EPA,
6452 /* 0x98 0x99 0x9a 0x9b */
6453 CASE_SOS,
6454 CASE_GROUND_STATE,
6455 CASE_DECID,
6456 CASE_CSI_STATE,
6457 /* 0x9c 0x9d 0x9e 0x9f */
6458 CASE_ST,
6459 CASE_OSC,
6460 CASE_PM,
6461 CASE_APC,
6462 /* nobreakspace exclamdown cent sterling */
6463 CASE_ESC_IGNORE,
6464 CASE_ESC_IGNORE,
6465 CASE_SCS_DQUOTE,
6466 CASE_ESC_IGNORE,
6467 /* currency yen brokenbar section */
6468 CASE_ESC_IGNORE,
6469 CASE_SCS_PERCENT,
6470 CASE_SCS_AMPRSND,
6471 CASE_ESC_IGNORE,
6472 /* diaeresis copyright ordfeminine guillemotleft */
6473 CASE_ESC_IGNORE,
6474 CASE_ESC_IGNORE,
6475 CASE_ESC_IGNORE,
6476 CASE_ESC_IGNORE,
6477 /* notsign hyphen registered macron */
6478 CASE_ESC_IGNORE,
6479 CASE_ESC_IGNORE,
6480 CASE_ESC_IGNORE,
6481 CASE_ESC_IGNORE,
6482 /* degree plusminus twosuperior threesuperior */
6483 CASE_GSETS,
6484 CASE_GSETS,
6485 CASE_GSETS,
6486 CASE_GROUND_STATE,
6487 /* acute mu paragraph periodcentered */
6488 CASE_GSETS,
6489 CASE_GSETS,
6490 CASE_GSETS,
6491 CASE_GSETS,
6492 /* cedilla onesuperior masculine guillemotright */
6493 CASE_GROUND_STATE,
6494 CASE_GSETS3,
6495 CASE_GROUND_STATE,
6496 CASE_GROUND_STATE,
6497 /* onequarter onehalf threequarters questiondown */
6498 CASE_GSETS,
6499 CASE_GSETS,
6500 CASE_GSETS3,
6501 CASE_GROUND_STATE,
6502 /* Agrave Aacute Acircumflex Atilde */
6503 CASE_GROUND_STATE,
6504 CASE_GSETS,
6505 CASE_GSETS,
6506 CASE_GSETS,
6507 /* Adiaeresis Aring AE Ccedilla */
6508 CASE_GROUND_STATE,
6509 CASE_GSETS,
6510 CASE_GROUND_STATE,
6511 CASE_GROUND_STATE,
6512 /* Egrave Eacute Ecircumflex Ediaeresis */
6513 CASE_GSETS,
6514 CASE_GROUND_STATE,
6515 CASE_GROUND_STATE,
6516 CASE_GSETS,
6517 /* Igrave Iacute Icircumflex Idiaeresis */
6518 CASE_GROUND_STATE,
6519 CASE_GROUND_STATE,
6520 CASE_GROUND_STATE,
6521 CASE_GROUND_STATE,
6522 /* Eth Ntilde Ograve Oacute */
6523 CASE_GROUND_STATE,
6524 CASE_GSETS,
6525 CASE_GSETS,
6526 CASE_GROUND_STATE,
6527 /* Ocircumflex Otilde Odiaeresis multiply */
6528 CASE_GROUND_STATE,
6529 CASE_GROUND_STATE,
6530 CASE_GROUND_STATE,
6531 CASE_GROUND_STATE,
6532 /* Ooblique Ugrave Uacute Ucircumflex */
6533 CASE_GROUND_STATE,
6534 CASE_GSETS,
6535 CASE_GSETS,
6536 CASE_GROUND_STATE,
6537 /* Udiaeresis Yacute Thorn ssharp */
6538 CASE_GROUND_STATE,
6539 CASE_GROUND_STATE,
6540 CASE_GROUND_STATE,
6541 CASE_GROUND_STATE,
6542 /* agrave aacute acircumflex atilde */
6543 CASE_GSETS3,
6544 CASE_GROUND_STATE,
6545 CASE_GROUND_STATE,
6546 CASE_GROUND_STATE,
6547 /* adiaeresis aring ae ccedilla */
6548 CASE_GROUND_STATE,
6549 CASE_GROUND_STATE,
6550 CASE_GSETS,
6551 CASE_GROUND_STATE,
6552 /* egrave eacute ecircumflex ediaeresis */
6553 CASE_GROUND_STATE,
6554 CASE_GROUND_STATE,
6555 CASE_GROUND_STATE,
6556 CASE_GROUND_STATE,
6557 /* igrave iacute icircumflex idiaeresis */
6558 CASE_GROUND_STATE,
6559 CASE_GROUND_STATE,
6560 CASE_GROUND_STATE,
6561 CASE_GROUND_STATE,
6562 /* eth ntilde ograve oacute */
6563 CASE_GROUND_STATE,
6564 CASE_GROUND_STATE,
6565 CASE_GROUND_STATE,
6566 CASE_GROUND_STATE,
6567 /* ocircumflex otilde odiaeresis division */
6568 CASE_GROUND_STATE,
6569 CASE_GROUND_STATE,
6570 CASE_GROUND_STATE,
6571 CASE_GROUND_STATE,
6572 /* oslash ugrave uacute ucircumflex */
6573 CASE_GROUND_STATE,
6574 CASE_GROUND_STATE,
6575 CASE_GROUND_STATE,
6576 CASE_GROUND_STATE,
6577 /* udiaeresis yacute thorn ydiaeresis */
6578 CASE_GROUND_STATE,
6579 CASE_GROUND_STATE,
6580 CASE_GROUND_STATE,
6581 CASE_IGNORE,
6582 };
6583
6584 Const PARSE_T scs96table[] = /* ESC - etc. */
6585 {
6586 /* NUL SOH STX ETX */
6587 CASE_IGNORE,
6588 CASE_IGNORE,
6589 CASE_IGNORE,
6590 CASE_IGNORE,
6591 /* EOT ENQ ACK BEL */
6592 CASE_IGNORE,
6593 CASE_ENQ,
6594 CASE_IGNORE,
6595 CASE_BELL,
6596 /* BS HT NL VT */
6597 CASE_BS,
6598 CASE_TAB,
6599 CASE_VMOT,
6600 CASE_VMOT,
6601 /* FF CR SO SI */
6602 CASE_VMOT,
6603 CASE_CR,
6604 CASE_SO,
6605 CASE_SI,
6606 /* DLE DC1 DC2 DC3 */
6607 CASE_IGNORE,
6608 CASE_IGNORE,
6609 CASE_IGNORE,
6610 CASE_IGNORE,
6611 /* DC4 NAK SYN ETB */
6612 CASE_IGNORE,
6613 CASE_IGNORE,
6614 CASE_IGNORE,
6615 CASE_IGNORE,
6616 /* CAN EM SUB ESC */
6617 CASE_GROUND_STATE,
6618 CASE_IGNORE,
6619 CASE_GROUND_STATE,
6620 CASE_ESC,
6621 /* FS GS RS US */
6622 CASE_IGNORE,
6623 CASE_IGNORE,
6624 CASE_IGNORE,
6625 CASE_IGNORE,
6626 /* SP ! " # */
6627 CASE_ESC_IGNORE,
6628 CASE_ESC_IGNORE,
6629 CASE_ESC_IGNORE,
6630 CASE_ESC_IGNORE,
6631 /* $ % & ' */
6632 CASE_ESC_IGNORE,
6633 CASE_ESC_IGNORE,
6634 CASE_ESC_IGNORE,
6635 CASE_ESC_IGNORE,
6636 /* ( ) * + */
6637 CASE_ESC_IGNORE,
6638 CASE_ESC_IGNORE,
6639 CASE_ESC_IGNORE,
6640 CASE_ESC_IGNORE,
6641 /* , - . / */
6642 CASE_ESC_IGNORE,
6643 CASE_ESC_IGNORE,
6644 CASE_ESC_IGNORE,
6645 CASE_ESC_IGNORE,
6646 /* 0 1 2 3 */
6647 CASE_GROUND_STATE,
6648 CASE_GROUND_STATE,
6649 CASE_GROUND_STATE,
6650 CASE_GROUND_STATE,
6651 /* 4 5 6 7 */
6652 CASE_GROUND_STATE,
6653 CASE_GROUND_STATE,
6654 CASE_GROUND_STATE,
6655 CASE_GROUND_STATE,
6656 /* 8 9 : ; */
6657 CASE_GROUND_STATE,
6658 CASE_GROUND_STATE,
6659 CASE_GROUND_STATE,
6660 CASE_GROUND_STATE,
6661 /* < = > ? */
6662 CASE_GROUND_STATE,
6663 CASE_GROUND_STATE,
6664 CASE_GROUND_STATE,
6665 CASE_GROUND_STATE,
6666 /* @ A B C */
6667 CASE_GROUND_STATE,
6668 CASE_GSETS3,
6669 CASE_GSETS5,
6670 CASE_GROUND_STATE,
6671 /* D E F G */
6672 CASE_GROUND_STATE,
6673 CASE_GROUND_STATE,
6674 CASE_GSETS5,
6675 CASE_GROUND_STATE,
6676 /* H I J K */
6677 CASE_GSETS5,
6678 CASE_GROUND_STATE,
6679 CASE_GROUND_STATE,
6680 CASE_GROUND_STATE,
6681 /* L M N O */
6682 CASE_GSETS5,
6683 CASE_GSETS5,
6684 CASE_GROUND_STATE,
6685 CASE_GROUND_STATE,
6686 /* P Q R S */
6687 CASE_GROUND_STATE,
6688 CASE_GROUND_STATE,
6689 CASE_GROUND_STATE,
6690 CASE_GROUND_STATE,
6691 /* T U V W */
6692 CASE_GROUND_STATE,
6693 CASE_GROUND_STATE,
6694 CASE_GROUND_STATE,
6695 CASE_GROUND_STATE,
6696 /* X Y Z [ */
6697 CASE_GROUND_STATE,
6698 CASE_GROUND_STATE,
6699 CASE_GROUND_STATE,
6700 CASE_GROUND_STATE,
6701 /* \ ] ^ _ */
6702 CASE_GROUND_STATE,
6703 CASE_GROUND_STATE,
6704 CASE_GROUND_STATE,
6705 CASE_GROUND_STATE,
6706 /* ` a b c */
6707 CASE_GROUND_STATE,
6708 CASE_GROUND_STATE,
6709 CASE_GROUND_STATE,
6710 CASE_GROUND_STATE,
6711 /* d e f g */
6712 CASE_GROUND_STATE,
6713 CASE_GROUND_STATE,
6714 CASE_GROUND_STATE,
6715 CASE_GROUND_STATE,
6716 /* h i j k */
6717 CASE_GROUND_STATE,
6718 CASE_GROUND_STATE,
6719 CASE_GROUND_STATE,
6720 CASE_GROUND_STATE,
6721 /* l m n o */
6722 CASE_GROUND_STATE,
6723 CASE_GROUND_STATE,
6724 CASE_GROUND_STATE,
6725 CASE_GROUND_STATE,
6726 /* p q r s */
6727 CASE_GROUND_STATE,
6728 CASE_GROUND_STATE,
6729 CASE_GROUND_STATE,
6730 CASE_GROUND_STATE,
6731 /* t u v w */
6732 CASE_GROUND_STATE,
6733 CASE_GROUND_STATE,
6734 CASE_GROUND_STATE,
6735 CASE_GROUND_STATE,
6736 /* x y z { */
6737 CASE_GROUND_STATE,
6738 CASE_GROUND_STATE,
6739 CASE_GROUND_STATE,
6740 CASE_GROUND_STATE,
6741 /* | } ~ DEL */
6742 CASE_GROUND_STATE,
6743 CASE_GROUND_STATE,
6744 CASE_GROUND_STATE,
6745 CASE_IGNORE,
6746 /* 0x80 0x81 0x82 0x83 */
6747 CASE_GROUND_STATE,
6748 CASE_GROUND_STATE,
6749 CASE_GROUND_STATE,
6750 CASE_GROUND_STATE,
6751 /* 0x84 0x85 0x86 0x87 */
6752 CASE_IND,
6753 CASE_NEL,
6754 CASE_GROUND_STATE,
6755 CASE_GROUND_STATE,
6756 /* 0x88 0x89 0x8a 0x8b */
6757 CASE_HTS,
6758 CASE_GROUND_STATE,
6759 CASE_GROUND_STATE,
6760 CASE_GROUND_STATE,
6761 /* 0x8c 0x8d 0x8e 0x8f */
6762 CASE_GROUND_STATE,
6763 CASE_RI,
6764 CASE_SS2,
6765 CASE_SS3,
6766 /* 0x90 0x91 0x92 0x93 */
6767 CASE_DCS,
6768 CASE_GROUND_STATE,
6769 CASE_GROUND_STATE,
6770 CASE_GROUND_STATE,
6771 /* 0x94 0x95 0x96 0x97 */
6772 CASE_GROUND_STATE,
6773 CASE_GROUND_STATE,
6774 CASE_SPA,
6775 CASE_EPA,
6776 /* 0x98 0x99 0x9a 0x9b */
6777 CASE_SOS,
6778 CASE_GROUND_STATE,
6779 CASE_DECID,
6780 CASE_CSI_STATE,
6781 /* 0x9c 0x9d 0x9e 0x9f */
6782 CASE_ST,
6783 CASE_OSC,
6784 CASE_PM,
6785 CASE_APC,
6786 /* nobreakspace exclamdown cent sterling */
6787 CASE_ESC_IGNORE,
6788 CASE_ESC_IGNORE,
6789 CASE_ESC_IGNORE,
6790 CASE_ESC_IGNORE,
6791 /* currency yen brokenbar section */
6792 CASE_ESC_IGNORE,
6793 CASE_ESC_IGNORE,
6794 CASE_ESC_IGNORE,
6795 CASE_ESC_IGNORE,
6796 /* diaeresis copyright ordfeminine guillemotleft */
6797 CASE_ESC_IGNORE,
6798 CASE_ESC_IGNORE,
6799 CASE_ESC_IGNORE,
6800 CASE_ESC_IGNORE,
6801 /* notsign hyphen registered macron */
6802 CASE_ESC_IGNORE,
6803 CASE_ESC_IGNORE,
6804 CASE_ESC_IGNORE,
6805 CASE_ESC_IGNORE,
6806 /* degree plusminus twosuperior threesuperior */
6807 CASE_GROUND_STATE,
6808 CASE_GROUND_STATE,
6809 CASE_GROUND_STATE,
6810 CASE_GROUND_STATE,
6811 /* acute mu paragraph periodcentered */
6812 CASE_GROUND_STATE,
6813 CASE_GROUND_STATE,
6814 CASE_GROUND_STATE,
6815 CASE_GROUND_STATE,
6816 /* cedilla onesuperior masculine guillemotright */
6817 CASE_GROUND_STATE,
6818 CASE_GROUND_STATE,
6819 CASE_GROUND_STATE,
6820 CASE_GROUND_STATE,
6821 /* onequarter onehalf threequarters questiondown */
6822 CASE_GROUND_STATE,
6823 CASE_GROUND_STATE,
6824 CASE_GROUND_STATE,
6825 CASE_GROUND_STATE,
6826 /* Agrave Aacute Acircumflex Atilde */
6827 CASE_GROUND_STATE,
6828 CASE_GSETS3,
6829 CASE_GSETS5,
6830 CASE_GROUND_STATE,
6831 /* Adiaeresis Aring AE Ccedilla */
6832 CASE_GROUND_STATE,
6833 CASE_GROUND_STATE,
6834 CASE_GSETS5,
6835 CASE_GROUND_STATE,
6836 /* Egrave Eacute Ecircumflex Ediaeresis */
6837 CASE_GSETS5,
6838 CASE_GROUND_STATE,
6839 CASE_GROUND_STATE,
6840 CASE_GROUND_STATE,
6841 /* Igrave Iacute Icircumflex Idiaeresis */
6842 CASE_GSETS5,
6843 CASE_GSETS5,
6844 CASE_GROUND_STATE,
6845 CASE_GROUND_STATE,
6846 /* Eth Ntilde Ograve Oacute */
6847 CASE_GROUND_STATE,
6848 CASE_GROUND_STATE,
6849 CASE_GROUND_STATE,
6850 CASE_GROUND_STATE,
6851 /* Ocircumflex Otilde Odiaeresis multiply */
6852 CASE_GROUND_STATE,
6853 CASE_GROUND_STATE,
6854 CASE_GROUND_STATE,
6855 CASE_GROUND_STATE,
6856 /* Ooblique Ugrave Uacute Ucircumflex */
6857 CASE_GROUND_STATE,
6858 CASE_GROUND_STATE,
6859 CASE_GROUND_STATE,
6860 CASE_GROUND_STATE,
6861 /* Udiaeresis Yacute Thorn ssharp */
6862 CASE_GROUND_STATE,
6863 CASE_GROUND_STATE,
6864 CASE_GROUND_STATE,
6865 CASE_GROUND_STATE,
6866 /* agrave aacute acircumflex atilde */
6867 CASE_GROUND_STATE,
6868 CASE_GROUND_STATE,
6869 CASE_GROUND_STATE,
6870 CASE_GROUND_STATE,
6871 /* adiaeresis aring ae ccedilla */
6872 CASE_GROUND_STATE,
6873 CASE_GROUND_STATE,
6874 CASE_GROUND_STATE,
6875 CASE_GROUND_STATE,
6876 /* egrave eacute ecircumflex ediaeresis */
6877 CASE_GROUND_STATE,
6878 CASE_GROUND_STATE,
6879 CASE_GROUND_STATE,
6880 CASE_GROUND_STATE,
6881 /* igrave iacute icircumflex idiaeresis */
6882 CASE_GROUND_STATE,
6883 CASE_GROUND_STATE,
6884 CASE_GROUND_STATE,
6885 CASE_GROUND_STATE,
6886 /* eth ntilde ograve oacute */
6887 CASE_GROUND_STATE,
6888 CASE_GROUND_STATE,
6889 CASE_GROUND_STATE,
6890 CASE_GROUND_STATE,
6891 /* ocircumflex otilde odiaeresis division */
6892 CASE_GROUND_STATE,
6893 CASE_GROUND_STATE,
6894 CASE_GROUND_STATE,
6895 CASE_GROUND_STATE,
6896 /* oslash ugrave uacute ucircumflex */
6897 CASE_GROUND_STATE,
6898 CASE_GROUND_STATE,
6899 CASE_GROUND_STATE,
6900 CASE_GROUND_STATE,
6901 /* udiaeresis yacute thorn ydiaeresis */
6902 CASE_GROUND_STATE,
6903 CASE_GROUND_STATE,
6904 CASE_GROUND_STATE,
6905 CASE_IGNORE,
6906 };
6907
6908 /*
6909 * This table is treated specially. The CASE_IGNORE entries correspond to the
6910 * characters that can be accumulated for the string function (e.g., OSC).
6911 */
6912 Const PARSE_T sos_table[] = /* OSC, DCS, etc. */
6913 {
6914 /* NUL SOH STX ETX */
6915 CASE_IGNORE,
6916 CASE_IGNORE,
6917 CASE_IGNORE,
6918 CASE_IGNORE,
6919 /* EOT ENQ ACK BEL */
6920 CASE_IGNORE,
6921 CASE_IGNORE,
6922 CASE_IGNORE,
6923 CASE_BELL,
6924 /* BS HT NL VT */
6925 CASE_IGNORE,
6926 CASE_IGNORE,
6927 CASE_IGNORE,
6928 CASE_IGNORE,
6929 /* FF CR SO SI */
6930 CASE_IGNORE,
6931 CASE_IGNORE,
6932 CASE_IGNORE,
6933 CASE_IGNORE,
6934 /* DLE DC1 DC2 DC3 */
6935 CASE_IGNORE,
6936 CASE_IGNORE,
6937 CASE_IGNORE,
6938 CASE_IGNORE,
6939 /* DC4 NAK SYN ETB */
6940 CASE_IGNORE,
6941 CASE_IGNORE,
6942 CASE_IGNORE,
6943 CASE_IGNORE,
6944 /* CAN EM SUB ESC */
6945 CASE_GROUND_STATE,
6946 CASE_IGNORE,
6947 CASE_GROUND_STATE,
6948 CASE_ESC,
6949 /* FS GS RS US */
6950 CASE_IGNORE,
6951 CASE_IGNORE,
6952 CASE_IGNORE,
6953 CASE_IGNORE,
6954 /* SP ! " # */
6955 CASE_IGNORE,
6956 CASE_IGNORE,
6957 CASE_IGNORE,
6958 CASE_IGNORE,
6959 /* $ % & ' */
6960 CASE_IGNORE,
6961 CASE_IGNORE,
6962 CASE_IGNORE,
6963 CASE_IGNORE,
6964 /* ( ) * + */
6965 CASE_IGNORE,
6966 CASE_IGNORE,
6967 CASE_IGNORE,
6968 CASE_IGNORE,
6969 /* , - . / */
6970 CASE_IGNORE,
6971 CASE_IGNORE,
6972 CASE_IGNORE,
6973 CASE_IGNORE,
6974 /* 0 1 2 3 */
6975 CASE_IGNORE,
6976 CASE_IGNORE,
6977 CASE_IGNORE,
6978 CASE_IGNORE,
6979 /* 4 5 6 7 */
6980 CASE_IGNORE,
6981 CASE_IGNORE,
6982 CASE_IGNORE,
6983 CASE_IGNORE,
6984 /* 8 9 : ; */
6985 CASE_IGNORE,
6986 CASE_IGNORE,
6987 CASE_IGNORE,
6988 CASE_IGNORE,
6989 /* < = > ? */
6990 CASE_IGNORE,
6991 CASE_IGNORE,
6992 CASE_IGNORE,
6993 CASE_IGNORE,
6994 /* @ A B C */
6995 CASE_IGNORE,
6996 CASE_IGNORE,
6997 CASE_IGNORE,
6998 CASE_IGNORE,
6999 /* D E F G */
7000 CASE_IGNORE,
7001 CASE_IGNORE,
7002 CASE_IGNORE,
7003 CASE_IGNORE,
7004 /* H I J K */
7005 CASE_IGNORE,
7006 CASE_IGNORE,
7007 CASE_IGNORE,
7008 CASE_IGNORE,
7009 /* L M N O */
7010 CASE_IGNORE,
7011 CASE_IGNORE,
7012 CASE_IGNORE,
7013 CASE_IGNORE,
7014 /* P Q R S */
7015 CASE_IGNORE,
7016 CASE_IGNORE,
7017 CASE_IGNORE,
7018 CASE_IGNORE,
7019 /* T U V W */
7020 CASE_IGNORE,
7021 CASE_IGNORE,
7022 CASE_IGNORE,
7023 CASE_IGNORE,
7024 /* X Y Z [ */
7025 CASE_IGNORE,
7026 CASE_IGNORE,
7027 CASE_IGNORE,
7028 CASE_IGNORE,
7029 /* \ ] ^ _ */
7030 CASE_IGNORE,
7031 CASE_IGNORE,
7032 CASE_IGNORE,
7033 CASE_IGNORE,
7034 /* ` a b c */
7035 CASE_IGNORE,
7036 CASE_IGNORE,
7037 CASE_IGNORE,
7038 CASE_IGNORE,
7039 /* d e f g */
7040 CASE_IGNORE,
7041 CASE_IGNORE,
7042 CASE_IGNORE,
7043 CASE_IGNORE,
7044 /* h i j k */
7045 CASE_IGNORE,
7046 CASE_IGNORE,
7047 CASE_IGNORE,
7048 CASE_IGNORE,
7049 /* l m n o */
7050 CASE_IGNORE,
7051 CASE_IGNORE,
7052 CASE_IGNORE,
7053 CASE_IGNORE,
7054 /* p q r s */
7055 CASE_IGNORE,
7056 CASE_IGNORE,
7057 CASE_IGNORE,
7058 CASE_IGNORE,
7059 /* t u v w */
7060 CASE_IGNORE,
7061 CASE_IGNORE,
7062 CASE_IGNORE,
7063 CASE_IGNORE,
7064 /* x y z { */
7065 CASE_IGNORE,
7066 CASE_IGNORE,
7067 CASE_IGNORE,
7068 CASE_IGNORE,
7069 /* | } ~ DEL */
7070 CASE_IGNORE,
7071 CASE_IGNORE,
7072 CASE_IGNORE,
7073 CASE_IGNORE,
7074 /* 0x80 0x81 0x82 0x83 */
7075 CASE_GROUND_STATE,
7076 CASE_GROUND_STATE,
7077 CASE_GROUND_STATE,
7078 CASE_GROUND_STATE,
7079 /* 0x84 0x85 0x86 0x87 */
7080 CASE_IND,
7081 CASE_NEL,
7082 CASE_GROUND_STATE,
7083 CASE_GROUND_STATE,
7084 /* 0x88 0x89 0x8a 0x8b */
7085 CASE_HTS,
7086 CASE_GROUND_STATE,
7087 CASE_GROUND_STATE,
7088 CASE_GROUND_STATE,
7089 /* 0x8c 0x8d 0x8e 0x8f */
7090 CASE_GROUND_STATE,
7091 CASE_RI,
7092 CASE_SS2,
7093 CASE_SS3,
7094 /* 0x90 0x91 0x92 0x93 */
7095 CASE_DCS,
7096 CASE_GROUND_STATE,
7097 CASE_GROUND_STATE,
7098 CASE_GROUND_STATE,
7099 /* 0x94 0x95 0x96 0x97 */
7100 CASE_GROUND_STATE,
7101 CASE_GROUND_STATE,
7102 CASE_SPA,
7103 CASE_EPA,
7104 /* 0x98 0x99 0x9a 0x9b */
7105 CASE_SOS,
7106 CASE_GROUND_STATE,
7107 CASE_DECID,
7108 CASE_CSI_STATE,
7109 /* 0x9c 0x9d 0x9e 0x9f */
7110 CASE_ST,
7111 CASE_OSC,
7112 CASE_PM,
7113 CASE_APC,
7114 /* nobreakspace exclamdown cent sterling */
7115 CASE_IGNORE,
7116 CASE_IGNORE,
7117 CASE_IGNORE,
7118 CASE_IGNORE,
7119 /* currency yen brokenbar section */
7120 CASE_IGNORE,
7121 CASE_IGNORE,
7122 CASE_IGNORE,
7123 CASE_IGNORE,
7124 /* diaeresis copyright ordfeminine guillemotleft */
7125 CASE_IGNORE,
7126 CASE_IGNORE,
7127 CASE_IGNORE,
7128 CASE_IGNORE,
7129 /* notsign hyphen registered macron */
7130 CASE_IGNORE,
7131 CASE_IGNORE,
7132 CASE_IGNORE,
7133 CASE_IGNORE,
7134 /* degree plusminus twosuperior threesuperior */
7135 CASE_IGNORE,
7136 CASE_IGNORE,
7137 CASE_IGNORE,
7138 CASE_IGNORE,
7139 /* acute mu paragraph periodcentered */
7140 CASE_IGNORE,
7141 CASE_IGNORE,
7142 CASE_IGNORE,
7143 CASE_IGNORE,
7144 /* cedilla onesuperior masculine guillemotright */
7145 CASE_IGNORE,
7146 CASE_IGNORE,
7147 CASE_IGNORE,
7148 CASE_IGNORE,
7149 /* onequarter onehalf threequarters questiondown */
7150 CASE_IGNORE,
7151 CASE_IGNORE,
7152 CASE_IGNORE,
7153 CASE_IGNORE,
7154 /* Agrave Aacute Acircumflex Atilde */
7155 CASE_IGNORE,
7156 CASE_IGNORE,
7157 CASE_IGNORE,
7158 CASE_IGNORE,
7159 /* Adiaeresis Aring AE Ccedilla */
7160 CASE_IGNORE,
7161 CASE_IGNORE,
7162 CASE_IGNORE,
7163 CASE_IGNORE,
7164 /* Egrave Eacute Ecircumflex Ediaeresis */
7165 CASE_IGNORE,
7166 CASE_IGNORE,
7167 CASE_IGNORE,
7168 CASE_IGNORE,
7169 /* Igrave Iacute Icircumflex Idiaeresis */
7170 CASE_IGNORE,
7171 CASE_IGNORE,
7172 CASE_IGNORE,
7173 CASE_IGNORE,
7174 /* Eth Ntilde Ograve Oacute */
7175 CASE_IGNORE,
7176 CASE_IGNORE,
7177 CASE_IGNORE,
7178 CASE_IGNORE,
7179 /* Ocircumflex Otilde Odiaeresis multiply */
7180 CASE_IGNORE,
7181 CASE_IGNORE,
7182 CASE_IGNORE,
7183 CASE_IGNORE,
7184 /* Ooblique Ugrave Uacute Ucircumflex */
7185 CASE_IGNORE,
7186 CASE_IGNORE,
7187 CASE_IGNORE,
7188 CASE_IGNORE,
7189 /* Udiaeresis Yacute Thorn ssharp */
7190 CASE_IGNORE,
7191 CASE_IGNORE,
7192 CASE_IGNORE,
7193 CASE_IGNORE,
7194 /* agrave aacute acircumflex atilde */
7195 CASE_IGNORE,
7196 CASE_IGNORE,
7197 CASE_IGNORE,
7198 CASE_IGNORE,
7199 /* adiaeresis aring ae ccedilla */
7200 CASE_IGNORE,
7201 CASE_IGNORE,
7202 CASE_IGNORE,
7203 CASE_IGNORE,
7204 /* egrave eacute ecircumflex ediaeresis */
7205 CASE_IGNORE,
7206 CASE_IGNORE,
7207 CASE_IGNORE,
7208 CASE_IGNORE,
7209 /* igrave iacute icircumflex idiaeresis */
7210 CASE_IGNORE,
7211 CASE_IGNORE,
7212 CASE_IGNORE,
7213 CASE_IGNORE,
7214 /* eth ntilde ograve oacute */
7215 CASE_IGNORE,
7216 CASE_IGNORE,
7217 CASE_IGNORE,
7218 CASE_IGNORE,
7219 /* ocircumflex otilde odiaeresis division */
7220 CASE_IGNORE,
7221 CASE_IGNORE,
7222 CASE_IGNORE,
7223 CASE_IGNORE,
7224 /* oslash ugrave uacute ucircumflex */
7225 CASE_IGNORE,
7226 CASE_IGNORE,
7227 CASE_IGNORE,
7228 CASE_IGNORE,
7229 /* udiaeresis yacute thorn ydiaeresis */
7230 CASE_IGNORE,
7231 CASE_IGNORE,
7232 CASE_IGNORE,
7233 CASE_IGNORE,
7234 };
7235
7236 #if OPT_WIDE_CHARS
7237 Const PARSE_T esc_pct_table[] = /* ESC % */
7238 {
7239 /* NUL SOH STX ETX */
7240 CASE_IGNORE,
7241 CASE_IGNORE,
7242 CASE_IGNORE,
7243 CASE_IGNORE,
7244 /* EOT ENQ ACK BEL */
7245 CASE_IGNORE,
7246 CASE_ENQ,
7247 CASE_IGNORE,
7248 CASE_BELL,
7249 /* BS HT NL VT */
7250 CASE_BS,
7251 CASE_TAB,
7252 CASE_VMOT,
7253 CASE_VMOT,
7254 /* FF CR SO SI */
7255 CASE_VMOT,
7256 CASE_CR,
7257 CASE_SO,
7258 CASE_SI,
7259 /* DLE DC1 DC2 DC3 */
7260 CASE_IGNORE,
7261 CASE_IGNORE,
7262 CASE_IGNORE,
7263 CASE_IGNORE,
7264 /* DC4 NAK SYN ETB */
7265 CASE_IGNORE,
7266 CASE_IGNORE,
7267 CASE_IGNORE,
7268 CASE_IGNORE,
7269 /* CAN EM SUB ESC */
7270 CASE_GROUND_STATE,
7271 CASE_IGNORE,
7272 CASE_GROUND_STATE,
7273 CASE_ESC,
7274 /* FS GS RS US */
7275 CASE_IGNORE,
7276 CASE_IGNORE,
7277 CASE_IGNORE,
7278 CASE_IGNORE,
7279 /* SP ! " # */
7280 CASE_ESC_IGNORE,
7281 CASE_ESC_IGNORE,
7282 CASE_ESC_IGNORE,
7283 CASE_ESC_IGNORE,
7284 /* $ % & ' */
7285 CASE_ESC_IGNORE,
7286 CASE_ESC_IGNORE,
7287 CASE_ESC_IGNORE,
7288 CASE_ESC_IGNORE,
7289 /* ( ) * + */
7290 CASE_ESC_IGNORE,
7291 CASE_ESC_IGNORE,
7292 CASE_ESC_IGNORE,
7293 CASE_ESC_IGNORE,
7294 /* , - . / */
7295 CASE_ESC_IGNORE,
7296 CASE_ESC_IGNORE,
7297 CASE_ESC_IGNORE,
7298 CASE_ESC_IGNORE,
7299 /* 0 1 2 3 */
7300 CASE_GSETS5,
7301 CASE_GROUND_STATE,
7302 CASE_GSETS5,
7303 CASE_GROUND_STATE,
7304 /* 4 5 6 7 */
7305 CASE_GROUND_STATE,
7306 CASE_GROUND_STATE,
7307 CASE_GROUND_STATE,
7308 CASE_GROUND_STATE,
7309 /* 8 9 : ; */
7310 CASE_GROUND_STATE,
7311 CASE_GROUND_STATE,
7312 CASE_GROUND_STATE,
7313 CASE_GROUND_STATE,
7314 /* < = > ? */
7315 CASE_GROUND_STATE,
7316 CASE_GROUND_STATE,
7317 CASE_GROUND_STATE,
7318 CASE_GROUND_STATE,
7319 /* @ A B C */
7320 CASE_UTF8,
7321 CASE_GROUND_STATE,
7322 CASE_GROUND_STATE,
7323 CASE_GROUND_STATE,
7324 /* D E F G */
7325 CASE_GROUND_STATE,
7326 CASE_GROUND_STATE,
7327 CASE_GROUND_STATE,
7328 CASE_UTF8,
7329 /* H I J K */
7330 CASE_GROUND_STATE,
7331 CASE_GROUND_STATE,
7332 CASE_GROUND_STATE,
7333 CASE_GROUND_STATE,
7334 /* L M N O */
7335 CASE_GROUND_STATE,
7336 CASE_GROUND_STATE,
7337 CASE_GROUND_STATE,
7338 CASE_GROUND_STATE,
7339 /* P Q R S */
7340 CASE_GROUND_STATE,
7341 CASE_GROUND_STATE,
7342 CASE_GROUND_STATE,
7343 CASE_GROUND_STATE,
7344 /* T U V W */
7345 CASE_GROUND_STATE,
7346 CASE_GROUND_STATE,
7347 CASE_GROUND_STATE,
7348 CASE_GROUND_STATE,
7349 /* X Y Z [ */
7350 CASE_GROUND_STATE,
7351 CASE_GROUND_STATE,
7352 CASE_GROUND_STATE,
7353 CASE_GROUND_STATE,
7354 /* \ ] ^ _ */
7355 CASE_GROUND_STATE,
7356 CASE_GROUND_STATE,
7357 CASE_GROUND_STATE,
7358 CASE_GROUND_STATE,
7359 /* ` a b c */
7360 CASE_GROUND_STATE,
7361 CASE_GROUND_STATE,
7362 CASE_GROUND_STATE,
7363 CASE_GROUND_STATE,
7364 /* d e f g */
7365 CASE_GROUND_STATE,
7366 CASE_GROUND_STATE,
7367 CASE_GROUND_STATE,
7368 CASE_GROUND_STATE,
7369 /* h i j k */
7370 CASE_GROUND_STATE,
7371 CASE_GROUND_STATE,
7372 CASE_GROUND_STATE,
7373 CASE_GROUND_STATE,
7374 /* l m n o */
7375 CASE_GROUND_STATE,
7376 CASE_GROUND_STATE,
7377 CASE_GROUND_STATE,
7378 CASE_GROUND_STATE,
7379 /* p q r s */
7380 CASE_GROUND_STATE,
7381 CASE_GROUND_STATE,
7382 CASE_GROUND_STATE,
7383 CASE_GROUND_STATE,
7384 /* t u v w */
7385 CASE_GROUND_STATE,
7386 CASE_GROUND_STATE,
7387 CASE_GROUND_STATE,
7388 CASE_GROUND_STATE,
7389 /* x y z { */
7390 CASE_GROUND_STATE,
7391 CASE_GROUND_STATE,
7392 CASE_GROUND_STATE,
7393 CASE_GROUND_STATE,
7394 /* | } ~ DEL */
7395 CASE_GROUND_STATE,
7396 CASE_GROUND_STATE,
7397 CASE_GROUND_STATE,
7398 CASE_IGNORE,
7399 /* 0x80 0x81 0x82 0x83 */
7400 CASE_GROUND_STATE,
7401 CASE_GROUND_STATE,
7402 CASE_GROUND_STATE,
7403 CASE_GROUND_STATE,
7404 /* 0x84 0x85 0x86 0x87 */
7405 CASE_IND,
7406 CASE_NEL,
7407 CASE_GROUND_STATE,
7408 CASE_GROUND_STATE,
7409 /* 0x88 0x89 0x8a 0x8b */
7410 CASE_HTS,
7411 CASE_GROUND_STATE,
7412 CASE_GROUND_STATE,
7413 CASE_GROUND_STATE,
7414 /* 0x8c 0x8d 0x8e 0x8f */
7415 CASE_GROUND_STATE,
7416 CASE_RI,
7417 CASE_SS2,
7418 CASE_SS3,
7419 /* 0x90 0x91 0x92 0x93 */
7420 CASE_DCS,
7421 CASE_GROUND_STATE,
7422 CASE_GROUND_STATE,
7423 CASE_GROUND_STATE,
7424 /* 0x94 0x95 0x96 0x97 */
7425 CASE_GROUND_STATE,
7426 CASE_GROUND_STATE,
7427 CASE_SPA,
7428 CASE_EPA,
7429 /* 0x98 0x99 0x9a 0x9b */
7430 CASE_SOS,
7431 CASE_GROUND_STATE,
7432 CASE_DECID,
7433 CASE_CSI_STATE,
7434 /* 0x9c 0x9d 0x9e 0x9f */
7435 CASE_ST,
7436 CASE_OSC,
7437 CASE_PM,
7438 CASE_APC,
7439 /* nobreakspace exclamdown cent sterling */
7440 CASE_ESC_IGNORE,
7441 CASE_ESC_IGNORE,
7442 CASE_ESC_IGNORE,
7443 CASE_ESC_IGNORE,
7444 /* currency yen brokenbar section */
7445 CASE_ESC_IGNORE,
7446 CASE_ESC_IGNORE,
7447 CASE_ESC_IGNORE,
7448 CASE_ESC_IGNORE,
7449 /* diaeresis copyright ordfeminine guillemotleft */
7450 CASE_ESC_IGNORE,
7451 CASE_ESC_IGNORE,
7452 CASE_ESC_IGNORE,
7453 CASE_ESC_IGNORE,
7454 /* notsign hyphen registered macron */
7455 CASE_ESC_IGNORE,
7456 CASE_ESC_IGNORE,
7457 CASE_ESC_IGNORE,
7458 CASE_ESC_IGNORE,
7459 /* degree plusminus twosuperior threesuperior */
7460 CASE_GSETS5,
7461 CASE_GROUND_STATE,
7462 CASE_GSETS5,
7463 CASE_GROUND_STATE,
7464 /* acute mu paragraph periodcentered */
7465 CASE_GROUND_STATE,
7466 CASE_GROUND_STATE,
7467 CASE_GROUND_STATE,
7468 CASE_GROUND_STATE,
7469 /* cedilla onesuperior masculine guillemotright */
7470 CASE_GROUND_STATE,
7471 CASE_GROUND_STATE,
7472 CASE_GROUND_STATE,
7473 CASE_GROUND_STATE,
7474 /* onequarter onehalf threequarters questiondown */
7475 CASE_GROUND_STATE,
7476 CASE_GROUND_STATE,
7477 CASE_GROUND_STATE,
7478 CASE_GROUND_STATE,
7479 /* Agrave Aacute Acircumflex Atilde */
7480 CASE_UTF8,
7481 CASE_GROUND_STATE,
7482 CASE_GROUND_STATE,
7483 CASE_GROUND_STATE,
7484 /* Adiaeresis Aring AE Ccedilla */
7485 CASE_GROUND_STATE,
7486 CASE_GROUND_STATE,
7487 CASE_GROUND_STATE,
7488 CASE_UTF8,
7489 /* Egrave Eacute Ecircumflex Ediaeresis */
7490 CASE_GROUND_STATE,
7491 CASE_GROUND_STATE,
7492 CASE_GROUND_STATE,
7493 CASE_GROUND_STATE,
7494 /* Igrave Iacute Icircumflex Idiaeresis */
7495 CASE_GROUND_STATE,
7496 CASE_GROUND_STATE,
7497 CASE_GROUND_STATE,
7498 CASE_GROUND_STATE,
7499 /* Eth Ntilde Ograve Oacute */
7500 CASE_GROUND_STATE,
7501 CASE_GROUND_STATE,
7502 CASE_GROUND_STATE,
7503 CASE_GROUND_STATE,
7504 /* Ocircumflex Otilde Odiaeresis multiply */
7505 CASE_GROUND_STATE,
7506 CASE_GROUND_STATE,
7507 CASE_GROUND_STATE,
7508 CASE_GROUND_STATE,
7509 /* Ooblique Ugrave Uacute Ucircumflex */
7510 CASE_GROUND_STATE,
7511 CASE_GROUND_STATE,
7512 CASE_GROUND_STATE,
7513 CASE_GROUND_STATE,
7514 /* Udiaeresis Yacute Thorn ssharp */
7515 CASE_GROUND_STATE,
7516 CASE_GROUND_STATE,
7517 CASE_GROUND_STATE,
7518 CASE_GROUND_STATE,
7519 /* agrave aacute acircumflex atilde */
7520 CASE_GROUND_STATE,
7521 CASE_GROUND_STATE,
7522 CASE_GROUND_STATE,
7523 CASE_GROUND_STATE,
7524 /* adiaeresis aring ae ccedilla */
7525 CASE_GROUND_STATE,
7526 CASE_GROUND_STATE,
7527 CASE_GROUND_STATE,
7528 CASE_GROUND_STATE,
7529 /* egrave eacute ecircumflex ediaeresis */
7530 CASE_GROUND_STATE,
7531 CASE_GROUND_STATE,
7532 CASE_GROUND_STATE,
7533 CASE_GROUND_STATE,
7534 /* igrave iacute icircumflex idiaeresis */
7535 CASE_GROUND_STATE,
7536 CASE_GROUND_STATE,
7537 CASE_GROUND_STATE,
7538 CASE_GROUND_STATE,
7539 /* eth ntilde ograve oacute */
7540 CASE_GROUND_STATE,
7541 CASE_GROUND_STATE,
7542 CASE_GROUND_STATE,
7543 CASE_GROUND_STATE,
7544 /* ocircumflex otilde odiaeresis division */
7545 CASE_GROUND_STATE,
7546 CASE_GROUND_STATE,
7547 CASE_GROUND_STATE,
7548 CASE_GROUND_STATE,
7549 /* oslash ugrave uacute ucircumflex */
7550 CASE_GROUND_STATE,
7551 CASE_GROUND_STATE,
7552 CASE_GROUND_STATE,
7553 CASE_GROUND_STATE,
7554 /* udiaeresis yacute thorn ydiaeresis */
7555 CASE_GROUND_STATE,
7556 CASE_GROUND_STATE,
7557 CASE_GROUND_STATE,
7558 CASE_IGNORE,
7559 };
7560
7561 Const PARSE_T scs_2qt_table[] = /* SCS " */
7562 {
7563 /* NUL SOH STX ETX */
7564 CASE_IGNORE,
7565 CASE_IGNORE,
7566 CASE_IGNORE,
7567 CASE_IGNORE,
7568 /* EOT ENQ ACK BEL */
7569 CASE_IGNORE,
7570 CASE_ENQ,
7571 CASE_IGNORE,
7572 CASE_BELL,
7573 /* BS HT NL VT */
7574 CASE_BS,
7575 CASE_TAB,
7576 CASE_VMOT,
7577 CASE_VMOT,
7578 /* FF CR SO SI */
7579 CASE_VMOT,
7580 CASE_CR,
7581 CASE_SO,
7582 CASE_SI,
7583 /* DLE DC1 DC2 DC3 */
7584 CASE_IGNORE,
7585 CASE_IGNORE,
7586 CASE_IGNORE,
7587 CASE_IGNORE,
7588 /* DC4 NAK SYN ETB */
7589 CASE_IGNORE,
7590 CASE_IGNORE,
7591 CASE_IGNORE,
7592 CASE_IGNORE,
7593 /* CAN EM SUB ESC */
7594 CASE_GROUND_STATE,
7595 CASE_IGNORE,
7596 CASE_GROUND_STATE,
7597 CASE_ESC,
7598 /* FS GS RS US */
7599 CASE_IGNORE,
7600 CASE_IGNORE,
7601 CASE_IGNORE,
7602 CASE_IGNORE,
7603 /* SP ! " # */
7604 CASE_ESC_IGNORE,
7605 CASE_ESC_IGNORE,
7606 CASE_ESC_IGNORE,
7607 CASE_ESC_IGNORE,
7608 /* $ % & ' */
7609 CASE_ESC_IGNORE,
7610 CASE_ESC_IGNORE,
7611 CASE_ESC_IGNORE,
7612 CASE_ESC_IGNORE,
7613 /* ( ) * + */
7614 CASE_ESC_IGNORE,
7615 CASE_ESC_IGNORE,
7616 CASE_ESC_IGNORE,
7617 CASE_ESC_IGNORE,
7618 /* , - . / */
7619 CASE_ESC_IGNORE,
7620 CASE_ESC_IGNORE,
7621 CASE_ESC_IGNORE,
7622 CASE_ESC_IGNORE,
7623 /* 0 1 2 3 */
7624 CASE_GROUND_STATE,
7625 CASE_GROUND_STATE,
7626 CASE_GROUND_STATE,
7627 CASE_GROUND_STATE,
7628 /* 4 5 6 7 */
7629 CASE_GSETS_DQUOTE,
7630 CASE_GROUND_STATE,
7631 CASE_GROUND_STATE,
7632 CASE_GROUND_STATE,
7633 /* 8 9 : ; */
7634 CASE_GROUND_STATE,
7635 CASE_GROUND_STATE,
7636 CASE_GROUND_STATE,
7637 CASE_GROUND_STATE,
7638 /* < = > ? */
7639 CASE_GROUND_STATE,
7640 CASE_GROUND_STATE,
7641 CASE_GSETS_DQUOTE,
7642 CASE_GSETS_DQUOTE,
7643 /* @ A B C */
7644 CASE_GROUND_STATE,
7645 CASE_GROUND_STATE,
7646 CASE_GROUND_STATE,
7647 CASE_GROUND_STATE,
7648 /* D E F G */
7649 CASE_GROUND_STATE,
7650 CASE_GROUND_STATE,
7651 CASE_GROUND_STATE,
7652 CASE_GROUND_STATE,
7653 /* H I J K */
7654 CASE_GROUND_STATE,
7655 CASE_GROUND_STATE,
7656 CASE_GROUND_STATE,
7657 CASE_GROUND_STATE,
7658 /* L M N O */
7659 CASE_GROUND_STATE,
7660 CASE_GROUND_STATE,
7661 CASE_GROUND_STATE,
7662 CASE_GROUND_STATE,
7663 /* P Q R S */
7664 CASE_GROUND_STATE,
7665 CASE_GROUND_STATE,
7666 CASE_GROUND_STATE,
7667 CASE_GROUND_STATE,
7668 /* T U V W */
7669 CASE_GROUND_STATE,
7670 CASE_GROUND_STATE,
7671 CASE_GROUND_STATE,
7672 CASE_GROUND_STATE,
7673 /* X Y Z [ */
7674 CASE_GROUND_STATE,
7675 CASE_GROUND_STATE,
7676 CASE_GROUND_STATE,
7677 CASE_GROUND_STATE,
7678 /* \ ] ^ _ */
7679 CASE_GROUND_STATE,
7680 CASE_GROUND_STATE,
7681 CASE_GROUND_STATE,
7682 CASE_GROUND_STATE,
7683 /* ` a b c */
7684 CASE_GROUND_STATE,
7685 CASE_GROUND_STATE,
7686 CASE_GROUND_STATE,
7687 CASE_GROUND_STATE,
7688 /* d e f g */
7689 CASE_GROUND_STATE,
7690 CASE_GROUND_STATE,
7691 CASE_GROUND_STATE,
7692 CASE_GROUND_STATE,
7693 /* h i j k */
7694 CASE_GROUND_STATE,
7695 CASE_GROUND_STATE,
7696 CASE_GROUND_STATE,
7697 CASE_GROUND_STATE,
7698 /* l m n o */
7699 CASE_GROUND_STATE,
7700 CASE_GROUND_STATE,
7701 CASE_GROUND_STATE,
7702 CASE_GROUND_STATE,
7703 /* p q r s */
7704 CASE_GROUND_STATE,
7705 CASE_GROUND_STATE,
7706 CASE_GROUND_STATE,
7707 CASE_GROUND_STATE,
7708 /* t u v w */
7709 CASE_GROUND_STATE,
7710 CASE_GROUND_STATE,
7711 CASE_GROUND_STATE,
7712 CASE_GROUND_STATE,
7713 /* x y z { */
7714 CASE_GROUND_STATE,
7715 CASE_GROUND_STATE,
7716 CASE_GROUND_STATE,
7717 CASE_GROUND_STATE,
7718 /* | } ~ DEL */
7719 CASE_GROUND_STATE,
7720 CASE_GROUND_STATE,
7721 CASE_GROUND_STATE,
7722 CASE_IGNORE,
7723 /* 0x80 0x81 0x82 0x83 */
7724 CASE_GROUND_STATE,
7725 CASE_GROUND_STATE,
7726 CASE_GROUND_STATE,
7727 CASE_GROUND_STATE,
7728 /* 0x84 0x85 0x86 0x87 */
7729 CASE_IND,
7730 CASE_NEL,
7731 CASE_GROUND_STATE,
7732 CASE_GROUND_STATE,
7733 /* 0x88 0x89 0x8a 0x8b */
7734 CASE_HTS,
7735 CASE_GROUND_STATE,
7736 CASE_GROUND_STATE,
7737 CASE_GROUND_STATE,
7738 /* 0x8c 0x8d 0x8e 0x8f */
7739 CASE_GROUND_STATE,
7740 CASE_RI,
7741 CASE_SS2,
7742 CASE_SS3,
7743 /* 0x90 0x91 0x92 0x93 */
7744 CASE_DCS,
7745 CASE_GROUND_STATE,
7746 CASE_GROUND_STATE,
7747 CASE_GROUND_STATE,
7748 /* 0x94 0x95 0x96 0x97 */
7749 CASE_GROUND_STATE,
7750 CASE_GROUND_STATE,
7751 CASE_SPA,
7752 CASE_EPA,
7753 /* 0x98 0x99 0x9a 0x9b */
7754 CASE_SOS,
7755 CASE_GROUND_STATE,
7756 CASE_DECID,
7757 CASE_CSI_STATE,
7758 /* 0x9c 0x9d 0x9e 0x9f */
7759 CASE_ST,
7760 CASE_OSC,
7761 CASE_PM,
7762 CASE_APC,
7763 /* nobreakspace exclamdown cent sterling */
7764 CASE_ESC_IGNORE,
7765 CASE_ESC_IGNORE,
7766 CASE_ESC_IGNORE,
7767 CASE_ESC_IGNORE,
7768 /* currency yen brokenbar section */
7769 CASE_ESC_IGNORE,
7770 CASE_ESC_IGNORE,
7771 CASE_ESC_IGNORE,
7772 CASE_ESC_IGNORE,
7773 /* diaeresis copyright ordfeminine guillemotleft */
7774 CASE_ESC_IGNORE,
7775 CASE_ESC_IGNORE,
7776 CASE_ESC_IGNORE,
7777 CASE_ESC_IGNORE,
7778 /* notsign hyphen registered macron */
7779 CASE_ESC_IGNORE,
7780 CASE_ESC_IGNORE,
7781 CASE_ESC_IGNORE,
7782 CASE_ESC_IGNORE,
7783 /* degree plusminus twosuperior threesuperior */
7784 CASE_GROUND_STATE,
7785 CASE_GROUND_STATE,
7786 CASE_GROUND_STATE,
7787 CASE_GROUND_STATE,
7788 /* acute mu paragraph periodcentered */
7789 CASE_GSETS_DQUOTE,
7790 CASE_GROUND_STATE,
7791 CASE_GROUND_STATE,
7792 CASE_GROUND_STATE,
7793 /* cedilla onesuperior masculine guillemotright */
7794 CASE_GROUND_STATE,
7795 CASE_GROUND_STATE,
7796 CASE_GROUND_STATE,
7797 CASE_GROUND_STATE,
7798 /* onequarter onehalf threequarters questiondown */
7799 CASE_GROUND_STATE,
7800 CASE_GROUND_STATE,
7801 CASE_GSETS_DQUOTE,
7802 CASE_GSETS_DQUOTE,
7803 /* Agrave Aacute Acircumflex Atilde */
7804 CASE_GROUND_STATE,
7805 CASE_GROUND_STATE,
7806 CASE_GROUND_STATE,
7807 CASE_GROUND_STATE,
7808 /* Adiaeresis Aring AE Ccedilla */
7809 CASE_GROUND_STATE,
7810 CASE_GROUND_STATE,
7811 CASE_GROUND_STATE,
7812 CASE_GROUND_STATE,
7813 /* Egrave Eacute Ecircumflex Ediaeresis */
7814 CASE_GROUND_STATE,
7815 CASE_GROUND_STATE,
7816 CASE_GROUND_STATE,
7817 CASE_GROUND_STATE,
7818 /* Igrave Iacute Icircumflex Idiaeresis */
7819 CASE_GROUND_STATE,
7820 CASE_GROUND_STATE,
7821 CASE_GROUND_STATE,
7822 CASE_GROUND_STATE,
7823 /* Eth Ntilde Ograve Oacute */
7824 CASE_GROUND_STATE,
7825 CASE_GROUND_STATE,
7826 CASE_GROUND_STATE,
7827 CASE_GROUND_STATE,
7828 /* Ocircumflex Otilde Odiaeresis multiply */
7829 CASE_GROUND_STATE,
7830 CASE_GROUND_STATE,
7831 CASE_GROUND_STATE,
7832 CASE_GROUND_STATE,
7833 /* Ooblique Ugrave Uacute Ucircumflex */
7834 CASE_GROUND_STATE,
7835 CASE_GROUND_STATE,
7836 CASE_GROUND_STATE,
7837 CASE_GROUND_STATE,
7838 /* Udiaeresis Yacute Thorn ssharp */
7839 CASE_GROUND_STATE,
7840 CASE_GROUND_STATE,
7841 CASE_GROUND_STATE,
7842 CASE_GROUND_STATE,
7843 /* agrave aacute acircumflex atilde */
7844 CASE_GROUND_STATE,
7845 CASE_GROUND_STATE,
7846 CASE_GROUND_STATE,
7847 CASE_GROUND_STATE,
7848 /* adiaeresis aring ae ccedilla */
7849 CASE_GROUND_STATE,
7850 CASE_GROUND_STATE,
7851 CASE_GROUND_STATE,
7852 CASE_GROUND_STATE,
7853 /* egrave eacute ecircumflex ediaeresis */
7854 CASE_GROUND_STATE,
7855 CASE_GROUND_STATE,
7856 CASE_GROUND_STATE,
7857 CASE_GROUND_STATE,
7858 /* igrave iacute icircumflex idiaeresis */
7859 CASE_GROUND_STATE,
7860 CASE_GROUND_STATE,
7861 CASE_GROUND_STATE,
7862 CASE_GROUND_STATE,
7863 /* eth ntilde ograve oacute */
7864 CASE_GROUND_STATE,
7865 CASE_GROUND_STATE,
7866 CASE_GROUND_STATE,
7867 CASE_GROUND_STATE,
7868 /* ocircumflex otilde odiaeresis division */
7869 CASE_GROUND_STATE,
7870 CASE_GROUND_STATE,
7871 CASE_GROUND_STATE,
7872 CASE_GROUND_STATE,
7873 /* oslash ugrave uacute ucircumflex */
7874 CASE_GROUND_STATE,
7875 CASE_GROUND_STATE,
7876 CASE_GROUND_STATE,
7877 CASE_GROUND_STATE,
7878 /* udiaeresis yacute thorn ydiaeresis */
7879 CASE_GROUND_STATE,
7880 CASE_GROUND_STATE,
7881 CASE_GROUND_STATE,
7882 CASE_IGNORE,
7883 };
7884
7885 Const PARSE_T scs_amp_table[] = /* SCS & */
7886 {
7887 /* NUL SOH STX ETX */
7888 CASE_IGNORE,
7889 CASE_IGNORE,
7890 CASE_IGNORE,
7891 CASE_IGNORE,
7892 /* EOT ENQ ACK BEL */
7893 CASE_IGNORE,
7894 CASE_ENQ,
7895 CASE_IGNORE,
7896 CASE_BELL,
7897 /* BS HT NL VT */
7898 CASE_BS,
7899 CASE_TAB,
7900 CASE_VMOT,
7901 CASE_VMOT,
7902 /* FF CR SO SI */
7903 CASE_VMOT,
7904 CASE_CR,
7905 CASE_SO,
7906 CASE_SI,
7907 /* DLE DC1 DC2 DC3 */
7908 CASE_IGNORE,
7909 CASE_IGNORE,
7910 CASE_IGNORE,
7911 CASE_IGNORE,
7912 /* DC4 NAK SYN ETB */
7913 CASE_IGNORE,
7914 CASE_IGNORE,
7915 CASE_IGNORE,
7916 CASE_IGNORE,
7917 /* CAN EM SUB ESC */
7918 CASE_GROUND_STATE,
7919 CASE_IGNORE,
7920 CASE_GROUND_STATE,
7921 CASE_ESC,
7922 /* FS GS RS US */
7923 CASE_IGNORE,
7924 CASE_IGNORE,
7925 CASE_IGNORE,
7926 CASE_IGNORE,
7927 /* SP ! " # */
7928 CASE_ESC_IGNORE,
7929 CASE_ESC_IGNORE,
7930 CASE_ESC_IGNORE,
7931 CASE_ESC_IGNORE,
7932 /* $ % & ' */
7933 CASE_ESC_IGNORE,
7934 CASE_ESC_IGNORE,
7935 CASE_ESC_IGNORE,
7936 CASE_ESC_IGNORE,
7937 /* ( ) * + */
7938 CASE_ESC_IGNORE,
7939 CASE_ESC_IGNORE,
7940 CASE_ESC_IGNORE,
7941 CASE_ESC_IGNORE,
7942 /* , - . / */
7943 CASE_ESC_IGNORE,
7944 CASE_ESC_IGNORE,
7945 CASE_ESC_IGNORE,
7946 CASE_ESC_IGNORE,
7947 /* 0 1 2 3 */
7948 CASE_GROUND_STATE,
7949 CASE_GROUND_STATE,
7950 CASE_GROUND_STATE,
7951 CASE_GROUND_STATE,
7952 /* 4 5 6 7 */
7953 CASE_GSETS_AMPRSND,
7954 CASE_GROUND_STATE,
7955 CASE_GROUND_STATE,
7956 CASE_GROUND_STATE,
7957 /* 8 9 : ; */
7958 CASE_GROUND_STATE,
7959 CASE_GROUND_STATE,
7960 CASE_GROUND_STATE,
7961 CASE_GROUND_STATE,
7962 /* < = > ? */
7963 CASE_GROUND_STATE,
7964 CASE_GROUND_STATE,
7965 CASE_GROUND_STATE,
7966 CASE_GROUND_STATE,
7967 /* @ A B C */
7968 CASE_GROUND_STATE,
7969 CASE_GROUND_STATE,
7970 CASE_GROUND_STATE,
7971 CASE_GROUND_STATE,
7972 /* D E F G */
7973 CASE_GROUND_STATE,
7974 CASE_GROUND_STATE,
7975 CASE_GROUND_STATE,
7976 CASE_GROUND_STATE,
7977 /* H I J K */
7978 CASE_GROUND_STATE,
7979 CASE_GROUND_STATE,
7980 CASE_GROUND_STATE,
7981 CASE_GROUND_STATE,
7982 /* L M N O */
7983 CASE_GROUND_STATE,
7984 CASE_GROUND_STATE,
7985 CASE_GROUND_STATE,
7986 CASE_GROUND_STATE,
7987 /* P Q R S */
7988 CASE_GROUND_STATE,
7989 CASE_GROUND_STATE,
7990 CASE_GROUND_STATE,
7991 CASE_GROUND_STATE,
7992 /* T U V W */
7993 CASE_GROUND_STATE,
7994 CASE_GROUND_STATE,
7995 CASE_GROUND_STATE,
7996 CASE_GROUND_STATE,
7997 /* X Y Z [ */
7998 CASE_GROUND_STATE,
7999 CASE_GROUND_STATE,
8000 CASE_GROUND_STATE,
8001 CASE_GROUND_STATE,
8002 /* \ ] ^ _ */
8003 CASE_GROUND_STATE,
8004 CASE_GROUND_STATE,
8005 CASE_GROUND_STATE,
8006 CASE_GROUND_STATE,
8007 /* ` a b c */
8008 CASE_GROUND_STATE,
8009 CASE_GROUND_STATE,
8010 CASE_GROUND_STATE,
8011 CASE_GROUND_STATE,
8012 /* d e f g */
8013 CASE_GROUND_STATE,
8014 CASE_GROUND_STATE,
8015 CASE_GROUND_STATE,
8016 CASE_GROUND_STATE,
8017 /* h i j k */
8018 CASE_GROUND_STATE,
8019 CASE_GROUND_STATE,
8020 CASE_GROUND_STATE,
8021 CASE_GROUND_STATE,
8022 /* l m n o */
8023 CASE_GROUND_STATE,
8024 CASE_GROUND_STATE,
8025 CASE_GROUND_STATE,
8026 CASE_GROUND_STATE,
8027 /* p q r s */
8028 CASE_GROUND_STATE,
8029 CASE_GROUND_STATE,
8030 CASE_GROUND_STATE,
8031 CASE_GROUND_STATE,
8032 /* t u v w */
8033 CASE_GROUND_STATE,
8034 CASE_GROUND_STATE,
8035 CASE_GROUND_STATE,
8036 CASE_GROUND_STATE,
8037 /* x y z { */
8038 CASE_GROUND_STATE,
8039 CASE_GROUND_STATE,
8040 CASE_GROUND_STATE,
8041 CASE_GROUND_STATE,
8042 /* | } ~ DEL */
8043 CASE_GROUND_STATE,
8044 CASE_GROUND_STATE,
8045 CASE_GROUND_STATE,
8046 CASE_IGNORE,
8047 /* 0x80 0x81 0x82 0x83 */
8048 CASE_GROUND_STATE,
8049 CASE_GROUND_STATE,
8050 CASE_GROUND_STATE,
8051 CASE_GROUND_STATE,
8052 /* 0x84 0x85 0x86 0x87 */
8053 CASE_IND,
8054 CASE_NEL,
8055 CASE_GROUND_STATE,
8056 CASE_GROUND_STATE,
8057 /* 0x88 0x89 0x8a 0x8b */
8058 CASE_HTS,
8059 CASE_GROUND_STATE,
8060 CASE_GROUND_STATE,
8061 CASE_GROUND_STATE,
8062 /* 0x8c 0x8d 0x8e 0x8f */
8063 CASE_GROUND_STATE,
8064 CASE_RI,
8065 CASE_SS2,
8066 CASE_SS3,
8067 /* 0x90 0x91 0x92 0x93 */
8068 CASE_DCS,
8069 CASE_GROUND_STATE,
8070 CASE_GROUND_STATE,
8071 CASE_GROUND_STATE,
8072 /* 0x94 0x95 0x96 0x97 */
8073 CASE_GROUND_STATE,
8074 CASE_GROUND_STATE,
8075 CASE_SPA,
8076 CASE_EPA,
8077 /* 0x98 0x99 0x9a 0x9b */
8078 CASE_SOS,
8079 CASE_GROUND_STATE,
8080 CASE_DECID,
8081 CASE_CSI_STATE,
8082 /* 0x9c 0x9d 0x9e 0x9f */
8083 CASE_ST,
8084 CASE_OSC,
8085 CASE_PM,
8086 CASE_APC,
8087 /* nobreakspace exclamdown cent sterling */
8088 CASE_ESC_IGNORE,
8089 CASE_ESC_IGNORE,
8090 CASE_ESC_IGNORE,
8091 CASE_ESC_IGNORE,
8092 /* currency yen brokenbar section */
8093 CASE_ESC_IGNORE,
8094 CASE_ESC_IGNORE,
8095 CASE_ESC_IGNORE,
8096 CASE_ESC_IGNORE,
8097 /* diaeresis copyright ordfeminine guillemotleft */
8098 CASE_ESC_IGNORE,
8099 CASE_ESC_IGNORE,
8100 CASE_ESC_IGNORE,
8101 CASE_ESC_IGNORE,
8102 /* notsign hyphen registered macron */
8103 CASE_ESC_IGNORE,
8104 CASE_ESC_IGNORE,
8105 CASE_ESC_IGNORE,
8106 CASE_ESC_IGNORE,
8107 /* degree plusminus twosuperior threesuperior */
8108 CASE_GROUND_STATE,
8109 CASE_GROUND_STATE,
8110 CASE_GROUND_STATE,
8111 CASE_GROUND_STATE,
8112 /* acute mu paragraph periodcentered */
8113 CASE_GSETS_AMPRSND,
8114 CASE_GROUND_STATE,
8115 CASE_GROUND_STATE,
8116 CASE_GROUND_STATE,
8117 /* cedilla onesuperior masculine guillemotright */
8118 CASE_GROUND_STATE,
8119 CASE_GROUND_STATE,
8120 CASE_GROUND_STATE,
8121 CASE_GROUND_STATE,
8122 /* onequarter onehalf threequarters questiondown */
8123 CASE_GROUND_STATE,
8124 CASE_GROUND_STATE,
8125 CASE_GROUND_STATE,
8126 CASE_GROUND_STATE,
8127 /* Agrave Aacute Acircumflex Atilde */
8128 CASE_GROUND_STATE,
8129 CASE_GROUND_STATE,
8130 CASE_GROUND_STATE,
8131 CASE_GROUND_STATE,
8132 /* Adiaeresis Aring AE Ccedilla */
8133 CASE_GROUND_STATE,
8134 CASE_GROUND_STATE,
8135 CASE_GROUND_STATE,
8136 CASE_GROUND_STATE,
8137 /* Egrave Eacute Ecircumflex Ediaeresis */
8138 CASE_GROUND_STATE,
8139 CASE_GROUND_STATE,
8140 CASE_GROUND_STATE,
8141 CASE_GROUND_STATE,
8142 /* Igrave Iacute Icircumflex Idiaeresis */
8143 CASE_GROUND_STATE,
8144 CASE_GROUND_STATE,
8145 CASE_GROUND_STATE,
8146 CASE_GROUND_STATE,
8147 /* Eth Ntilde Ograve Oacute */
8148 CASE_GROUND_STATE,
8149 CASE_GROUND_STATE,
8150 CASE_GROUND_STATE,
8151 CASE_GROUND_STATE,
8152 /* Ocircumflex Otilde Odiaeresis multiply */
8153 CASE_GROUND_STATE,
8154 CASE_GROUND_STATE,
8155 CASE_GROUND_STATE,
8156 CASE_GROUND_STATE,
8157 /* Ooblique Ugrave Uacute Ucircumflex */
8158 CASE_GROUND_STATE,
8159 CASE_GROUND_STATE,
8160 CASE_GROUND_STATE,
8161 CASE_GROUND_STATE,
8162 /* Udiaeresis Yacute Thorn ssharp */
8163 CASE_GROUND_STATE,
8164 CASE_GROUND_STATE,
8165 CASE_GROUND_STATE,
8166 CASE_GROUND_STATE,
8167 /* agrave aacute acircumflex atilde */
8168 CASE_GROUND_STATE,
8169 CASE_GROUND_STATE,
8170 CASE_GROUND_STATE,
8171 CASE_GROUND_STATE,
8172 /* adiaeresis aring ae ccedilla */
8173 CASE_GROUND_STATE,
8174 CASE_GROUND_STATE,
8175 CASE_GROUND_STATE,
8176 CASE_GROUND_STATE,
8177 /* egrave eacute ecircumflex ediaeresis */
8178 CASE_GROUND_STATE,
8179 CASE_GROUND_STATE,
8180 CASE_GROUND_STATE,
8181 CASE_GROUND_STATE,
8182 /* igrave iacute icircumflex idiaeresis */
8183 CASE_GROUND_STATE,
8184 CASE_GROUND_STATE,
8185 CASE_GROUND_STATE,
8186 CASE_GROUND_STATE,
8187 /* eth ntilde ograve oacute */
8188 CASE_GROUND_STATE,
8189 CASE_GROUND_STATE,
8190 CASE_GROUND_STATE,
8191 CASE_GROUND_STATE,
8192 /* ocircumflex otilde odiaeresis division */
8193 CASE_GROUND_STATE,
8194 CASE_GROUND_STATE,
8195 CASE_GROUND_STATE,
8196 CASE_GROUND_STATE,
8197 /* oslash ugrave uacute ucircumflex */
8198 CASE_GROUND_STATE,
8199 CASE_GROUND_STATE,
8200 CASE_GROUND_STATE,
8201 CASE_GROUND_STATE,
8202 /* udiaeresis yacute thorn ydiaeresis */
8203 CASE_GROUND_STATE,
8204 CASE_GROUND_STATE,
8205 CASE_GROUND_STATE,
8206 CASE_IGNORE,
8207 };
8208
8209 Const PARSE_T scs_pct_table[] = /* SCS % */
8210 {
8211 /* NUL SOH STX ETX */
8212 CASE_IGNORE,
8213 CASE_IGNORE,
8214 CASE_IGNORE,
8215 CASE_IGNORE,
8216 /* EOT ENQ ACK BEL */
8217 CASE_IGNORE,
8218 CASE_ENQ,
8219 CASE_IGNORE,
8220 CASE_BELL,
8221 /* BS HT NL VT */
8222 CASE_BS,
8223 CASE_TAB,
8224 CASE_VMOT,
8225 CASE_VMOT,
8226 /* FF CR SO SI */
8227 CASE_VMOT,
8228 CASE_CR,
8229 CASE_SO,
8230 CASE_SI,
8231 /* DLE DC1 DC2 DC3 */
8232 CASE_IGNORE,
8233 CASE_IGNORE,
8234 CASE_IGNORE,
8235 CASE_IGNORE,
8236 /* DC4 NAK SYN ETB */
8237 CASE_IGNORE,
8238 CASE_IGNORE,
8239 CASE_IGNORE,
8240 CASE_IGNORE,
8241 /* CAN EM SUB ESC */
8242 CASE_GROUND_STATE,
8243 CASE_IGNORE,
8244 CASE_GROUND_STATE,
8245 CASE_ESC,
8246 /* FS GS RS US */
8247 CASE_IGNORE,
8248 CASE_IGNORE,
8249 CASE_IGNORE,
8250 CASE_IGNORE,
8251 /* SP ! " # */
8252 CASE_ESC_IGNORE,
8253 CASE_ESC_IGNORE,
8254 CASE_ESC_IGNORE,
8255 CASE_ESC_IGNORE,
8256 /* $ % & ' */
8257 CASE_ESC_IGNORE,
8258 CASE_ESC_IGNORE,
8259 CASE_ESC_IGNORE,
8260 CASE_ESC_IGNORE,
8261 /* ( ) * + */
8262 CASE_ESC_IGNORE,
8263 CASE_ESC_IGNORE,
8264 CASE_ESC_IGNORE,
8265 CASE_ESC_IGNORE,
8266 /* , - . / */
8267 CASE_ESC_IGNORE,
8268 CASE_ESC_IGNORE,
8269 CASE_ESC_IGNORE,
8270 CASE_ESC_IGNORE,
8271 /* 0 1 2 3 */
8272 CASE_GSETS_PERCENT,
8273 CASE_GROUND_STATE,
8274 CASE_GSETS_PERCENT,
8275 CASE_GSETS_PERCENT,
8276 /* 4 5 6 7 */
8277 CASE_GROUND_STATE,
8278 CASE_GSETS_PERCENT,
8279 CASE_GSETS_PERCENT,
8280 CASE_GROUND_STATE,
8281 /* 8 9 : ; */
8282 CASE_GROUND_STATE,
8283 CASE_GROUND_STATE,
8284 CASE_GROUND_STATE,
8285 CASE_GROUND_STATE,
8286 /* < = > ? */
8287 CASE_GROUND_STATE,
8288 CASE_GSETS_PERCENT,
8289 CASE_GROUND_STATE,
8290 CASE_GROUND_STATE,
8291 /* @ A B C */
8292 CASE_GROUND_STATE,
8293 CASE_GROUND_STATE,
8294 CASE_GROUND_STATE,
8295 CASE_GROUND_STATE,
8296 /* D E F G */
8297 CASE_GROUND_STATE,
8298 CASE_GROUND_STATE,
8299 CASE_GROUND_STATE,
8300 CASE_GROUND_STATE,
8301 /* H I J K */
8302 CASE_GROUND_STATE,
8303 CASE_GROUND_STATE,
8304 CASE_GROUND_STATE,
8305 CASE_GROUND_STATE,
8306 /* L M N O */
8307 CASE_GROUND_STATE,
8308 CASE_GROUND_STATE,
8309 CASE_GROUND_STATE,
8310 CASE_GROUND_STATE,
8311 /* P Q R S */
8312 CASE_GROUND_STATE