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