VTPrsTbl.c revision 01037d57
101037d57Smrg/* $XTermId: VTPrsTbl.c,v 1.81 2015/02/16 01:51:51 tom Exp $ */ 2d522f475Smrg 3d522f475Smrg/* 401037d57Smrg * Copyright 1999-2014,2015 by Thomas E. Dickey 5d522f475Smrg * 6d522f475Smrg * All Rights Reserved 7d522f475Smrg * 8d522f475Smrg * Permission is hereby granted, free of charge, to any person obtaining a 9d522f475Smrg * copy of this software and associated documentation files (the 10d522f475Smrg * "Software"), to deal in the Software without restriction, including 11d522f475Smrg * without limitation the rights to use, copy, modify, merge, publish, 12d522f475Smrg * distribute, sublicense, and/or sell copies of the Software, and to 13d522f475Smrg * permit persons to whom the Software is furnished to do so, subject to 14d522f475Smrg * the following conditions: 15d522f475Smrg * 16d522f475Smrg * The above copyright notice and this permission notice shall be included 17d522f475Smrg * in all copies or substantial portions of the Software. 18d522f475Smrg * 19d522f475Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 20d522f475Smrg * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 21d522f475Smrg * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 22d522f475Smrg * IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY 23d522f475Smrg * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 24d522f475Smrg * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25d522f475Smrg * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26d522f475Smrg * 27d522f475Smrg * Except as contained in this notice, the name(s) of the above copyright 28d522f475Smrg * holders shall not be used in advertising or otherwise to promote the 29d522f475Smrg * sale, use or other dealings in this Software without prior written 30d522f475Smrg * authorization. 31d522f475Smrg * 32d522f475Smrg * 33d522f475Smrg * Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 34d522f475Smrg * 35d522f475Smrg * All Rights Reserved 36d522f475Smrg * 37d522f475Smrg * Permission to use, copy, modify, and distribute this software and its 38d522f475Smrg * documentation for any purpose and without fee is hereby granted, 39d522f475Smrg * provided that the above copyright notice appear in all copies and that 40d522f475Smrg * both that copyright notice and this permission notice appear in 41d522f475Smrg * supporting documentation, and that the name of Digital Equipment 42d522f475Smrg * Corporation not be used in advertising or publicity pertaining to 43d522f475Smrg * distribution of the software without specific, written prior permission. 44d522f475Smrg * 45d522f475Smrg * 46d522f475Smrg * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 47d522f475Smrg * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 48d522f475Smrg * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 49d522f475Smrg * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 50d522f475Smrg * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 51d522f475Smrg * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 52d522f475Smrg * SOFTWARE. 53d522f475Smrg */ 54d522f475Smrg 55d522f475Smrg#include <VTparse.h> 560bd37d32Smrg/* *INDENT-OFF* */ 57d522f475Smrg 5820d2c4d2Smrg#if !OPT_BLINK_CURS 5920d2c4d2Smrg#undef CASE_CSI_SPACE_STATE 6020d2c4d2Smrg#define CASE_CSI_SPACE_STATE CASE_CSI_IGNORE 6120d2c4d2Smrg#endif 6220d2c4d2Smrg 63d522f475Smrg#if !OPT_DEC_LOCATOR 6401037d57Smrg#undef CASE_DECEFR 6501037d57Smrg#define CASE_DECEFR CASE_CSI_IGNORE 6601037d57Smrg#undef CASE_DECELR 6701037d57Smrg#define CASE_DECELR CASE_CSI_IGNORE 6801037d57Smrg#undef CASE_DECSLE 6901037d57Smrg#define CASE_DECSLE CASE_CSI_IGNORE 7001037d57Smrg#undef CASE_DECRQLP 7101037d57Smrg#define CASE_DECRQLP CASE_CSI_IGNORE 72d522f475Smrg#endif 73d522f475Smrg 74d522f475Smrg#if !OPT_WIDE_CHARS 75d522f475Smrg#undef CASE_ESC_PERCENT 76d522f475Smrg#define CASE_ESC_PERCENT CASE_ESC_IGNORE 77d522f475Smrg#endif 78d522f475Smrg 79d522f475Smrg#if !OPT_MOD_FKEYS 80d522f475Smrg#undef CASE_SET_MOD_FKEYS 81d522f475Smrg#define CASE_SET_MOD_FKEYS CASE_GROUND_STATE 82d522f475Smrg#undef CASE_SET_MOD_FKEYS0 83d522f475Smrg#define CASE_SET_MOD_FKEYS0 CASE_GROUND_STATE 84d522f475Smrg#endif 85d522f475Smrg 86d522f475Smrg/* 87d522f475Smrg * Stupid Apollo C preprocessor can't handle long lines. So... To keep 88d522f475Smrg * it happy, we put each onto a separate line.... Sigh... 89d522f475Smrg */ 90d522f475Smrg 91d522f475SmrgConst PARSE_T ansi_table[] = 92d522f475Smrg{ 93d522f475Smrg/* NUL SOH STX ETX */ 94d522f475SmrgCASE_IGNORE, 95d522f475SmrgCASE_IGNORE, 96d522f475SmrgCASE_IGNORE, 97d522f475SmrgCASE_IGNORE, 98d522f475Smrg/* EOT ENQ ACK BEL */ 99d522f475SmrgCASE_IGNORE, 100d522f475SmrgCASE_ENQ, 101d522f475SmrgCASE_IGNORE, 102d522f475SmrgCASE_BELL, 103d522f475Smrg/* BS HT NL VT */ 104d522f475SmrgCASE_BS, 105d522f475SmrgCASE_TAB, 106d522f475SmrgCASE_VMOT, 107d522f475SmrgCASE_VMOT, 1080bd37d32Smrg/* FF CR SO SI */ 109d522f475SmrgCASE_VMOT, 110d522f475SmrgCASE_CR, 111d522f475SmrgCASE_SO, 112d522f475SmrgCASE_SI, 113d522f475Smrg/* DLE DC1 DC2 DC3 */ 114d522f475SmrgCASE_IGNORE, 115d522f475SmrgCASE_IGNORE, 116d522f475SmrgCASE_IGNORE, 117d522f475SmrgCASE_IGNORE, 118d522f475Smrg/* DC4 NAK SYN ETB */ 119d522f475SmrgCASE_IGNORE, 120d522f475SmrgCASE_IGNORE, 121d522f475SmrgCASE_IGNORE, 122d522f475SmrgCASE_IGNORE, 123d522f475Smrg/* CAN EM SUB ESC */ 124d522f475SmrgCASE_GROUND_STATE, 125d522f475SmrgCASE_IGNORE, 126d522f475SmrgCASE_GROUND_STATE, 127d522f475SmrgCASE_ESC, 128d522f475Smrg/* FS GS RS US */ 129d522f475SmrgCASE_IGNORE, 130d522f475SmrgCASE_IGNORE, 131d522f475SmrgCASE_IGNORE, 132d522f475SmrgCASE_IGNORE, 133d522f475Smrg/* SP ! " # */ 134d522f475SmrgCASE_PRINT, 135d522f475SmrgCASE_PRINT, 136d522f475SmrgCASE_PRINT, 137d522f475SmrgCASE_PRINT, 138d522f475Smrg/* $ % & ' */ 139d522f475SmrgCASE_PRINT, 140d522f475SmrgCASE_PRINT, 141d522f475SmrgCASE_PRINT, 142d522f475SmrgCASE_PRINT, 143d522f475Smrg/* ( ) * + */ 144d522f475SmrgCASE_PRINT, 145d522f475SmrgCASE_PRINT, 146d522f475SmrgCASE_PRINT, 147d522f475SmrgCASE_PRINT, 148d522f475Smrg/* , - . / */ 149d522f475SmrgCASE_PRINT, 150d522f475SmrgCASE_PRINT, 151d522f475SmrgCASE_PRINT, 152d522f475SmrgCASE_PRINT, 153d522f475Smrg/* 0 1 2 3 */ 154d522f475SmrgCASE_PRINT, 155d522f475SmrgCASE_PRINT, 156d522f475SmrgCASE_PRINT, 157d522f475SmrgCASE_PRINT, 158d522f475Smrg/* 4 5 6 7 */ 159d522f475SmrgCASE_PRINT, 160d522f475SmrgCASE_PRINT, 161d522f475SmrgCASE_PRINT, 162d522f475SmrgCASE_PRINT, 163d522f475Smrg/* 8 9 : ; */ 164d522f475SmrgCASE_PRINT, 165d522f475SmrgCASE_PRINT, 166d522f475SmrgCASE_PRINT, 167d522f475SmrgCASE_PRINT, 168d522f475Smrg/* < = > ? */ 169d522f475SmrgCASE_PRINT, 170d522f475SmrgCASE_PRINT, 171d522f475SmrgCASE_PRINT, 172d522f475SmrgCASE_PRINT, 173d522f475Smrg/* @ A B C */ 174d522f475SmrgCASE_PRINT, 175d522f475SmrgCASE_PRINT, 176d522f475SmrgCASE_PRINT, 177d522f475SmrgCASE_PRINT, 178d522f475Smrg/* D E F G */ 179d522f475SmrgCASE_PRINT, 180d522f475SmrgCASE_PRINT, 181d522f475SmrgCASE_PRINT, 182d522f475SmrgCASE_PRINT, 183d522f475Smrg/* H I J K */ 184d522f475SmrgCASE_PRINT, 185d522f475SmrgCASE_PRINT, 186d522f475SmrgCASE_PRINT, 187d522f475SmrgCASE_PRINT, 188d522f475Smrg/* L M N O */ 189d522f475SmrgCASE_PRINT, 190d522f475SmrgCASE_PRINT, 191d522f475SmrgCASE_PRINT, 192d522f475SmrgCASE_PRINT, 193d522f475Smrg/* P Q R S */ 194d522f475SmrgCASE_PRINT, 195d522f475SmrgCASE_PRINT, 196d522f475SmrgCASE_PRINT, 197d522f475SmrgCASE_PRINT, 198d522f475Smrg/* T U V W */ 199d522f475SmrgCASE_PRINT, 200d522f475SmrgCASE_PRINT, 201d522f475SmrgCASE_PRINT, 202d522f475SmrgCASE_PRINT, 203d522f475Smrg/* X Y Z [ */ 204d522f475SmrgCASE_PRINT, 205d522f475SmrgCASE_PRINT, 206d522f475SmrgCASE_PRINT, 207d522f475SmrgCASE_PRINT, 208d522f475Smrg/* \ ] ^ _ */ 209d522f475SmrgCASE_PRINT, 210d522f475SmrgCASE_PRINT, 211d522f475SmrgCASE_PRINT, 212d522f475SmrgCASE_PRINT, 213d522f475Smrg/* ` a b c */ 214d522f475SmrgCASE_PRINT, 215d522f475SmrgCASE_PRINT, 216d522f475SmrgCASE_PRINT, 217d522f475SmrgCASE_PRINT, 218d522f475Smrg/* d e f g */ 219d522f475SmrgCASE_PRINT, 220d522f475SmrgCASE_PRINT, 221d522f475SmrgCASE_PRINT, 222d522f475SmrgCASE_PRINT, 223d522f475Smrg/* h i j k */ 224d522f475SmrgCASE_PRINT, 225d522f475SmrgCASE_PRINT, 226d522f475SmrgCASE_PRINT, 227d522f475SmrgCASE_PRINT, 228d522f475Smrg/* l m n o */ 229d522f475SmrgCASE_PRINT, 230d522f475SmrgCASE_PRINT, 231d522f475SmrgCASE_PRINT, 232d522f475SmrgCASE_PRINT, 233d522f475Smrg/* p q r s */ 234d522f475SmrgCASE_PRINT, 235d522f475SmrgCASE_PRINT, 236d522f475SmrgCASE_PRINT, 237d522f475SmrgCASE_PRINT, 238d522f475Smrg/* t u v w */ 239d522f475SmrgCASE_PRINT, 240d522f475SmrgCASE_PRINT, 241d522f475SmrgCASE_PRINT, 242d522f475SmrgCASE_PRINT, 243d522f475Smrg/* x y z { */ 244d522f475SmrgCASE_PRINT, 245d522f475SmrgCASE_PRINT, 246d522f475SmrgCASE_PRINT, 247d522f475SmrgCASE_PRINT, 248d522f475Smrg/* | } ~ DEL */ 249d522f475SmrgCASE_PRINT, 250d522f475SmrgCASE_PRINT, 251d522f475SmrgCASE_PRINT, 252d522f475SmrgCASE_IGNORE, 253d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 254d522f475SmrgCASE_GROUND_STATE, 255d522f475SmrgCASE_GROUND_STATE, 256d522f475SmrgCASE_GROUND_STATE, 257d522f475SmrgCASE_GROUND_STATE, 258d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 259d522f475SmrgCASE_IND, 260d522f475SmrgCASE_NEL, 261d522f475SmrgCASE_GROUND_STATE, 262d522f475SmrgCASE_GROUND_STATE, 263d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 264d522f475SmrgCASE_HTS, 265d522f475SmrgCASE_GROUND_STATE, 266d522f475SmrgCASE_GROUND_STATE, 267d522f475SmrgCASE_GROUND_STATE, 268d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 269d522f475SmrgCASE_GROUND_STATE, 270d522f475SmrgCASE_RI, 271d522f475SmrgCASE_SS2, 272d522f475SmrgCASE_SS3, 273d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 274d522f475SmrgCASE_DCS, 275d522f475SmrgCASE_GROUND_STATE, 276d522f475SmrgCASE_GROUND_STATE, 277d522f475SmrgCASE_GROUND_STATE, 278d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 279d522f475SmrgCASE_GROUND_STATE, 280d522f475SmrgCASE_GROUND_STATE, 281d522f475SmrgCASE_SPA, 282d522f475SmrgCASE_EPA, 283d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 284d522f475SmrgCASE_SOS, 285d522f475SmrgCASE_GROUND_STATE, 286d522f475SmrgCASE_DECID, 287d522f475SmrgCASE_CSI_STATE, 288d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 289d522f475SmrgCASE_ST, 290d522f475SmrgCASE_OSC, 291d522f475SmrgCASE_PM, 292d522f475SmrgCASE_APC, 293d522f475Smrg/* nobreakspace exclamdown cent sterling */ 294d522f475SmrgCASE_PRINT, 295d522f475SmrgCASE_PRINT, 296d522f475SmrgCASE_PRINT, 297d522f475SmrgCASE_PRINT, 298d522f475Smrg/* currency yen brokenbar section */ 299d522f475SmrgCASE_PRINT, 300d522f475SmrgCASE_PRINT, 301d522f475SmrgCASE_PRINT, 302d522f475SmrgCASE_PRINT, 303d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 304d522f475SmrgCASE_PRINT, 305d522f475SmrgCASE_PRINT, 306d522f475SmrgCASE_PRINT, 307d522f475SmrgCASE_PRINT, 308d522f475Smrg/* notsign hyphen registered macron */ 309d522f475SmrgCASE_PRINT, 310d522f475SmrgCASE_PRINT, 311d522f475SmrgCASE_PRINT, 312d522f475SmrgCASE_PRINT, 313d522f475Smrg/* degree plusminus twosuperior threesuperior */ 314d522f475SmrgCASE_PRINT, 315d522f475SmrgCASE_PRINT, 316d522f475SmrgCASE_PRINT, 317d522f475SmrgCASE_PRINT, 318d522f475Smrg/* acute mu paragraph periodcentered */ 319d522f475SmrgCASE_PRINT, 320d522f475SmrgCASE_PRINT, 321d522f475SmrgCASE_PRINT, 322d522f475SmrgCASE_PRINT, 323d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 324d522f475SmrgCASE_PRINT, 325d522f475SmrgCASE_PRINT, 326d522f475SmrgCASE_PRINT, 327d522f475SmrgCASE_PRINT, 328d522f475Smrg/* onequarter onehalf threequarters questiondown */ 329d522f475SmrgCASE_PRINT, 330d522f475SmrgCASE_PRINT, 331d522f475SmrgCASE_PRINT, 332d522f475SmrgCASE_PRINT, 333d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 334d522f475SmrgCASE_PRINT, 335d522f475SmrgCASE_PRINT, 336d522f475SmrgCASE_PRINT, 337d522f475SmrgCASE_PRINT, 338d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 339d522f475SmrgCASE_PRINT, 340d522f475SmrgCASE_PRINT, 341d522f475SmrgCASE_PRINT, 342d522f475SmrgCASE_PRINT, 343d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 344d522f475SmrgCASE_PRINT, 345d522f475SmrgCASE_PRINT, 346d522f475SmrgCASE_PRINT, 347d522f475SmrgCASE_PRINT, 348d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 349d522f475SmrgCASE_PRINT, 350d522f475SmrgCASE_PRINT, 351d522f475SmrgCASE_PRINT, 352d522f475SmrgCASE_PRINT, 353d522f475Smrg/* Eth Ntilde Ograve Oacute */ 354d522f475SmrgCASE_PRINT, 355d522f475SmrgCASE_PRINT, 356d522f475SmrgCASE_PRINT, 357d522f475SmrgCASE_PRINT, 358d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 359d522f475SmrgCASE_PRINT, 360d522f475SmrgCASE_PRINT, 361d522f475SmrgCASE_PRINT, 362d522f475SmrgCASE_PRINT, 363d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 364d522f475SmrgCASE_PRINT, 365d522f475SmrgCASE_PRINT, 366d522f475SmrgCASE_PRINT, 367d522f475SmrgCASE_PRINT, 368d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 369d522f475SmrgCASE_PRINT, 370d522f475SmrgCASE_PRINT, 371d522f475SmrgCASE_PRINT, 372d522f475SmrgCASE_PRINT, 373d522f475Smrg/* agrave aacute acircumflex atilde */ 374d522f475SmrgCASE_PRINT, 375d522f475SmrgCASE_PRINT, 376d522f475SmrgCASE_PRINT, 377d522f475SmrgCASE_PRINT, 378d522f475Smrg/* adiaeresis aring ae ccedilla */ 379d522f475SmrgCASE_PRINT, 380d522f475SmrgCASE_PRINT, 381d522f475SmrgCASE_PRINT, 382d522f475SmrgCASE_PRINT, 383d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 384d522f475SmrgCASE_PRINT, 385d522f475SmrgCASE_PRINT, 386d522f475SmrgCASE_PRINT, 387d522f475SmrgCASE_PRINT, 388d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 389d522f475SmrgCASE_PRINT, 390d522f475SmrgCASE_PRINT, 391d522f475SmrgCASE_PRINT, 392d522f475SmrgCASE_PRINT, 393d522f475Smrg/* eth ntilde ograve oacute */ 394d522f475SmrgCASE_PRINT, 395d522f475SmrgCASE_PRINT, 396d522f475SmrgCASE_PRINT, 397d522f475SmrgCASE_PRINT, 398d522f475Smrg/* ocircumflex otilde odiaeresis division */ 399d522f475SmrgCASE_PRINT, 400d522f475SmrgCASE_PRINT, 401d522f475SmrgCASE_PRINT, 402d522f475SmrgCASE_PRINT, 403d522f475Smrg/* oslash ugrave uacute ucircumflex */ 404d522f475SmrgCASE_PRINT, 405d522f475SmrgCASE_PRINT, 406d522f475SmrgCASE_PRINT, 407d522f475SmrgCASE_PRINT, 408d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 409d522f475SmrgCASE_PRINT, 410d522f475SmrgCASE_PRINT, 411d522f475SmrgCASE_PRINT, 412d522f475SmrgCASE_PRINT, 413d522f475Smrg}; 414d522f475Smrg 415d522f475SmrgConst PARSE_T csi_table[] = /* CSI */ 416d522f475Smrg{ 417d522f475Smrg/* NUL SOH STX ETX */ 418d522f475SmrgCASE_IGNORE, 419d522f475SmrgCASE_IGNORE, 420d522f475SmrgCASE_IGNORE, 421d522f475SmrgCASE_IGNORE, 422d522f475Smrg/* EOT ENQ ACK BEL */ 423d522f475SmrgCASE_IGNORE, 424d522f475SmrgCASE_ENQ, 425d522f475SmrgCASE_IGNORE, 426d522f475SmrgCASE_BELL, 427d522f475Smrg/* BS HT NL VT */ 428d522f475SmrgCASE_BS, 429d522f475SmrgCASE_TAB, 430d522f475SmrgCASE_VMOT, 431d522f475SmrgCASE_VMOT, 4320bd37d32Smrg/* FF CR SO SI */ 433d522f475SmrgCASE_VMOT, 434d522f475SmrgCASE_CR, 435d522f475SmrgCASE_SO, 436d522f475SmrgCASE_SI, 437d522f475Smrg/* DLE DC1 DC2 DC3 */ 438d522f475SmrgCASE_IGNORE, 439d522f475SmrgCASE_IGNORE, 440d522f475SmrgCASE_IGNORE, 441d522f475SmrgCASE_IGNORE, 442d522f475Smrg/* DC4 NAK SYN ETB */ 443d522f475SmrgCASE_IGNORE, 444d522f475SmrgCASE_IGNORE, 445d522f475SmrgCASE_IGNORE, 446d522f475SmrgCASE_IGNORE, 447d522f475Smrg/* CAN EM SUB ESC */ 448d522f475SmrgCASE_GROUND_STATE, 449d522f475SmrgCASE_IGNORE, 450d522f475SmrgCASE_GROUND_STATE, 451d522f475SmrgCASE_ESC, 452d522f475Smrg/* FS GS RS US */ 453d522f475SmrgCASE_IGNORE, 454d522f475SmrgCASE_IGNORE, 455d522f475SmrgCASE_IGNORE, 456d522f475SmrgCASE_IGNORE, 457d522f475Smrg/* SP ! " # */ 45820d2c4d2SmrgCASE_CSI_SPACE_STATE, 459d522f475SmrgCASE_CSI_EX_STATE, 460d522f475SmrgCASE_CSI_QUOTE_STATE, 461d522f475SmrgCASE_CSI_IGNORE, 462d522f475Smrg/* $ % & ' */ 46301037d57SmrgCASE_CSI_DOLLAR_STATE, 464d522f475SmrgCASE_CSI_IGNORE, 465d522f475SmrgCASE_CSI_IGNORE, 466d522f475SmrgCASE_CSI_TICK_STATE, 467d522f475Smrg/* ( ) * + */ 468d522f475SmrgCASE_CSI_IGNORE, 469d522f475SmrgCASE_CSI_IGNORE, 470d522f475SmrgCASE_CSI_IGNORE, 471d522f475SmrgCASE_CSI_IGNORE, 472d522f475Smrg/* , - . / */ 473d522f475SmrgCASE_CSI_IGNORE, 474d522f475SmrgCASE_CSI_IGNORE, 475d522f475SmrgCASE_CSI_IGNORE, 476d522f475SmrgCASE_CSI_IGNORE, 477d522f475Smrg/* 0 1 2 3 */ 478d522f475SmrgCASE_ESC_DIGIT, 479d522f475SmrgCASE_ESC_DIGIT, 480d522f475SmrgCASE_ESC_DIGIT, 481d522f475SmrgCASE_ESC_DIGIT, 482d522f475Smrg/* 4 5 6 7 */ 483d522f475SmrgCASE_ESC_DIGIT, 484d522f475SmrgCASE_ESC_DIGIT, 485d522f475SmrgCASE_ESC_DIGIT, 486d522f475SmrgCASE_ESC_DIGIT, 487d522f475Smrg/* 8 9 : ; */ 488d522f475SmrgCASE_ESC_DIGIT, 489d522f475SmrgCASE_ESC_DIGIT, 4900bd37d32SmrgCASE_ESC_COLON, 491d522f475SmrgCASE_ESC_SEMI, 492d522f475Smrg/* < = > ? */ 493d522f475SmrgCASE_CSI_IGNORE, 494d522f475SmrgCASE_DEC3_STATE, 495d522f475SmrgCASE_DEC2_STATE, 496d522f475SmrgCASE_DEC_STATE, 497d522f475Smrg/* @ A B C */ 498d522f475SmrgCASE_ICH, 499d522f475SmrgCASE_CUU, 500d522f475SmrgCASE_CUD, 501d522f475SmrgCASE_CUF, 502d522f475Smrg/* D E F G */ 503d522f475SmrgCASE_CUB, 504d522f475SmrgCASE_CNL, 505d522f475SmrgCASE_CPL, 506d522f475SmrgCASE_HPA, 507d522f475Smrg/* H I J K */ 508d522f475SmrgCASE_CUP, 509d522f475SmrgCASE_CHT, 510d522f475SmrgCASE_ED, 511d522f475SmrgCASE_EL, 512d522f475Smrg/* L M N O */ 513d522f475SmrgCASE_IL, 514d522f475SmrgCASE_DL, 515d522f475SmrgCASE_GROUND_STATE, 516d522f475SmrgCASE_GROUND_STATE, 517d522f475Smrg/* P Q R S */ 518d522f475SmrgCASE_DCH, 519d522f475SmrgCASE_GROUND_STATE, 520d522f475SmrgCASE_GROUND_STATE, 521d522f475SmrgCASE_SU, 522d522f475Smrg/* T U V W */ 523d522f475SmrgCASE_TRACK_MOUSE, 524d522f475SmrgCASE_GROUND_STATE, 525d522f475SmrgCASE_GROUND_STATE, 526d522f475SmrgCASE_GROUND_STATE, 527d522f475Smrg/* X Y Z [ */ 528d522f475SmrgCASE_ECH, 529d522f475SmrgCASE_GROUND_STATE, 530d522f475SmrgCASE_CBT, 531d522f475SmrgCASE_GROUND_STATE, 532d522f475Smrg/* \ ] ^ _ */ 533d522f475SmrgCASE_GROUND_STATE, 534d522f475SmrgCASE_GROUND_STATE, 535d522f475SmrgCASE_GROUND_STATE, 536d522f475SmrgCASE_GROUND_STATE, 537d522f475Smrg/* ` a b c */ 538d522f475SmrgCASE_HPA, 5390bd37d32SmrgCASE_HPR, 540d522f475SmrgCASE_REP, 541d522f475SmrgCASE_DA1, 542d522f475Smrg/* d e f g */ 543d522f475SmrgCASE_VPA, 5440bd37d32SmrgCASE_VPR, 545d522f475SmrgCASE_CUP, 546d522f475SmrgCASE_TBC, 547d522f475Smrg/* h i j k */ 548d522f475SmrgCASE_SET, 549d522f475SmrgCASE_MC, 550d522f475SmrgCASE_GROUND_STATE, 551d522f475SmrgCASE_GROUND_STATE, 552d522f475Smrg/* l m n o */ 553d522f475SmrgCASE_RST, 554d522f475SmrgCASE_SGR, 555d522f475SmrgCASE_CPR, 556d522f475SmrgCASE_GROUND_STATE, 557d522f475Smrg/* p q r s */ 558d522f475SmrgCASE_GROUND_STATE, 55920d2c4d2SmrgCASE_DECLL, 560d522f475SmrgCASE_DECSTBM, 5610bd37d32SmrgCASE_ANSI_SC, 562d522f475Smrg/* t u v w */ 563d522f475SmrgCASE_XTERM_WINOPS, 5640bd37d32SmrgCASE_ANSI_RC, 565d522f475SmrgCASE_GROUND_STATE, 566d522f475SmrgCASE_GROUND_STATE, 567d522f475Smrg/* x y z { */ 568d522f475SmrgCASE_DECREQTPARM, 569d522f475SmrgCASE_GROUND_STATE, 570d522f475SmrgCASE_GROUND_STATE, 571d522f475SmrgCASE_GROUND_STATE, 572d522f475Smrg/* | } ~ DEL */ 573d522f475SmrgCASE_GROUND_STATE, 574d522f475SmrgCASE_GROUND_STATE, 575d522f475SmrgCASE_GROUND_STATE, 576d522f475SmrgCASE_IGNORE, 577d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 578d522f475SmrgCASE_GROUND_STATE, 579d522f475SmrgCASE_GROUND_STATE, 580d522f475SmrgCASE_GROUND_STATE, 581d522f475SmrgCASE_GROUND_STATE, 582d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 583d522f475SmrgCASE_IND, 584d522f475SmrgCASE_NEL, 585d522f475SmrgCASE_GROUND_STATE, 586d522f475SmrgCASE_GROUND_STATE, 587d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 588d522f475SmrgCASE_HTS, 589d522f475SmrgCASE_GROUND_STATE, 590d522f475SmrgCASE_GROUND_STATE, 591d522f475SmrgCASE_GROUND_STATE, 592d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 593d522f475SmrgCASE_GROUND_STATE, 594d522f475SmrgCASE_RI, 595d522f475SmrgCASE_SS2, 596d522f475SmrgCASE_SS3, 597d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 598d522f475SmrgCASE_DCS, 599d522f475SmrgCASE_GROUND_STATE, 600d522f475SmrgCASE_GROUND_STATE, 601d522f475SmrgCASE_GROUND_STATE, 602d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 603d522f475SmrgCASE_GROUND_STATE, 604d522f475SmrgCASE_GROUND_STATE, 605d522f475SmrgCASE_SPA, 606d522f475SmrgCASE_EPA, 607d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 608d522f475SmrgCASE_SOS, 609d522f475SmrgCASE_GROUND_STATE, 610d522f475SmrgCASE_DECID, 611d522f475SmrgCASE_CSI_STATE, 612d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 613d522f475SmrgCASE_ST, 614d522f475SmrgCASE_OSC, 615d522f475SmrgCASE_PM, 616d522f475SmrgCASE_APC, 617d522f475Smrg/* nobreakspace exclamdown cent sterling */ 61820d2c4d2SmrgCASE_CSI_SPACE_STATE, 619d522f475SmrgCASE_CSI_EX_STATE, 620d522f475SmrgCASE_CSI_QUOTE_STATE, 621d522f475SmrgCASE_CSI_IGNORE, 622d522f475Smrg/* currency yen brokenbar section */ 62301037d57SmrgCASE_CSI_DOLLAR_STATE, 624d522f475SmrgCASE_CSI_IGNORE, 625d522f475SmrgCASE_CSI_IGNORE, 626d522f475SmrgCASE_CSI_TICK_STATE, 627d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 628d522f475SmrgCASE_CSI_IGNORE, 629d522f475SmrgCASE_CSI_IGNORE, 630d522f475SmrgCASE_CSI_IGNORE, 631d522f475SmrgCASE_CSI_IGNORE, 632d522f475Smrg/* notsign hyphen registered macron */ 633d522f475SmrgCASE_CSI_IGNORE, 634d522f475SmrgCASE_CSI_IGNORE, 635d522f475SmrgCASE_CSI_IGNORE, 636d522f475SmrgCASE_CSI_IGNORE, 637d522f475Smrg/* degree plusminus twosuperior threesuperior */ 638d522f475SmrgCASE_ESC_DIGIT, 639d522f475SmrgCASE_ESC_DIGIT, 640d522f475SmrgCASE_ESC_DIGIT, 641d522f475SmrgCASE_ESC_DIGIT, 642d522f475Smrg/* acute mu paragraph periodcentered */ 643d522f475SmrgCASE_ESC_DIGIT, 644d522f475SmrgCASE_ESC_DIGIT, 645d522f475SmrgCASE_ESC_DIGIT, 646d522f475SmrgCASE_ESC_DIGIT, 647d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 648d522f475SmrgCASE_ESC_DIGIT, 649d522f475SmrgCASE_ESC_DIGIT, 6500bd37d32SmrgCASE_ESC_COLON, 651d522f475SmrgCASE_ESC_SEMI, 652d522f475Smrg/* onequarter onehalf threequarters questiondown */ 653d522f475SmrgCASE_CSI_IGNORE, 654d522f475SmrgCASE_DEC3_STATE, 655d522f475SmrgCASE_DEC2_STATE, 656d522f475SmrgCASE_DEC_STATE, 657d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 658d522f475SmrgCASE_ICH, 659d522f475SmrgCASE_CUU, 660d522f475SmrgCASE_CUD, 661d522f475SmrgCASE_CUF, 662d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 663d522f475SmrgCASE_CUB, 664d522f475SmrgCASE_CNL, 665d522f475SmrgCASE_CPL, 666d522f475SmrgCASE_HPA, 667d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 668d522f475SmrgCASE_CUP, 669d522f475SmrgCASE_CHT, 670d522f475SmrgCASE_ED, 671d522f475SmrgCASE_EL, 672d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 673d522f475SmrgCASE_IL, 674d522f475SmrgCASE_DL, 675d522f475SmrgCASE_GROUND_STATE, 676d522f475SmrgCASE_GROUND_STATE, 677d522f475Smrg/* Eth Ntilde Ograve Oacute */ 678d522f475SmrgCASE_DCH, 679d522f475SmrgCASE_GROUND_STATE, 680d522f475SmrgCASE_GROUND_STATE, 681d522f475SmrgCASE_SU, 682d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 683d522f475SmrgCASE_TRACK_MOUSE, 684d522f475SmrgCASE_GROUND_STATE, 685d522f475SmrgCASE_GROUND_STATE, 686d522f475SmrgCASE_GROUND_STATE, 687d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 688d522f475SmrgCASE_ECH, 689d522f475SmrgCASE_GROUND_STATE, 690d522f475SmrgCASE_CBT, 691d522f475SmrgCASE_GROUND_STATE, 692d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 693d522f475SmrgCASE_GROUND_STATE, 694d522f475SmrgCASE_GROUND_STATE, 695d522f475SmrgCASE_GROUND_STATE, 696d522f475SmrgCASE_GROUND_STATE, 697d522f475Smrg/* agrave aacute acircumflex atilde */ 698d522f475SmrgCASE_HPA, 6990bd37d32SmrgCASE_HPR, 700d522f475SmrgCASE_REP, 701d522f475SmrgCASE_DA1, 702d522f475Smrg/* adiaeresis aring ae ccedilla */ 703d522f475SmrgCASE_VPA, 7040bd37d32SmrgCASE_VPR, 705d522f475SmrgCASE_CUP, 706d522f475SmrgCASE_TBC, 707d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 708d522f475SmrgCASE_SET, 709d522f475SmrgCASE_MC, 710d522f475SmrgCASE_GROUND_STATE, 711d522f475SmrgCASE_GROUND_STATE, 712d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 713d522f475SmrgCASE_RST, 714d522f475SmrgCASE_SGR, 715d522f475SmrgCASE_CPR, 716d522f475SmrgCASE_GROUND_STATE, 717d522f475Smrg/* eth ntilde ograve oacute */ 718d522f475SmrgCASE_GROUND_STATE, 71920d2c4d2SmrgCASE_DECLL, 720d522f475SmrgCASE_DECSTBM, 7210bd37d32SmrgCASE_ANSI_SC, 722d522f475Smrg/* ocircumflex otilde odiaeresis division */ 723d522f475SmrgCASE_XTERM_WINOPS, 7240bd37d32SmrgCASE_ANSI_RC, 725d522f475SmrgCASE_GROUND_STATE, 726d522f475SmrgCASE_GROUND_STATE, 727d522f475Smrg/* oslash ugrave uacute ucircumflex */ 728d522f475SmrgCASE_DECREQTPARM, 729d522f475SmrgCASE_GROUND_STATE, 730d522f475SmrgCASE_GROUND_STATE, 731d522f475SmrgCASE_GROUND_STATE, 732d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 733d522f475SmrgCASE_GROUND_STATE, 734d522f475SmrgCASE_GROUND_STATE, 735d522f475SmrgCASE_GROUND_STATE, 736d522f475SmrgCASE_IGNORE, 737d522f475Smrg}; 738d522f475Smrg 739d522f475SmrgConst PARSE_T csi2_table[] = /* CSI */ 740d522f475Smrg{ 741d522f475Smrg/* NUL SOH STX ETX */ 742d522f475SmrgCASE_IGNORE, 743d522f475SmrgCASE_IGNORE, 744d522f475SmrgCASE_IGNORE, 745d522f475SmrgCASE_IGNORE, 746d522f475Smrg/* EOT ENQ ACK BEL */ 747d522f475SmrgCASE_IGNORE, 748d522f475SmrgCASE_ENQ, 749d522f475SmrgCASE_IGNORE, 750d522f475SmrgCASE_BELL, 751d522f475Smrg/* BS HT NL VT */ 752d522f475SmrgCASE_BS, 753d522f475SmrgCASE_TAB, 754d522f475SmrgCASE_VMOT, 755d522f475SmrgCASE_VMOT, 7560bd37d32Smrg/* FF CR SO SI */ 757d522f475SmrgCASE_VMOT, 758d522f475SmrgCASE_CR, 759d522f475SmrgCASE_SO, 760d522f475SmrgCASE_SI, 761d522f475Smrg/* DLE DC1 DC2 DC3 */ 762d522f475SmrgCASE_IGNORE, 763d522f475SmrgCASE_IGNORE, 764d522f475SmrgCASE_IGNORE, 765d522f475SmrgCASE_IGNORE, 766d522f475Smrg/* DC4 NAK SYN ETB */ 767d522f475SmrgCASE_IGNORE, 768d522f475SmrgCASE_IGNORE, 769d522f475SmrgCASE_IGNORE, 770d522f475SmrgCASE_IGNORE, 771d522f475Smrg/* CAN EM SUB ESC */ 772d522f475SmrgCASE_GROUND_STATE, 773d522f475SmrgCASE_IGNORE, 774d522f475SmrgCASE_GROUND_STATE, 775d522f475SmrgCASE_ESC, 776d522f475Smrg/* FS GS RS US */ 777d522f475SmrgCASE_IGNORE, 778d522f475SmrgCASE_IGNORE, 779d522f475SmrgCASE_IGNORE, 780d522f475SmrgCASE_IGNORE, 781d522f475Smrg/* SP ! " # */ 78220d2c4d2SmrgCASE_CSI_SPACE_STATE, 783d522f475SmrgCASE_CSI_EX_STATE, 784d522f475SmrgCASE_CSI_QUOTE_STATE, 785d522f475SmrgCASE_CSI_IGNORE, 786d522f475Smrg/* $ % & ' */ 787d522f475SmrgCASE_CSI_DOLLAR_STATE, 788d522f475SmrgCASE_CSI_IGNORE, 789d522f475SmrgCASE_CSI_IGNORE, 790d522f475SmrgCASE_CSI_TICK_STATE, 791d522f475Smrg/* ( ) * + */ 792d522f475SmrgCASE_CSI_IGNORE, 793d522f475SmrgCASE_CSI_IGNORE, 794d522f475SmrgCASE_CSI_STAR_STATE, 795d522f475SmrgCASE_CSI_IGNORE, 796d522f475Smrg/* , - . / */ 797d522f475SmrgCASE_CSI_IGNORE, 798d522f475SmrgCASE_CSI_IGNORE, 799d522f475SmrgCASE_CSI_IGNORE, 800d522f475SmrgCASE_CSI_IGNORE, 801d522f475Smrg/* 0 1 2 3 */ 802d522f475SmrgCASE_ESC_DIGIT, 803d522f475SmrgCASE_ESC_DIGIT, 804d522f475SmrgCASE_ESC_DIGIT, 805d522f475SmrgCASE_ESC_DIGIT, 806d522f475Smrg/* 4 5 6 7 */ 807d522f475SmrgCASE_ESC_DIGIT, 808d522f475SmrgCASE_ESC_DIGIT, 809d522f475SmrgCASE_ESC_DIGIT, 810d522f475SmrgCASE_ESC_DIGIT, 811d522f475Smrg/* 8 9 : ; */ 812d522f475SmrgCASE_ESC_DIGIT, 813d522f475SmrgCASE_ESC_DIGIT, 8140bd37d32SmrgCASE_ESC_COLON, 815d522f475SmrgCASE_ESC_SEMI, 816d522f475Smrg/* < = > ? */ 817d522f475SmrgCASE_CSI_IGNORE, 818d522f475SmrgCASE_CSI_IGNORE, 819d522f475SmrgCASE_CSI_IGNORE, 820d522f475SmrgCASE_CSI_IGNORE, 821d522f475Smrg/* @ A B C */ 822d522f475SmrgCASE_ICH, 823d522f475SmrgCASE_CUU, 824d522f475SmrgCASE_CUD, 825d522f475SmrgCASE_CUF, 826d522f475Smrg/* D E F G */ 827d522f475SmrgCASE_CUB, 828d522f475SmrgCASE_CNL, 829d522f475SmrgCASE_CPL, 830d522f475SmrgCASE_HPA, 831d522f475Smrg/* H I J K */ 832d522f475SmrgCASE_CUP, 833d522f475SmrgCASE_CHT, 834d522f475SmrgCASE_ED, 835d522f475SmrgCASE_EL, 836d522f475Smrg/* L M N O */ 837d522f475SmrgCASE_IL, 838d522f475SmrgCASE_DL, 839d522f475SmrgCASE_GROUND_STATE, 840d522f475SmrgCASE_GROUND_STATE, 841d522f475Smrg/* P Q R S */ 842d522f475SmrgCASE_DCH, 843d522f475SmrgCASE_GROUND_STATE, 844d522f475SmrgCASE_GROUND_STATE, 845d522f475SmrgCASE_SU, 846d522f475Smrg/* T U V W */ 847d522f475SmrgCASE_TRACK_MOUSE, 848d522f475SmrgCASE_GROUND_STATE, 849d522f475SmrgCASE_GROUND_STATE, 850d522f475SmrgCASE_GROUND_STATE, 851d522f475Smrg/* X Y Z [ */ 852d522f475SmrgCASE_ECH, 853d522f475SmrgCASE_GROUND_STATE, 854d522f475SmrgCASE_CBT, 855d522f475SmrgCASE_GROUND_STATE, 856d522f475Smrg/* \ ] ^ _ */ 857d522f475SmrgCASE_GROUND_STATE, 858d522f475SmrgCASE_GROUND_STATE, 859d522f475SmrgCASE_GROUND_STATE, 860d522f475SmrgCASE_GROUND_STATE, 861d522f475Smrg/* ` a b c */ 862d522f475SmrgCASE_HPA, 8630bd37d32SmrgCASE_HPR, 864d522f475SmrgCASE_REP, 865d522f475SmrgCASE_DA1, 866d522f475Smrg/* d e f g */ 867d522f475SmrgCASE_VPA, 8680bd37d32SmrgCASE_VPR, 869d522f475SmrgCASE_CUP, 870d522f475SmrgCASE_TBC, 871d522f475Smrg/* h i j k */ 872d522f475SmrgCASE_SET, 873d522f475SmrgCASE_MC, 874d522f475SmrgCASE_GROUND_STATE, 875d522f475SmrgCASE_GROUND_STATE, 876d522f475Smrg/* l m n o */ 877d522f475SmrgCASE_RST, 878d522f475SmrgCASE_SGR, 879d522f475SmrgCASE_CPR, 880d522f475SmrgCASE_GROUND_STATE, 881d522f475Smrg/* p q r s */ 882d522f475SmrgCASE_GROUND_STATE, 88320d2c4d2SmrgCASE_DECLL, 884d522f475SmrgCASE_DECSTBM, 8850bd37d32SmrgCASE_ANSI_SC, 886d522f475Smrg/* t u v w */ 887d522f475SmrgCASE_XTERM_WINOPS, 8880bd37d32SmrgCASE_ANSI_RC, 889d522f475SmrgCASE_GROUND_STATE, 890d522f475SmrgCASE_GROUND_STATE, 891d522f475Smrg/* x y z { */ 892d522f475SmrgCASE_DECREQTPARM, 893d522f475SmrgCASE_GROUND_STATE, 894d522f475SmrgCASE_GROUND_STATE, 895d522f475SmrgCASE_GROUND_STATE, 896d522f475Smrg/* | } ~ DEL */ 897d522f475SmrgCASE_GROUND_STATE, 898d522f475SmrgCASE_GROUND_STATE, 899d522f475SmrgCASE_GROUND_STATE, 900d522f475SmrgCASE_IGNORE, 901d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 902d522f475SmrgCASE_GROUND_STATE, 903d522f475SmrgCASE_GROUND_STATE, 904d522f475SmrgCASE_GROUND_STATE, 905d522f475SmrgCASE_GROUND_STATE, 906d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 907d522f475SmrgCASE_IND, 908d522f475SmrgCASE_NEL, 909d522f475SmrgCASE_GROUND_STATE, 910d522f475SmrgCASE_GROUND_STATE, 911d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 912d522f475SmrgCASE_HTS, 913d522f475SmrgCASE_GROUND_STATE, 914d522f475SmrgCASE_GROUND_STATE, 915d522f475SmrgCASE_GROUND_STATE, 916d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 917d522f475SmrgCASE_GROUND_STATE, 918d522f475SmrgCASE_RI, 919d522f475SmrgCASE_SS2, 920d522f475SmrgCASE_SS3, 921d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 922d522f475SmrgCASE_DCS, 923d522f475SmrgCASE_GROUND_STATE, 924d522f475SmrgCASE_GROUND_STATE, 925d522f475SmrgCASE_GROUND_STATE, 926d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 927d522f475SmrgCASE_GROUND_STATE, 928d522f475SmrgCASE_GROUND_STATE, 929d522f475SmrgCASE_SPA, 930d522f475SmrgCASE_EPA, 931d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 932d522f475SmrgCASE_SOS, 933d522f475SmrgCASE_GROUND_STATE, 934d522f475SmrgCASE_DECID, 935d522f475SmrgCASE_CSI_STATE, 936d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 937d522f475SmrgCASE_ST, 938d522f475SmrgCASE_OSC, 939d522f475SmrgCASE_PM, 940d522f475SmrgCASE_APC, 941d522f475Smrg/* nobreakspace exclamdown cent sterling */ 94220d2c4d2SmrgCASE_CSI_SPACE_STATE, 943d522f475SmrgCASE_CSI_EX_STATE, 944d522f475SmrgCASE_CSI_QUOTE_STATE, 945d522f475SmrgCASE_CSI_IGNORE, 946d522f475Smrg/* currency yen brokenbar section */ 947492d43a5SmrgCASE_CSI_DOLLAR_STATE, 948d522f475SmrgCASE_CSI_IGNORE, 949d522f475SmrgCASE_CSI_IGNORE, 950d522f475SmrgCASE_CSI_TICK_STATE, 951d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 952d522f475SmrgCASE_CSI_IGNORE, 953d522f475SmrgCASE_CSI_IGNORE, 954492d43a5SmrgCASE_CSI_STAR_STATE, 955d522f475SmrgCASE_CSI_IGNORE, 956d522f475Smrg/* notsign hyphen registered macron */ 957d522f475SmrgCASE_CSI_IGNORE, 958d522f475SmrgCASE_CSI_IGNORE, 959d522f475SmrgCASE_CSI_IGNORE, 960d522f475SmrgCASE_CSI_IGNORE, 961d522f475Smrg/* degree plusminus twosuperior threesuperior */ 962d522f475SmrgCASE_ESC_DIGIT, 963d522f475SmrgCASE_ESC_DIGIT, 964d522f475SmrgCASE_ESC_DIGIT, 965d522f475SmrgCASE_ESC_DIGIT, 966d522f475Smrg/* acute mu paragraph periodcentered */ 967d522f475SmrgCASE_ESC_DIGIT, 968d522f475SmrgCASE_ESC_DIGIT, 969d522f475SmrgCASE_ESC_DIGIT, 970d522f475SmrgCASE_ESC_DIGIT, 971d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 972d522f475SmrgCASE_ESC_DIGIT, 973d522f475SmrgCASE_ESC_DIGIT, 9740bd37d32SmrgCASE_ESC_COLON, 975d522f475SmrgCASE_ESC_SEMI, 976d522f475Smrg/* onequarter onehalf threequarters questiondown */ 977d522f475SmrgCASE_CSI_IGNORE, 978d522f475SmrgCASE_CSI_IGNORE, 979d522f475SmrgCASE_CSI_IGNORE, 980d522f475SmrgCASE_CSI_IGNORE, 981d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 982d522f475SmrgCASE_ICH, 983d522f475SmrgCASE_CUU, 984d522f475SmrgCASE_CUD, 985d522f475SmrgCASE_CUF, 986d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 987d522f475SmrgCASE_CUB, 988d522f475SmrgCASE_CNL, 989d522f475SmrgCASE_CPL, 990d522f475SmrgCASE_HPA, 991d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 992d522f475SmrgCASE_CUP, 993d522f475SmrgCASE_CHT, 994d522f475SmrgCASE_ED, 995d522f475SmrgCASE_EL, 996d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 997d522f475SmrgCASE_IL, 998d522f475SmrgCASE_DL, 999d522f475SmrgCASE_GROUND_STATE, 1000d522f475SmrgCASE_GROUND_STATE, 1001d522f475Smrg/* Eth Ntilde Ograve Oacute */ 1002d522f475SmrgCASE_DCH, 1003d522f475SmrgCASE_GROUND_STATE, 1004d522f475SmrgCASE_GROUND_STATE, 1005d522f475SmrgCASE_SU, 1006d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 1007d522f475SmrgCASE_TRACK_MOUSE, 1008d522f475SmrgCASE_GROUND_STATE, 1009d522f475SmrgCASE_GROUND_STATE, 1010d522f475SmrgCASE_GROUND_STATE, 1011d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 1012d522f475SmrgCASE_ECH, 1013d522f475SmrgCASE_GROUND_STATE, 1014d522f475SmrgCASE_CBT, 1015d522f475SmrgCASE_GROUND_STATE, 1016d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 1017d522f475SmrgCASE_GROUND_STATE, 1018d522f475SmrgCASE_GROUND_STATE, 1019d522f475SmrgCASE_GROUND_STATE, 1020d522f475SmrgCASE_GROUND_STATE, 1021d522f475Smrg/* agrave aacute acircumflex atilde */ 1022d522f475SmrgCASE_HPA, 10230bd37d32SmrgCASE_HPR, 1024d522f475SmrgCASE_REP, 1025d522f475SmrgCASE_DA1, 1026d522f475Smrg/* adiaeresis aring ae ccedilla */ 1027d522f475SmrgCASE_VPA, 10280bd37d32SmrgCASE_VPR, 1029d522f475SmrgCASE_CUP, 1030d522f475SmrgCASE_TBC, 1031d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 1032d522f475SmrgCASE_SET, 1033d522f475SmrgCASE_MC, 1034d522f475SmrgCASE_GROUND_STATE, 1035d522f475SmrgCASE_GROUND_STATE, 1036d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 1037d522f475SmrgCASE_RST, 1038d522f475SmrgCASE_SGR, 1039d522f475SmrgCASE_CPR, 1040d522f475SmrgCASE_GROUND_STATE, 1041d522f475Smrg/* eth ntilde ograve oacute */ 1042d522f475SmrgCASE_GROUND_STATE, 104320d2c4d2SmrgCASE_DECLL, 1044d522f475SmrgCASE_DECSTBM, 10450bd37d32SmrgCASE_ANSI_SC, 1046d522f475Smrg/* ocircumflex otilde odiaeresis division */ 1047d522f475SmrgCASE_XTERM_WINOPS, 10480bd37d32SmrgCASE_ANSI_RC, 1049d522f475SmrgCASE_GROUND_STATE, 1050d522f475SmrgCASE_GROUND_STATE, 1051d522f475Smrg/* oslash ugrave uacute ucircumflex */ 1052d522f475SmrgCASE_DECREQTPARM, 1053d522f475SmrgCASE_GROUND_STATE, 1054d522f475SmrgCASE_GROUND_STATE, 1055d522f475SmrgCASE_GROUND_STATE, 1056d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 1057d522f475SmrgCASE_GROUND_STATE, 1058d522f475SmrgCASE_GROUND_STATE, 1059d522f475SmrgCASE_GROUND_STATE, 1060d522f475SmrgCASE_IGNORE, 1061d522f475Smrg}; 1062d522f475Smrg 1063d522f475SmrgConst PARSE_T csi_ex_table[] = /* CSI ! */ 1064d522f475Smrg{ 1065d522f475Smrg/* NUL SOH STX ETX */ 1066d522f475SmrgCASE_IGNORE, 1067d522f475SmrgCASE_IGNORE, 1068d522f475SmrgCASE_IGNORE, 1069d522f475SmrgCASE_IGNORE, 1070d522f475Smrg/* EOT ENQ ACK BEL */ 1071d522f475SmrgCASE_IGNORE, 1072d522f475SmrgCASE_ENQ, 1073d522f475SmrgCASE_IGNORE, 1074d522f475SmrgCASE_BELL, 1075d522f475Smrg/* BS HT NL VT */ 1076d522f475SmrgCASE_BS, 1077d522f475SmrgCASE_TAB, 1078d522f475SmrgCASE_VMOT, 1079d522f475SmrgCASE_VMOT, 10800bd37d32Smrg/* FF CR SO SI */ 1081d522f475SmrgCASE_VMOT, 1082d522f475SmrgCASE_CR, 1083d522f475SmrgCASE_SO, 1084d522f475SmrgCASE_SI, 1085d522f475Smrg/* DLE DC1 DC2 DC3 */ 1086d522f475SmrgCASE_IGNORE, 1087d522f475SmrgCASE_IGNORE, 1088d522f475SmrgCASE_IGNORE, 1089d522f475SmrgCASE_IGNORE, 1090d522f475Smrg/* DC4 NAK SYN ETB */ 1091d522f475SmrgCASE_IGNORE, 1092d522f475SmrgCASE_IGNORE, 1093d522f475SmrgCASE_IGNORE, 1094d522f475SmrgCASE_IGNORE, 1095d522f475Smrg/* CAN EM SUB ESC */ 1096d522f475SmrgCASE_GROUND_STATE, 1097d522f475SmrgCASE_IGNORE, 1098d522f475SmrgCASE_GROUND_STATE, 1099d522f475SmrgCASE_ESC, 1100d522f475Smrg/* FS GS RS US */ 1101d522f475SmrgCASE_IGNORE, 1102d522f475SmrgCASE_IGNORE, 1103d522f475SmrgCASE_IGNORE, 1104d522f475SmrgCASE_IGNORE, 1105d522f475Smrg/* SP ! " # */ 1106d522f475SmrgCASE_CSI_IGNORE, 1107d522f475SmrgCASE_CSI_IGNORE, 1108d522f475SmrgCASE_CSI_IGNORE, 1109d522f475SmrgCASE_CSI_IGNORE, 1110d522f475Smrg/* $ % & ' */ 1111d522f475SmrgCASE_CSI_IGNORE, 1112d522f475SmrgCASE_CSI_IGNORE, 1113d522f475SmrgCASE_CSI_IGNORE, 1114d522f475SmrgCASE_CSI_IGNORE, 1115d522f475Smrg/* ( ) * + */ 1116d522f475SmrgCASE_CSI_IGNORE, 1117d522f475SmrgCASE_CSI_IGNORE, 1118d522f475SmrgCASE_CSI_IGNORE, 1119d522f475SmrgCASE_CSI_IGNORE, 1120d522f475Smrg/* , - . / */ 1121d522f475SmrgCASE_CSI_IGNORE, 1122d522f475SmrgCASE_CSI_IGNORE, 1123d522f475SmrgCASE_CSI_IGNORE, 1124d522f475SmrgCASE_CSI_IGNORE, 1125d522f475Smrg/* 0 1 2 3 */ 1126d522f475SmrgCASE_CSI_IGNORE, 1127d522f475SmrgCASE_CSI_IGNORE, 1128d522f475SmrgCASE_CSI_IGNORE, 1129d522f475SmrgCASE_CSI_IGNORE, 1130d522f475Smrg/* 4 5 6 7 */ 1131d522f475SmrgCASE_CSI_IGNORE, 1132d522f475SmrgCASE_CSI_IGNORE, 1133d522f475SmrgCASE_CSI_IGNORE, 1134d522f475SmrgCASE_CSI_IGNORE, 1135d522f475Smrg/* 8 9 : ; */ 1136d522f475SmrgCASE_CSI_IGNORE, 1137d522f475SmrgCASE_CSI_IGNORE, 1138d522f475SmrgCASE_CSI_IGNORE, 1139d522f475SmrgCASE_CSI_IGNORE, 1140d522f475Smrg/* < = > ? */ 1141d522f475SmrgCASE_CSI_IGNORE, 1142d522f475SmrgCASE_CSI_IGNORE, 1143d522f475SmrgCASE_CSI_IGNORE, 1144d522f475SmrgCASE_CSI_IGNORE, 1145d522f475Smrg/* @ A B C */ 1146d522f475SmrgCASE_GROUND_STATE, 1147d522f475SmrgCASE_GROUND_STATE, 1148d522f475SmrgCASE_GROUND_STATE, 1149d522f475SmrgCASE_GROUND_STATE, 1150d522f475Smrg/* D E F G */ 1151d522f475SmrgCASE_GROUND_STATE, 1152d522f475SmrgCASE_GROUND_STATE, 1153d522f475SmrgCASE_GROUND_STATE, 1154d522f475SmrgCASE_GROUND_STATE, 1155d522f475Smrg/* H I J K */ 1156d522f475SmrgCASE_GROUND_STATE, 1157d522f475SmrgCASE_GROUND_STATE, 1158d522f475SmrgCASE_GROUND_STATE, 1159d522f475SmrgCASE_GROUND_STATE, 1160d522f475Smrg/* L M N O */ 1161d522f475SmrgCASE_GROUND_STATE, 1162d522f475SmrgCASE_GROUND_STATE, 1163d522f475SmrgCASE_GROUND_STATE, 1164d522f475SmrgCASE_GROUND_STATE, 1165d522f475Smrg/* P Q R S */ 1166d522f475SmrgCASE_GROUND_STATE, 1167d522f475SmrgCASE_GROUND_STATE, 1168d522f475SmrgCASE_GROUND_STATE, 1169d522f475SmrgCASE_GROUND_STATE, 1170d522f475Smrg/* T U V W */ 1171d522f475SmrgCASE_GROUND_STATE, 1172d522f475SmrgCASE_GROUND_STATE, 1173d522f475SmrgCASE_GROUND_STATE, 1174d522f475SmrgCASE_GROUND_STATE, 1175d522f475Smrg/* X Y Z [ */ 1176d522f475SmrgCASE_GROUND_STATE, 1177d522f475SmrgCASE_GROUND_STATE, 1178d522f475SmrgCASE_GROUND_STATE, 1179d522f475SmrgCASE_GROUND_STATE, 1180d522f475Smrg/* \ ] ^ _ */ 1181d522f475SmrgCASE_GROUND_STATE, 1182d522f475SmrgCASE_GROUND_STATE, 1183d522f475SmrgCASE_GROUND_STATE, 1184d522f475SmrgCASE_GROUND_STATE, 1185d522f475Smrg/* ` a b c */ 1186d522f475SmrgCASE_GROUND_STATE, 1187d522f475SmrgCASE_GROUND_STATE, 1188d522f475SmrgCASE_GROUND_STATE, 1189d522f475SmrgCASE_GROUND_STATE, 1190d522f475Smrg/* d e f g */ 1191d522f475SmrgCASE_GROUND_STATE, 1192d522f475SmrgCASE_GROUND_STATE, 1193d522f475SmrgCASE_GROUND_STATE, 1194d522f475SmrgCASE_GROUND_STATE, 1195d522f475Smrg/* h i j k */ 1196d522f475SmrgCASE_GROUND_STATE, 1197d522f475SmrgCASE_GROUND_STATE, 1198d522f475SmrgCASE_GROUND_STATE, 1199d522f475SmrgCASE_GROUND_STATE, 1200d522f475Smrg/* l m n o */ 1201d522f475SmrgCASE_GROUND_STATE, 1202d522f475SmrgCASE_GROUND_STATE, 1203d522f475SmrgCASE_GROUND_STATE, 1204d522f475SmrgCASE_GROUND_STATE, 1205d522f475Smrg/* p q r s */ 1206d522f475SmrgCASE_DECSTR, 1207d522f475SmrgCASE_GROUND_STATE, 1208d522f475SmrgCASE_GROUND_STATE, 1209d522f475SmrgCASE_GROUND_STATE, 1210d522f475Smrg/* t u v w */ 1211d522f475SmrgCASE_GROUND_STATE, 1212d522f475SmrgCASE_GROUND_STATE, 1213d522f475SmrgCASE_GROUND_STATE, 1214d522f475SmrgCASE_GROUND_STATE, 1215d522f475Smrg/* x y z { */ 1216d522f475SmrgCASE_GROUND_STATE, 1217d522f475SmrgCASE_GROUND_STATE, 1218d522f475SmrgCASE_GROUND_STATE, 1219d522f475SmrgCASE_GROUND_STATE, 1220d522f475Smrg/* | } ~ DEL */ 1221d522f475SmrgCASE_GROUND_STATE, 1222d522f475SmrgCASE_GROUND_STATE, 1223d522f475SmrgCASE_GROUND_STATE, 1224d522f475SmrgCASE_IGNORE, 1225d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 1226d522f475SmrgCASE_GROUND_STATE, 1227d522f475SmrgCASE_GROUND_STATE, 1228d522f475SmrgCASE_GROUND_STATE, 1229d522f475SmrgCASE_GROUND_STATE, 1230d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 1231d522f475SmrgCASE_IND, 1232d522f475SmrgCASE_NEL, 1233d522f475SmrgCASE_GROUND_STATE, 1234d522f475SmrgCASE_GROUND_STATE, 1235d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 1236d522f475SmrgCASE_HTS, 1237d522f475SmrgCASE_GROUND_STATE, 1238d522f475SmrgCASE_GROUND_STATE, 1239d522f475SmrgCASE_GROUND_STATE, 1240d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 1241d522f475SmrgCASE_GROUND_STATE, 1242d522f475SmrgCASE_RI, 1243d522f475SmrgCASE_SS2, 1244d522f475SmrgCASE_SS3, 1245d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 1246d522f475SmrgCASE_DCS, 1247d522f475SmrgCASE_GROUND_STATE, 1248d522f475SmrgCASE_GROUND_STATE, 1249d522f475SmrgCASE_GROUND_STATE, 1250d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 1251d522f475SmrgCASE_GROUND_STATE, 1252d522f475SmrgCASE_GROUND_STATE, 1253d522f475SmrgCASE_SPA, 1254d522f475SmrgCASE_EPA, 1255d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 1256d522f475SmrgCASE_SOS, 1257d522f475SmrgCASE_GROUND_STATE, 1258d522f475SmrgCASE_DECID, 1259d522f475SmrgCASE_CSI_STATE, 1260d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 1261d522f475SmrgCASE_ST, 1262d522f475SmrgCASE_OSC, 1263d522f475SmrgCASE_PM, 1264d522f475SmrgCASE_APC, 1265d522f475Smrg/* nobreakspace exclamdown cent sterling */ 1266d522f475SmrgCASE_CSI_IGNORE, 1267d522f475SmrgCASE_CSI_IGNORE, 1268d522f475SmrgCASE_CSI_IGNORE, 1269d522f475SmrgCASE_CSI_IGNORE, 1270d522f475Smrg/* currency yen brokenbar section */ 1271d522f475SmrgCASE_CSI_IGNORE, 1272d522f475SmrgCASE_CSI_IGNORE, 1273d522f475SmrgCASE_CSI_IGNORE, 1274d522f475SmrgCASE_CSI_IGNORE, 1275d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 1276d522f475SmrgCASE_CSI_IGNORE, 1277d522f475SmrgCASE_CSI_IGNORE, 1278d522f475SmrgCASE_CSI_IGNORE, 1279d522f475SmrgCASE_CSI_IGNORE, 1280d522f475Smrg/* notsign hyphen registered macron */ 1281d522f475SmrgCASE_CSI_IGNORE, 1282d522f475SmrgCASE_CSI_IGNORE, 1283d522f475SmrgCASE_CSI_IGNORE, 1284d522f475SmrgCASE_CSI_IGNORE, 1285d522f475Smrg/* degree plusminus twosuperior threesuperior */ 1286d522f475SmrgCASE_CSI_IGNORE, 1287d522f475SmrgCASE_CSI_IGNORE, 1288d522f475SmrgCASE_CSI_IGNORE, 1289d522f475SmrgCASE_CSI_IGNORE, 1290d522f475Smrg/* acute mu paragraph periodcentered */ 1291d522f475SmrgCASE_CSI_IGNORE, 1292d522f475SmrgCASE_CSI_IGNORE, 1293d522f475SmrgCASE_CSI_IGNORE, 1294d522f475SmrgCASE_CSI_IGNORE, 1295d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 1296d522f475SmrgCASE_CSI_IGNORE, 1297d522f475SmrgCASE_CSI_IGNORE, 1298d522f475SmrgCASE_CSI_IGNORE, 1299d522f475SmrgCASE_CSI_IGNORE, 1300d522f475Smrg/* onequarter onehalf threequarters questiondown */ 1301d522f475SmrgCASE_CSI_IGNORE, 1302d522f475SmrgCASE_CSI_IGNORE, 1303d522f475SmrgCASE_CSI_IGNORE, 1304d522f475SmrgCASE_CSI_IGNORE, 1305d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 1306d522f475SmrgCASE_GROUND_STATE, 1307d522f475SmrgCASE_GROUND_STATE, 1308d522f475SmrgCASE_GROUND_STATE, 1309d522f475SmrgCASE_GROUND_STATE, 1310d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 1311d522f475SmrgCASE_GROUND_STATE, 1312d522f475SmrgCASE_GROUND_STATE, 1313d522f475SmrgCASE_GROUND_STATE, 1314d522f475SmrgCASE_GROUND_STATE, 1315d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 1316d522f475SmrgCASE_GROUND_STATE, 1317d522f475SmrgCASE_GROUND_STATE, 1318d522f475SmrgCASE_GROUND_STATE, 1319d522f475SmrgCASE_GROUND_STATE, 1320d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 1321d522f475SmrgCASE_GROUND_STATE, 1322d522f475SmrgCASE_GROUND_STATE, 1323d522f475SmrgCASE_GROUND_STATE, 1324d522f475SmrgCASE_GROUND_STATE, 1325d522f475Smrg/* Eth Ntilde Ograve Oacute */ 1326d522f475SmrgCASE_GROUND_STATE, 1327d522f475SmrgCASE_GROUND_STATE, 1328d522f475SmrgCASE_GROUND_STATE, 1329d522f475SmrgCASE_GROUND_STATE, 1330d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 1331d522f475SmrgCASE_GROUND_STATE, 1332d522f475SmrgCASE_GROUND_STATE, 1333d522f475SmrgCASE_GROUND_STATE, 1334d522f475SmrgCASE_GROUND_STATE, 1335d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 1336d522f475SmrgCASE_GROUND_STATE, 1337d522f475SmrgCASE_GROUND_STATE, 1338d522f475SmrgCASE_GROUND_STATE, 1339d522f475SmrgCASE_GROUND_STATE, 1340d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 1341d522f475SmrgCASE_GROUND_STATE, 1342d522f475SmrgCASE_GROUND_STATE, 1343d522f475SmrgCASE_GROUND_STATE, 1344d522f475SmrgCASE_GROUND_STATE, 1345d522f475Smrg/* agrave aacute acircumflex atilde */ 1346d522f475SmrgCASE_GROUND_STATE, 1347d522f475SmrgCASE_GROUND_STATE, 1348d522f475SmrgCASE_GROUND_STATE, 1349d522f475SmrgCASE_GROUND_STATE, 1350d522f475Smrg/* adiaeresis aring ae ccedilla */ 1351d522f475SmrgCASE_GROUND_STATE, 1352d522f475SmrgCASE_GROUND_STATE, 1353d522f475SmrgCASE_GROUND_STATE, 1354d522f475SmrgCASE_GROUND_STATE, 1355d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 1356d522f475SmrgCASE_GROUND_STATE, 1357d522f475SmrgCASE_GROUND_STATE, 1358d522f475SmrgCASE_GROUND_STATE, 1359d522f475SmrgCASE_GROUND_STATE, 1360d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 1361d522f475SmrgCASE_GROUND_STATE, 1362d522f475SmrgCASE_GROUND_STATE, 1363d522f475SmrgCASE_GROUND_STATE, 1364d522f475SmrgCASE_GROUND_STATE, 1365d522f475Smrg/* eth ntilde ograve oacute */ 1366d522f475SmrgCASE_DECSTR, 1367d522f475SmrgCASE_GROUND_STATE, 1368d522f475SmrgCASE_GROUND_STATE, 1369d522f475SmrgCASE_GROUND_STATE, 1370d522f475Smrg/* ocircumflex otilde odiaeresis division */ 1371d522f475SmrgCASE_GROUND_STATE, 1372d522f475SmrgCASE_GROUND_STATE, 1373d522f475SmrgCASE_GROUND_STATE, 1374d522f475SmrgCASE_GROUND_STATE, 1375d522f475Smrg/* oslash ugrave uacute ucircumflex */ 1376d522f475SmrgCASE_GROUND_STATE, 1377d522f475SmrgCASE_GROUND_STATE, 1378d522f475SmrgCASE_GROUND_STATE, 1379d522f475SmrgCASE_GROUND_STATE, 1380d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 1381d522f475SmrgCASE_GROUND_STATE, 1382d522f475SmrgCASE_GROUND_STATE, 1383d522f475SmrgCASE_GROUND_STATE, 1384d522f475SmrgCASE_IGNORE, 1385d522f475Smrg}; 1386d522f475Smrg 1387d522f475SmrgConst PARSE_T csi_quo_table[] = /* CSI ... " */ 1388d522f475Smrg{ 1389d522f475Smrg/* NUL SOH STX ETX */ 1390d522f475SmrgCASE_IGNORE, 1391d522f475SmrgCASE_IGNORE, 1392d522f475SmrgCASE_IGNORE, 1393d522f475SmrgCASE_IGNORE, 1394d522f475Smrg/* EOT ENQ ACK BEL */ 1395d522f475SmrgCASE_IGNORE, 1396d522f475SmrgCASE_ENQ, 1397d522f475SmrgCASE_IGNORE, 1398d522f475SmrgCASE_BELL, 1399d522f475Smrg/* BS HT NL VT */ 1400d522f475SmrgCASE_BS, 1401d522f475SmrgCASE_TAB, 1402d522f475SmrgCASE_VMOT, 1403d522f475SmrgCASE_VMOT, 14040bd37d32Smrg/* FF CR SO SI */ 1405d522f475SmrgCASE_VMOT, 1406d522f475SmrgCASE_CR, 1407d522f475SmrgCASE_SO, 1408d522f475SmrgCASE_SI, 1409d522f475Smrg/* DLE DC1 DC2 DC3 */ 1410d522f475SmrgCASE_IGNORE, 1411d522f475SmrgCASE_IGNORE, 1412d522f475SmrgCASE_IGNORE, 1413d522f475SmrgCASE_IGNORE, 1414d522f475Smrg/* DC4 NAK SYN ETB */ 1415d522f475SmrgCASE_IGNORE, 1416d522f475SmrgCASE_IGNORE, 1417d522f475SmrgCASE_IGNORE, 1418d522f475SmrgCASE_IGNORE, 1419d522f475Smrg/* CAN EM SUB ESC */ 1420d522f475SmrgCASE_GROUND_STATE, 1421d522f475SmrgCASE_IGNORE, 1422d522f475SmrgCASE_GROUND_STATE, 1423d522f475SmrgCASE_ESC, 1424d522f475Smrg/* FS GS RS US */ 1425d522f475SmrgCASE_IGNORE, 1426d522f475SmrgCASE_IGNORE, 1427d522f475SmrgCASE_IGNORE, 1428d522f475SmrgCASE_IGNORE, 1429d522f475Smrg/* SP ! " # */ 1430d522f475SmrgCASE_CSI_IGNORE, 1431d522f475SmrgCASE_CSI_IGNORE, 1432d522f475SmrgCASE_CSI_IGNORE, 1433d522f475SmrgCASE_CSI_IGNORE, 1434d522f475Smrg/* $ % & ' */ 1435d522f475SmrgCASE_CSI_IGNORE, 1436d522f475SmrgCASE_CSI_IGNORE, 1437d522f475SmrgCASE_CSI_IGNORE, 1438d522f475SmrgCASE_CSI_IGNORE, 1439d522f475Smrg/* ( ) * + */ 1440d522f475SmrgCASE_CSI_IGNORE, 1441d522f475SmrgCASE_CSI_IGNORE, 1442d522f475SmrgCASE_CSI_IGNORE, 1443d522f475SmrgCASE_CSI_IGNORE, 1444d522f475Smrg/* , - . / */ 1445d522f475SmrgCASE_CSI_IGNORE, 1446d522f475SmrgCASE_CSI_IGNORE, 1447d522f475SmrgCASE_CSI_IGNORE, 1448d522f475SmrgCASE_CSI_IGNORE, 1449d522f475Smrg/* 0 1 2 3 */ 1450d522f475SmrgCASE_CSI_IGNORE, 1451d522f475SmrgCASE_CSI_IGNORE, 1452d522f475SmrgCASE_CSI_IGNORE, 1453d522f475SmrgCASE_CSI_IGNORE, 1454d522f475Smrg/* 4 5 6 7 */ 1455d522f475SmrgCASE_CSI_IGNORE, 1456d522f475SmrgCASE_CSI_IGNORE, 1457d522f475SmrgCASE_CSI_IGNORE, 1458d522f475SmrgCASE_CSI_IGNORE, 1459d522f475Smrg/* 8 9 : ; */ 1460d522f475SmrgCASE_CSI_IGNORE, 1461d522f475SmrgCASE_CSI_IGNORE, 1462d522f475SmrgCASE_CSI_IGNORE, 1463d522f475SmrgCASE_CSI_IGNORE, 1464d522f475Smrg/* < = > ? */ 1465d522f475SmrgCASE_CSI_IGNORE, 1466d522f475SmrgCASE_CSI_IGNORE, 1467d522f475SmrgCASE_CSI_IGNORE, 1468d522f475SmrgCASE_CSI_IGNORE, 1469d522f475Smrg/* @ A B C */ 1470d522f475SmrgCASE_GROUND_STATE, 1471d522f475SmrgCASE_GROUND_STATE, 1472d522f475SmrgCASE_GROUND_STATE, 1473d522f475SmrgCASE_GROUND_STATE, 1474d522f475Smrg/* D E F G */ 1475d522f475SmrgCASE_GROUND_STATE, 1476d522f475SmrgCASE_GROUND_STATE, 1477d522f475SmrgCASE_GROUND_STATE, 1478d522f475SmrgCASE_GROUND_STATE, 1479d522f475Smrg/* H I J K */ 1480d522f475SmrgCASE_GROUND_STATE, 1481d522f475SmrgCASE_GROUND_STATE, 1482d522f475SmrgCASE_GROUND_STATE, 1483d522f475SmrgCASE_GROUND_STATE, 1484d522f475Smrg/* L M N O */ 1485d522f475SmrgCASE_GROUND_STATE, 1486d522f475SmrgCASE_GROUND_STATE, 1487d522f475SmrgCASE_GROUND_STATE, 1488d522f475SmrgCASE_GROUND_STATE, 1489d522f475Smrg/* P Q R S */ 1490d522f475SmrgCASE_GROUND_STATE, 1491d522f475SmrgCASE_GROUND_STATE, 1492d522f475SmrgCASE_GROUND_STATE, 1493d522f475SmrgCASE_GROUND_STATE, 1494d522f475Smrg/* T U V W */ 1495d522f475SmrgCASE_GROUND_STATE, 1496d522f475SmrgCASE_GROUND_STATE, 1497d522f475SmrgCASE_GROUND_STATE, 1498d522f475SmrgCASE_GROUND_STATE, 1499d522f475Smrg/* X Y Z [ */ 1500d522f475SmrgCASE_GROUND_STATE, 1501d522f475SmrgCASE_GROUND_STATE, 1502d522f475SmrgCASE_GROUND_STATE, 1503d522f475SmrgCASE_GROUND_STATE, 1504d522f475Smrg/* \ ] ^ _ */ 1505d522f475SmrgCASE_GROUND_STATE, 1506d522f475SmrgCASE_GROUND_STATE, 1507d522f475SmrgCASE_GROUND_STATE, 1508d522f475SmrgCASE_GROUND_STATE, 1509d522f475Smrg/* ` a b c */ 1510d522f475SmrgCASE_GROUND_STATE, 1511d522f475SmrgCASE_GROUND_STATE, 1512d522f475SmrgCASE_GROUND_STATE, 1513d522f475SmrgCASE_GROUND_STATE, 1514d522f475Smrg/* d e f g */ 1515d522f475SmrgCASE_GROUND_STATE, 1516d522f475SmrgCASE_GROUND_STATE, 1517d522f475SmrgCASE_GROUND_STATE, 1518d522f475SmrgCASE_GROUND_STATE, 1519d522f475Smrg/* h i j k */ 1520d522f475SmrgCASE_GROUND_STATE, 1521d522f475SmrgCASE_GROUND_STATE, 1522d522f475SmrgCASE_GROUND_STATE, 1523d522f475SmrgCASE_GROUND_STATE, 1524d522f475Smrg/* l m n o */ 1525d522f475SmrgCASE_GROUND_STATE, 1526d522f475SmrgCASE_GROUND_STATE, 1527d522f475SmrgCASE_GROUND_STATE, 1528d522f475SmrgCASE_GROUND_STATE, 1529d522f475Smrg/* p q r s */ 1530d522f475SmrgCASE_DECSCL, 1531d522f475SmrgCASE_DECSCA, 1532d522f475SmrgCASE_GROUND_STATE, 1533d522f475SmrgCASE_GROUND_STATE, 1534d522f475Smrg/* t u v w */ 1535d522f475SmrgCASE_GROUND_STATE, 1536d522f475SmrgCASE_GROUND_STATE, 1537d522f475SmrgCASE_GROUND_STATE, 1538d522f475SmrgCASE_GROUND_STATE, 1539d522f475Smrg/* x y z { */ 1540d522f475SmrgCASE_GROUND_STATE, 1541d522f475SmrgCASE_GROUND_STATE, 1542d522f475SmrgCASE_GROUND_STATE, 1543d522f475SmrgCASE_GROUND_STATE, 1544d522f475Smrg/* | } ~ DEL */ 1545d522f475SmrgCASE_GROUND_STATE, 1546d522f475SmrgCASE_GROUND_STATE, 1547d522f475SmrgCASE_GROUND_STATE, 1548d522f475SmrgCASE_IGNORE, 1549d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 1550d522f475SmrgCASE_GROUND_STATE, 1551d522f475SmrgCASE_GROUND_STATE, 1552d522f475SmrgCASE_GROUND_STATE, 1553d522f475SmrgCASE_GROUND_STATE, 1554d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 1555d522f475SmrgCASE_IND, 1556d522f475SmrgCASE_NEL, 1557d522f475SmrgCASE_GROUND_STATE, 1558d522f475SmrgCASE_GROUND_STATE, 1559d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 1560d522f475SmrgCASE_HTS, 1561d522f475SmrgCASE_GROUND_STATE, 1562d522f475SmrgCASE_GROUND_STATE, 1563d522f475SmrgCASE_GROUND_STATE, 1564d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 1565d522f475SmrgCASE_GROUND_STATE, 1566d522f475SmrgCASE_RI, 1567d522f475SmrgCASE_SS2, 1568d522f475SmrgCASE_SS3, 1569d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 1570d522f475SmrgCASE_DCS, 1571d522f475SmrgCASE_GROUND_STATE, 1572d522f475SmrgCASE_GROUND_STATE, 1573d522f475SmrgCASE_GROUND_STATE, 1574d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 1575d522f475SmrgCASE_GROUND_STATE, 1576d522f475SmrgCASE_GROUND_STATE, 1577d522f475SmrgCASE_SPA, 1578d522f475SmrgCASE_EPA, 1579d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 1580d522f475SmrgCASE_SOS, 1581d522f475SmrgCASE_GROUND_STATE, 1582d522f475SmrgCASE_DECID, 1583d522f475SmrgCASE_CSI_STATE, 1584d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 1585d522f475SmrgCASE_ST, 1586d522f475SmrgCASE_OSC, 1587d522f475SmrgCASE_PM, 1588d522f475SmrgCASE_APC, 1589d522f475Smrg/* nobreakspace exclamdown cent sterling */ 1590d522f475SmrgCASE_CSI_IGNORE, 1591d522f475SmrgCASE_CSI_IGNORE, 1592d522f475SmrgCASE_CSI_IGNORE, 1593d522f475SmrgCASE_CSI_IGNORE, 1594d522f475Smrg/* currency yen brokenbar section */ 1595d522f475SmrgCASE_CSI_IGNORE, 1596d522f475SmrgCASE_CSI_IGNORE, 1597d522f475SmrgCASE_CSI_IGNORE, 1598d522f475SmrgCASE_CSI_IGNORE, 1599d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 1600d522f475SmrgCASE_CSI_IGNORE, 1601d522f475SmrgCASE_CSI_IGNORE, 1602d522f475SmrgCASE_CSI_IGNORE, 1603d522f475SmrgCASE_CSI_IGNORE, 1604d522f475Smrg/* notsign hyphen registered macron */ 1605d522f475SmrgCASE_CSI_IGNORE, 1606d522f475SmrgCASE_CSI_IGNORE, 1607d522f475SmrgCASE_CSI_IGNORE, 1608d522f475SmrgCASE_CSI_IGNORE, 1609d522f475Smrg/* degree plusminus twosuperior threesuperior */ 1610d522f475SmrgCASE_CSI_IGNORE, 1611d522f475SmrgCASE_CSI_IGNORE, 1612d522f475SmrgCASE_CSI_IGNORE, 1613d522f475SmrgCASE_CSI_IGNORE, 1614d522f475Smrg/* acute mu paragraph periodcentered */ 1615d522f475SmrgCASE_CSI_IGNORE, 1616d522f475SmrgCASE_CSI_IGNORE, 1617d522f475SmrgCASE_CSI_IGNORE, 1618d522f475SmrgCASE_CSI_IGNORE, 1619d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 1620d522f475SmrgCASE_CSI_IGNORE, 1621d522f475SmrgCASE_CSI_IGNORE, 1622d522f475SmrgCASE_CSI_IGNORE, 1623d522f475SmrgCASE_CSI_IGNORE, 1624d522f475Smrg/* onequarter onehalf threequarters questiondown */ 1625d522f475SmrgCASE_CSI_IGNORE, 1626d522f475SmrgCASE_CSI_IGNORE, 1627d522f475SmrgCASE_CSI_IGNORE, 1628d522f475SmrgCASE_CSI_IGNORE, 1629d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 1630d522f475SmrgCASE_GROUND_STATE, 1631d522f475SmrgCASE_GROUND_STATE, 1632d522f475SmrgCASE_GROUND_STATE, 1633d522f475SmrgCASE_GROUND_STATE, 1634d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 1635d522f475SmrgCASE_GROUND_STATE, 1636d522f475SmrgCASE_GROUND_STATE, 1637d522f475SmrgCASE_GROUND_STATE, 1638d522f475SmrgCASE_GROUND_STATE, 1639d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 1640d522f475SmrgCASE_GROUND_STATE, 1641d522f475SmrgCASE_GROUND_STATE, 1642d522f475SmrgCASE_GROUND_STATE, 1643d522f475SmrgCASE_GROUND_STATE, 1644d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 1645d522f475SmrgCASE_GROUND_STATE, 1646d522f475SmrgCASE_GROUND_STATE, 1647d522f475SmrgCASE_GROUND_STATE, 1648d522f475SmrgCASE_GROUND_STATE, 1649d522f475Smrg/* Eth Ntilde Ograve Oacute */ 1650d522f475SmrgCASE_GROUND_STATE, 1651d522f475SmrgCASE_GROUND_STATE, 1652d522f475SmrgCASE_GROUND_STATE, 1653d522f475SmrgCASE_GROUND_STATE, 1654d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 1655d522f475SmrgCASE_GROUND_STATE, 1656d522f475SmrgCASE_GROUND_STATE, 1657d522f475SmrgCASE_GROUND_STATE, 1658d522f475SmrgCASE_GROUND_STATE, 1659d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 1660d522f475SmrgCASE_GROUND_STATE, 1661d522f475SmrgCASE_GROUND_STATE, 1662d522f475SmrgCASE_GROUND_STATE, 1663d522f475SmrgCASE_GROUND_STATE, 1664d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 1665d522f475SmrgCASE_GROUND_STATE, 1666d522f475SmrgCASE_GROUND_STATE, 1667d522f475SmrgCASE_GROUND_STATE, 1668d522f475SmrgCASE_GROUND_STATE, 1669d522f475Smrg/* agrave aacute acircumflex atilde */ 1670d522f475SmrgCASE_GROUND_STATE, 1671d522f475SmrgCASE_GROUND_STATE, 1672d522f475SmrgCASE_GROUND_STATE, 1673d522f475SmrgCASE_GROUND_STATE, 1674d522f475Smrg/* adiaeresis aring ae ccedilla */ 1675d522f475SmrgCASE_GROUND_STATE, 1676d522f475SmrgCASE_GROUND_STATE, 1677d522f475SmrgCASE_GROUND_STATE, 1678d522f475SmrgCASE_GROUND_STATE, 1679d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 1680d522f475SmrgCASE_GROUND_STATE, 1681d522f475SmrgCASE_GROUND_STATE, 1682d522f475SmrgCASE_GROUND_STATE, 1683d522f475SmrgCASE_GROUND_STATE, 1684d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 1685d522f475SmrgCASE_GROUND_STATE, 1686d522f475SmrgCASE_GROUND_STATE, 1687d522f475SmrgCASE_GROUND_STATE, 1688d522f475SmrgCASE_GROUND_STATE, 1689d522f475Smrg/* eth ntilde ograve oacute */ 1690d522f475SmrgCASE_DECSCL, 1691d522f475SmrgCASE_DECSCA, 1692d522f475SmrgCASE_GROUND_STATE, 1693d522f475SmrgCASE_GROUND_STATE, 1694d522f475Smrg/* ocircumflex otilde odiaeresis division */ 1695d522f475SmrgCASE_GROUND_STATE, 1696d522f475SmrgCASE_GROUND_STATE, 1697d522f475SmrgCASE_GROUND_STATE, 1698d522f475SmrgCASE_GROUND_STATE, 1699d522f475Smrg/* oslash ugrave uacute ucircumflex */ 1700d522f475SmrgCASE_GROUND_STATE, 1701d522f475SmrgCASE_GROUND_STATE, 1702d522f475SmrgCASE_GROUND_STATE, 1703d522f475SmrgCASE_GROUND_STATE, 1704d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 1705d522f475SmrgCASE_GROUND_STATE, 1706d522f475SmrgCASE_GROUND_STATE, 1707d522f475SmrgCASE_GROUND_STATE, 1708d522f475SmrgCASE_IGNORE, 1709d522f475Smrg}; 1710d522f475Smrg 171120d2c4d2Smrg#if OPT_BLINK_CURS 171220d2c4d2SmrgConst PARSE_T csi_sp_table[] = /* CSI ... SP */ 171320d2c4d2Smrg{ 171420d2c4d2Smrg/* NUL SOH STX ETX */ 171520d2c4d2SmrgCASE_IGNORE, 171620d2c4d2SmrgCASE_IGNORE, 171720d2c4d2SmrgCASE_IGNORE, 171820d2c4d2SmrgCASE_IGNORE, 171920d2c4d2Smrg/* EOT ENQ ACK BEL */ 172020d2c4d2SmrgCASE_IGNORE, 172120d2c4d2SmrgCASE_ENQ, 172220d2c4d2SmrgCASE_IGNORE, 172320d2c4d2SmrgCASE_BELL, 172420d2c4d2Smrg/* BS HT NL VT */ 172520d2c4d2SmrgCASE_BS, 172620d2c4d2SmrgCASE_TAB, 172720d2c4d2SmrgCASE_VMOT, 172820d2c4d2SmrgCASE_VMOT, 17290bd37d32Smrg/* FF CR SO SI */ 173020d2c4d2SmrgCASE_VMOT, 173120d2c4d2SmrgCASE_CR, 173220d2c4d2SmrgCASE_SO, 173320d2c4d2SmrgCASE_SI, 173420d2c4d2Smrg/* DLE DC1 DC2 DC3 */ 173520d2c4d2SmrgCASE_IGNORE, 173620d2c4d2SmrgCASE_IGNORE, 173720d2c4d2SmrgCASE_IGNORE, 173820d2c4d2SmrgCASE_IGNORE, 173920d2c4d2Smrg/* DC4 NAK SYN ETB */ 174020d2c4d2SmrgCASE_IGNORE, 174120d2c4d2SmrgCASE_IGNORE, 174220d2c4d2SmrgCASE_IGNORE, 174320d2c4d2SmrgCASE_IGNORE, 174420d2c4d2Smrg/* CAN EM SUB ESC */ 174520d2c4d2SmrgCASE_GROUND_STATE, 174620d2c4d2SmrgCASE_IGNORE, 174720d2c4d2SmrgCASE_GROUND_STATE, 174820d2c4d2SmrgCASE_ESC, 174920d2c4d2Smrg/* FS GS RS US */ 175020d2c4d2SmrgCASE_IGNORE, 175120d2c4d2SmrgCASE_IGNORE, 175220d2c4d2SmrgCASE_IGNORE, 175320d2c4d2SmrgCASE_IGNORE, 175420d2c4d2Smrg/* SP ! " # */ 175520d2c4d2SmrgCASE_CSI_IGNORE, 175620d2c4d2SmrgCASE_CSI_IGNORE, 175720d2c4d2SmrgCASE_CSI_IGNORE, 175820d2c4d2SmrgCASE_CSI_IGNORE, 175920d2c4d2Smrg/* $ % & ' */ 176020d2c4d2SmrgCASE_CSI_IGNORE, 176120d2c4d2SmrgCASE_CSI_IGNORE, 176220d2c4d2SmrgCASE_CSI_IGNORE, 176320d2c4d2SmrgCASE_CSI_IGNORE, 176420d2c4d2Smrg/* ( ) * + */ 176520d2c4d2SmrgCASE_CSI_IGNORE, 176620d2c4d2SmrgCASE_CSI_IGNORE, 176720d2c4d2SmrgCASE_CSI_IGNORE, 176820d2c4d2SmrgCASE_CSI_IGNORE, 176920d2c4d2Smrg/* , - . / */ 177020d2c4d2SmrgCASE_CSI_IGNORE, 177120d2c4d2SmrgCASE_CSI_IGNORE, 177220d2c4d2SmrgCASE_CSI_IGNORE, 177320d2c4d2SmrgCASE_CSI_IGNORE, 177420d2c4d2Smrg/* 0 1 2 3 */ 177520d2c4d2SmrgCASE_CSI_IGNORE, 177620d2c4d2SmrgCASE_CSI_IGNORE, 177720d2c4d2SmrgCASE_CSI_IGNORE, 177820d2c4d2SmrgCASE_CSI_IGNORE, 177920d2c4d2Smrg/* 4 5 6 7 */ 178020d2c4d2SmrgCASE_CSI_IGNORE, 178120d2c4d2SmrgCASE_CSI_IGNORE, 178220d2c4d2SmrgCASE_CSI_IGNORE, 178320d2c4d2SmrgCASE_CSI_IGNORE, 178420d2c4d2Smrg/* 8 9 : ; */ 178520d2c4d2SmrgCASE_CSI_IGNORE, 178620d2c4d2SmrgCASE_CSI_IGNORE, 178720d2c4d2SmrgCASE_CSI_IGNORE, 178820d2c4d2SmrgCASE_CSI_IGNORE, 178920d2c4d2Smrg/* < = > ? */ 179020d2c4d2SmrgCASE_CSI_IGNORE, 179120d2c4d2SmrgCASE_CSI_IGNORE, 179220d2c4d2SmrgCASE_CSI_IGNORE, 179320d2c4d2SmrgCASE_CSI_IGNORE, 179420d2c4d2Smrg/* @ A B C */ 17950bd37d32SmrgCASE_SL, 17960bd37d32SmrgCASE_SR, 179720d2c4d2SmrgCASE_GROUND_STATE, 179820d2c4d2SmrgCASE_GROUND_STATE, 179920d2c4d2Smrg/* D E F G */ 180020d2c4d2SmrgCASE_GROUND_STATE, 180120d2c4d2SmrgCASE_GROUND_STATE, 180220d2c4d2SmrgCASE_GROUND_STATE, 180320d2c4d2SmrgCASE_GROUND_STATE, 180420d2c4d2Smrg/* H I J K */ 180520d2c4d2SmrgCASE_GROUND_STATE, 180620d2c4d2SmrgCASE_GROUND_STATE, 180720d2c4d2SmrgCASE_GROUND_STATE, 180820d2c4d2SmrgCASE_GROUND_STATE, 180920d2c4d2Smrg/* L M N O */ 181020d2c4d2SmrgCASE_GROUND_STATE, 181120d2c4d2SmrgCASE_GROUND_STATE, 181220d2c4d2SmrgCASE_GROUND_STATE, 181320d2c4d2SmrgCASE_GROUND_STATE, 181420d2c4d2Smrg/* P Q R S */ 181520d2c4d2SmrgCASE_GROUND_STATE, 181620d2c4d2SmrgCASE_GROUND_STATE, 181720d2c4d2SmrgCASE_GROUND_STATE, 181820d2c4d2SmrgCASE_GROUND_STATE, 181920d2c4d2Smrg/* T U V W */ 182020d2c4d2SmrgCASE_GROUND_STATE, 182120d2c4d2SmrgCASE_GROUND_STATE, 182220d2c4d2SmrgCASE_GROUND_STATE, 182320d2c4d2SmrgCASE_GROUND_STATE, 182420d2c4d2Smrg/* X Y Z [ */ 182520d2c4d2SmrgCASE_GROUND_STATE, 182620d2c4d2SmrgCASE_GROUND_STATE, 182720d2c4d2SmrgCASE_GROUND_STATE, 182820d2c4d2SmrgCASE_GROUND_STATE, 182920d2c4d2Smrg/* \ ] ^ _ */ 183020d2c4d2SmrgCASE_GROUND_STATE, 183120d2c4d2SmrgCASE_GROUND_STATE, 183220d2c4d2SmrgCASE_GROUND_STATE, 183320d2c4d2SmrgCASE_GROUND_STATE, 183420d2c4d2Smrg/* ` a b c */ 183520d2c4d2SmrgCASE_GROUND_STATE, 183620d2c4d2SmrgCASE_GROUND_STATE, 183720d2c4d2SmrgCASE_GROUND_STATE, 183820d2c4d2SmrgCASE_GROUND_STATE, 183920d2c4d2Smrg/* d e f g */ 184020d2c4d2SmrgCASE_GROUND_STATE, 184120d2c4d2SmrgCASE_GROUND_STATE, 184220d2c4d2SmrgCASE_GROUND_STATE, 184320d2c4d2SmrgCASE_GROUND_STATE, 184420d2c4d2Smrg/* h i j k */ 184520d2c4d2SmrgCASE_GROUND_STATE, 184620d2c4d2SmrgCASE_GROUND_STATE, 184720d2c4d2SmrgCASE_GROUND_STATE, 184820d2c4d2SmrgCASE_GROUND_STATE, 184920d2c4d2Smrg/* l m n o */ 185020d2c4d2SmrgCASE_GROUND_STATE, 185120d2c4d2SmrgCASE_GROUND_STATE, 185220d2c4d2SmrgCASE_GROUND_STATE, 185320d2c4d2SmrgCASE_GROUND_STATE, 185420d2c4d2Smrg/* p q r s */ 185520d2c4d2SmrgCASE_GROUND_STATE, 185620d2c4d2SmrgCASE_DECSCUSR, 185720d2c4d2SmrgCASE_GROUND_STATE, 185820d2c4d2SmrgCASE_GROUND_STATE, 185920d2c4d2Smrg/* t u v w */ 186020d2c4d2SmrgCASE_DECSWBV, 186120d2c4d2SmrgCASE_DECSMBV, 186220d2c4d2SmrgCASE_GROUND_STATE, 186320d2c4d2SmrgCASE_GROUND_STATE, 186420d2c4d2Smrg/* x y z { */ 186520d2c4d2SmrgCASE_GROUND_STATE, 186620d2c4d2SmrgCASE_GROUND_STATE, 186720d2c4d2SmrgCASE_GROUND_STATE, 186820d2c4d2SmrgCASE_GROUND_STATE, 186920d2c4d2Smrg/* | } ~ DEL */ 187020d2c4d2SmrgCASE_GROUND_STATE, 187120d2c4d2SmrgCASE_GROUND_STATE, 187220d2c4d2SmrgCASE_GROUND_STATE, 187320d2c4d2SmrgCASE_IGNORE, 187420d2c4d2Smrg/* 0x80 0x81 0x82 0x83 */ 187520d2c4d2SmrgCASE_GROUND_STATE, 187620d2c4d2SmrgCASE_GROUND_STATE, 187720d2c4d2SmrgCASE_GROUND_STATE, 187820d2c4d2SmrgCASE_GROUND_STATE, 187920d2c4d2Smrg/* 0x84 0x85 0x86 0x87 */ 188020d2c4d2SmrgCASE_IND, 188120d2c4d2SmrgCASE_NEL, 188220d2c4d2SmrgCASE_GROUND_STATE, 188320d2c4d2SmrgCASE_GROUND_STATE, 188420d2c4d2Smrg/* 0x88 0x89 0x8a 0x8b */ 188520d2c4d2SmrgCASE_HTS, 188620d2c4d2SmrgCASE_GROUND_STATE, 188720d2c4d2SmrgCASE_GROUND_STATE, 188820d2c4d2SmrgCASE_GROUND_STATE, 188920d2c4d2Smrg/* 0x8c 0x8d 0x8e 0x8f */ 189020d2c4d2SmrgCASE_GROUND_STATE, 189120d2c4d2SmrgCASE_RI, 189220d2c4d2SmrgCASE_SS2, 189320d2c4d2SmrgCASE_SS3, 189420d2c4d2Smrg/* 0x90 0x91 0x92 0x93 */ 189520d2c4d2SmrgCASE_DCS, 189620d2c4d2SmrgCASE_GROUND_STATE, 189720d2c4d2SmrgCASE_GROUND_STATE, 189820d2c4d2SmrgCASE_GROUND_STATE, 189920d2c4d2Smrg/* 0x94 0x95 0x96 0x97 */ 190020d2c4d2SmrgCASE_GROUND_STATE, 190120d2c4d2SmrgCASE_GROUND_STATE, 190220d2c4d2SmrgCASE_SPA, 190320d2c4d2SmrgCASE_EPA, 190420d2c4d2Smrg/* 0x98 0x99 0x9a 0x9b */ 190520d2c4d2SmrgCASE_SOS, 190620d2c4d2SmrgCASE_GROUND_STATE, 190720d2c4d2SmrgCASE_DECID, 190820d2c4d2SmrgCASE_CSI_STATE, 190920d2c4d2Smrg/* 0x9c 0x9d 0x9e 0x9f */ 191020d2c4d2SmrgCASE_ST, 191120d2c4d2SmrgCASE_OSC, 191220d2c4d2SmrgCASE_PM, 191320d2c4d2SmrgCASE_APC, 191420d2c4d2Smrg/* nobreakspace exclamdown cent sterling */ 191520d2c4d2SmrgCASE_CSI_IGNORE, 191620d2c4d2SmrgCASE_CSI_IGNORE, 191720d2c4d2SmrgCASE_CSI_IGNORE, 191820d2c4d2SmrgCASE_CSI_IGNORE, 191920d2c4d2Smrg/* currency yen brokenbar section */ 192020d2c4d2SmrgCASE_CSI_IGNORE, 192120d2c4d2SmrgCASE_CSI_IGNORE, 192220d2c4d2SmrgCASE_CSI_IGNORE, 192320d2c4d2SmrgCASE_CSI_IGNORE, 192420d2c4d2Smrg/* diaeresis copyright ordfeminine guillemotleft */ 192520d2c4d2SmrgCASE_CSI_IGNORE, 192620d2c4d2SmrgCASE_CSI_IGNORE, 192720d2c4d2SmrgCASE_CSI_IGNORE, 192820d2c4d2SmrgCASE_CSI_IGNORE, 192920d2c4d2Smrg/* notsign hyphen registered macron */ 193020d2c4d2SmrgCASE_CSI_IGNORE, 193120d2c4d2SmrgCASE_CSI_IGNORE, 193220d2c4d2SmrgCASE_CSI_IGNORE, 193320d2c4d2SmrgCASE_CSI_IGNORE, 193420d2c4d2Smrg/* degree plusminus twosuperior threesuperior */ 193520d2c4d2SmrgCASE_CSI_IGNORE, 193620d2c4d2SmrgCASE_CSI_IGNORE, 193720d2c4d2SmrgCASE_CSI_IGNORE, 193820d2c4d2SmrgCASE_CSI_IGNORE, 193920d2c4d2Smrg/* acute mu paragraph periodcentered */ 194020d2c4d2SmrgCASE_CSI_IGNORE, 194120d2c4d2SmrgCASE_CSI_IGNORE, 194220d2c4d2SmrgCASE_CSI_IGNORE, 194320d2c4d2SmrgCASE_CSI_IGNORE, 194420d2c4d2Smrg/* cedilla onesuperior masculine guillemotright */ 194520d2c4d2SmrgCASE_CSI_IGNORE, 194620d2c4d2SmrgCASE_CSI_IGNORE, 194720d2c4d2SmrgCASE_CSI_IGNORE, 194820d2c4d2SmrgCASE_CSI_IGNORE, 194920d2c4d2Smrg/* onequarter onehalf threequarters questiondown */ 195020d2c4d2SmrgCASE_CSI_IGNORE, 195120d2c4d2SmrgCASE_CSI_IGNORE, 195220d2c4d2SmrgCASE_CSI_IGNORE, 195320d2c4d2SmrgCASE_CSI_IGNORE, 195420d2c4d2Smrg/* Agrave Aacute Acircumflex Atilde */ 1955894e0ac8SmrgCASE_SL, 1956894e0ac8SmrgCASE_SR, 195720d2c4d2SmrgCASE_GROUND_STATE, 195820d2c4d2SmrgCASE_GROUND_STATE, 195920d2c4d2Smrg/* Adiaeresis Aring AE Ccedilla */ 196020d2c4d2SmrgCASE_GROUND_STATE, 196120d2c4d2SmrgCASE_GROUND_STATE, 196220d2c4d2SmrgCASE_GROUND_STATE, 196320d2c4d2SmrgCASE_GROUND_STATE, 196420d2c4d2Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 196520d2c4d2SmrgCASE_GROUND_STATE, 196620d2c4d2SmrgCASE_GROUND_STATE, 196720d2c4d2SmrgCASE_GROUND_STATE, 196820d2c4d2SmrgCASE_GROUND_STATE, 196920d2c4d2Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 197020d2c4d2SmrgCASE_GROUND_STATE, 197120d2c4d2SmrgCASE_GROUND_STATE, 197220d2c4d2SmrgCASE_GROUND_STATE, 197320d2c4d2SmrgCASE_GROUND_STATE, 197420d2c4d2Smrg/* Eth Ntilde Ograve Oacute */ 197520d2c4d2SmrgCASE_GROUND_STATE, 197620d2c4d2SmrgCASE_GROUND_STATE, 197720d2c4d2SmrgCASE_GROUND_STATE, 197820d2c4d2SmrgCASE_GROUND_STATE, 197920d2c4d2Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 198020d2c4d2SmrgCASE_GROUND_STATE, 198120d2c4d2SmrgCASE_GROUND_STATE, 198220d2c4d2SmrgCASE_GROUND_STATE, 198320d2c4d2SmrgCASE_GROUND_STATE, 198420d2c4d2Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 198520d2c4d2SmrgCASE_GROUND_STATE, 198620d2c4d2SmrgCASE_GROUND_STATE, 198720d2c4d2SmrgCASE_GROUND_STATE, 198820d2c4d2SmrgCASE_GROUND_STATE, 198920d2c4d2Smrg/* Udiaeresis Yacute Thorn ssharp */ 199020d2c4d2SmrgCASE_GROUND_STATE, 199120d2c4d2SmrgCASE_GROUND_STATE, 199220d2c4d2SmrgCASE_GROUND_STATE, 199320d2c4d2SmrgCASE_GROUND_STATE, 199420d2c4d2Smrg/* agrave aacute acircumflex atilde */ 199520d2c4d2SmrgCASE_GROUND_STATE, 199620d2c4d2SmrgCASE_GROUND_STATE, 199720d2c4d2SmrgCASE_GROUND_STATE, 199820d2c4d2SmrgCASE_GROUND_STATE, 199920d2c4d2Smrg/* adiaeresis aring ae ccedilla */ 200020d2c4d2SmrgCASE_GROUND_STATE, 200120d2c4d2SmrgCASE_GROUND_STATE, 200220d2c4d2SmrgCASE_GROUND_STATE, 200320d2c4d2SmrgCASE_GROUND_STATE, 200420d2c4d2Smrg/* egrave eacute ecircumflex ediaeresis */ 200520d2c4d2SmrgCASE_GROUND_STATE, 200620d2c4d2SmrgCASE_GROUND_STATE, 200720d2c4d2SmrgCASE_GROUND_STATE, 200820d2c4d2SmrgCASE_GROUND_STATE, 200920d2c4d2Smrg/* igrave iacute icircumflex idiaeresis */ 201020d2c4d2SmrgCASE_GROUND_STATE, 201120d2c4d2SmrgCASE_GROUND_STATE, 201220d2c4d2SmrgCASE_GROUND_STATE, 201320d2c4d2SmrgCASE_GROUND_STATE, 201420d2c4d2Smrg/* eth ntilde ograve oacute */ 201520d2c4d2SmrgCASE_GROUND_STATE, 201620d2c4d2SmrgCASE_DECSCUSR, 201720d2c4d2SmrgCASE_GROUND_STATE, 201820d2c4d2SmrgCASE_GROUND_STATE, 201920d2c4d2Smrg/* ocircumflex otilde odiaeresis division */ 202020d2c4d2SmrgCASE_DECSWBV, 202120d2c4d2SmrgCASE_DECSMBV, 202220d2c4d2SmrgCASE_GROUND_STATE, 202320d2c4d2SmrgCASE_GROUND_STATE, 202420d2c4d2Smrg/* oslash ugrave uacute ucircumflex */ 202520d2c4d2SmrgCASE_GROUND_STATE, 202620d2c4d2SmrgCASE_GROUND_STATE, 202720d2c4d2SmrgCASE_GROUND_STATE, 202820d2c4d2SmrgCASE_GROUND_STATE, 202920d2c4d2Smrg/* udiaeresis yacute thorn ydiaeresis */ 203020d2c4d2SmrgCASE_GROUND_STATE, 203120d2c4d2SmrgCASE_GROUND_STATE, 203220d2c4d2SmrgCASE_GROUND_STATE, 203320d2c4d2SmrgCASE_IGNORE, 203420d2c4d2Smrg}; 203520d2c4d2Smrg#endif 203620d2c4d2Smrg 2037d522f475SmrgConst PARSE_T csi_tick_table[] = /* CSI ... ' */ 2038d522f475Smrg{ 2039d522f475Smrg/* NUL SOH STX ETX */ 2040d522f475SmrgCASE_IGNORE, 2041d522f475SmrgCASE_IGNORE, 2042d522f475SmrgCASE_IGNORE, 2043d522f475SmrgCASE_IGNORE, 2044d522f475Smrg/* EOT ENQ ACK BEL */ 2045d522f475SmrgCASE_IGNORE, 2046d522f475SmrgCASE_ENQ, 2047d522f475SmrgCASE_IGNORE, 2048d522f475SmrgCASE_BELL, 2049d522f475Smrg/* BS HT NL VT */ 2050d522f475SmrgCASE_BS, 2051d522f475SmrgCASE_TAB, 2052d522f475SmrgCASE_VMOT, 2053d522f475SmrgCASE_VMOT, 20540bd37d32Smrg/* FF CR SO SI */ 2055d522f475SmrgCASE_VMOT, 2056d522f475SmrgCASE_CR, 2057d522f475SmrgCASE_SO, 2058d522f475SmrgCASE_SI, 2059d522f475Smrg/* DLE DC1 DC2 DC3 */ 2060d522f475SmrgCASE_IGNORE, 2061d522f475SmrgCASE_IGNORE, 2062d522f475SmrgCASE_IGNORE, 2063d522f475SmrgCASE_IGNORE, 2064d522f475Smrg/* DC4 NAK SYN ETB */ 2065d522f475SmrgCASE_IGNORE, 2066d522f475SmrgCASE_IGNORE, 2067d522f475SmrgCASE_IGNORE, 2068d522f475SmrgCASE_IGNORE, 2069d522f475Smrg/* CAN EM SUB ESC */ 2070d522f475SmrgCASE_GROUND_STATE, 2071d522f475SmrgCASE_IGNORE, 2072d522f475SmrgCASE_GROUND_STATE, 2073d522f475SmrgCASE_ESC, 2074d522f475Smrg/* FS GS RS US */ 2075d522f475SmrgCASE_IGNORE, 2076d522f475SmrgCASE_IGNORE, 2077d522f475SmrgCASE_IGNORE, 2078d522f475SmrgCASE_IGNORE, 2079d522f475Smrg/* SP ! " # */ 2080d522f475SmrgCASE_CSI_IGNORE, 2081d522f475SmrgCASE_CSI_IGNORE, 2082d522f475SmrgCASE_CSI_IGNORE, 2083d522f475SmrgCASE_CSI_IGNORE, 2084d522f475Smrg/* $ % & ' */ 2085d522f475SmrgCASE_CSI_IGNORE, 2086d522f475SmrgCASE_CSI_IGNORE, 2087d522f475SmrgCASE_CSI_IGNORE, 2088d522f475SmrgCASE_CSI_IGNORE, 2089d522f475Smrg/* ( ) * + */ 2090d522f475SmrgCASE_CSI_IGNORE, 2091d522f475SmrgCASE_CSI_IGNORE, 2092d522f475SmrgCASE_CSI_IGNORE, 2093d522f475SmrgCASE_CSI_IGNORE, 2094d522f475Smrg/* , - . / */ 2095d522f475SmrgCASE_CSI_IGNORE, 2096d522f475SmrgCASE_CSI_IGNORE, 2097d522f475SmrgCASE_CSI_IGNORE, 2098d522f475SmrgCASE_CSI_IGNORE, 2099d522f475Smrg/* 0 1 2 3 */ 2100d522f475SmrgCASE_CSI_IGNORE, 2101d522f475SmrgCASE_CSI_IGNORE, 2102d522f475SmrgCASE_CSI_IGNORE, 2103d522f475SmrgCASE_CSI_IGNORE, 2104d522f475Smrg/* 4 5 6 7 */ 2105d522f475SmrgCASE_CSI_IGNORE, 2106d522f475SmrgCASE_CSI_IGNORE, 2107d522f475SmrgCASE_CSI_IGNORE, 2108d522f475SmrgCASE_CSI_IGNORE, 2109d522f475Smrg/* 8 9 : ; */ 2110d522f475SmrgCASE_CSI_IGNORE, 2111d522f475SmrgCASE_CSI_IGNORE, 2112d522f475SmrgCASE_CSI_IGNORE, 2113d522f475SmrgCASE_CSI_IGNORE, 2114d522f475Smrg/* < = > ? */ 2115d522f475SmrgCASE_CSI_IGNORE, 2116d522f475SmrgCASE_CSI_IGNORE, 2117d522f475SmrgCASE_CSI_IGNORE, 2118d522f475SmrgCASE_CSI_IGNORE, 2119d522f475Smrg/* @ A B C */ 2120d522f475SmrgCASE_GROUND_STATE, 2121d522f475SmrgCASE_GROUND_STATE, 2122d522f475SmrgCASE_GROUND_STATE, 2123d522f475SmrgCASE_GROUND_STATE, 2124d522f475Smrg/* D E F G */ 2125d522f475SmrgCASE_GROUND_STATE, 2126d522f475SmrgCASE_GROUND_STATE, 2127d522f475SmrgCASE_GROUND_STATE, 2128d522f475SmrgCASE_GROUND_STATE, 2129d522f475Smrg/* H I J K */ 2130d522f475SmrgCASE_GROUND_STATE, 2131d522f475SmrgCASE_GROUND_STATE, 2132d522f475SmrgCASE_GROUND_STATE, 2133d522f475SmrgCASE_GROUND_STATE, 2134d522f475Smrg/* L M N O */ 2135d522f475SmrgCASE_GROUND_STATE, 2136d522f475SmrgCASE_GROUND_STATE, 2137d522f475SmrgCASE_GROUND_STATE, 2138d522f475SmrgCASE_GROUND_STATE, 2139d522f475Smrg/* P Q R S */ 2140d522f475SmrgCASE_GROUND_STATE, 2141d522f475SmrgCASE_GROUND_STATE, 2142d522f475SmrgCASE_GROUND_STATE, 2143d522f475SmrgCASE_GROUND_STATE, 2144d522f475Smrg/* T U V W */ 2145d522f475SmrgCASE_GROUND_STATE, 2146d522f475SmrgCASE_GROUND_STATE, 2147d522f475SmrgCASE_GROUND_STATE, 2148d522f475SmrgCASE_GROUND_STATE, 2149d522f475Smrg/* X Y Z [ */ 2150d522f475SmrgCASE_GROUND_STATE, 2151d522f475SmrgCASE_GROUND_STATE, 2152d522f475SmrgCASE_GROUND_STATE, 2153d522f475SmrgCASE_GROUND_STATE, 2154d522f475Smrg/* \ ] ^ _ */ 2155d522f475SmrgCASE_GROUND_STATE, 2156d522f475SmrgCASE_GROUND_STATE, 2157d522f475SmrgCASE_GROUND_STATE, 2158d522f475SmrgCASE_GROUND_STATE, 2159d522f475Smrg/* ` a b c */ 2160d522f475SmrgCASE_GROUND_STATE, 2161d522f475SmrgCASE_GROUND_STATE, 2162d522f475SmrgCASE_GROUND_STATE, 2163d522f475SmrgCASE_GROUND_STATE, 2164d522f475Smrg/* d e f g */ 2165d522f475SmrgCASE_GROUND_STATE, 2166d522f475SmrgCASE_GROUND_STATE, 2167d522f475SmrgCASE_GROUND_STATE, 2168d522f475SmrgCASE_GROUND_STATE, 2169d522f475Smrg/* h i j k */ 2170d522f475SmrgCASE_GROUND_STATE, 2171d522f475SmrgCASE_GROUND_STATE, 2172d522f475SmrgCASE_GROUND_STATE, 2173d522f475SmrgCASE_GROUND_STATE, 2174d522f475Smrg/* l m n o */ 2175d522f475SmrgCASE_GROUND_STATE, 2176d522f475SmrgCASE_GROUND_STATE, 2177d522f475SmrgCASE_GROUND_STATE, 2178d522f475SmrgCASE_GROUND_STATE, 2179d522f475Smrg/* p q r s */ 2180d522f475SmrgCASE_GROUND_STATE, 2181d522f475SmrgCASE_GROUND_STATE, 2182d522f475SmrgCASE_GROUND_STATE, 2183d522f475SmrgCASE_GROUND_STATE, 2184d522f475Smrg/* t u v w */ 2185d522f475SmrgCASE_GROUND_STATE, 2186d522f475SmrgCASE_GROUND_STATE, 2187d522f475SmrgCASE_GROUND_STATE, 2188d522f475SmrgCASE_DECEFR, 2189d522f475Smrg/* x y z { */ 2190d522f475SmrgCASE_GROUND_STATE, 2191d522f475SmrgCASE_GROUND_STATE, 2192d522f475SmrgCASE_DECELR, 2193d522f475SmrgCASE_DECSLE, 2194d522f475Smrg/* | } ~ DEL */ 2195d522f475SmrgCASE_DECRQLP, 21960bd37d32SmrgCASE_DECIC, 21970bd37d32SmrgCASE_DECDC, 2198d522f475SmrgCASE_IGNORE, 2199d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 2200d522f475SmrgCASE_GROUND_STATE, 2201d522f475SmrgCASE_GROUND_STATE, 2202d522f475SmrgCASE_GROUND_STATE, 2203d522f475SmrgCASE_GROUND_STATE, 2204d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 2205d522f475SmrgCASE_IND, 2206d522f475SmrgCASE_NEL, 2207d522f475SmrgCASE_GROUND_STATE, 2208d522f475SmrgCASE_GROUND_STATE, 2209d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 2210d522f475SmrgCASE_HTS, 2211d522f475SmrgCASE_GROUND_STATE, 2212d522f475SmrgCASE_GROUND_STATE, 2213d522f475SmrgCASE_GROUND_STATE, 2214d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 2215d522f475SmrgCASE_GROUND_STATE, 2216d522f475SmrgCASE_RI, 2217d522f475SmrgCASE_SS2, 2218d522f475SmrgCASE_SS3, 2219d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 2220d522f475SmrgCASE_DCS, 2221d522f475SmrgCASE_GROUND_STATE, 2222d522f475SmrgCASE_GROUND_STATE, 2223d522f475SmrgCASE_GROUND_STATE, 2224d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 2225d522f475SmrgCASE_GROUND_STATE, 2226d522f475SmrgCASE_GROUND_STATE, 2227d522f475SmrgCASE_SPA, 2228d522f475SmrgCASE_EPA, 2229d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 2230d522f475SmrgCASE_SOS, 2231d522f475SmrgCASE_GROUND_STATE, 2232d522f475SmrgCASE_DECID, 2233d522f475SmrgCASE_CSI_STATE, 2234d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 2235d522f475SmrgCASE_ST, 2236d522f475SmrgCASE_OSC, 2237d522f475SmrgCASE_PM, 2238d522f475SmrgCASE_APC, 2239d522f475Smrg/* nobreakspace exclamdown cent sterling */ 2240d522f475SmrgCASE_CSI_IGNORE, 2241d522f475SmrgCASE_CSI_IGNORE, 2242d522f475SmrgCASE_CSI_IGNORE, 2243d522f475SmrgCASE_CSI_IGNORE, 2244d522f475Smrg/* currency yen brokenbar section */ 2245d522f475SmrgCASE_CSI_IGNORE, 2246d522f475SmrgCASE_CSI_IGNORE, 2247d522f475SmrgCASE_CSI_IGNORE, 2248d522f475SmrgCASE_CSI_IGNORE, 2249d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 2250d522f475SmrgCASE_CSI_IGNORE, 2251d522f475SmrgCASE_CSI_IGNORE, 2252d522f475SmrgCASE_CSI_IGNORE, 2253d522f475SmrgCASE_CSI_IGNORE, 2254d522f475Smrg/* notsign hyphen registered macron */ 2255d522f475SmrgCASE_CSI_IGNORE, 2256d522f475SmrgCASE_CSI_IGNORE, 2257d522f475SmrgCASE_CSI_IGNORE, 2258d522f475SmrgCASE_CSI_IGNORE, 2259d522f475Smrg/* degree plusminus twosuperior threesuperior */ 2260d522f475SmrgCASE_CSI_IGNORE, 2261d522f475SmrgCASE_CSI_IGNORE, 2262d522f475SmrgCASE_CSI_IGNORE, 2263d522f475SmrgCASE_CSI_IGNORE, 2264d522f475Smrg/* acute mu paragraph periodcentered */ 2265d522f475SmrgCASE_CSI_IGNORE, 2266d522f475SmrgCASE_CSI_IGNORE, 2267d522f475SmrgCASE_CSI_IGNORE, 2268d522f475SmrgCASE_CSI_IGNORE, 2269d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 2270d522f475SmrgCASE_CSI_IGNORE, 2271d522f475SmrgCASE_CSI_IGNORE, 2272d522f475SmrgCASE_CSI_IGNORE, 2273d522f475SmrgCASE_CSI_IGNORE, 2274d522f475Smrg/* onequarter onehalf threequarters questiondown */ 2275d522f475SmrgCASE_CSI_IGNORE, 2276d522f475SmrgCASE_CSI_IGNORE, 2277d522f475SmrgCASE_CSI_IGNORE, 2278d522f475SmrgCASE_CSI_IGNORE, 2279d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 2280d522f475SmrgCASE_GROUND_STATE, 2281d522f475SmrgCASE_GROUND_STATE, 2282d522f475SmrgCASE_GROUND_STATE, 2283d522f475SmrgCASE_GROUND_STATE, 2284d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 2285d522f475SmrgCASE_GROUND_STATE, 2286d522f475SmrgCASE_GROUND_STATE, 2287d522f475SmrgCASE_GROUND_STATE, 2288d522f475SmrgCASE_GROUND_STATE, 2289d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 2290d522f475SmrgCASE_GROUND_STATE, 2291d522f475SmrgCASE_GROUND_STATE, 2292d522f475SmrgCASE_GROUND_STATE, 2293d522f475SmrgCASE_GROUND_STATE, 2294d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 2295d522f475SmrgCASE_GROUND_STATE, 2296d522f475SmrgCASE_GROUND_STATE, 2297d522f475SmrgCASE_GROUND_STATE, 2298d522f475SmrgCASE_GROUND_STATE, 2299d522f475Smrg/* Eth Ntilde Ograve Oacute */ 2300d522f475SmrgCASE_GROUND_STATE, 2301d522f475SmrgCASE_GROUND_STATE, 2302d522f475SmrgCASE_GROUND_STATE, 2303d522f475SmrgCASE_GROUND_STATE, 2304d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 2305d522f475SmrgCASE_GROUND_STATE, 2306d522f475SmrgCASE_GROUND_STATE, 2307d522f475SmrgCASE_GROUND_STATE, 2308d522f475SmrgCASE_GROUND_STATE, 2309d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 2310d522f475SmrgCASE_GROUND_STATE, 2311d522f475SmrgCASE_GROUND_STATE, 2312d522f475SmrgCASE_GROUND_STATE, 2313d522f475SmrgCASE_GROUND_STATE, 2314d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 2315d522f475SmrgCASE_GROUND_STATE, 2316d522f475SmrgCASE_GROUND_STATE, 2317d522f475SmrgCASE_GROUND_STATE, 2318d522f475SmrgCASE_GROUND_STATE, 2319d522f475Smrg/* agrave aacute acircumflex atilde */ 2320d522f475SmrgCASE_GROUND_STATE, 2321d522f475SmrgCASE_GROUND_STATE, 2322d522f475SmrgCASE_GROUND_STATE, 2323d522f475SmrgCASE_GROUND_STATE, 2324d522f475Smrg/* adiaeresis aring ae ccedilla */ 2325d522f475SmrgCASE_GROUND_STATE, 2326d522f475SmrgCASE_GROUND_STATE, 2327d522f475SmrgCASE_GROUND_STATE, 2328d522f475SmrgCASE_GROUND_STATE, 2329d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 2330d522f475SmrgCASE_GROUND_STATE, 2331d522f475SmrgCASE_GROUND_STATE, 2332d522f475SmrgCASE_GROUND_STATE, 2333d522f475SmrgCASE_GROUND_STATE, 2334d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 2335d522f475SmrgCASE_GROUND_STATE, 2336d522f475SmrgCASE_GROUND_STATE, 2337d522f475SmrgCASE_GROUND_STATE, 2338d522f475SmrgCASE_GROUND_STATE, 2339d522f475Smrg/* eth ntilde ograve oacute */ 2340d522f475SmrgCASE_GROUND_STATE, 2341d522f475SmrgCASE_GROUND_STATE, 2342d522f475SmrgCASE_GROUND_STATE, 2343d522f475SmrgCASE_GROUND_STATE, 2344d522f475Smrg/* ocircumflex otilde odiaeresis division */ 2345d522f475SmrgCASE_GROUND_STATE, 2346d522f475SmrgCASE_GROUND_STATE, 2347d522f475SmrgCASE_GROUND_STATE, 2348d522f475SmrgCASE_DECEFR, 2349d522f475Smrg/* oslash ugrave uacute ucircumflex */ 2350d522f475SmrgCASE_GROUND_STATE, 2351d522f475SmrgCASE_GROUND_STATE, 2352d522f475SmrgCASE_DECELR, 2353d522f475SmrgCASE_DECSLE, 2354d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 2355d522f475SmrgCASE_DECRQLP, 23560bd37d32SmrgCASE_DECIC, 23570bd37d32SmrgCASE_DECDC, 2358d522f475SmrgCASE_IGNORE, 2359d522f475Smrg}; 2360d522f475Smrg 2361d522f475Smrg#if OPT_DEC_RECTOPS 2362d522f475SmrgConst PARSE_T csi_dollar_table[] = /* CSI ... $ */ 2363d522f475Smrg{ 2364d522f475Smrg/* NUL SOH STX ETX */ 2365d522f475SmrgCASE_IGNORE, 2366d522f475SmrgCASE_IGNORE, 2367d522f475SmrgCASE_IGNORE, 2368d522f475SmrgCASE_IGNORE, 2369d522f475Smrg/* EOT ENQ ACK BEL */ 2370d522f475SmrgCASE_IGNORE, 2371d522f475SmrgCASE_ENQ, 2372d522f475SmrgCASE_IGNORE, 2373d522f475SmrgCASE_BELL, 2374d522f475Smrg/* BS HT NL VT */ 2375d522f475SmrgCASE_BS, 2376d522f475SmrgCASE_TAB, 2377d522f475SmrgCASE_VMOT, 2378d522f475SmrgCASE_VMOT, 23790bd37d32Smrg/* FF CR SO SI */ 2380d522f475SmrgCASE_VMOT, 2381d522f475SmrgCASE_CR, 2382d522f475SmrgCASE_SO, 2383d522f475SmrgCASE_SI, 2384d522f475Smrg/* DLE DC1 DC2 DC3 */ 2385d522f475SmrgCASE_IGNORE, 2386d522f475SmrgCASE_IGNORE, 2387d522f475SmrgCASE_IGNORE, 2388d522f475SmrgCASE_IGNORE, 2389d522f475Smrg/* DC4 NAK SYN ETB */ 2390d522f475SmrgCASE_IGNORE, 2391d522f475SmrgCASE_IGNORE, 2392d522f475SmrgCASE_IGNORE, 2393d522f475SmrgCASE_IGNORE, 2394d522f475Smrg/* CAN EM SUB ESC */ 2395d522f475SmrgCASE_GROUND_STATE, 2396d522f475SmrgCASE_IGNORE, 2397d522f475SmrgCASE_GROUND_STATE, 2398d522f475SmrgCASE_ESC, 2399d522f475Smrg/* FS GS RS US */ 2400d522f475SmrgCASE_IGNORE, 2401d522f475SmrgCASE_IGNORE, 2402d522f475SmrgCASE_IGNORE, 2403d522f475SmrgCASE_IGNORE, 2404d522f475Smrg/* SP ! " # */ 2405d522f475SmrgCASE_CSI_IGNORE, 2406d522f475SmrgCASE_CSI_IGNORE, 2407d522f475SmrgCASE_CSI_IGNORE, 2408d522f475SmrgCASE_CSI_IGNORE, 2409d522f475Smrg/* $ % & ' */ 2410d522f475SmrgCASE_CSI_IGNORE, 2411d522f475SmrgCASE_CSI_IGNORE, 2412d522f475SmrgCASE_CSI_IGNORE, 2413d522f475SmrgCASE_CSI_IGNORE, 2414d522f475Smrg/* ( ) * + */ 2415d522f475SmrgCASE_CSI_IGNORE, 2416d522f475SmrgCASE_CSI_IGNORE, 2417d522f475SmrgCASE_CSI_IGNORE, 2418d522f475SmrgCASE_CSI_IGNORE, 2419d522f475Smrg/* , - . / */ 2420d522f475SmrgCASE_CSI_IGNORE, 2421d522f475SmrgCASE_CSI_IGNORE, 2422d522f475SmrgCASE_CSI_IGNORE, 2423d522f475SmrgCASE_CSI_IGNORE, 2424d522f475Smrg/* 0 1 2 3 */ 2425d522f475SmrgCASE_CSI_IGNORE, 2426d522f475SmrgCASE_CSI_IGNORE, 2427d522f475SmrgCASE_CSI_IGNORE, 2428d522f475SmrgCASE_CSI_IGNORE, 2429d522f475Smrg/* 4 5 6 7 */ 2430d522f475SmrgCASE_CSI_IGNORE, 2431d522f475SmrgCASE_CSI_IGNORE, 2432d522f475SmrgCASE_CSI_IGNORE, 2433d522f475SmrgCASE_CSI_IGNORE, 2434d522f475Smrg/* 8 9 : ; */ 2435d522f475SmrgCASE_CSI_IGNORE, 2436d522f475SmrgCASE_CSI_IGNORE, 2437d522f475SmrgCASE_CSI_IGNORE, 2438d522f475SmrgCASE_CSI_IGNORE, 2439d522f475Smrg/* < = > ? */ 2440d522f475SmrgCASE_CSI_IGNORE, 2441d522f475SmrgCASE_CSI_IGNORE, 2442d522f475SmrgCASE_CSI_IGNORE, 2443d522f475SmrgCASE_CSI_IGNORE, 2444d522f475Smrg/* @ A B C */ 2445d522f475SmrgCASE_GROUND_STATE, 2446d522f475SmrgCASE_GROUND_STATE, 2447d522f475SmrgCASE_GROUND_STATE, 2448d522f475SmrgCASE_GROUND_STATE, 2449d522f475Smrg/* D E F G */ 2450d522f475SmrgCASE_GROUND_STATE, 2451d522f475SmrgCASE_GROUND_STATE, 2452d522f475SmrgCASE_GROUND_STATE, 2453d522f475SmrgCASE_GROUND_STATE, 2454d522f475Smrg/* H I J K */ 2455d522f475SmrgCASE_GROUND_STATE, 2456d522f475SmrgCASE_GROUND_STATE, 2457d522f475SmrgCASE_GROUND_STATE, 2458d522f475SmrgCASE_GROUND_STATE, 2459d522f475Smrg/* L M N O */ 2460d522f475SmrgCASE_GROUND_STATE, 2461d522f475SmrgCASE_GROUND_STATE, 2462d522f475SmrgCASE_GROUND_STATE, 2463d522f475SmrgCASE_GROUND_STATE, 2464d522f475Smrg/* P Q R S */ 2465d522f475SmrgCASE_GROUND_STATE, 2466d522f475SmrgCASE_GROUND_STATE, 2467d522f475SmrgCASE_GROUND_STATE, 2468d522f475SmrgCASE_GROUND_STATE, 2469d522f475Smrg/* T U V W */ 2470d522f475SmrgCASE_GROUND_STATE, 2471d522f475SmrgCASE_GROUND_STATE, 2472d522f475SmrgCASE_GROUND_STATE, 2473d522f475SmrgCASE_GROUND_STATE, 2474d522f475Smrg/* X Y Z [ */ 2475d522f475SmrgCASE_GROUND_STATE, 2476d522f475SmrgCASE_GROUND_STATE, 2477d522f475SmrgCASE_GROUND_STATE, 2478d522f475SmrgCASE_GROUND_STATE, 2479d522f475Smrg/* \ ] ^ _ */ 2480d522f475SmrgCASE_GROUND_STATE, 2481d522f475SmrgCASE_GROUND_STATE, 2482d522f475SmrgCASE_GROUND_STATE, 2483d522f475SmrgCASE_GROUND_STATE, 2484d522f475Smrg/* ` a b c */ 2485d522f475SmrgCASE_GROUND_STATE, 2486d522f475SmrgCASE_GROUND_STATE, 2487d522f475SmrgCASE_GROUND_STATE, 2488d522f475SmrgCASE_GROUND_STATE, 2489d522f475Smrg/* d e f g */ 2490d522f475SmrgCASE_GROUND_STATE, 2491d522f475SmrgCASE_GROUND_STATE, 2492d522f475SmrgCASE_GROUND_STATE, 2493d522f475SmrgCASE_GROUND_STATE, 2494d522f475Smrg/* h i j k */ 2495d522f475SmrgCASE_GROUND_STATE, 2496d522f475SmrgCASE_GROUND_STATE, 2497d522f475SmrgCASE_GROUND_STATE, 2498d522f475SmrgCASE_GROUND_STATE, 2499d522f475Smrg/* l m n o */ 2500d522f475SmrgCASE_GROUND_STATE, 2501d522f475SmrgCASE_GROUND_STATE, 2502d522f475SmrgCASE_GROUND_STATE, 2503d522f475SmrgCASE_GROUND_STATE, 2504d522f475Smrg/* p q r s */ 2505492d43a5SmrgCASE_RQM, 2506d522f475SmrgCASE_GROUND_STATE, 2507d522f475SmrgCASE_DECCARA, 2508d522f475SmrgCASE_GROUND_STATE, 2509d522f475Smrg/* t u v w */ 2510d522f475SmrgCASE_DECRARA, 2511d522f475SmrgCASE_GROUND_STATE, 2512d522f475SmrgCASE_DECCRA, 2513d522f475SmrgCASE_GROUND_STATE, 2514d522f475Smrg/* x y z { */ 2515d522f475SmrgCASE_DECFRA, 2516d522f475SmrgCASE_GROUND_STATE, 2517d522f475SmrgCASE_DECERA, 2518d522f475SmrgCASE_DECSERA, 2519d522f475Smrg/* | } ~ DEL */ 2520d522f475SmrgCASE_GROUND_STATE, 2521d522f475SmrgCASE_GROUND_STATE, 2522d522f475SmrgCASE_GROUND_STATE, 2523d522f475SmrgCASE_IGNORE, 2524d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 2525d522f475SmrgCASE_GROUND_STATE, 2526d522f475SmrgCASE_GROUND_STATE, 2527d522f475SmrgCASE_GROUND_STATE, 2528d522f475SmrgCASE_GROUND_STATE, 2529d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 2530d522f475SmrgCASE_IND, 2531d522f475SmrgCASE_NEL, 2532d522f475SmrgCASE_GROUND_STATE, 2533d522f475SmrgCASE_GROUND_STATE, 2534d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 2535d522f475SmrgCASE_HTS, 2536d522f475SmrgCASE_GROUND_STATE, 2537d522f475SmrgCASE_GROUND_STATE, 2538d522f475SmrgCASE_GROUND_STATE, 2539d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 2540d522f475SmrgCASE_GROUND_STATE, 2541d522f475SmrgCASE_RI, 2542d522f475SmrgCASE_SS2, 2543d522f475SmrgCASE_SS3, 2544d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 2545d522f475SmrgCASE_DCS, 2546d522f475SmrgCASE_GROUND_STATE, 2547d522f475SmrgCASE_GROUND_STATE, 2548d522f475SmrgCASE_GROUND_STATE, 2549d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 2550d522f475SmrgCASE_GROUND_STATE, 2551d522f475SmrgCASE_GROUND_STATE, 2552d522f475SmrgCASE_SPA, 2553d522f475SmrgCASE_EPA, 2554d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 2555d522f475SmrgCASE_SOS, 2556d522f475SmrgCASE_GROUND_STATE, 2557d522f475SmrgCASE_DECID, 2558d522f475SmrgCASE_CSI_STATE, 2559d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 2560d522f475SmrgCASE_ST, 2561d522f475SmrgCASE_OSC, 2562d522f475SmrgCASE_PM, 2563d522f475SmrgCASE_APC, 2564d522f475Smrg/* nobreakspace exclamdown cent sterling */ 2565d522f475SmrgCASE_CSI_IGNORE, 2566d522f475SmrgCASE_CSI_IGNORE, 2567d522f475SmrgCASE_CSI_IGNORE, 2568d522f475SmrgCASE_CSI_IGNORE, 2569d522f475Smrg/* currency yen brokenbar section */ 2570d522f475SmrgCASE_CSI_IGNORE, 2571d522f475SmrgCASE_CSI_IGNORE, 2572d522f475SmrgCASE_CSI_IGNORE, 2573d522f475SmrgCASE_CSI_IGNORE, 2574d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 2575d522f475SmrgCASE_CSI_IGNORE, 2576d522f475SmrgCASE_CSI_IGNORE, 2577d522f475SmrgCASE_CSI_IGNORE, 2578d522f475SmrgCASE_CSI_IGNORE, 2579d522f475Smrg/* notsign hyphen registered macron */ 2580d522f475SmrgCASE_CSI_IGNORE, 2581d522f475SmrgCASE_CSI_IGNORE, 2582d522f475SmrgCASE_CSI_IGNORE, 2583d522f475SmrgCASE_CSI_IGNORE, 2584d522f475Smrg/* degree plusminus twosuperior threesuperior */ 2585d522f475SmrgCASE_CSI_IGNORE, 2586d522f475SmrgCASE_CSI_IGNORE, 2587d522f475SmrgCASE_CSI_IGNORE, 2588d522f475SmrgCASE_CSI_IGNORE, 2589d522f475Smrg/* acute mu paragraph periodcentered */ 2590d522f475SmrgCASE_CSI_IGNORE, 2591d522f475SmrgCASE_CSI_IGNORE, 2592d522f475SmrgCASE_CSI_IGNORE, 2593d522f475SmrgCASE_CSI_IGNORE, 2594d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 2595d522f475SmrgCASE_CSI_IGNORE, 2596d522f475SmrgCASE_CSI_IGNORE, 2597d522f475SmrgCASE_CSI_IGNORE, 2598d522f475SmrgCASE_CSI_IGNORE, 2599d522f475Smrg/* onequarter onehalf threequarters questiondown */ 2600d522f475SmrgCASE_CSI_IGNORE, 2601d522f475SmrgCASE_CSI_IGNORE, 2602d522f475SmrgCASE_CSI_IGNORE, 2603d522f475SmrgCASE_CSI_IGNORE, 2604d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 2605d522f475SmrgCASE_GROUND_STATE, 2606d522f475SmrgCASE_GROUND_STATE, 2607d522f475SmrgCASE_GROUND_STATE, 2608d522f475SmrgCASE_GROUND_STATE, 2609d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 2610d522f475SmrgCASE_GROUND_STATE, 2611d522f475SmrgCASE_GROUND_STATE, 2612d522f475SmrgCASE_GROUND_STATE, 2613d522f475SmrgCASE_GROUND_STATE, 2614d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 2615d522f475SmrgCASE_GROUND_STATE, 2616d522f475SmrgCASE_GROUND_STATE, 2617d522f475SmrgCASE_GROUND_STATE, 2618d522f475SmrgCASE_GROUND_STATE, 2619d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 2620d522f475SmrgCASE_GROUND_STATE, 2621d522f475SmrgCASE_GROUND_STATE, 2622d522f475SmrgCASE_GROUND_STATE, 2623d522f475SmrgCASE_GROUND_STATE, 2624d522f475Smrg/* Eth Ntilde Ograve Oacute */ 2625d522f475SmrgCASE_GROUND_STATE, 2626d522f475SmrgCASE_GROUND_STATE, 2627d522f475SmrgCASE_GROUND_STATE, 2628d522f475SmrgCASE_GROUND_STATE, 2629d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 2630d522f475SmrgCASE_GROUND_STATE, 2631d522f475SmrgCASE_GROUND_STATE, 2632d522f475SmrgCASE_GROUND_STATE, 2633d522f475SmrgCASE_GROUND_STATE, 2634d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 2635d522f475SmrgCASE_GROUND_STATE, 2636d522f475SmrgCASE_GROUND_STATE, 2637d522f475SmrgCASE_GROUND_STATE, 2638d522f475SmrgCASE_GROUND_STATE, 2639d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 2640d522f475SmrgCASE_GROUND_STATE, 2641d522f475SmrgCASE_GROUND_STATE, 2642d522f475SmrgCASE_GROUND_STATE, 2643d522f475SmrgCASE_GROUND_STATE, 2644d522f475Smrg/* agrave aacute acircumflex atilde */ 2645d522f475SmrgCASE_GROUND_STATE, 2646d522f475SmrgCASE_GROUND_STATE, 2647d522f475SmrgCASE_GROUND_STATE, 2648d522f475SmrgCASE_GROUND_STATE, 2649d522f475Smrg/* adiaeresis aring ae ccedilla */ 2650d522f475SmrgCASE_GROUND_STATE, 2651d522f475SmrgCASE_GROUND_STATE, 2652d522f475SmrgCASE_GROUND_STATE, 2653d522f475SmrgCASE_GROUND_STATE, 2654d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 2655d522f475SmrgCASE_GROUND_STATE, 2656d522f475SmrgCASE_GROUND_STATE, 2657d522f475SmrgCASE_GROUND_STATE, 2658d522f475SmrgCASE_GROUND_STATE, 2659d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 2660d522f475SmrgCASE_GROUND_STATE, 2661d522f475SmrgCASE_GROUND_STATE, 2662d522f475SmrgCASE_GROUND_STATE, 2663d522f475SmrgCASE_GROUND_STATE, 2664d522f475Smrg/* eth ntilde ograve oacute */ 2665492d43a5SmrgCASE_RQM, 2666d522f475SmrgCASE_GROUND_STATE, 2667d522f475SmrgCASE_DECCARA, 2668d522f475SmrgCASE_GROUND_STATE, 2669d522f475Smrg/* ocircumflex otilde odiaeresis division */ 2670d522f475SmrgCASE_DECRARA, 2671d522f475SmrgCASE_GROUND_STATE, 2672d522f475SmrgCASE_DECCRA, 2673d522f475SmrgCASE_GROUND_STATE, 2674d522f475Smrg/* oslash ugrave uacute ucircumflex */ 2675d522f475SmrgCASE_DECFRA, 2676d522f475SmrgCASE_GROUND_STATE, 2677d522f475SmrgCASE_DECERA, 2678d522f475SmrgCASE_DECSERA, 2679d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 2680d522f475SmrgCASE_GROUND_STATE, 2681d522f475SmrgCASE_GROUND_STATE, 2682d522f475SmrgCASE_GROUND_STATE, 2683d522f475SmrgCASE_GROUND_STATE, 2684d522f475Smrg}; 2685d522f475Smrg 2686d522f475SmrgConst PARSE_T csi_star_table[] = /* CSI ... * */ 2687d522f475Smrg{ 2688d522f475Smrg/* NUL SOH STX ETX */ 2689d522f475SmrgCASE_IGNORE, 2690d522f475SmrgCASE_IGNORE, 2691d522f475SmrgCASE_IGNORE, 2692d522f475SmrgCASE_IGNORE, 2693d522f475Smrg/* EOT ENQ ACK BEL */ 2694d522f475SmrgCASE_IGNORE, 2695d522f475SmrgCASE_ENQ, 2696d522f475SmrgCASE_IGNORE, 2697d522f475SmrgCASE_BELL, 2698d522f475Smrg/* BS HT NL VT */ 2699d522f475SmrgCASE_BS, 2700d522f475SmrgCASE_TAB, 2701d522f475SmrgCASE_VMOT, 2702d522f475SmrgCASE_VMOT, 27030bd37d32Smrg/* FF CR SO SI */ 2704d522f475SmrgCASE_VMOT, 2705d522f475SmrgCASE_CR, 2706d522f475SmrgCASE_SO, 2707d522f475SmrgCASE_SI, 2708d522f475Smrg/* DLE DC1 DC2 DC3 */ 2709d522f475SmrgCASE_IGNORE, 2710d522f475SmrgCASE_IGNORE, 2711d522f475SmrgCASE_IGNORE, 2712d522f475SmrgCASE_IGNORE, 2713d522f475Smrg/* DC4 NAK SYN ETB */ 2714d522f475SmrgCASE_IGNORE, 2715d522f475SmrgCASE_IGNORE, 2716d522f475SmrgCASE_IGNORE, 2717d522f475SmrgCASE_IGNORE, 2718d522f475Smrg/* CAN EM SUB ESC */ 2719d522f475SmrgCASE_GROUND_STATE, 2720d522f475SmrgCASE_IGNORE, 2721d522f475SmrgCASE_GROUND_STATE, 2722d522f475SmrgCASE_ESC, 2723d522f475Smrg/* FS GS RS US */ 2724d522f475SmrgCASE_IGNORE, 2725d522f475SmrgCASE_IGNORE, 2726d522f475SmrgCASE_IGNORE, 2727d522f475SmrgCASE_IGNORE, 2728d522f475Smrg/* SP ! " # */ 2729d522f475SmrgCASE_CSI_IGNORE, 2730d522f475SmrgCASE_CSI_IGNORE, 2731d522f475SmrgCASE_CSI_IGNORE, 2732d522f475SmrgCASE_CSI_IGNORE, 2733d522f475Smrg/* $ % & ' */ 2734d522f475SmrgCASE_CSI_IGNORE, 2735d522f475SmrgCASE_CSI_IGNORE, 2736d522f475SmrgCASE_CSI_IGNORE, 2737d522f475SmrgCASE_CSI_IGNORE, 2738d522f475Smrg/* ( ) * + */ 2739d522f475SmrgCASE_CSI_IGNORE, 2740d522f475SmrgCASE_CSI_IGNORE, 2741d522f475SmrgCASE_CSI_IGNORE, 2742d522f475SmrgCASE_CSI_IGNORE, 2743d522f475Smrg/* , - . / */ 2744d522f475SmrgCASE_CSI_IGNORE, 2745d522f475SmrgCASE_CSI_IGNORE, 2746d522f475SmrgCASE_CSI_IGNORE, 2747d522f475SmrgCASE_CSI_IGNORE, 2748d522f475Smrg/* 0 1 2 3 */ 2749d522f475SmrgCASE_CSI_IGNORE, 2750d522f475SmrgCASE_CSI_IGNORE, 2751d522f475SmrgCASE_CSI_IGNORE, 2752d522f475SmrgCASE_CSI_IGNORE, 2753d522f475Smrg/* 4 5 6 7 */ 2754d522f475SmrgCASE_CSI_IGNORE, 2755d522f475SmrgCASE_CSI_IGNORE, 2756d522f475SmrgCASE_CSI_IGNORE, 2757d522f475SmrgCASE_CSI_IGNORE, 2758d522f475Smrg/* 8 9 : ; */ 2759d522f475SmrgCASE_CSI_IGNORE, 2760d522f475SmrgCASE_CSI_IGNORE, 2761d522f475SmrgCASE_CSI_IGNORE, 2762d522f475SmrgCASE_CSI_IGNORE, 2763d522f475Smrg/* < = > ? */ 2764d522f475SmrgCASE_CSI_IGNORE, 2765d522f475SmrgCASE_CSI_IGNORE, 2766d522f475SmrgCASE_CSI_IGNORE, 2767d522f475SmrgCASE_CSI_IGNORE, 2768d522f475Smrg/* @ A B C */ 2769d522f475SmrgCASE_GROUND_STATE, 2770d522f475SmrgCASE_GROUND_STATE, 2771d522f475SmrgCASE_GROUND_STATE, 2772d522f475SmrgCASE_GROUND_STATE, 2773d522f475Smrg/* D E F G */ 2774d522f475SmrgCASE_GROUND_STATE, 2775d522f475SmrgCASE_GROUND_STATE, 2776d522f475SmrgCASE_GROUND_STATE, 2777d522f475SmrgCASE_GROUND_STATE, 2778d522f475Smrg/* H I J K */ 2779d522f475SmrgCASE_GROUND_STATE, 2780d522f475SmrgCASE_GROUND_STATE, 2781d522f475SmrgCASE_GROUND_STATE, 2782d522f475SmrgCASE_GROUND_STATE, 2783d522f475Smrg/* L M N O */ 2784d522f475SmrgCASE_GROUND_STATE, 2785d522f475SmrgCASE_GROUND_STATE, 2786d522f475SmrgCASE_GROUND_STATE, 2787d522f475SmrgCASE_GROUND_STATE, 2788d522f475Smrg/* P Q R S */ 2789d522f475SmrgCASE_GROUND_STATE, 2790d522f475SmrgCASE_GROUND_STATE, 2791d522f475SmrgCASE_GROUND_STATE, 2792d522f475SmrgCASE_GROUND_STATE, 2793d522f475Smrg/* T U V W */ 2794d522f475SmrgCASE_GROUND_STATE, 2795d522f475SmrgCASE_GROUND_STATE, 2796d522f475SmrgCASE_GROUND_STATE, 2797d522f475SmrgCASE_GROUND_STATE, 2798d522f475Smrg/* X Y Z [ */ 2799d522f475SmrgCASE_GROUND_STATE, 2800d522f475SmrgCASE_GROUND_STATE, 2801d522f475SmrgCASE_GROUND_STATE, 2802d522f475SmrgCASE_GROUND_STATE, 2803d522f475Smrg/* \ ] ^ _ */ 2804d522f475SmrgCASE_GROUND_STATE, 2805d522f475SmrgCASE_GROUND_STATE, 2806d522f475SmrgCASE_GROUND_STATE, 2807d522f475SmrgCASE_GROUND_STATE, 2808d522f475Smrg/* ` a b c */ 2809d522f475SmrgCASE_GROUND_STATE, 2810d522f475SmrgCASE_GROUND_STATE, 2811d522f475SmrgCASE_GROUND_STATE, 2812d522f475SmrgCASE_GROUND_STATE, 2813d522f475Smrg/* d e f g */ 2814d522f475SmrgCASE_GROUND_STATE, 2815d522f475SmrgCASE_GROUND_STATE, 2816d522f475SmrgCASE_GROUND_STATE, 2817d522f475SmrgCASE_GROUND_STATE, 2818d522f475Smrg/* h i j k */ 2819d522f475SmrgCASE_GROUND_STATE, 2820d522f475SmrgCASE_GROUND_STATE, 2821d522f475SmrgCASE_GROUND_STATE, 2822d522f475SmrgCASE_GROUND_STATE, 2823d522f475Smrg/* l m n o */ 2824d522f475SmrgCASE_GROUND_STATE, 2825d522f475SmrgCASE_GROUND_STATE, 2826d522f475SmrgCASE_GROUND_STATE, 2827d522f475SmrgCASE_GROUND_STATE, 2828d522f475Smrg/* p q r s */ 2829d522f475SmrgCASE_GROUND_STATE, 2830d522f475SmrgCASE_GROUND_STATE, 2831d522f475SmrgCASE_GROUND_STATE, 2832d522f475SmrgCASE_GROUND_STATE, 2833d522f475Smrg/* t u v w */ 2834d522f475SmrgCASE_GROUND_STATE, 2835d522f475SmrgCASE_GROUND_STATE, 2836d522f475SmrgCASE_GROUND_STATE, 2837d522f475SmrgCASE_GROUND_STATE, 2838d522f475Smrg/* x y z { */ 2839d522f475SmrgCASE_DECSACE, 28400bd37d32SmrgCASE_DECRQCRA, 2841d522f475SmrgCASE_GROUND_STATE, 2842d522f475SmrgCASE_GROUND_STATE, 2843d522f475Smrg/* | } ~ DEL */ 2844d522f475SmrgCASE_GROUND_STATE, 2845d522f475SmrgCASE_GROUND_STATE, 2846d522f475SmrgCASE_GROUND_STATE, 2847d522f475SmrgCASE_IGNORE, 2848d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 2849d522f475SmrgCASE_GROUND_STATE, 2850d522f475SmrgCASE_GROUND_STATE, 2851d522f475SmrgCASE_GROUND_STATE, 2852d522f475SmrgCASE_GROUND_STATE, 2853d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 2854d522f475SmrgCASE_IND, 2855d522f475SmrgCASE_NEL, 2856d522f475SmrgCASE_GROUND_STATE, 2857d522f475SmrgCASE_GROUND_STATE, 2858d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 2859d522f475SmrgCASE_HTS, 2860d522f475SmrgCASE_GROUND_STATE, 2861d522f475SmrgCASE_GROUND_STATE, 2862d522f475SmrgCASE_GROUND_STATE, 2863d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 2864d522f475SmrgCASE_GROUND_STATE, 2865d522f475SmrgCASE_RI, 2866d522f475SmrgCASE_SS2, 2867d522f475SmrgCASE_SS3, 2868d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 2869d522f475SmrgCASE_DCS, 2870d522f475SmrgCASE_GROUND_STATE, 2871d522f475SmrgCASE_GROUND_STATE, 2872d522f475SmrgCASE_GROUND_STATE, 2873d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 2874d522f475SmrgCASE_GROUND_STATE, 2875d522f475SmrgCASE_GROUND_STATE, 2876d522f475SmrgCASE_SPA, 2877d522f475SmrgCASE_EPA, 2878d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 2879d522f475SmrgCASE_SOS, 2880d522f475SmrgCASE_GROUND_STATE, 2881d522f475SmrgCASE_DECID, 2882d522f475SmrgCASE_CSI_STATE, 2883d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 2884d522f475SmrgCASE_ST, 2885d522f475SmrgCASE_OSC, 2886d522f475SmrgCASE_PM, 2887d522f475SmrgCASE_APC, 2888d522f475Smrg/* nobreakspace exclamdown cent sterling */ 2889d522f475SmrgCASE_CSI_IGNORE, 2890d522f475SmrgCASE_CSI_IGNORE, 2891d522f475SmrgCASE_CSI_IGNORE, 2892d522f475SmrgCASE_CSI_IGNORE, 2893d522f475Smrg/* currency yen brokenbar section */ 2894d522f475SmrgCASE_CSI_IGNORE, 2895d522f475SmrgCASE_CSI_IGNORE, 2896d522f475SmrgCASE_CSI_IGNORE, 2897d522f475SmrgCASE_CSI_IGNORE, 2898d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 2899d522f475SmrgCASE_CSI_IGNORE, 2900d522f475SmrgCASE_CSI_IGNORE, 2901d522f475SmrgCASE_CSI_IGNORE, 2902d522f475SmrgCASE_CSI_IGNORE, 2903d522f475Smrg/* notsign hyphen registered macron */ 2904d522f475SmrgCASE_CSI_IGNORE, 2905d522f475SmrgCASE_CSI_IGNORE, 2906d522f475SmrgCASE_CSI_IGNORE, 2907d522f475SmrgCASE_CSI_IGNORE, 2908d522f475Smrg/* degree plusminus twosuperior threesuperior */ 2909d522f475SmrgCASE_CSI_IGNORE, 2910d522f475SmrgCASE_CSI_IGNORE, 2911d522f475SmrgCASE_CSI_IGNORE, 2912d522f475SmrgCASE_CSI_IGNORE, 2913d522f475Smrg/* acute mu paragraph periodcentered */ 2914d522f475SmrgCASE_CSI_IGNORE, 2915d522f475SmrgCASE_CSI_IGNORE, 2916d522f475SmrgCASE_CSI_IGNORE, 2917d522f475SmrgCASE_CSI_IGNORE, 2918d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 2919d522f475SmrgCASE_CSI_IGNORE, 2920d522f475SmrgCASE_CSI_IGNORE, 2921d522f475SmrgCASE_CSI_IGNORE, 2922d522f475SmrgCASE_CSI_IGNORE, 2923d522f475Smrg/* onequarter onehalf threequarters questiondown */ 2924d522f475SmrgCASE_CSI_IGNORE, 2925d522f475SmrgCASE_CSI_IGNORE, 2926d522f475SmrgCASE_CSI_IGNORE, 2927d522f475SmrgCASE_CSI_IGNORE, 2928d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 2929d522f475SmrgCASE_GROUND_STATE, 2930d522f475SmrgCASE_GROUND_STATE, 2931d522f475SmrgCASE_GROUND_STATE, 2932d522f475SmrgCASE_GROUND_STATE, 2933d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 2934d522f475SmrgCASE_GROUND_STATE, 2935d522f475SmrgCASE_GROUND_STATE, 2936d522f475SmrgCASE_GROUND_STATE, 2937d522f475SmrgCASE_GROUND_STATE, 2938d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 2939d522f475SmrgCASE_GROUND_STATE, 2940d522f475SmrgCASE_GROUND_STATE, 2941d522f475SmrgCASE_GROUND_STATE, 2942d522f475SmrgCASE_GROUND_STATE, 2943d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 2944d522f475SmrgCASE_GROUND_STATE, 2945d522f475SmrgCASE_GROUND_STATE, 2946d522f475SmrgCASE_GROUND_STATE, 2947d522f475SmrgCASE_GROUND_STATE, 2948d522f475Smrg/* Eth Ntilde Ograve Oacute */ 2949d522f475SmrgCASE_GROUND_STATE, 2950d522f475SmrgCASE_GROUND_STATE, 2951d522f475SmrgCASE_GROUND_STATE, 2952d522f475SmrgCASE_GROUND_STATE, 2953d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 2954d522f475SmrgCASE_GROUND_STATE, 2955d522f475SmrgCASE_GROUND_STATE, 2956d522f475SmrgCASE_GROUND_STATE, 2957d522f475SmrgCASE_GROUND_STATE, 2958d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 2959d522f475SmrgCASE_GROUND_STATE, 2960d522f475SmrgCASE_GROUND_STATE, 2961d522f475SmrgCASE_GROUND_STATE, 2962d522f475SmrgCASE_GROUND_STATE, 2963d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 2964d522f475SmrgCASE_GROUND_STATE, 2965d522f475SmrgCASE_GROUND_STATE, 2966d522f475SmrgCASE_GROUND_STATE, 2967d522f475SmrgCASE_GROUND_STATE, 2968d522f475Smrg/* agrave aacute acircumflex atilde */ 2969d522f475SmrgCASE_GROUND_STATE, 2970d522f475SmrgCASE_GROUND_STATE, 2971d522f475SmrgCASE_GROUND_STATE, 2972d522f475SmrgCASE_GROUND_STATE, 2973d522f475Smrg/* adiaeresis aring ae ccedilla */ 2974d522f475SmrgCASE_GROUND_STATE, 2975d522f475SmrgCASE_GROUND_STATE, 2976d522f475SmrgCASE_GROUND_STATE, 2977d522f475SmrgCASE_GROUND_STATE, 2978d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 2979d522f475SmrgCASE_GROUND_STATE, 2980d522f475SmrgCASE_GROUND_STATE, 2981d522f475SmrgCASE_GROUND_STATE, 2982d522f475SmrgCASE_GROUND_STATE, 2983d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 2984d522f475SmrgCASE_GROUND_STATE, 2985d522f475SmrgCASE_GROUND_STATE, 2986d522f475SmrgCASE_GROUND_STATE, 2987d522f475SmrgCASE_GROUND_STATE, 2988d522f475Smrg/* eth ntilde ograve oacute */ 2989d522f475SmrgCASE_GROUND_STATE, 2990d522f475SmrgCASE_GROUND_STATE, 2991d522f475SmrgCASE_GROUND_STATE, 2992d522f475SmrgCASE_GROUND_STATE, 2993d522f475Smrg/* ocircumflex otilde odiaeresis division */ 2994d522f475SmrgCASE_GROUND_STATE, 2995d522f475SmrgCASE_GROUND_STATE, 2996d522f475SmrgCASE_GROUND_STATE, 2997d522f475SmrgCASE_GROUND_STATE, 2998d522f475Smrg/* oslash ugrave uacute ucircumflex */ 2999d522f475SmrgCASE_DECSACE, 30000bd37d32SmrgCASE_DECRQCRA, 3001d522f475SmrgCASE_GROUND_STATE, 3002d522f475SmrgCASE_GROUND_STATE, 3003d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 3004d522f475SmrgCASE_GROUND_STATE, 3005d522f475SmrgCASE_GROUND_STATE, 3006d522f475SmrgCASE_GROUND_STATE, 3007d522f475SmrgCASE_GROUND_STATE, 3008d522f475Smrg}; 3009d522f475Smrg#endif /* OPT_DEC_RECTOPS */ 3010d522f475Smrg 3011d522f475SmrgConst PARSE_T dec_table[] = /* CSI ? */ 3012d522f475Smrg{ 3013d522f475Smrg/* NUL SOH STX ETX */ 3014d522f475SmrgCASE_IGNORE, 3015d522f475SmrgCASE_IGNORE, 3016d522f475SmrgCASE_IGNORE, 3017d522f475SmrgCASE_IGNORE, 3018d522f475Smrg/* EOT ENQ ACK BEL */ 3019d522f475SmrgCASE_IGNORE, 3020d522f475SmrgCASE_ENQ, 3021d522f475SmrgCASE_IGNORE, 3022d522f475SmrgCASE_BELL, 3023d522f475Smrg/* BS HT NL VT */ 3024d522f475SmrgCASE_BS, 3025d522f475SmrgCASE_TAB, 3026d522f475SmrgCASE_VMOT, 3027d522f475SmrgCASE_VMOT, 30280bd37d32Smrg/* FF CR SO SI */ 3029d522f475SmrgCASE_VMOT, 3030d522f475SmrgCASE_CR, 3031d522f475SmrgCASE_SO, 3032d522f475SmrgCASE_SI, 3033d522f475Smrg/* DLE DC1 DC2 DC3 */ 3034d522f475SmrgCASE_IGNORE, 3035d522f475SmrgCASE_IGNORE, 3036d522f475SmrgCASE_IGNORE, 3037d522f475SmrgCASE_IGNORE, 3038d522f475Smrg/* DC4 NAK SYN ETB */ 3039d522f475SmrgCASE_IGNORE, 3040d522f475SmrgCASE_IGNORE, 3041d522f475SmrgCASE_IGNORE, 3042d522f475SmrgCASE_IGNORE, 3043d522f475Smrg/* CAN EM SUB ESC */ 3044d522f475SmrgCASE_GROUND_STATE, 3045d522f475SmrgCASE_IGNORE, 3046d522f475SmrgCASE_GROUND_STATE, 3047d522f475SmrgCASE_ESC, 3048d522f475Smrg/* FS GS RS US */ 3049d522f475SmrgCASE_IGNORE, 3050d522f475SmrgCASE_IGNORE, 3051d522f475SmrgCASE_IGNORE, 3052d522f475SmrgCASE_IGNORE, 3053d522f475Smrg/* SP ! " # */ 3054d522f475SmrgCASE_CSI_IGNORE, 3055d522f475SmrgCASE_CSI_IGNORE, 3056d522f475SmrgCASE_CSI_IGNORE, 3057d522f475SmrgCASE_CSI_IGNORE, 3058d522f475Smrg/* $ % & ' */ 3059492d43a5SmrgCASE_CSI_DEC_DOLLAR_STATE, 3060d522f475SmrgCASE_CSI_IGNORE, 3061d522f475SmrgCASE_CSI_IGNORE, 3062d522f475SmrgCASE_CSI_IGNORE, 3063d522f475Smrg/* ( ) * + */ 3064d522f475SmrgCASE_CSI_IGNORE, 3065d522f475SmrgCASE_CSI_IGNORE, 3066d522f475SmrgCASE_CSI_IGNORE, 3067d522f475SmrgCASE_CSI_IGNORE, 3068d522f475Smrg/* , - . / */ 3069d522f475SmrgCASE_CSI_IGNORE, 3070d522f475SmrgCASE_CSI_IGNORE, 3071d522f475SmrgCASE_CSI_IGNORE, 3072d522f475SmrgCASE_CSI_IGNORE, 3073d522f475Smrg/* 0 1 2 3 */ 3074d522f475SmrgCASE_ESC_DIGIT, 3075d522f475SmrgCASE_ESC_DIGIT, 3076d522f475SmrgCASE_ESC_DIGIT, 3077d522f475SmrgCASE_ESC_DIGIT, 3078d522f475Smrg/* 4 5 6 7 */ 3079d522f475SmrgCASE_ESC_DIGIT, 3080d522f475SmrgCASE_ESC_DIGIT, 3081d522f475SmrgCASE_ESC_DIGIT, 3082d522f475SmrgCASE_ESC_DIGIT, 3083d522f475Smrg/* 8 9 : ; */ 3084d522f475SmrgCASE_ESC_DIGIT, 3085d522f475SmrgCASE_ESC_DIGIT, 30860bd37d32SmrgCASE_ESC_COLON, 3087d522f475SmrgCASE_ESC_SEMI, 3088d522f475Smrg/* < = > ? */ 3089d522f475SmrgCASE_CSI_IGNORE, 3090d522f475SmrgCASE_CSI_IGNORE, 3091d522f475SmrgCASE_CSI_IGNORE, 3092d522f475SmrgCASE_CSI_IGNORE, 3093d522f475Smrg/* @ A B C */ 3094d522f475SmrgCASE_GROUND_STATE, 3095d522f475SmrgCASE_GROUND_STATE, 3096d522f475SmrgCASE_GROUND_STATE, 3097d522f475SmrgCASE_GROUND_STATE, 3098d522f475Smrg/* D E F G */ 3099d522f475SmrgCASE_GROUND_STATE, 3100d522f475SmrgCASE_GROUND_STATE, 3101d522f475SmrgCASE_GROUND_STATE, 3102d522f475SmrgCASE_GROUND_STATE, 3103d522f475Smrg/* H I J K */ 3104d522f475SmrgCASE_GROUND_STATE, 3105d522f475SmrgCASE_GROUND_STATE, 3106d522f475SmrgCASE_DECSED, 3107d522f475SmrgCASE_DECSEL, 3108d522f475Smrg/* L M N O */ 3109d522f475SmrgCASE_GROUND_STATE, 3110d522f475SmrgCASE_GROUND_STATE, 3111d522f475SmrgCASE_GROUND_STATE, 3112d522f475SmrgCASE_GROUND_STATE, 3113d522f475Smrg/* P Q R S */ 3114d522f475SmrgCASE_GROUND_STATE, 3115d522f475SmrgCASE_GROUND_STATE, 3116d522f475SmrgCASE_GROUND_STATE, 3117894e0ac8SmrgCASE_GRAPHICS_ATTRIBUTES, 3118d522f475Smrg/* T U V W */ 3119d522f475SmrgCASE_GROUND_STATE, 3120d522f475SmrgCASE_GROUND_STATE, 3121d522f475SmrgCASE_GROUND_STATE, 3122d522f475SmrgCASE_GROUND_STATE, 3123d522f475Smrg/* X Y Z [ */ 3124d522f475SmrgCASE_GROUND_STATE, 3125d522f475SmrgCASE_GROUND_STATE, 3126d522f475SmrgCASE_GROUND_STATE, 3127d522f475SmrgCASE_GROUND_STATE, 3128d522f475Smrg/* \ ] ^ _ */ 3129d522f475SmrgCASE_GROUND_STATE, 3130d522f475SmrgCASE_GROUND_STATE, 3131d522f475SmrgCASE_GROUND_STATE, 3132d522f475SmrgCASE_GROUND_STATE, 3133d522f475Smrg/* ` a b c */ 3134d522f475SmrgCASE_GROUND_STATE, 3135d522f475SmrgCASE_GROUND_STATE, 3136d522f475SmrgCASE_GROUND_STATE, 3137d522f475SmrgCASE_GROUND_STATE, 3138d522f475Smrg/* d e f g */ 3139d522f475SmrgCASE_GROUND_STATE, 3140d522f475SmrgCASE_GROUND_STATE, 3141d522f475SmrgCASE_GROUND_STATE, 3142d522f475SmrgCASE_GROUND_STATE, 3143d522f475Smrg/* h i j k */ 3144d522f475SmrgCASE_DECSET, 3145d522f475SmrgCASE_DEC_MC, 3146d522f475SmrgCASE_GROUND_STATE, 3147d522f475SmrgCASE_GROUND_STATE, 3148d522f475Smrg/* l m n o */ 3149d522f475SmrgCASE_DECRST, 3150d522f475SmrgCASE_GROUND_STATE, 3151d522f475SmrgCASE_DSR, 3152d522f475SmrgCASE_GROUND_STATE, 3153d522f475Smrg/* p q r s */ 3154d522f475SmrgCASE_GROUND_STATE, 3155d522f475SmrgCASE_GROUND_STATE, 3156d522f475SmrgCASE_XTERM_RESTORE, 3157d522f475SmrgCASE_XTERM_SAVE, 3158d522f475Smrg/* t u v w */ 3159d522f475SmrgCASE_GROUND_STATE, 3160d522f475SmrgCASE_GROUND_STATE, 3161d522f475SmrgCASE_GROUND_STATE, 3162d522f475SmrgCASE_GROUND_STATE, 3163d522f475Smrg/* x y z { */ 3164d522f475SmrgCASE_GROUND_STATE, 3165d522f475SmrgCASE_GROUND_STATE, 3166d522f475SmrgCASE_GROUND_STATE, 3167d522f475SmrgCASE_GROUND_STATE, 3168d522f475Smrg/* | } ~ DEL */ 3169d522f475SmrgCASE_GROUND_STATE, 3170d522f475SmrgCASE_GROUND_STATE, 3171d522f475SmrgCASE_GROUND_STATE, 3172d522f475SmrgCASE_IGNORE, 3173d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 3174d522f475SmrgCASE_GROUND_STATE, 3175d522f475SmrgCASE_GROUND_STATE, 3176d522f475SmrgCASE_GROUND_STATE, 3177d522f475SmrgCASE_GROUND_STATE, 3178d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 3179d522f475SmrgCASE_IND, 3180d522f475SmrgCASE_NEL, 3181d522f475SmrgCASE_GROUND_STATE, 3182d522f475SmrgCASE_GROUND_STATE, 3183d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 3184d522f475SmrgCASE_HTS, 3185d522f475SmrgCASE_GROUND_STATE, 3186d522f475SmrgCASE_GROUND_STATE, 3187d522f475SmrgCASE_GROUND_STATE, 3188d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 3189d522f475SmrgCASE_GROUND_STATE, 3190d522f475SmrgCASE_RI, 3191d522f475SmrgCASE_SS2, 3192d522f475SmrgCASE_SS3, 3193d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 3194d522f475SmrgCASE_DCS, 3195d522f475SmrgCASE_GROUND_STATE, 3196d522f475SmrgCASE_GROUND_STATE, 3197d522f475SmrgCASE_GROUND_STATE, 3198d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 3199d522f475SmrgCASE_GROUND_STATE, 3200d522f475SmrgCASE_GROUND_STATE, 3201d522f475SmrgCASE_SPA, 3202d522f475SmrgCASE_EPA, 3203d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 3204d522f475SmrgCASE_SOS, 3205d522f475SmrgCASE_GROUND_STATE, 3206d522f475SmrgCASE_DECID, 3207d522f475SmrgCASE_CSI_STATE, 3208d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 3209d522f475SmrgCASE_ST, 3210d522f475SmrgCASE_OSC, 3211d522f475SmrgCASE_PM, 3212d522f475SmrgCASE_APC, 3213d522f475Smrg/* nobreakspace exclamdown cent sterling */ 3214d522f475SmrgCASE_CSI_IGNORE, 3215d522f475SmrgCASE_CSI_IGNORE, 3216d522f475SmrgCASE_CSI_IGNORE, 3217d522f475SmrgCASE_CSI_IGNORE, 3218d522f475Smrg/* currency yen brokenbar section */ 3219492d43a5SmrgCASE_CSI_DEC_DOLLAR_STATE, 3220d522f475SmrgCASE_CSI_IGNORE, 3221d522f475SmrgCASE_CSI_IGNORE, 3222d522f475SmrgCASE_CSI_IGNORE, 3223d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 3224d522f475SmrgCASE_CSI_IGNORE, 3225d522f475SmrgCASE_CSI_IGNORE, 3226d522f475SmrgCASE_CSI_IGNORE, 3227d522f475SmrgCASE_CSI_IGNORE, 3228d522f475Smrg/* notsign hyphen registered macron */ 3229d522f475SmrgCASE_CSI_IGNORE, 3230d522f475SmrgCASE_CSI_IGNORE, 3231d522f475SmrgCASE_CSI_IGNORE, 3232d522f475SmrgCASE_CSI_IGNORE, 3233d522f475Smrg/* degree plusminus twosuperior threesuperior */ 3234d522f475SmrgCASE_ESC_DIGIT, 3235d522f475SmrgCASE_ESC_DIGIT, 3236d522f475SmrgCASE_ESC_DIGIT, 3237d522f475SmrgCASE_ESC_DIGIT, 3238d522f475Smrg/* acute mu paragraph periodcentered */ 3239d522f475SmrgCASE_ESC_DIGIT, 3240d522f475SmrgCASE_ESC_DIGIT, 3241d522f475SmrgCASE_ESC_DIGIT, 3242d522f475SmrgCASE_ESC_DIGIT, 3243d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 3244d522f475SmrgCASE_ESC_DIGIT, 3245d522f475SmrgCASE_ESC_DIGIT, 32460bd37d32SmrgCASE_ESC_COLON, 3247d522f475SmrgCASE_ESC_SEMI, 3248d522f475Smrg/* onequarter onehalf threequarters questiondown */ 3249d522f475SmrgCASE_CSI_IGNORE, 3250d522f475SmrgCASE_CSI_IGNORE, 3251d522f475SmrgCASE_CSI_IGNORE, 3252d522f475SmrgCASE_CSI_IGNORE, 3253d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 3254d522f475SmrgCASE_GROUND_STATE, 3255d522f475SmrgCASE_GROUND_STATE, 3256d522f475SmrgCASE_GROUND_STATE, 3257d522f475SmrgCASE_GROUND_STATE, 3258d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 3259d522f475SmrgCASE_GROUND_STATE, 3260d522f475SmrgCASE_GROUND_STATE, 3261d522f475SmrgCASE_GROUND_STATE, 3262d522f475SmrgCASE_GROUND_STATE, 3263d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 3264d522f475SmrgCASE_GROUND_STATE, 3265d522f475SmrgCASE_GROUND_STATE, 3266d522f475SmrgCASE_DECSED, 3267d522f475SmrgCASE_DECSEL, 3268d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 3269d522f475SmrgCASE_GROUND_STATE, 3270d522f475SmrgCASE_GROUND_STATE, 3271d522f475SmrgCASE_GROUND_STATE, 3272d522f475SmrgCASE_GROUND_STATE, 3273d522f475Smrg/* Eth Ntilde Ograve Oacute */ 3274d522f475SmrgCASE_GROUND_STATE, 3275d522f475SmrgCASE_GROUND_STATE, 3276d522f475SmrgCASE_GROUND_STATE, 3277894e0ac8SmrgCASE_GRAPHICS_ATTRIBUTES, 3278d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 3279d522f475SmrgCASE_GROUND_STATE, 3280d522f475SmrgCASE_GROUND_STATE, 3281d522f475SmrgCASE_GROUND_STATE, 3282d522f475SmrgCASE_GROUND_STATE, 3283d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 3284d522f475SmrgCASE_GROUND_STATE, 3285d522f475SmrgCASE_GROUND_STATE, 3286d522f475SmrgCASE_GROUND_STATE, 3287d522f475SmrgCASE_GROUND_STATE, 3288d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 3289d522f475SmrgCASE_GROUND_STATE, 3290d522f475SmrgCASE_GROUND_STATE, 3291d522f475SmrgCASE_GROUND_STATE, 3292d522f475SmrgCASE_GROUND_STATE, 3293d522f475Smrg/* agrave aacute acircumflex atilde */ 3294d522f475SmrgCASE_GROUND_STATE, 3295d522f475SmrgCASE_GROUND_STATE, 3296d522f475SmrgCASE_GROUND_STATE, 3297d522f475SmrgCASE_GROUND_STATE, 3298d522f475Smrg/* adiaeresis aring ae ccedilla */ 3299d522f475SmrgCASE_GROUND_STATE, 3300d522f475SmrgCASE_GROUND_STATE, 3301d522f475SmrgCASE_GROUND_STATE, 3302d522f475SmrgCASE_GROUND_STATE, 3303d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 3304d522f475SmrgCASE_DECSET, 3305d522f475SmrgCASE_DEC_MC, 3306d522f475SmrgCASE_GROUND_STATE, 3307d522f475SmrgCASE_GROUND_STATE, 3308d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 3309d522f475SmrgCASE_DECRST, 3310d522f475SmrgCASE_GROUND_STATE, 3311d522f475SmrgCASE_DSR, 3312d522f475SmrgCASE_GROUND_STATE, 3313d522f475Smrg/* eth ntilde ograve oacute */ 3314d522f475SmrgCASE_GROUND_STATE, 3315d522f475SmrgCASE_GROUND_STATE, 3316d522f475SmrgCASE_XTERM_RESTORE, 3317d522f475SmrgCASE_XTERM_SAVE, 3318d522f475Smrg/* ocircumflex otilde odiaeresis division */ 3319d522f475SmrgCASE_GROUND_STATE, 3320d522f475SmrgCASE_GROUND_STATE, 3321d522f475SmrgCASE_GROUND_STATE, 3322d522f475SmrgCASE_GROUND_STATE, 3323d522f475Smrg/* oslash ugrave uacute ucircumflex */ 3324d522f475SmrgCASE_GROUND_STATE, 3325d522f475SmrgCASE_GROUND_STATE, 3326d522f475SmrgCASE_GROUND_STATE, 3327d522f475SmrgCASE_GROUND_STATE, 3328d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 3329d522f475SmrgCASE_GROUND_STATE, 3330d522f475SmrgCASE_GROUND_STATE, 3331d522f475SmrgCASE_GROUND_STATE, 3332d522f475SmrgCASE_IGNORE, 3333d522f475Smrg}; 3334d522f475Smrg 3335492d43a5Smrg#if OPT_DEC_RECTOPS 3336492d43a5SmrgConst PARSE_T csi_dec_dollar_table[] = /* CSI ?... $ */ 3337492d43a5Smrg{ 3338492d43a5Smrg/* NUL SOH STX ETX */ 3339492d43a5SmrgCASE_IGNORE, 3340492d43a5SmrgCASE_IGNORE, 3341492d43a5SmrgCASE_IGNORE, 3342492d43a5SmrgCASE_IGNORE, 3343492d43a5Smrg/* EOT ENQ ACK BEL */ 3344492d43a5SmrgCASE_IGNORE, 3345492d43a5SmrgCASE_ENQ, 3346492d43a5SmrgCASE_IGNORE, 3347492d43a5SmrgCASE_BELL, 3348492d43a5Smrg/* BS HT NL VT */ 3349492d43a5SmrgCASE_BS, 3350492d43a5SmrgCASE_TAB, 3351492d43a5SmrgCASE_VMOT, 3352492d43a5SmrgCASE_VMOT, 33530bd37d32Smrg/* FF CR SO SI */ 3354492d43a5SmrgCASE_VMOT, 3355492d43a5SmrgCASE_CR, 3356492d43a5SmrgCASE_SO, 3357492d43a5SmrgCASE_SI, 3358492d43a5Smrg/* DLE DC1 DC2 DC3 */ 3359492d43a5SmrgCASE_IGNORE, 3360492d43a5SmrgCASE_IGNORE, 3361492d43a5SmrgCASE_IGNORE, 3362492d43a5SmrgCASE_IGNORE, 3363492d43a5Smrg/* DC4 NAK SYN ETB */ 3364492d43a5SmrgCASE_IGNORE, 3365492d43a5SmrgCASE_IGNORE, 3366492d43a5SmrgCASE_IGNORE, 3367492d43a5SmrgCASE_IGNORE, 3368492d43a5Smrg/* CAN EM SUB ESC */ 3369492d43a5SmrgCASE_GROUND_STATE, 3370492d43a5SmrgCASE_IGNORE, 3371492d43a5SmrgCASE_GROUND_STATE, 3372492d43a5SmrgCASE_ESC, 3373492d43a5Smrg/* FS GS RS US */ 3374492d43a5SmrgCASE_IGNORE, 3375492d43a5SmrgCASE_IGNORE, 3376492d43a5SmrgCASE_IGNORE, 3377492d43a5SmrgCASE_IGNORE, 3378492d43a5Smrg/* SP ! " # */ 3379492d43a5SmrgCASE_CSI_IGNORE, 3380492d43a5SmrgCASE_CSI_IGNORE, 3381492d43a5SmrgCASE_CSI_IGNORE, 3382492d43a5SmrgCASE_CSI_IGNORE, 3383492d43a5Smrg/* $ % & ' */ 3384492d43a5SmrgCASE_CSI_IGNORE, 3385492d43a5SmrgCASE_CSI_IGNORE, 3386492d43a5SmrgCASE_CSI_IGNORE, 3387492d43a5SmrgCASE_CSI_IGNORE, 3388492d43a5Smrg/* ( ) * + */ 3389492d43a5SmrgCASE_CSI_IGNORE, 3390492d43a5SmrgCASE_CSI_IGNORE, 3391492d43a5SmrgCASE_CSI_IGNORE, 3392492d43a5SmrgCASE_CSI_IGNORE, 3393492d43a5Smrg/* , - . / */ 3394492d43a5SmrgCASE_CSI_IGNORE, 3395492d43a5SmrgCASE_CSI_IGNORE, 3396492d43a5SmrgCASE_CSI_IGNORE, 3397492d43a5SmrgCASE_CSI_IGNORE, 3398492d43a5Smrg/* 0 1 2 3 */ 3399492d43a5SmrgCASE_CSI_IGNORE, 3400492d43a5SmrgCASE_CSI_IGNORE, 3401492d43a5SmrgCASE_CSI_IGNORE, 3402492d43a5SmrgCASE_CSI_IGNORE, 3403492d43a5Smrg/* 4 5 6 7 */ 3404492d43a5SmrgCASE_CSI_IGNORE, 3405492d43a5SmrgCASE_CSI_IGNORE, 3406492d43a5SmrgCASE_CSI_IGNORE, 3407492d43a5SmrgCASE_CSI_IGNORE, 3408492d43a5Smrg/* 8 9 : ; */ 3409492d43a5SmrgCASE_CSI_IGNORE, 3410492d43a5SmrgCASE_CSI_IGNORE, 3411492d43a5SmrgCASE_CSI_IGNORE, 3412492d43a5SmrgCASE_CSI_IGNORE, 3413492d43a5Smrg/* < = > ? */ 3414492d43a5SmrgCASE_CSI_IGNORE, 3415492d43a5SmrgCASE_CSI_IGNORE, 3416492d43a5SmrgCASE_CSI_IGNORE, 3417492d43a5SmrgCASE_CSI_IGNORE, 3418492d43a5Smrg/* @ A B C */ 3419492d43a5SmrgCASE_GROUND_STATE, 3420492d43a5SmrgCASE_GROUND_STATE, 3421492d43a5SmrgCASE_GROUND_STATE, 3422492d43a5SmrgCASE_GROUND_STATE, 3423492d43a5Smrg/* D E F G */ 3424492d43a5SmrgCASE_GROUND_STATE, 3425492d43a5SmrgCASE_GROUND_STATE, 3426492d43a5SmrgCASE_GROUND_STATE, 3427492d43a5SmrgCASE_GROUND_STATE, 3428492d43a5Smrg/* H I J K */ 3429492d43a5SmrgCASE_GROUND_STATE, 3430492d43a5SmrgCASE_GROUND_STATE, 3431492d43a5SmrgCASE_GROUND_STATE, 3432492d43a5SmrgCASE_GROUND_STATE, 3433492d43a5Smrg/* L M N O */ 3434492d43a5SmrgCASE_GROUND_STATE, 3435492d43a5SmrgCASE_GROUND_STATE, 3436492d43a5SmrgCASE_GROUND_STATE, 3437492d43a5SmrgCASE_GROUND_STATE, 3438492d43a5Smrg/* P Q R S */ 3439492d43a5SmrgCASE_GROUND_STATE, 3440492d43a5SmrgCASE_GROUND_STATE, 3441492d43a5SmrgCASE_GROUND_STATE, 3442492d43a5SmrgCASE_GROUND_STATE, 3443492d43a5Smrg/* T U V W */ 3444492d43a5SmrgCASE_GROUND_STATE, 3445492d43a5SmrgCASE_GROUND_STATE, 3446492d43a5SmrgCASE_GROUND_STATE, 3447492d43a5SmrgCASE_GROUND_STATE, 3448492d43a5Smrg/* X Y Z [ */ 3449492d43a5SmrgCASE_GROUND_STATE, 3450492d43a5SmrgCASE_GROUND_STATE, 3451492d43a5SmrgCASE_GROUND_STATE, 3452492d43a5SmrgCASE_GROUND_STATE, 3453492d43a5Smrg/* \ ] ^ _ */ 3454492d43a5SmrgCASE_GROUND_STATE, 3455492d43a5SmrgCASE_GROUND_STATE, 3456492d43a5SmrgCASE_GROUND_STATE, 3457492d43a5SmrgCASE_GROUND_STATE, 3458492d43a5Smrg/* ` a b c */ 3459492d43a5SmrgCASE_GROUND_STATE, 3460492d43a5SmrgCASE_GROUND_STATE, 3461492d43a5SmrgCASE_GROUND_STATE, 3462492d43a5SmrgCASE_GROUND_STATE, 3463492d43a5Smrg/* d e f g */ 3464492d43a5SmrgCASE_GROUND_STATE, 3465492d43a5SmrgCASE_GROUND_STATE, 3466492d43a5SmrgCASE_GROUND_STATE, 3467492d43a5SmrgCASE_GROUND_STATE, 3468492d43a5Smrg/* h i j k */ 3469492d43a5SmrgCASE_GROUND_STATE, 3470492d43a5SmrgCASE_GROUND_STATE, 3471492d43a5SmrgCASE_GROUND_STATE, 3472492d43a5SmrgCASE_GROUND_STATE, 3473492d43a5Smrg/* l m n o */ 3474492d43a5SmrgCASE_GROUND_STATE, 3475492d43a5SmrgCASE_GROUND_STATE, 3476492d43a5SmrgCASE_GROUND_STATE, 3477492d43a5SmrgCASE_GROUND_STATE, 3478492d43a5Smrg/* p q r s */ 3479492d43a5SmrgCASE_DECRQM, 3480492d43a5SmrgCASE_GROUND_STATE, 3481492d43a5SmrgCASE_GROUND_STATE, 3482492d43a5SmrgCASE_GROUND_STATE, 3483492d43a5Smrg/* t u v w */ 3484492d43a5SmrgCASE_GROUND_STATE, 3485492d43a5SmrgCASE_GROUND_STATE, 3486492d43a5SmrgCASE_GROUND_STATE, 3487492d43a5SmrgCASE_GROUND_STATE, 3488492d43a5Smrg/* x y z { */ 3489492d43a5SmrgCASE_GROUND_STATE, 3490492d43a5SmrgCASE_GROUND_STATE, 3491492d43a5SmrgCASE_GROUND_STATE, 3492492d43a5SmrgCASE_GROUND_STATE, 3493492d43a5Smrg/* | } ~ DEL */ 3494492d43a5SmrgCASE_GROUND_STATE, 3495492d43a5SmrgCASE_GROUND_STATE, 3496492d43a5SmrgCASE_GROUND_STATE, 3497492d43a5SmrgCASE_IGNORE, 3498492d43a5Smrg/* 0x80 0x81 0x82 0x83 */ 3499492d43a5SmrgCASE_GROUND_STATE, 3500492d43a5SmrgCASE_GROUND_STATE, 3501492d43a5SmrgCASE_GROUND_STATE, 3502492d43a5SmrgCASE_GROUND_STATE, 3503492d43a5Smrg/* 0x84 0x85 0x86 0x87 */ 3504492d43a5SmrgCASE_IND, 3505492d43a5SmrgCASE_NEL, 3506492d43a5SmrgCASE_GROUND_STATE, 3507492d43a5SmrgCASE_GROUND_STATE, 3508492d43a5Smrg/* 0x88 0x89 0x8a 0x8b */ 3509492d43a5SmrgCASE_HTS, 3510492d43a5SmrgCASE_GROUND_STATE, 3511492d43a5SmrgCASE_GROUND_STATE, 3512492d43a5SmrgCASE_GROUND_STATE, 3513492d43a5Smrg/* 0x8c 0x8d 0x8e 0x8f */ 3514492d43a5SmrgCASE_GROUND_STATE, 3515492d43a5SmrgCASE_RI, 3516492d43a5SmrgCASE_SS2, 3517492d43a5SmrgCASE_SS3, 3518492d43a5Smrg/* 0x90 0x91 0x92 0x93 */ 3519492d43a5SmrgCASE_DCS, 3520492d43a5SmrgCASE_GROUND_STATE, 3521492d43a5SmrgCASE_GROUND_STATE, 3522492d43a5SmrgCASE_GROUND_STATE, 3523492d43a5Smrg/* 0x94 0x95 0x96 0x97 */ 3524492d43a5SmrgCASE_GROUND_STATE, 3525492d43a5SmrgCASE_GROUND_STATE, 3526492d43a5SmrgCASE_SPA, 3527492d43a5SmrgCASE_EPA, 3528492d43a5Smrg/* 0x98 0x99 0x9a 0x9b */ 3529492d43a5SmrgCASE_SOS, 3530492d43a5SmrgCASE_GROUND_STATE, 3531492d43a5SmrgCASE_DECID, 3532492d43a5SmrgCASE_CSI_STATE, 3533492d43a5Smrg/* 0x9c 0x9d 0x9e 0x9f */ 3534492d43a5SmrgCASE_ST, 3535492d43a5SmrgCASE_OSC, 3536492d43a5SmrgCASE_PM, 3537492d43a5SmrgCASE_APC, 3538492d43a5Smrg/* nobreakspace exclamdown cent sterling */ 3539492d43a5SmrgCASE_CSI_IGNORE, 3540492d43a5SmrgCASE_CSI_IGNORE, 3541492d43a5SmrgCASE_CSI_IGNORE, 3542492d43a5SmrgCASE_CSI_IGNORE, 3543492d43a5Smrg/* currency yen brokenbar section */ 3544492d43a5SmrgCASE_CSI_IGNORE, 3545492d43a5SmrgCASE_CSI_IGNORE, 3546492d43a5SmrgCASE_CSI_IGNORE, 3547492d43a5SmrgCASE_CSI_IGNORE, 3548492d43a5Smrg/* diaeresis copyright ordfeminine guillemotleft */ 3549492d43a5SmrgCASE_CSI_IGNORE, 3550492d43a5SmrgCASE_CSI_IGNORE, 3551492d43a5SmrgCASE_CSI_IGNORE, 3552492d43a5SmrgCASE_CSI_IGNORE, 3553492d43a5Smrg/* notsign hyphen registered macron */ 3554492d43a5SmrgCASE_CSI_IGNORE, 3555492d43a5SmrgCASE_CSI_IGNORE, 3556492d43a5SmrgCASE_CSI_IGNORE, 3557492d43a5SmrgCASE_CSI_IGNORE, 3558492d43a5Smrg/* degree plusminus twosuperior threesuperior */ 3559492d43a5SmrgCASE_CSI_IGNORE, 3560492d43a5SmrgCASE_CSI_IGNORE, 3561492d43a5SmrgCASE_CSI_IGNORE, 3562492d43a5SmrgCASE_CSI_IGNORE, 3563492d43a5Smrg/* acute mu paragraph periodcentered */ 3564492d43a5SmrgCASE_CSI_IGNORE, 3565492d43a5SmrgCASE_CSI_IGNORE, 3566492d43a5SmrgCASE_CSI_IGNORE, 3567492d43a5SmrgCASE_CSI_IGNORE, 3568492d43a5Smrg/* cedilla onesuperior masculine guillemotright */ 3569492d43a5SmrgCASE_CSI_IGNORE, 3570492d43a5SmrgCASE_CSI_IGNORE, 3571492d43a5SmrgCASE_CSI_IGNORE, 3572492d43a5SmrgCASE_CSI_IGNORE, 3573492d43a5Smrg/* onequarter onehalf threequarters questiondown */ 3574492d43a5SmrgCASE_CSI_IGNORE, 3575492d43a5SmrgCASE_CSI_IGNORE, 3576492d43a5SmrgCASE_CSI_IGNORE, 3577492d43a5SmrgCASE_CSI_IGNORE, 3578492d43a5Smrg/* Agrave Aacute Acircumflex Atilde */ 3579492d43a5SmrgCASE_GROUND_STATE, 3580492d43a5SmrgCASE_GROUND_STATE, 3581492d43a5SmrgCASE_GROUND_STATE, 3582492d43a5SmrgCASE_GROUND_STATE, 3583492d43a5Smrg/* Adiaeresis Aring AE Ccedilla */ 3584492d43a5SmrgCASE_GROUND_STATE, 3585492d43a5SmrgCASE_GROUND_STATE, 3586492d43a5SmrgCASE_GROUND_STATE, 3587492d43a5SmrgCASE_GROUND_STATE, 3588492d43a5Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 3589492d43a5SmrgCASE_GROUND_STATE, 3590492d43a5SmrgCASE_GROUND_STATE, 3591492d43a5SmrgCASE_GROUND_STATE, 3592492d43a5SmrgCASE_GROUND_STATE, 3593492d43a5Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 3594492d43a5SmrgCASE_GROUND_STATE, 3595492d43a5SmrgCASE_GROUND_STATE, 3596492d43a5SmrgCASE_GROUND_STATE, 3597492d43a5SmrgCASE_GROUND_STATE, 3598492d43a5Smrg/* Eth Ntilde Ograve Oacute */ 3599492d43a5SmrgCASE_GROUND_STATE, 3600492d43a5SmrgCASE_GROUND_STATE, 3601492d43a5SmrgCASE_GROUND_STATE, 3602492d43a5SmrgCASE_GROUND_STATE, 3603492d43a5Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 3604492d43a5SmrgCASE_GROUND_STATE, 3605492d43a5SmrgCASE_GROUND_STATE, 3606492d43a5SmrgCASE_GROUND_STATE, 3607492d43a5SmrgCASE_GROUND_STATE, 3608492d43a5Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 3609492d43a5SmrgCASE_GROUND_STATE, 3610492d43a5SmrgCASE_GROUND_STATE, 3611492d43a5SmrgCASE_GROUND_STATE, 3612492d43a5SmrgCASE_GROUND_STATE, 3613492d43a5Smrg/* Udiaeresis Yacute Thorn ssharp */ 3614492d43a5SmrgCASE_GROUND_STATE, 3615492d43a5SmrgCASE_GROUND_STATE, 3616492d43a5SmrgCASE_GROUND_STATE, 3617492d43a5SmrgCASE_GROUND_STATE, 3618492d43a5Smrg/* agrave aacute acircumflex atilde */ 3619492d43a5SmrgCASE_GROUND_STATE, 3620492d43a5SmrgCASE_GROUND_STATE, 3621492d43a5SmrgCASE_GROUND_STATE, 3622492d43a5SmrgCASE_GROUND_STATE, 3623492d43a5Smrg/* adiaeresis aring ae ccedilla */ 3624492d43a5SmrgCASE_GROUND_STATE, 3625492d43a5SmrgCASE_GROUND_STATE, 3626492d43a5SmrgCASE_GROUND_STATE, 3627492d43a5SmrgCASE_GROUND_STATE, 3628492d43a5Smrg/* egrave eacute ecircumflex ediaeresis */ 3629492d43a5SmrgCASE_GROUND_STATE, 3630492d43a5SmrgCASE_GROUND_STATE, 3631492d43a5SmrgCASE_GROUND_STATE, 3632492d43a5SmrgCASE_GROUND_STATE, 3633492d43a5Smrg/* igrave iacute icircumflex idiaeresis */ 3634492d43a5SmrgCASE_GROUND_STATE, 3635492d43a5SmrgCASE_GROUND_STATE, 3636492d43a5SmrgCASE_GROUND_STATE, 3637492d43a5SmrgCASE_GROUND_STATE, 3638492d43a5Smrg/* eth ntilde ograve oacute */ 3639492d43a5SmrgCASE_DECRQM, 3640492d43a5SmrgCASE_GROUND_STATE, 3641492d43a5SmrgCASE_GROUND_STATE, 3642492d43a5SmrgCASE_GROUND_STATE, 3643492d43a5Smrg/* ocircumflex otilde odiaeresis division */ 3644492d43a5SmrgCASE_GROUND_STATE, 3645492d43a5SmrgCASE_GROUND_STATE, 3646492d43a5SmrgCASE_GROUND_STATE, 3647492d43a5SmrgCASE_GROUND_STATE, 3648492d43a5Smrg/* oslash ugrave uacute ucircumflex */ 3649492d43a5SmrgCASE_GROUND_STATE, 3650492d43a5SmrgCASE_GROUND_STATE, 3651492d43a5SmrgCASE_GROUND_STATE, 3652492d43a5SmrgCASE_GROUND_STATE, 3653492d43a5Smrg/* udiaeresis yacute thorn ydiaeresis */ 3654492d43a5SmrgCASE_GROUND_STATE, 3655492d43a5SmrgCASE_GROUND_STATE, 3656492d43a5SmrgCASE_GROUND_STATE, 3657492d43a5SmrgCASE_GROUND_STATE, 3658492d43a5Smrg}; 3659492d43a5Smrg#endif /* OPT_DEC_RECTOPS */ 3660492d43a5Smrg 3661d522f475SmrgConst PARSE_T dec2_table[] = /* CSI > */ 3662d522f475Smrg{ 3663d522f475Smrg/* NUL SOH STX ETX */ 3664d522f475SmrgCASE_IGNORE, 3665d522f475SmrgCASE_IGNORE, 3666d522f475SmrgCASE_IGNORE, 3667d522f475SmrgCASE_IGNORE, 3668d522f475Smrg/* EOT ENQ ACK BEL */ 3669d522f475SmrgCASE_IGNORE, 3670d522f475SmrgCASE_ENQ, 3671d522f475SmrgCASE_IGNORE, 3672d522f475SmrgCASE_BELL, 3673d522f475Smrg/* BS HT NL VT */ 3674d522f475SmrgCASE_BS, 3675d522f475SmrgCASE_TAB, 3676d522f475SmrgCASE_VMOT, 3677d522f475SmrgCASE_VMOT, 36780bd37d32Smrg/* FF CR SO SI */ 3679d522f475SmrgCASE_VMOT, 3680d522f475SmrgCASE_CR, 3681d522f475SmrgCASE_SO, 3682d522f475SmrgCASE_SI, 3683d522f475Smrg/* DLE DC1 DC2 DC3 */ 3684d522f475SmrgCASE_IGNORE, 3685d522f475SmrgCASE_IGNORE, 3686d522f475SmrgCASE_IGNORE, 3687d522f475SmrgCASE_IGNORE, 3688d522f475Smrg/* DC4 NAK SYN ETB */ 3689d522f475SmrgCASE_IGNORE, 3690d522f475SmrgCASE_IGNORE, 3691d522f475SmrgCASE_IGNORE, 3692d522f475SmrgCASE_IGNORE, 3693d522f475Smrg/* CAN EM SUB ESC */ 3694d522f475SmrgCASE_GROUND_STATE, 3695d522f475SmrgCASE_IGNORE, 3696d522f475SmrgCASE_GROUND_STATE, 3697d522f475SmrgCASE_ESC, 3698d522f475Smrg/* FS GS RS US */ 3699d522f475SmrgCASE_IGNORE, 3700d522f475SmrgCASE_IGNORE, 3701d522f475SmrgCASE_IGNORE, 3702d522f475SmrgCASE_IGNORE, 3703d522f475Smrg/* SP ! " # */ 3704d522f475SmrgCASE_CSI_IGNORE, 3705d522f475SmrgCASE_CSI_IGNORE, 3706d522f475SmrgCASE_CSI_IGNORE, 3707d522f475SmrgCASE_CSI_IGNORE, 3708d522f475Smrg/* $ % & ' */ 3709d522f475SmrgCASE_CSI_IGNORE, 3710d522f475SmrgCASE_CSI_IGNORE, 3711d522f475SmrgCASE_CSI_IGNORE, 3712d522f475SmrgCASE_CSI_IGNORE, 3713d522f475Smrg/* ( ) * + */ 3714d522f475SmrgCASE_CSI_IGNORE, 3715d522f475SmrgCASE_CSI_IGNORE, 3716d522f475SmrgCASE_CSI_IGNORE, 3717d522f475SmrgCASE_CSI_IGNORE, 3718d522f475Smrg/* , - . / */ 3719d522f475SmrgCASE_CSI_IGNORE, 3720d522f475SmrgCASE_CSI_IGNORE, 3721d522f475SmrgCASE_CSI_IGNORE, 3722d522f475SmrgCASE_CSI_IGNORE, 3723d522f475Smrg/* 0 1 2 3 */ 3724d522f475SmrgCASE_ESC_DIGIT, 3725d522f475SmrgCASE_ESC_DIGIT, 3726d522f475SmrgCASE_ESC_DIGIT, 3727d522f475SmrgCASE_ESC_DIGIT, 3728d522f475Smrg/* 4 5 6 7 */ 3729d522f475SmrgCASE_ESC_DIGIT, 3730d522f475SmrgCASE_ESC_DIGIT, 3731d522f475SmrgCASE_ESC_DIGIT, 3732d522f475SmrgCASE_ESC_DIGIT, 3733d522f475Smrg/* 8 9 : ; */ 3734d522f475SmrgCASE_ESC_DIGIT, 3735d522f475SmrgCASE_ESC_DIGIT, 37360bd37d32SmrgCASE_ESC_COLON, 3737d522f475SmrgCASE_ESC_SEMI, 3738d522f475Smrg/* < = > ? */ 3739d522f475SmrgCASE_CSI_IGNORE, 3740d522f475SmrgCASE_CSI_IGNORE, 3741d522f475SmrgCASE_CSI_IGNORE, 3742d522f475SmrgCASE_CSI_IGNORE, 3743d522f475Smrg/* @ A B C */ 3744d522f475SmrgCASE_GROUND_STATE, 3745d522f475SmrgCASE_GROUND_STATE, 3746d522f475SmrgCASE_GROUND_STATE, 3747d522f475SmrgCASE_GROUND_STATE, 3748d522f475Smrg/* D E F G */ 3749d522f475SmrgCASE_GROUND_STATE, 3750d522f475SmrgCASE_GROUND_STATE, 3751d522f475SmrgCASE_GROUND_STATE, 3752d522f475SmrgCASE_GROUND_STATE, 3753d522f475Smrg/* H I J K */ 3754d522f475SmrgCASE_GROUND_STATE, 3755d522f475SmrgCASE_GROUND_STATE, 3756d522f475SmrgCASE_GROUND_STATE, 3757d522f475SmrgCASE_GROUND_STATE, 3758d522f475Smrg/* L M N O */ 3759d522f475SmrgCASE_GROUND_STATE, 3760d522f475SmrgCASE_GROUND_STATE, 3761d522f475SmrgCASE_GROUND_STATE, 3762d522f475SmrgCASE_GROUND_STATE, 3763d522f475Smrg/* P Q R S */ 3764d522f475SmrgCASE_GROUND_STATE, 3765d522f475SmrgCASE_GROUND_STATE, 3766d522f475SmrgCASE_GROUND_STATE, 3767d522f475SmrgCASE_GROUND_STATE, 3768d522f475Smrg/* T U V W */ 376920d2c4d2SmrgCASE_RM_TITLE, 3770d522f475SmrgCASE_GROUND_STATE, 3771d522f475SmrgCASE_GROUND_STATE, 3772d522f475SmrgCASE_GROUND_STATE, 3773d522f475Smrg/* X Y Z [ */ 3774d522f475SmrgCASE_GROUND_STATE, 3775d522f475SmrgCASE_GROUND_STATE, 3776d522f475SmrgCASE_GROUND_STATE, 3777d522f475SmrgCASE_GROUND_STATE, 3778d522f475Smrg/* \ ] ^ _ */ 3779d522f475SmrgCASE_GROUND_STATE, 3780d522f475SmrgCASE_GROUND_STATE, 3781d522f475SmrgCASE_GROUND_STATE, 3782d522f475SmrgCASE_GROUND_STATE, 3783d522f475Smrg/* ` a b c */ 3784d522f475SmrgCASE_GROUND_STATE, 3785d522f475SmrgCASE_GROUND_STATE, 3786d522f475SmrgCASE_GROUND_STATE, 3787d522f475SmrgCASE_DA2, 3788d522f475Smrg/* d e f g */ 3789d522f475SmrgCASE_GROUND_STATE, 3790d522f475SmrgCASE_GROUND_STATE, 3791d522f475SmrgCASE_GROUND_STATE, 3792d522f475SmrgCASE_GROUND_STATE, 3793d522f475Smrg/* h i j k */ 3794d522f475SmrgCASE_GROUND_STATE, 3795d522f475SmrgCASE_GROUND_STATE, 3796d522f475SmrgCASE_GROUND_STATE, 3797d522f475SmrgCASE_GROUND_STATE, 3798d522f475Smrg/* l m n o */ 3799d522f475SmrgCASE_GROUND_STATE, 3800d522f475SmrgCASE_SET_MOD_FKEYS, 3801d522f475SmrgCASE_SET_MOD_FKEYS0, 3802d522f475SmrgCASE_GROUND_STATE, 3803d522f475Smrg/* p q r s */ 3804d522f475SmrgCASE_HIDE_POINTER, 3805d522f475SmrgCASE_GROUND_STATE, 3806d522f475SmrgCASE_GROUND_STATE, 3807d522f475SmrgCASE_GROUND_STATE, 3808d522f475Smrg/* t u v w */ 380920d2c4d2SmrgCASE_SM_TITLE, 3810d522f475SmrgCASE_GROUND_STATE, 3811d522f475SmrgCASE_GROUND_STATE, 3812d522f475SmrgCASE_GROUND_STATE, 3813d522f475Smrg/* x y z { */ 3814d522f475SmrgCASE_GROUND_STATE, 3815d522f475SmrgCASE_GROUND_STATE, 3816d522f475SmrgCASE_GROUND_STATE, 3817d522f475SmrgCASE_GROUND_STATE, 3818d522f475Smrg/* | } ~ DEL */ 3819d522f475SmrgCASE_GROUND_STATE, 3820d522f475SmrgCASE_GROUND_STATE, 3821d522f475SmrgCASE_GROUND_STATE, 3822d522f475SmrgCASE_IGNORE, 3823d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 3824d522f475SmrgCASE_GROUND_STATE, 3825d522f475SmrgCASE_GROUND_STATE, 3826d522f475SmrgCASE_GROUND_STATE, 3827d522f475SmrgCASE_GROUND_STATE, 3828d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 3829d522f475SmrgCASE_IND, 3830d522f475SmrgCASE_NEL, 3831d522f475SmrgCASE_GROUND_STATE, 3832d522f475SmrgCASE_GROUND_STATE, 3833d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 3834d522f475SmrgCASE_HTS, 3835d522f475SmrgCASE_GROUND_STATE, 3836d522f475SmrgCASE_GROUND_STATE, 3837d522f475SmrgCASE_GROUND_STATE, 3838d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 3839d522f475SmrgCASE_GROUND_STATE, 3840d522f475SmrgCASE_RI, 3841d522f475SmrgCASE_SS2, 3842d522f475SmrgCASE_SS3, 3843d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 3844d522f475SmrgCASE_DCS, 3845d522f475SmrgCASE_GROUND_STATE, 3846d522f475SmrgCASE_GROUND_STATE, 3847d522f475SmrgCASE_GROUND_STATE, 3848d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 3849d522f475SmrgCASE_GROUND_STATE, 3850d522f475SmrgCASE_GROUND_STATE, 3851d522f475SmrgCASE_SPA, 3852d522f475SmrgCASE_EPA, 3853d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 3854d522f475SmrgCASE_SOS, 3855d522f475SmrgCASE_GROUND_STATE, 3856d522f475SmrgCASE_DECID, 3857d522f475SmrgCASE_CSI_STATE, 3858d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 3859d522f475SmrgCASE_ST, 3860d522f475SmrgCASE_OSC, 3861d522f475SmrgCASE_PM, 3862d522f475SmrgCASE_APC, 3863d522f475Smrg/* nobreakspace exclamdown cent sterling */ 3864d522f475SmrgCASE_CSI_IGNORE, 3865d522f475SmrgCASE_CSI_IGNORE, 3866d522f475SmrgCASE_CSI_IGNORE, 3867d522f475SmrgCASE_CSI_IGNORE, 3868d522f475Smrg/* currency yen brokenbar section */ 3869d522f475SmrgCASE_CSI_IGNORE, 3870d522f475SmrgCASE_CSI_IGNORE, 3871d522f475SmrgCASE_CSI_IGNORE, 3872d522f475SmrgCASE_CSI_IGNORE, 3873d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 3874d522f475SmrgCASE_CSI_IGNORE, 3875d522f475SmrgCASE_CSI_IGNORE, 3876d522f475SmrgCASE_CSI_IGNORE, 3877d522f475SmrgCASE_CSI_IGNORE, 3878d522f475Smrg/* notsign hyphen registered macron */ 3879d522f475SmrgCASE_CSI_IGNORE, 3880d522f475SmrgCASE_CSI_IGNORE, 3881d522f475SmrgCASE_CSI_IGNORE, 3882d522f475SmrgCASE_CSI_IGNORE, 3883d522f475Smrg/* degree plusminus twosuperior threesuperior */ 3884d522f475SmrgCASE_ESC_DIGIT, 3885d522f475SmrgCASE_ESC_DIGIT, 3886d522f475SmrgCASE_ESC_DIGIT, 3887d522f475SmrgCASE_ESC_DIGIT, 3888d522f475Smrg/* acute mu paragraph periodcentered */ 3889d522f475SmrgCASE_ESC_DIGIT, 3890d522f475SmrgCASE_ESC_DIGIT, 3891d522f475SmrgCASE_ESC_DIGIT, 3892d522f475SmrgCASE_ESC_DIGIT, 3893d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 3894d522f475SmrgCASE_ESC_DIGIT, 3895d522f475SmrgCASE_ESC_DIGIT, 38960bd37d32SmrgCASE_ESC_COLON, 3897d522f475SmrgCASE_ESC_SEMI, 3898d522f475Smrg/* onequarter onehalf threequarters questiondown */ 3899d522f475SmrgCASE_CSI_IGNORE, 3900d522f475SmrgCASE_CSI_IGNORE, 3901d522f475SmrgCASE_CSI_IGNORE, 3902d522f475SmrgCASE_CSI_IGNORE, 3903d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 3904d522f475SmrgCASE_GROUND_STATE, 3905d522f475SmrgCASE_GROUND_STATE, 3906d522f475SmrgCASE_GROUND_STATE, 3907d522f475SmrgCASE_GROUND_STATE, 3908d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 3909d522f475SmrgCASE_GROUND_STATE, 3910d522f475SmrgCASE_GROUND_STATE, 3911d522f475SmrgCASE_GROUND_STATE, 3912d522f475SmrgCASE_GROUND_STATE, 3913d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 3914d522f475SmrgCASE_GROUND_STATE, 3915d522f475SmrgCASE_GROUND_STATE, 3916d522f475SmrgCASE_GROUND_STATE, 3917d522f475SmrgCASE_GROUND_STATE, 3918d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 3919d522f475SmrgCASE_GROUND_STATE, 3920d522f475SmrgCASE_GROUND_STATE, 3921d522f475SmrgCASE_GROUND_STATE, 3922d522f475SmrgCASE_GROUND_STATE, 3923d522f475Smrg/* Eth Ntilde Ograve Oacute */ 3924d522f475SmrgCASE_GROUND_STATE, 3925d522f475SmrgCASE_GROUND_STATE, 3926d522f475SmrgCASE_GROUND_STATE, 3927d522f475SmrgCASE_GROUND_STATE, 3928894e0ac8Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 3929894e0ac8SmrgCASE_RM_TITLE, 3930d522f475SmrgCASE_GROUND_STATE, 3931d522f475SmrgCASE_GROUND_STATE, 3932d522f475SmrgCASE_GROUND_STATE, 3933d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 3934d522f475SmrgCASE_GROUND_STATE, 3935d522f475SmrgCASE_GROUND_STATE, 3936d522f475SmrgCASE_GROUND_STATE, 3937d522f475SmrgCASE_GROUND_STATE, 3938d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 3939d522f475SmrgCASE_GROUND_STATE, 3940d522f475SmrgCASE_GROUND_STATE, 3941d522f475SmrgCASE_GROUND_STATE, 3942d522f475SmrgCASE_GROUND_STATE, 3943d522f475Smrg/* agrave aacute acircumflex atilde */ 3944d522f475SmrgCASE_GROUND_STATE, 3945d522f475SmrgCASE_GROUND_STATE, 3946d522f475SmrgCASE_GROUND_STATE, 3947d522f475SmrgCASE_DA2, 3948d522f475Smrg/* adiaeresis aring ae ccedilla */ 3949d522f475SmrgCASE_GROUND_STATE, 3950d522f475SmrgCASE_GROUND_STATE, 3951d522f475SmrgCASE_GROUND_STATE, 3952d522f475SmrgCASE_GROUND_STATE, 3953d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 3954d522f475SmrgCASE_GROUND_STATE, 3955d522f475SmrgCASE_GROUND_STATE, 3956d522f475SmrgCASE_GROUND_STATE, 3957d522f475SmrgCASE_GROUND_STATE, 3958d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 3959d522f475SmrgCASE_GROUND_STATE, 396020d2c4d2SmrgCASE_SET_MOD_FKEYS, 396120d2c4d2SmrgCASE_SET_MOD_FKEYS0, 3962d522f475SmrgCASE_GROUND_STATE, 3963d522f475Smrg/* eth ntilde ograve oacute */ 396420d2c4d2SmrgCASE_HIDE_POINTER, 3965d522f475SmrgCASE_GROUND_STATE, 3966d522f475SmrgCASE_GROUND_STATE, 3967d522f475SmrgCASE_GROUND_STATE, 3968d522f475Smrg/* ocircumflex otilde odiaeresis division */ 396920d2c4d2SmrgCASE_SM_TITLE, 3970d522f475SmrgCASE_GROUND_STATE, 3971d522f475SmrgCASE_GROUND_STATE, 3972d522f475SmrgCASE_GROUND_STATE, 3973d522f475Smrg/* oslash ugrave uacute ucircumflex */ 3974d522f475SmrgCASE_GROUND_STATE, 3975d522f475SmrgCASE_GROUND_STATE, 3976d522f475SmrgCASE_GROUND_STATE, 3977d522f475SmrgCASE_GROUND_STATE, 3978d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 3979d522f475SmrgCASE_GROUND_STATE, 3980d522f475SmrgCASE_GROUND_STATE, 3981d522f475SmrgCASE_GROUND_STATE, 3982d522f475SmrgCASE_IGNORE, 3983d522f475Smrg}; 3984d522f475Smrg 3985d522f475SmrgConst PARSE_T dec3_table[] = /* CSI = */ 3986d522f475Smrg{ 3987d522f475Smrg/* NUL SOH STX ETX */ 3988d522f475SmrgCASE_IGNORE, 3989d522f475SmrgCASE_IGNORE, 3990d522f475SmrgCASE_IGNORE, 3991d522f475SmrgCASE_IGNORE, 3992d522f475Smrg/* EOT ENQ ACK BEL */ 3993d522f475SmrgCASE_IGNORE, 3994d522f475SmrgCASE_ENQ, 3995d522f475SmrgCASE_IGNORE, 3996d522f475SmrgCASE_BELL, 3997d522f475Smrg/* BS HT NL VT */ 3998d522f475SmrgCASE_BS, 3999d522f475SmrgCASE_TAB, 4000d522f475SmrgCASE_VMOT, 4001d522f475SmrgCASE_VMOT, 40020bd37d32Smrg/* FF CR SO SI */ 4003d522f475SmrgCASE_VMOT, 4004d522f475SmrgCASE_CR, 4005d522f475SmrgCASE_SO, 4006d522f475SmrgCASE_SI, 4007d522f475Smrg/* DLE DC1 DC2 DC3 */ 4008d522f475SmrgCASE_IGNORE, 4009d522f475SmrgCASE_IGNORE, 4010d522f475SmrgCASE_IGNORE, 4011d522f475SmrgCASE_IGNORE, 4012d522f475Smrg/* DC4 NAK SYN ETB */ 4013d522f475SmrgCASE_IGNORE, 4014d522f475SmrgCASE_IGNORE, 4015d522f475SmrgCASE_IGNORE, 4016d522f475SmrgCASE_IGNORE, 4017d522f475Smrg/* CAN EM SUB ESC */ 4018d522f475SmrgCASE_GROUND_STATE, 4019d522f475SmrgCASE_IGNORE, 4020d522f475SmrgCASE_GROUND_STATE, 4021d522f475SmrgCASE_ESC, 4022d522f475Smrg/* FS GS RS US */ 4023d522f475SmrgCASE_IGNORE, 4024d522f475SmrgCASE_IGNORE, 4025d522f475SmrgCASE_IGNORE, 4026d522f475SmrgCASE_IGNORE, 4027d522f475Smrg/* SP ! " # */ 4028d522f475SmrgCASE_CSI_IGNORE, 4029d522f475SmrgCASE_CSI_IGNORE, 4030d522f475SmrgCASE_CSI_IGNORE, 4031d522f475SmrgCASE_CSI_IGNORE, 4032d522f475Smrg/* $ % & ' */ 4033d522f475SmrgCASE_CSI_IGNORE, 4034d522f475SmrgCASE_CSI_IGNORE, 4035d522f475SmrgCASE_CSI_IGNORE, 4036d522f475SmrgCASE_CSI_IGNORE, 4037d522f475Smrg/* ( ) * + */ 4038d522f475SmrgCASE_CSI_IGNORE, 4039d522f475SmrgCASE_CSI_IGNORE, 4040d522f475SmrgCASE_CSI_IGNORE, 4041d522f475SmrgCASE_CSI_IGNORE, 4042d522f475Smrg/* , - . / */ 4043d522f475SmrgCASE_CSI_IGNORE, 4044d522f475SmrgCASE_CSI_IGNORE, 4045d522f475SmrgCASE_CSI_IGNORE, 4046d522f475SmrgCASE_CSI_IGNORE, 4047d522f475Smrg/* 0 1 2 3 */ 4048d522f475SmrgCASE_ESC_DIGIT, 4049d522f475SmrgCASE_ESC_DIGIT, 4050d522f475SmrgCASE_ESC_DIGIT, 4051d522f475SmrgCASE_ESC_DIGIT, 4052d522f475Smrg/* 4 5 6 7 */ 4053d522f475SmrgCASE_ESC_DIGIT, 4054d522f475SmrgCASE_ESC_DIGIT, 4055d522f475SmrgCASE_ESC_DIGIT, 4056d522f475SmrgCASE_ESC_DIGIT, 4057d522f475Smrg/* 8 9 : ; */ 4058d522f475SmrgCASE_ESC_DIGIT, 4059d522f475SmrgCASE_ESC_DIGIT, 40600bd37d32SmrgCASE_ESC_COLON, 4061d522f475SmrgCASE_ESC_SEMI, 4062d522f475Smrg/* < = > ? */ 4063d522f475SmrgCASE_CSI_IGNORE, 4064d522f475SmrgCASE_CSI_IGNORE, 4065d522f475SmrgCASE_CSI_IGNORE, 4066d522f475SmrgCASE_CSI_IGNORE, 4067d522f475Smrg/* @ A B C */ 4068d522f475SmrgCASE_GROUND_STATE, 4069d522f475SmrgCASE_GROUND_STATE, 4070d522f475SmrgCASE_GROUND_STATE, 4071d522f475SmrgCASE_GROUND_STATE, 4072d522f475Smrg/* D E F G */ 4073d522f475SmrgCASE_GROUND_STATE, 4074d522f475SmrgCASE_GROUND_STATE, 4075d522f475SmrgCASE_GROUND_STATE, 4076d522f475SmrgCASE_GROUND_STATE, 4077d522f475Smrg/* H I J K */ 4078d522f475SmrgCASE_GROUND_STATE, 4079d522f475SmrgCASE_GROUND_STATE, 4080d522f475SmrgCASE_GROUND_STATE, 4081d522f475SmrgCASE_GROUND_STATE, 4082d522f475Smrg/* L M N O */ 4083d522f475SmrgCASE_GROUND_STATE, 4084d522f475SmrgCASE_GROUND_STATE, 4085d522f475SmrgCASE_GROUND_STATE, 4086d522f475SmrgCASE_GROUND_STATE, 4087d522f475Smrg/* P Q R S */ 4088d522f475SmrgCASE_GROUND_STATE, 4089d522f475SmrgCASE_GROUND_STATE, 4090d522f475SmrgCASE_GROUND_STATE, 4091d522f475SmrgCASE_GROUND_STATE, 4092d522f475Smrg/* T U V W */ 4093d522f475SmrgCASE_GROUND_STATE, 4094d522f475SmrgCASE_GROUND_STATE, 4095d522f475SmrgCASE_GROUND_STATE, 4096d522f475SmrgCASE_GROUND_STATE, 4097d522f475Smrg/* X Y Z [ */ 4098d522f475SmrgCASE_GROUND_STATE, 4099d522f475SmrgCASE_GROUND_STATE, 4100d522f475SmrgCASE_GROUND_STATE, 4101d522f475SmrgCASE_GROUND_STATE, 4102d522f475Smrg/* \ ] ^ _ */ 4103d522f475SmrgCASE_GROUND_STATE, 4104d522f475SmrgCASE_GROUND_STATE, 4105d522f475SmrgCASE_GROUND_STATE, 4106d522f475SmrgCASE_GROUND_STATE, 4107d522f475Smrg/* ` a b c */ 4108d522f475SmrgCASE_GROUND_STATE, 4109d522f475SmrgCASE_GROUND_STATE, 4110d522f475SmrgCASE_GROUND_STATE, 4111d522f475SmrgCASE_DECRPTUI, 4112d522f475Smrg/* d e f g */ 4113d522f475SmrgCASE_GROUND_STATE, 4114d522f475SmrgCASE_GROUND_STATE, 4115d522f475SmrgCASE_GROUND_STATE, 4116d522f475SmrgCASE_GROUND_STATE, 4117d522f475Smrg/* h i j k */ 4118d522f475SmrgCASE_GROUND_STATE, 4119d522f475SmrgCASE_GROUND_STATE, 4120d522f475SmrgCASE_GROUND_STATE, 4121d522f475SmrgCASE_GROUND_STATE, 4122d522f475Smrg/* l m n o */ 4123d522f475SmrgCASE_GROUND_STATE, 4124d522f475SmrgCASE_GROUND_STATE, 4125d522f475SmrgCASE_GROUND_STATE, 4126d522f475SmrgCASE_GROUND_STATE, 4127d522f475Smrg/* p q r s */ 4128d522f475SmrgCASE_GROUND_STATE, 4129d522f475SmrgCASE_GROUND_STATE, 4130d522f475SmrgCASE_GROUND_STATE, 4131d522f475SmrgCASE_GROUND_STATE, 4132d522f475Smrg/* t u v w */ 4133d522f475SmrgCASE_GROUND_STATE, 4134d522f475SmrgCASE_GROUND_STATE, 4135d522f475SmrgCASE_GROUND_STATE, 4136d522f475SmrgCASE_GROUND_STATE, 4137d522f475Smrg/* x y z { */ 4138d522f475SmrgCASE_GROUND_STATE, 4139d522f475SmrgCASE_GROUND_STATE, 4140d522f475SmrgCASE_GROUND_STATE, 4141d522f475SmrgCASE_GROUND_STATE, 4142d522f475Smrg/* | } ~ DEL */ 4143d522f475SmrgCASE_GROUND_STATE, 4144d522f475SmrgCASE_GROUND_STATE, 4145d522f475SmrgCASE_GROUND_STATE, 4146d522f475SmrgCASE_IGNORE, 4147d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 4148d522f475SmrgCASE_GROUND_STATE, 4149d522f475SmrgCASE_GROUND_STATE, 4150d522f475SmrgCASE_GROUND_STATE, 4151d522f475SmrgCASE_GROUND_STATE, 4152d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 4153d522f475SmrgCASE_IND, 4154d522f475SmrgCASE_NEL, 4155d522f475SmrgCASE_GROUND_STATE, 4156d522f475SmrgCASE_GROUND_STATE, 4157d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 4158d522f475SmrgCASE_HTS, 4159d522f475SmrgCASE_GROUND_STATE, 4160d522f475SmrgCASE_GROUND_STATE, 4161d522f475SmrgCASE_GROUND_STATE, 4162d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 4163d522f475SmrgCASE_GROUND_STATE, 4164d522f475SmrgCASE_RI, 4165d522f475SmrgCASE_SS2, 4166d522f475SmrgCASE_SS3, 4167d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 4168d522f475SmrgCASE_DCS, 4169d522f475SmrgCASE_GROUND_STATE, 4170d522f475SmrgCASE_GROUND_STATE, 4171d522f475SmrgCASE_GROUND_STATE, 4172d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 4173d522f475SmrgCASE_GROUND_STATE, 4174d522f475SmrgCASE_GROUND_STATE, 4175d522f475SmrgCASE_SPA, 4176d522f475SmrgCASE_EPA, 4177d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 4178d522f475SmrgCASE_SOS, 4179d522f475SmrgCASE_GROUND_STATE, 4180d522f475SmrgCASE_DECID, 4181d522f475SmrgCASE_CSI_STATE, 4182d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 4183d522f475SmrgCASE_ST, 4184d522f475SmrgCASE_OSC, 4185d522f475SmrgCASE_PM, 4186d522f475SmrgCASE_APC, 4187d522f475Smrg/* nobreakspace exclamdown cent sterling */ 4188d522f475SmrgCASE_CSI_IGNORE, 4189d522f475SmrgCASE_CSI_IGNORE, 4190d522f475SmrgCASE_CSI_IGNORE, 4191d522f475SmrgCASE_CSI_IGNORE, 4192d522f475Smrg/* currency yen brokenbar section */ 4193d522f475SmrgCASE_CSI_IGNORE, 4194d522f475SmrgCASE_CSI_IGNORE, 4195d522f475SmrgCASE_CSI_IGNORE, 4196d522f475SmrgCASE_CSI_IGNORE, 4197d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 4198d522f475SmrgCASE_CSI_IGNORE, 4199d522f475SmrgCASE_CSI_IGNORE, 4200d522f475SmrgCASE_CSI_IGNORE, 4201d522f475SmrgCASE_CSI_IGNORE, 4202d522f475Smrg/* notsign hyphen registered macron */ 4203d522f475SmrgCASE_CSI_IGNORE, 4204d522f475SmrgCASE_CSI_IGNORE, 4205d522f475SmrgCASE_CSI_IGNORE, 4206d522f475SmrgCASE_CSI_IGNORE, 4207d522f475Smrg/* degree plusminus twosuperior threesuperior */ 4208d522f475SmrgCASE_ESC_DIGIT, 4209d522f475SmrgCASE_ESC_DIGIT, 4210d522f475SmrgCASE_ESC_DIGIT, 4211d522f475SmrgCASE_ESC_DIGIT, 4212d522f475Smrg/* acute mu paragraph periodcentered */ 4213d522f475SmrgCASE_ESC_DIGIT, 4214d522f475SmrgCASE_ESC_DIGIT, 4215d522f475SmrgCASE_ESC_DIGIT, 4216d522f475SmrgCASE_ESC_DIGIT, 4217d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 4218d522f475SmrgCASE_ESC_DIGIT, 4219d522f475SmrgCASE_ESC_DIGIT, 42200bd37d32SmrgCASE_ESC_COLON, 4221d522f475SmrgCASE_ESC_SEMI, 4222d522f475Smrg/* onequarter onehalf threequarters questiondown */ 4223d522f475SmrgCASE_CSI_IGNORE, 4224d522f475SmrgCASE_CSI_IGNORE, 4225d522f475SmrgCASE_CSI_IGNORE, 4226d522f475SmrgCASE_CSI_IGNORE, 4227d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 4228d522f475SmrgCASE_GROUND_STATE, 4229d522f475SmrgCASE_GROUND_STATE, 4230d522f475SmrgCASE_GROUND_STATE, 4231d522f475SmrgCASE_GROUND_STATE, 4232d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 4233d522f475SmrgCASE_GROUND_STATE, 4234d522f475SmrgCASE_GROUND_STATE, 4235d522f475SmrgCASE_GROUND_STATE, 4236d522f475SmrgCASE_GROUND_STATE, 4237d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 4238d522f475SmrgCASE_GROUND_STATE, 4239d522f475SmrgCASE_GROUND_STATE, 4240d522f475SmrgCASE_GROUND_STATE, 4241d522f475SmrgCASE_GROUND_STATE, 4242d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 4243d522f475SmrgCASE_GROUND_STATE, 4244d522f475SmrgCASE_GROUND_STATE, 4245d522f475SmrgCASE_GROUND_STATE, 4246d522f475SmrgCASE_GROUND_STATE, 4247d522f475Smrg/* Eth Ntilde Ograve Oacute */ 4248d522f475SmrgCASE_GROUND_STATE, 4249d522f475SmrgCASE_GROUND_STATE, 4250d522f475SmrgCASE_GROUND_STATE, 4251d522f475SmrgCASE_GROUND_STATE, 4252d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 4253d522f475SmrgCASE_GROUND_STATE, 4254d522f475SmrgCASE_GROUND_STATE, 4255d522f475SmrgCASE_GROUND_STATE, 4256d522f475SmrgCASE_GROUND_STATE, 4257d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 4258d522f475SmrgCASE_GROUND_STATE, 4259d522f475SmrgCASE_GROUND_STATE, 4260d522f475SmrgCASE_GROUND_STATE, 4261d522f475SmrgCASE_GROUND_STATE, 4262d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 4263d522f475SmrgCASE_GROUND_STATE, 4264d522f475SmrgCASE_GROUND_STATE, 4265d522f475SmrgCASE_GROUND_STATE, 4266d522f475SmrgCASE_GROUND_STATE, 4267d522f475Smrg/* agrave aacute acircumflex atilde */ 4268d522f475SmrgCASE_GROUND_STATE, 4269d522f475SmrgCASE_GROUND_STATE, 4270d522f475SmrgCASE_GROUND_STATE, 4271d522f475SmrgCASE_DECRPTUI, 4272d522f475Smrg/* adiaeresis aring ae ccedilla */ 4273d522f475SmrgCASE_GROUND_STATE, 4274d522f475SmrgCASE_GROUND_STATE, 4275d522f475SmrgCASE_GROUND_STATE, 4276d522f475SmrgCASE_GROUND_STATE, 4277d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 4278d522f475SmrgCASE_GROUND_STATE, 4279d522f475SmrgCASE_GROUND_STATE, 4280d522f475SmrgCASE_GROUND_STATE, 4281d522f475SmrgCASE_GROUND_STATE, 4282d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 4283d522f475SmrgCASE_GROUND_STATE, 4284d522f475SmrgCASE_GROUND_STATE, 4285d522f475SmrgCASE_GROUND_STATE, 4286d522f475SmrgCASE_GROUND_STATE, 4287d522f475Smrg/* eth ntilde ograve oacute */ 4288d522f475SmrgCASE_GROUND_STATE, 4289d522f475SmrgCASE_GROUND_STATE, 4290d522f475SmrgCASE_GROUND_STATE, 4291d522f475SmrgCASE_GROUND_STATE, 4292d522f475Smrg/* ocircumflex otilde odiaeresis division */ 4293d522f475SmrgCASE_GROUND_STATE, 4294d522f475SmrgCASE_GROUND_STATE, 4295d522f475SmrgCASE_GROUND_STATE, 4296d522f475SmrgCASE_GROUND_STATE, 4297d522f475Smrg/* oslash ugrave uacute ucircumflex */ 4298d522f475SmrgCASE_GROUND_STATE, 4299d522f475SmrgCASE_GROUND_STATE, 4300d522f475SmrgCASE_GROUND_STATE, 4301d522f475SmrgCASE_GROUND_STATE, 4302d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 4303d522f475SmrgCASE_GROUND_STATE, 4304d522f475SmrgCASE_GROUND_STATE, 4305d522f475SmrgCASE_GROUND_STATE, 4306d522f475SmrgCASE_IGNORE, 4307d522f475Smrg}; 4308d522f475Smrg 4309d522f475SmrgConst PARSE_T cigtable[] = /* CASE_CSI_IGNORE */ 4310d522f475Smrg{ 4311d522f475Smrg/* NUL SOH STX ETX */ 4312d522f475SmrgCASE_IGNORE, 4313d522f475SmrgCASE_IGNORE, 4314d522f475SmrgCASE_IGNORE, 4315d522f475SmrgCASE_IGNORE, 4316d522f475Smrg/* EOT ENQ ACK BEL */ 4317d522f475SmrgCASE_IGNORE, 4318d522f475SmrgCASE_ENQ, 4319d522f475SmrgCASE_IGNORE, 4320d522f475SmrgCASE_BELL, 4321d522f475Smrg/* BS HT NL VT */ 4322d522f475SmrgCASE_BS, 4323d522f475SmrgCASE_TAB, 4324d522f475SmrgCASE_VMOT, 4325d522f475SmrgCASE_VMOT, 43260bd37d32Smrg/* FF CR SO SI */ 4327d522f475SmrgCASE_VMOT, 4328d522f475SmrgCASE_CR, 4329d522f475SmrgCASE_SO, 4330d522f475SmrgCASE_SI, 4331d522f475Smrg/* DLE DC1 DC2 DC3 */ 4332d522f475SmrgCASE_IGNORE, 4333d522f475SmrgCASE_IGNORE, 4334d522f475SmrgCASE_IGNORE, 4335d522f475SmrgCASE_IGNORE, 4336d522f475Smrg/* DC4 NAK SYN ETB */ 4337d522f475SmrgCASE_IGNORE, 4338d522f475SmrgCASE_IGNORE, 4339d522f475SmrgCASE_IGNORE, 4340d522f475SmrgCASE_IGNORE, 4341d522f475Smrg/* CAN EM SUB ESC */ 4342d522f475SmrgCASE_GROUND_STATE, 4343d522f475SmrgCASE_IGNORE, 4344d522f475SmrgCASE_GROUND_STATE, 4345d522f475SmrgCASE_ESC, 4346d522f475Smrg/* FS GS RS US */ 4347d522f475SmrgCASE_IGNORE, 4348d522f475SmrgCASE_IGNORE, 4349d522f475SmrgCASE_IGNORE, 4350d522f475SmrgCASE_IGNORE, 4351d522f475Smrg/* SP ! " # */ 4352d522f475SmrgCASE_IGNORE, 4353d522f475SmrgCASE_IGNORE, 4354d522f475SmrgCASE_IGNORE, 4355d522f475SmrgCASE_IGNORE, 4356d522f475Smrg/* $ % & ' */ 4357d522f475SmrgCASE_IGNORE, 4358d522f475SmrgCASE_IGNORE, 4359d522f475SmrgCASE_IGNORE, 4360d522f475SmrgCASE_IGNORE, 4361d522f475Smrg/* ( ) * + */ 4362d522f475SmrgCASE_IGNORE, 4363d522f475SmrgCASE_IGNORE, 4364d522f475SmrgCASE_IGNORE, 4365d522f475SmrgCASE_IGNORE, 4366d522f475Smrg/* , - . / */ 4367d522f475SmrgCASE_IGNORE, 4368d522f475SmrgCASE_IGNORE, 4369d522f475SmrgCASE_IGNORE, 4370d522f475SmrgCASE_IGNORE, 4371d522f475Smrg/* 0 1 2 3 */ 4372d522f475SmrgCASE_IGNORE, 4373d522f475SmrgCASE_IGNORE, 4374d522f475SmrgCASE_IGNORE, 4375d522f475SmrgCASE_IGNORE, 4376d522f475Smrg/* 4 5 6 7 */ 4377d522f475SmrgCASE_IGNORE, 4378d522f475SmrgCASE_IGNORE, 4379d522f475SmrgCASE_IGNORE, 4380d522f475SmrgCASE_IGNORE, 4381d522f475Smrg/* 8 9 : ; */ 4382d522f475SmrgCASE_IGNORE, 4383d522f475SmrgCASE_IGNORE, 4384d522f475SmrgCASE_IGNORE, 4385d522f475SmrgCASE_IGNORE, 4386d522f475Smrg/* < = > ? */ 4387d522f475SmrgCASE_IGNORE, 4388d522f475SmrgCASE_IGNORE, 4389d522f475SmrgCASE_IGNORE, 4390d522f475SmrgCASE_IGNORE, 4391d522f475Smrg/* @ A B C */ 4392d522f475SmrgCASE_GROUND_STATE, 4393d522f475SmrgCASE_GROUND_STATE, 4394d522f475SmrgCASE_GROUND_STATE, 4395d522f475SmrgCASE_GROUND_STATE, 4396d522f475Smrg/* D E F G */ 4397d522f475SmrgCASE_GROUND_STATE, 4398d522f475SmrgCASE_GROUND_STATE, 4399d522f475SmrgCASE_GROUND_STATE, 4400d522f475SmrgCASE_GROUND_STATE, 4401d522f475Smrg/* H I J K */ 4402d522f475SmrgCASE_GROUND_STATE, 4403d522f475SmrgCASE_GROUND_STATE, 4404d522f475SmrgCASE_GROUND_STATE, 4405d522f475SmrgCASE_GROUND_STATE, 4406d522f475Smrg/* L M N O */ 4407d522f475SmrgCASE_GROUND_STATE, 4408d522f475SmrgCASE_GROUND_STATE, 4409d522f475SmrgCASE_GROUND_STATE, 4410d522f475SmrgCASE_GROUND_STATE, 4411d522f475Smrg/* P Q R S */ 4412d522f475SmrgCASE_GROUND_STATE, 4413d522f475SmrgCASE_GROUND_STATE, 4414d522f475SmrgCASE_GROUND_STATE, 4415d522f475SmrgCASE_GROUND_STATE, 4416d522f475Smrg/* T U V W */ 4417d522f475SmrgCASE_GROUND_STATE, 4418d522f475SmrgCASE_GROUND_STATE, 4419d522f475SmrgCASE_GROUND_STATE, 4420d522f475SmrgCASE_GROUND_STATE, 4421d522f475Smrg/* X Y Z [ */ 4422d522f475SmrgCASE_GROUND_STATE, 4423d522f475SmrgCASE_GROUND_STATE, 4424d522f475SmrgCASE_GROUND_STATE, 4425d522f475SmrgCASE_GROUND_STATE, 4426d522f475Smrg/* \ ] ^ _ */ 4427d522f475SmrgCASE_GROUND_STATE, 4428d522f475SmrgCASE_GROUND_STATE, 4429d522f475SmrgCASE_GROUND_STATE, 4430d522f475SmrgCASE_GROUND_STATE, 4431d522f475Smrg/* ` a b c */ 4432d522f475SmrgCASE_GROUND_STATE, 4433d522f475SmrgCASE_GROUND_STATE, 4434d522f475SmrgCASE_GROUND_STATE, 4435d522f475SmrgCASE_GROUND_STATE, 4436d522f475Smrg/* d e f g */ 4437d522f475SmrgCASE_GROUND_STATE, 4438d522f475SmrgCASE_GROUND_STATE, 4439d522f475SmrgCASE_GROUND_STATE, 4440d522f475SmrgCASE_GROUND_STATE, 4441d522f475Smrg/* h i j k */ 4442d522f475SmrgCASE_GROUND_STATE, 4443d522f475SmrgCASE_GROUND_STATE, 4444d522f475SmrgCASE_GROUND_STATE, 4445d522f475SmrgCASE_GROUND_STATE, 4446d522f475Smrg/* l m n o */ 4447d522f475SmrgCASE_GROUND_STATE, 4448d522f475SmrgCASE_GROUND_STATE, 4449d522f475SmrgCASE_GROUND_STATE, 4450d522f475SmrgCASE_GROUND_STATE, 4451d522f475Smrg/* p q r s */ 4452d522f475SmrgCASE_GROUND_STATE, 4453d522f475SmrgCASE_GROUND_STATE, 4454d522f475SmrgCASE_GROUND_STATE, 4455d522f475SmrgCASE_GROUND_STATE, 4456d522f475Smrg/* t u v w */ 4457d522f475SmrgCASE_GROUND_STATE, 4458d522f475SmrgCASE_GROUND_STATE, 4459d522f475SmrgCASE_GROUND_STATE, 4460d522f475SmrgCASE_GROUND_STATE, 4461d522f475Smrg/* x y z { */ 4462d522f475SmrgCASE_GROUND_STATE, 4463d522f475SmrgCASE_GROUND_STATE, 4464d522f475SmrgCASE_GROUND_STATE, 4465d522f475SmrgCASE_GROUND_STATE, 4466d522f475Smrg/* | } ~ DEL */ 4467d522f475SmrgCASE_GROUND_STATE, 4468d522f475SmrgCASE_GROUND_STATE, 4469d522f475SmrgCASE_GROUND_STATE, 4470d522f475SmrgCASE_IGNORE, 4471d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 4472d522f475SmrgCASE_GROUND_STATE, 4473d522f475SmrgCASE_GROUND_STATE, 4474d522f475SmrgCASE_GROUND_STATE, 4475d522f475SmrgCASE_GROUND_STATE, 4476d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 4477d522f475SmrgCASE_IND, 4478d522f475SmrgCASE_NEL, 4479d522f475SmrgCASE_GROUND_STATE, 4480d522f475SmrgCASE_GROUND_STATE, 4481d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 4482d522f475SmrgCASE_HTS, 4483d522f475SmrgCASE_GROUND_STATE, 4484d522f475SmrgCASE_GROUND_STATE, 4485d522f475SmrgCASE_GROUND_STATE, 4486d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 4487d522f475SmrgCASE_GROUND_STATE, 4488d522f475SmrgCASE_RI, 4489d522f475SmrgCASE_SS2, 4490d522f475SmrgCASE_SS3, 4491d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 4492d522f475SmrgCASE_DCS, 4493d522f475SmrgCASE_GROUND_STATE, 4494d522f475SmrgCASE_GROUND_STATE, 4495d522f475SmrgCASE_GROUND_STATE, 4496d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 4497d522f475SmrgCASE_GROUND_STATE, 4498d522f475SmrgCASE_GROUND_STATE, 4499d522f475SmrgCASE_SPA, 4500d522f475SmrgCASE_EPA, 4501d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 4502d522f475SmrgCASE_SOS, 4503d522f475SmrgCASE_GROUND_STATE, 4504d522f475SmrgCASE_DECID, 4505d522f475SmrgCASE_CSI_STATE, 4506d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 4507d522f475SmrgCASE_ST, 4508d522f475SmrgCASE_OSC, 4509d522f475SmrgCASE_PM, 4510d522f475SmrgCASE_APC, 4511d522f475Smrg/* nobreakspace exclamdown cent sterling */ 4512d522f475SmrgCASE_IGNORE, 4513d522f475SmrgCASE_IGNORE, 4514d522f475SmrgCASE_IGNORE, 4515d522f475SmrgCASE_IGNORE, 4516d522f475Smrg/* currency yen brokenbar section */ 4517d522f475SmrgCASE_IGNORE, 4518d522f475SmrgCASE_IGNORE, 4519d522f475SmrgCASE_IGNORE, 4520d522f475SmrgCASE_IGNORE, 4521d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 4522d522f475SmrgCASE_IGNORE, 4523d522f475SmrgCASE_IGNORE, 4524d522f475SmrgCASE_IGNORE, 4525d522f475SmrgCASE_IGNORE, 4526d522f475Smrg/* notsign hyphen registered macron */ 4527d522f475SmrgCASE_IGNORE, 4528d522f475SmrgCASE_IGNORE, 4529d522f475SmrgCASE_IGNORE, 4530d522f475SmrgCASE_IGNORE, 4531d522f475Smrg/* degree plusminus twosuperior threesuperior */ 4532d522f475SmrgCASE_IGNORE, 4533d522f475SmrgCASE_IGNORE, 4534d522f475SmrgCASE_IGNORE, 4535d522f475SmrgCASE_IGNORE, 4536d522f475Smrg/* acute mu paragraph periodcentered */ 4537d522f475SmrgCASE_IGNORE, 4538d522f475SmrgCASE_IGNORE, 4539d522f475SmrgCASE_IGNORE, 4540d522f475SmrgCASE_IGNORE, 4541d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 4542d522f475SmrgCASE_IGNORE, 4543d522f475SmrgCASE_IGNORE, 4544d522f475SmrgCASE_IGNORE, 4545d522f475SmrgCASE_IGNORE, 4546d522f475Smrg/* onequarter onehalf threequarters questiondown */ 4547d522f475SmrgCASE_IGNORE, 4548d522f475SmrgCASE_IGNORE, 4549d522f475SmrgCASE_IGNORE, 4550d522f475SmrgCASE_IGNORE, 4551d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 4552d522f475SmrgCASE_GROUND_STATE, 4553d522f475SmrgCASE_GROUND_STATE, 4554d522f475SmrgCASE_GROUND_STATE, 4555d522f475SmrgCASE_GROUND_STATE, 4556d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 4557d522f475SmrgCASE_GROUND_STATE, 4558d522f475SmrgCASE_GROUND_STATE, 4559d522f475SmrgCASE_GROUND_STATE, 4560d522f475SmrgCASE_GROUND_STATE, 4561d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 4562d522f475SmrgCASE_GROUND_STATE, 4563d522f475SmrgCASE_GROUND_STATE, 4564d522f475SmrgCASE_GROUND_STATE, 4565d522f475SmrgCASE_GROUND_STATE, 4566d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 4567d522f475SmrgCASE_GROUND_STATE, 4568d522f475SmrgCASE_GROUND_STATE, 4569d522f475SmrgCASE_GROUND_STATE, 4570d522f475SmrgCASE_GROUND_STATE, 4571d522f475Smrg/* Eth Ntilde Ograve Oacute */ 4572d522f475SmrgCASE_GROUND_STATE, 4573d522f475SmrgCASE_GROUND_STATE, 4574d522f475SmrgCASE_GROUND_STATE, 4575d522f475SmrgCASE_GROUND_STATE, 4576d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 4577d522f475SmrgCASE_GROUND_STATE, 4578d522f475SmrgCASE_GROUND_STATE, 4579d522f475SmrgCASE_GROUND_STATE, 4580d522f475SmrgCASE_GROUND_STATE, 4581d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 4582d522f475SmrgCASE_GROUND_STATE, 4583d522f475SmrgCASE_GROUND_STATE, 4584d522f475SmrgCASE_GROUND_STATE, 4585d522f475SmrgCASE_GROUND_STATE, 4586d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 4587d522f475SmrgCASE_GROUND_STATE, 4588d522f475SmrgCASE_GROUND_STATE, 4589d522f475SmrgCASE_GROUND_STATE, 4590d522f475SmrgCASE_GROUND_STATE, 4591d522f475Smrg/* agrave aacute acircumflex atilde */ 4592d522f475SmrgCASE_GROUND_STATE, 4593d522f475SmrgCASE_GROUND_STATE, 4594d522f475SmrgCASE_GROUND_STATE, 4595d522f475SmrgCASE_GROUND_STATE, 4596d522f475Smrg/* adiaeresis aring ae ccedilla */ 4597d522f475SmrgCASE_GROUND_STATE, 4598d522f475SmrgCASE_GROUND_STATE, 4599d522f475SmrgCASE_GROUND_STATE, 4600d522f475SmrgCASE_GROUND_STATE, 4601d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 4602d522f475SmrgCASE_GROUND_STATE, 4603d522f475SmrgCASE_GROUND_STATE, 4604d522f475SmrgCASE_GROUND_STATE, 4605d522f475SmrgCASE_GROUND_STATE, 4606d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 4607d522f475SmrgCASE_GROUND_STATE, 4608d522f475SmrgCASE_GROUND_STATE, 4609d522f475SmrgCASE_GROUND_STATE, 4610d522f475SmrgCASE_GROUND_STATE, 4611d522f475Smrg/* eth ntilde ograve oacute */ 4612d522f475SmrgCASE_GROUND_STATE, 4613d522f475SmrgCASE_GROUND_STATE, 4614d522f475SmrgCASE_GROUND_STATE, 4615d522f475SmrgCASE_GROUND_STATE, 4616d522f475Smrg/* ocircumflex otilde odiaeresis division */ 4617d522f475SmrgCASE_GROUND_STATE, 4618d522f475SmrgCASE_GROUND_STATE, 4619d522f475SmrgCASE_GROUND_STATE, 4620d522f475SmrgCASE_GROUND_STATE, 4621d522f475Smrg/* oslash ugrave uacute ucircumflex */ 4622d522f475SmrgCASE_GROUND_STATE, 4623d522f475SmrgCASE_GROUND_STATE, 4624d522f475SmrgCASE_GROUND_STATE, 4625d522f475SmrgCASE_GROUND_STATE, 4626d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 4627d522f475SmrgCASE_GROUND_STATE, 4628d522f475SmrgCASE_GROUND_STATE, 4629d522f475SmrgCASE_GROUND_STATE, 4630d522f475SmrgCASE_IGNORE, 4631d522f475Smrg}; 4632d522f475Smrg 4633d522f475SmrgConst PARSE_T eigtable[] = /* CASE_ESC_IGNORE */ 4634d522f475Smrg{ 4635d522f475Smrg/* NUL SOH STX ETX */ 4636d522f475SmrgCASE_IGNORE, 4637d522f475SmrgCASE_IGNORE, 4638d522f475SmrgCASE_IGNORE, 4639d522f475SmrgCASE_IGNORE, 4640d522f475Smrg/* EOT ENQ ACK BEL */ 4641d522f475SmrgCASE_IGNORE, 4642d522f475SmrgCASE_ENQ, 4643d522f475SmrgCASE_IGNORE, 4644d522f475SmrgCASE_BELL, 4645d522f475Smrg/* BS HT NL VT */ 4646d522f475SmrgCASE_BS, 4647d522f475SmrgCASE_TAB, 4648d522f475SmrgCASE_VMOT, 4649d522f475SmrgCASE_VMOT, 46500bd37d32Smrg/* FF CR SO SI */ 4651d522f475SmrgCASE_VMOT, 4652d522f475SmrgCASE_CR, 4653d522f475SmrgCASE_SO, 4654d522f475SmrgCASE_SI, 4655d522f475Smrg/* DLE DC1 DC2 DC3 */ 4656d522f475SmrgCASE_IGNORE, 4657d522f475SmrgCASE_IGNORE, 4658d522f475SmrgCASE_IGNORE, 4659d522f475SmrgCASE_IGNORE, 4660d522f475Smrg/* DC4 NAK SYN ETB */ 4661d522f475SmrgCASE_IGNORE, 4662d522f475SmrgCASE_IGNORE, 4663d522f475SmrgCASE_IGNORE, 4664d522f475SmrgCASE_IGNORE, 4665d522f475Smrg/* CAN EM SUB ESC */ 4666d522f475SmrgCASE_GROUND_STATE, 4667d522f475SmrgCASE_IGNORE, 4668d522f475SmrgCASE_GROUND_STATE, 4669d522f475SmrgCASE_ESC, 4670d522f475Smrg/* FS GS RS US */ 4671d522f475SmrgCASE_IGNORE, 4672d522f475SmrgCASE_IGNORE, 4673d522f475SmrgCASE_IGNORE, 4674d522f475SmrgCASE_IGNORE, 4675d522f475Smrg/* SP ! " # */ 4676d522f475SmrgCASE_IGNORE, 4677d522f475SmrgCASE_IGNORE, 4678d522f475SmrgCASE_IGNORE, 4679d522f475SmrgCASE_IGNORE, 4680d522f475Smrg/* $ % & ' */ 4681d522f475SmrgCASE_IGNORE, 4682d522f475SmrgCASE_IGNORE, 4683d522f475SmrgCASE_IGNORE, 4684d522f475SmrgCASE_IGNORE, 4685d522f475Smrg/* ( ) * + */ 4686d522f475SmrgCASE_IGNORE, 4687d522f475SmrgCASE_IGNORE, 4688d522f475SmrgCASE_IGNORE, 4689d522f475SmrgCASE_IGNORE, 4690d522f475Smrg/* , - . / */ 4691d522f475SmrgCASE_IGNORE, 4692d522f475SmrgCASE_IGNORE, 4693d522f475SmrgCASE_IGNORE, 4694d522f475SmrgCASE_IGNORE, 4695d522f475Smrg/* 0 1 2 3 */ 4696d522f475SmrgCASE_GROUND_STATE, 4697d522f475SmrgCASE_GROUND_STATE, 4698d522f475SmrgCASE_GROUND_STATE, 4699d522f475SmrgCASE_GROUND_STATE, 4700d522f475Smrg/* 4 5 6 7 */ 4701d522f475SmrgCASE_GROUND_STATE, 4702d522f475SmrgCASE_GROUND_STATE, 4703d522f475SmrgCASE_GROUND_STATE, 4704d522f475SmrgCASE_GROUND_STATE, 4705d522f475Smrg/* 8 9 : ; */ 4706d522f475SmrgCASE_GROUND_STATE, 4707d522f475SmrgCASE_GROUND_STATE, 4708d522f475SmrgCASE_GROUND_STATE, 4709d522f475SmrgCASE_GROUND_STATE, 4710d522f475Smrg/* < = > ? */ 4711d522f475SmrgCASE_GROUND_STATE, 4712d522f475SmrgCASE_GROUND_STATE, 4713d522f475SmrgCASE_GROUND_STATE, 4714d522f475SmrgCASE_GROUND_STATE, 4715d522f475Smrg/* @ A B C */ 4716d522f475SmrgCASE_GROUND_STATE, 4717d522f475SmrgCASE_GROUND_STATE, 4718d522f475SmrgCASE_GROUND_STATE, 4719d522f475SmrgCASE_GROUND_STATE, 4720d522f475Smrg/* D E F G */ 4721d522f475SmrgCASE_GROUND_STATE, 4722d522f475SmrgCASE_GROUND_STATE, 4723d522f475SmrgCASE_GROUND_STATE, 4724d522f475SmrgCASE_GROUND_STATE, 4725d522f475Smrg/* H I J K */ 4726d522f475SmrgCASE_GROUND_STATE, 4727d522f475SmrgCASE_GROUND_STATE, 4728d522f475SmrgCASE_GROUND_STATE, 4729d522f475SmrgCASE_GROUND_STATE, 4730d522f475Smrg/* L M N O */ 4731d522f475SmrgCASE_GROUND_STATE, 4732d522f475SmrgCASE_GROUND_STATE, 4733d522f475SmrgCASE_GROUND_STATE, 4734d522f475SmrgCASE_GROUND_STATE, 4735d522f475Smrg/* P Q R S */ 4736d522f475SmrgCASE_GROUND_STATE, 4737d522f475SmrgCASE_GROUND_STATE, 4738d522f475SmrgCASE_GROUND_STATE, 4739d522f475SmrgCASE_GROUND_STATE, 4740d522f475Smrg/* T U V W */ 4741d522f475SmrgCASE_GROUND_STATE, 4742d522f475SmrgCASE_GROUND_STATE, 4743d522f475SmrgCASE_GROUND_STATE, 4744d522f475SmrgCASE_GROUND_STATE, 4745d522f475Smrg/* X Y Z [ */ 4746d522f475SmrgCASE_GROUND_STATE, 4747d522f475SmrgCASE_GROUND_STATE, 4748d522f475SmrgCASE_GROUND_STATE, 4749d522f475SmrgCASE_GROUND_STATE, 4750d522f475Smrg/* \ ] ^ _ */ 4751d522f475SmrgCASE_GROUND_STATE, 4752d522f475SmrgCASE_GROUND_STATE, 4753d522f475SmrgCASE_GROUND_STATE, 4754d522f475SmrgCASE_GROUND_STATE, 4755d522f475Smrg/* ` a b c */ 4756d522f475SmrgCASE_GROUND_STATE, 4757d522f475SmrgCASE_GROUND_STATE, 4758d522f475SmrgCASE_GROUND_STATE, 4759d522f475SmrgCASE_GROUND_STATE, 4760d522f475Smrg/* d e f g */ 4761d522f475SmrgCASE_GROUND_STATE, 4762d522f475SmrgCASE_GROUND_STATE, 4763d522f475SmrgCASE_GROUND_STATE, 4764d522f475SmrgCASE_GROUND_STATE, 4765d522f475Smrg/* h i j k */ 4766d522f475SmrgCASE_GROUND_STATE, 4767d522f475SmrgCASE_GROUND_STATE, 4768d522f475SmrgCASE_GROUND_STATE, 4769d522f475SmrgCASE_GROUND_STATE, 4770d522f475Smrg/* l m n o */ 4771d522f475SmrgCASE_GROUND_STATE, 4772d522f475SmrgCASE_GROUND_STATE, 4773d522f475SmrgCASE_GROUND_STATE, 4774d522f475SmrgCASE_GROUND_STATE, 4775d522f475Smrg/* p q r s */ 4776d522f475SmrgCASE_GROUND_STATE, 4777d522f475SmrgCASE_GROUND_STATE, 4778d522f475SmrgCASE_GROUND_STATE, 4779d522f475SmrgCASE_GROUND_STATE, 4780d522f475Smrg/* t u v w */ 4781d522f475SmrgCASE_GROUND_STATE, 4782d522f475SmrgCASE_GROUND_STATE, 4783d522f475SmrgCASE_GROUND_STATE, 4784d522f475SmrgCASE_GROUND_STATE, 4785d522f475Smrg/* x y z { */ 4786d522f475SmrgCASE_GROUND_STATE, 4787d522f475SmrgCASE_GROUND_STATE, 4788d522f475SmrgCASE_GROUND_STATE, 4789d522f475SmrgCASE_GROUND_STATE, 4790d522f475Smrg/* | } ~ DEL */ 4791d522f475SmrgCASE_GROUND_STATE, 4792d522f475SmrgCASE_GROUND_STATE, 4793d522f475SmrgCASE_GROUND_STATE, 4794d522f475SmrgCASE_IGNORE, 4795d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 4796d522f475SmrgCASE_GROUND_STATE, 4797d522f475SmrgCASE_GROUND_STATE, 4798d522f475SmrgCASE_GROUND_STATE, 4799d522f475SmrgCASE_GROUND_STATE, 4800d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 4801d522f475SmrgCASE_IND, 4802d522f475SmrgCASE_NEL, 4803d522f475SmrgCASE_GROUND_STATE, 4804d522f475SmrgCASE_GROUND_STATE, 4805d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 4806d522f475SmrgCASE_HTS, 4807d522f475SmrgCASE_GROUND_STATE, 4808d522f475SmrgCASE_GROUND_STATE, 4809d522f475SmrgCASE_GROUND_STATE, 4810d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 4811d522f475SmrgCASE_GROUND_STATE, 4812d522f475SmrgCASE_RI, 4813d522f475SmrgCASE_SS2, 4814d522f475SmrgCASE_SS3, 4815d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 4816d522f475SmrgCASE_DCS, 4817d522f475SmrgCASE_GROUND_STATE, 4818d522f475SmrgCASE_GROUND_STATE, 4819d522f475SmrgCASE_GROUND_STATE, 4820d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 4821d522f475SmrgCASE_GROUND_STATE, 4822d522f475SmrgCASE_GROUND_STATE, 4823d522f475SmrgCASE_SPA, 4824d522f475SmrgCASE_EPA, 4825d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 4826d522f475SmrgCASE_SOS, 4827d522f475SmrgCASE_GROUND_STATE, 4828d522f475SmrgCASE_DECID, 4829d522f475SmrgCASE_CSI_STATE, 4830d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 4831d522f475SmrgCASE_ST, 4832d522f475SmrgCASE_OSC, 4833d522f475SmrgCASE_PM, 4834d522f475SmrgCASE_APC, 4835d522f475Smrg/* nobreakspace exclamdown cent sterling */ 4836d522f475SmrgCASE_IGNORE, 4837d522f475SmrgCASE_IGNORE, 4838d522f475SmrgCASE_IGNORE, 4839d522f475SmrgCASE_IGNORE, 4840d522f475Smrg/* currency yen brokenbar section */ 4841d522f475SmrgCASE_IGNORE, 4842d522f475SmrgCASE_IGNORE, 4843d522f475SmrgCASE_IGNORE, 4844d522f475SmrgCASE_IGNORE, 4845d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 4846d522f475SmrgCASE_IGNORE, 4847d522f475SmrgCASE_IGNORE, 4848d522f475SmrgCASE_IGNORE, 4849d522f475SmrgCASE_IGNORE, 4850d522f475Smrg/* notsign hyphen registered macron */ 4851d522f475SmrgCASE_IGNORE, 4852d522f475SmrgCASE_IGNORE, 4853d522f475SmrgCASE_IGNORE, 4854d522f475SmrgCASE_IGNORE, 4855d522f475Smrg/* degree plusminus twosuperior threesuperior */ 4856d522f475SmrgCASE_GROUND_STATE, 4857d522f475SmrgCASE_GROUND_STATE, 4858d522f475SmrgCASE_GROUND_STATE, 4859d522f475SmrgCASE_GROUND_STATE, 4860d522f475Smrg/* acute mu paragraph periodcentered */ 4861d522f475SmrgCASE_GROUND_STATE, 4862d522f475SmrgCASE_GROUND_STATE, 4863d522f475SmrgCASE_GROUND_STATE, 4864d522f475SmrgCASE_GROUND_STATE, 4865d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 4866d522f475SmrgCASE_GROUND_STATE, 4867d522f475SmrgCASE_GROUND_STATE, 4868d522f475SmrgCASE_GROUND_STATE, 4869d522f475SmrgCASE_GROUND_STATE, 4870d522f475Smrg/* onequarter onehalf threequarters questiondown */ 4871d522f475SmrgCASE_GROUND_STATE, 4872d522f475SmrgCASE_GROUND_STATE, 4873d522f475SmrgCASE_GROUND_STATE, 4874d522f475SmrgCASE_GROUND_STATE, 4875d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 4876d522f475SmrgCASE_GROUND_STATE, 4877d522f475SmrgCASE_GROUND_STATE, 4878d522f475SmrgCASE_GROUND_STATE, 4879d522f475SmrgCASE_GROUND_STATE, 4880d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 4881d522f475SmrgCASE_GROUND_STATE, 4882d522f475SmrgCASE_GROUND_STATE, 4883d522f475SmrgCASE_GROUND_STATE, 4884d522f475SmrgCASE_GROUND_STATE, 4885d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 4886d522f475SmrgCASE_GROUND_STATE, 4887d522f475SmrgCASE_GROUND_STATE, 4888d522f475SmrgCASE_GROUND_STATE, 4889d522f475SmrgCASE_GROUND_STATE, 4890d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 4891d522f475SmrgCASE_GROUND_STATE, 4892d522f475SmrgCASE_GROUND_STATE, 4893d522f475SmrgCASE_GROUND_STATE, 4894d522f475SmrgCASE_GROUND_STATE, 4895d522f475Smrg/* Eth Ntilde Ograve Oacute */ 4896d522f475SmrgCASE_GROUND_STATE, 4897d522f475SmrgCASE_GROUND_STATE, 4898d522f475SmrgCASE_GROUND_STATE, 4899d522f475SmrgCASE_GROUND_STATE, 4900d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 4901d522f475SmrgCASE_GROUND_STATE, 4902d522f475SmrgCASE_GROUND_STATE, 4903d522f475SmrgCASE_GROUND_STATE, 4904d522f475SmrgCASE_GROUND_STATE, 4905d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 4906d522f475SmrgCASE_GROUND_STATE, 4907d522f475SmrgCASE_GROUND_STATE, 4908d522f475SmrgCASE_GROUND_STATE, 4909d522f475SmrgCASE_GROUND_STATE, 4910d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 4911d522f475SmrgCASE_GROUND_STATE, 4912d522f475SmrgCASE_GROUND_STATE, 4913d522f475SmrgCASE_GROUND_STATE, 4914d522f475SmrgCASE_GROUND_STATE, 4915d522f475Smrg/* agrave aacute acircumflex atilde */ 4916d522f475SmrgCASE_GROUND_STATE, 4917d522f475SmrgCASE_GROUND_STATE, 4918d522f475SmrgCASE_GROUND_STATE, 4919d522f475SmrgCASE_GROUND_STATE, 4920d522f475Smrg/* adiaeresis aring ae ccedilla */ 4921d522f475SmrgCASE_GROUND_STATE, 4922d522f475SmrgCASE_GROUND_STATE, 4923d522f475SmrgCASE_GROUND_STATE, 4924d522f475SmrgCASE_GROUND_STATE, 4925d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 4926d522f475SmrgCASE_GROUND_STATE, 4927d522f475SmrgCASE_GROUND_STATE, 4928d522f475SmrgCASE_GROUND_STATE, 4929d522f475SmrgCASE_GROUND_STATE, 4930d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 4931d522f475SmrgCASE_GROUND_STATE, 4932d522f475SmrgCASE_GROUND_STATE, 4933d522f475SmrgCASE_GROUND_STATE, 4934d522f475SmrgCASE_GROUND_STATE, 4935d522f475Smrg/* eth ntilde ograve oacute */ 4936d522f475SmrgCASE_GROUND_STATE, 4937d522f475SmrgCASE_GROUND_STATE, 4938d522f475SmrgCASE_GROUND_STATE, 4939d522f475SmrgCASE_GROUND_STATE, 4940d522f475Smrg/* ocircumflex otilde odiaeresis division */ 4941d522f475SmrgCASE_GROUND_STATE, 4942d522f475SmrgCASE_GROUND_STATE, 4943d522f475SmrgCASE_GROUND_STATE, 4944d522f475SmrgCASE_GROUND_STATE, 4945d522f475Smrg/* oslash ugrave uacute ucircumflex */ 4946d522f475SmrgCASE_GROUND_STATE, 4947d522f475SmrgCASE_GROUND_STATE, 4948d522f475SmrgCASE_GROUND_STATE, 4949d522f475SmrgCASE_GROUND_STATE, 4950d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 4951d522f475SmrgCASE_GROUND_STATE, 4952d522f475SmrgCASE_GROUND_STATE, 4953d522f475SmrgCASE_GROUND_STATE, 4954d522f475SmrgCASE_IGNORE, 4955d522f475Smrg}; 4956d522f475Smrg 4957d522f475SmrgConst PARSE_T esc_table[] = /* ESC */ 4958d522f475Smrg{ 4959d522f475Smrg/* NUL SOH STX ETX */ 4960d522f475SmrgCASE_IGNORE, 4961d522f475SmrgCASE_IGNORE, 4962d522f475SmrgCASE_IGNORE, 4963d522f475SmrgCASE_IGNORE, 4964d522f475Smrg/* EOT ENQ ACK BEL */ 4965d522f475SmrgCASE_IGNORE, 4966d522f475SmrgCASE_ENQ, 4967d522f475SmrgCASE_IGNORE, 4968d522f475SmrgCASE_BELL, 4969d522f475Smrg/* BS HT NL VT */ 4970d522f475SmrgCASE_BS, 4971d522f475SmrgCASE_TAB, 4972d522f475SmrgCASE_VMOT, 4973d522f475SmrgCASE_VMOT, 49740bd37d32Smrg/* FF CR SO SI */ 4975d522f475SmrgCASE_VMOT, 4976d522f475SmrgCASE_CR, 4977d522f475SmrgCASE_SO, 4978d522f475SmrgCASE_SI, 4979d522f475Smrg/* DLE DC1 DC2 DC3 */ 4980d522f475SmrgCASE_IGNORE, 4981d522f475SmrgCASE_IGNORE, 4982d522f475SmrgCASE_IGNORE, 4983d522f475SmrgCASE_IGNORE, 4984d522f475Smrg/* DC4 NAK SYN ETB */ 4985d522f475SmrgCASE_IGNORE, 4986d522f475SmrgCASE_IGNORE, 4987d522f475SmrgCASE_IGNORE, 4988d522f475SmrgCASE_IGNORE, 4989d522f475Smrg/* CAN EM SUB ESC */ 4990d522f475SmrgCASE_GROUND_STATE, 4991d522f475SmrgCASE_IGNORE, 4992d522f475SmrgCASE_GROUND_STATE, 4993d522f475SmrgCASE_ESC, 4994d522f475Smrg/* FS GS RS US */ 4995d522f475SmrgCASE_IGNORE, 4996d522f475SmrgCASE_IGNORE, 4997d522f475SmrgCASE_IGNORE, 4998d522f475SmrgCASE_IGNORE, 4999d522f475Smrg/* SP ! " # */ 5000d522f475SmrgCASE_ESC_SP_STATE, 5001d522f475SmrgCASE_ESC_IGNORE, 5002d522f475SmrgCASE_ESC_IGNORE, 5003d522f475SmrgCASE_SCR_STATE, 5004d522f475Smrg/* $ % & ' */ 5005d522f475SmrgCASE_ESC_IGNORE, 5006d522f475SmrgCASE_ESC_PERCENT, 5007d522f475SmrgCASE_ESC_IGNORE, 5008d522f475SmrgCASE_ESC_IGNORE, 5009d522f475Smrg/* ( ) * + */ 5010d522f475SmrgCASE_SCS0_STATE, 5011d522f475SmrgCASE_SCS1_STATE, 5012d522f475SmrgCASE_SCS2_STATE, 5013d522f475SmrgCASE_SCS3_STATE, 5014d522f475Smrg/* , - . / */ 5015d522f475SmrgCASE_ESC_IGNORE, 50162eaa94a1SchristosCASE_SCS1A_STATE, 50172eaa94a1SchristosCASE_SCS2A_STATE, 50182eaa94a1SchristosCASE_SCS3A_STATE, 5019d522f475Smrg/* 0 1 2 3 */ 5020d522f475SmrgCASE_GROUND_STATE, 5021d522f475SmrgCASE_GROUND_STATE, 5022d522f475SmrgCASE_GROUND_STATE, 5023d522f475SmrgCASE_GROUND_STATE, 5024d522f475Smrg/* 4 5 6 7 */ 5025d522f475SmrgCASE_GROUND_STATE, 5026d522f475SmrgCASE_GROUND_STATE, 50270bd37d32SmrgCASE_DECBI, 5028d522f475SmrgCASE_DECSC, 5029d522f475Smrg/* 8 9 : ; */ 5030d522f475SmrgCASE_DECRC, 50310bd37d32SmrgCASE_DECFI, 5032d522f475SmrgCASE_GROUND_STATE, 5033d522f475SmrgCASE_GROUND_STATE, 5034d522f475Smrg/* < = > ? */ 5035d522f475SmrgCASE_GROUND_STATE, 5036d522f475SmrgCASE_DECKPAM, 5037d522f475SmrgCASE_DECKPNM, 5038d522f475SmrgCASE_GROUND_STATE, 5039d522f475Smrg/* @ A B C */ 5040d522f475SmrgCASE_GROUND_STATE, 5041d522f475SmrgCASE_GROUND_STATE, 5042d522f475SmrgCASE_GROUND_STATE, 5043d522f475SmrgCASE_GROUND_STATE, 5044d522f475Smrg/* D E F G */ 5045d522f475SmrgCASE_IND, 5046d522f475SmrgCASE_NEL, 5047d522f475SmrgCASE_HP_BUGGY_LL, 5048d522f475SmrgCASE_GROUND_STATE, 5049d522f475Smrg/* H I J K */ 5050d522f475SmrgCASE_HTS, 5051d522f475SmrgCASE_GROUND_STATE, 5052d522f475SmrgCASE_GROUND_STATE, 5053d522f475SmrgCASE_GROUND_STATE, 5054d522f475Smrg/* L M N O */ 5055d522f475SmrgCASE_GROUND_STATE, 5056d522f475SmrgCASE_RI, 5057d522f475SmrgCASE_SS2, 5058d522f475SmrgCASE_SS3, 5059d522f475Smrg/* P Q R S */ 5060d522f475SmrgCASE_DCS, 5061d522f475SmrgCASE_GROUND_STATE, 5062d522f475SmrgCASE_GROUND_STATE, 5063d522f475SmrgCASE_GROUND_STATE, 5064d522f475Smrg/* T U V W */ 5065d522f475SmrgCASE_XTERM_TITLE, 5066d522f475SmrgCASE_GROUND_STATE, 5067d522f475SmrgCASE_SPA, 5068d522f475SmrgCASE_EPA, 5069d522f475Smrg/* X Y Z [ */ 5070d522f475SmrgCASE_SOS, 5071d522f475SmrgCASE_GROUND_STATE, 5072d522f475SmrgCASE_DECID, 5073d522f475SmrgCASE_CSI_STATE, 5074d522f475Smrg/* \ ] ^ _ */ 5075d522f475SmrgCASE_ST, 5076d522f475SmrgCASE_OSC, 5077d522f475SmrgCASE_PM, 5078d522f475SmrgCASE_APC, 5079d522f475Smrg/* ` a b c */ 5080d522f475SmrgCASE_GROUND_STATE, 5081d522f475SmrgCASE_GROUND_STATE, 5082d522f475SmrgCASE_GROUND_STATE, 5083d522f475SmrgCASE_RIS, 5084d522f475Smrg/* d e f g */ 5085d522f475SmrgCASE_GROUND_STATE, 5086d522f475SmrgCASE_GROUND_STATE, 5087d522f475SmrgCASE_GROUND_STATE, 5088d522f475SmrgCASE_GROUND_STATE, 5089d522f475Smrg/* h i j k */ 5090d522f475SmrgCASE_GROUND_STATE, 5091d522f475SmrgCASE_GROUND_STATE, 5092d522f475SmrgCASE_GROUND_STATE, 5093d522f475SmrgCASE_GROUND_STATE, 5094d522f475Smrg/* l m n o */ 5095d522f475SmrgCASE_HP_MEM_LOCK, 5096d522f475SmrgCASE_HP_MEM_UNLOCK, 5097d522f475SmrgCASE_LS2, 5098d522f475SmrgCASE_LS3, 5099d522f475Smrg/* p q r s */ 5100d522f475SmrgCASE_GROUND_STATE, 5101d522f475SmrgCASE_GROUND_STATE, 5102d522f475SmrgCASE_GROUND_STATE, 5103d522f475SmrgCASE_GROUND_STATE, 5104d522f475Smrg/* t u v w */ 5105d522f475SmrgCASE_GROUND_STATE, 5106d522f475SmrgCASE_GROUND_STATE, 5107d522f475SmrgCASE_GROUND_STATE, 5108d522f475SmrgCASE_GROUND_STATE, 5109d522f475Smrg/* x y z { */ 5110d522f475SmrgCASE_GROUND_STATE, 5111d522f475SmrgCASE_GROUND_STATE, 5112d522f475SmrgCASE_GROUND_STATE, 5113d522f475SmrgCASE_GROUND_STATE, 5114d522f475Smrg/* | } ~ DEL */ 5115d522f475SmrgCASE_LS3R, 5116d522f475SmrgCASE_LS2R, 5117d522f475SmrgCASE_LS1R, 5118d522f475SmrgCASE_IGNORE, 5119d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 5120d522f475SmrgCASE_GROUND_STATE, 5121d522f475SmrgCASE_GROUND_STATE, 5122d522f475SmrgCASE_GROUND_STATE, 5123d522f475SmrgCASE_GROUND_STATE, 5124d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 5125d522f475SmrgCASE_IND, 5126d522f475SmrgCASE_NEL, 5127d522f475SmrgCASE_GROUND_STATE, 5128d522f475SmrgCASE_GROUND_STATE, 5129d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 5130d522f475SmrgCASE_HTS, 5131d522f475SmrgCASE_GROUND_STATE, 5132d522f475SmrgCASE_GROUND_STATE, 5133d522f475SmrgCASE_GROUND_STATE, 5134d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 5135d522f475SmrgCASE_GROUND_STATE, 5136d522f475SmrgCASE_RI, 5137d522f475SmrgCASE_SS2, 5138d522f475SmrgCASE_SS3, 5139d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 5140d522f475SmrgCASE_DCS, 5141d522f475SmrgCASE_GROUND_STATE, 5142d522f475SmrgCASE_GROUND_STATE, 5143d522f475SmrgCASE_GROUND_STATE, 5144d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 5145d522f475SmrgCASE_GROUND_STATE, 5146d522f475SmrgCASE_GROUND_STATE, 5147d522f475SmrgCASE_SPA, 5148d522f475SmrgCASE_EPA, 5149d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 5150d522f475SmrgCASE_SOS, 5151d522f475SmrgCASE_GROUND_STATE, 5152d522f475SmrgCASE_DECID, 5153d522f475SmrgCASE_CSI_STATE, 5154d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 5155d522f475SmrgCASE_ST, 5156d522f475SmrgCASE_OSC, 5157d522f475SmrgCASE_PM, 5158d522f475SmrgCASE_APC, 5159d522f475Smrg/* nobreakspace exclamdown cent sterling */ 5160d522f475SmrgCASE_ESC_SP_STATE, 5161d522f475SmrgCASE_ESC_IGNORE, 5162d522f475SmrgCASE_ESC_IGNORE, 5163d522f475SmrgCASE_SCR_STATE, 5164d522f475Smrg/* currency yen brokenbar section */ 5165d522f475SmrgCASE_ESC_IGNORE, 5166d522f475SmrgCASE_ESC_PERCENT, 5167d522f475SmrgCASE_ESC_IGNORE, 5168d522f475SmrgCASE_ESC_IGNORE, 5169d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 5170d522f475SmrgCASE_SCS0_STATE, 5171d522f475SmrgCASE_SCS1_STATE, 5172d522f475SmrgCASE_SCS2_STATE, 5173d522f475SmrgCASE_SCS3_STATE, 5174d522f475Smrg/* notsign hyphen registered macron */ 5175d522f475SmrgCASE_ESC_IGNORE, 51762eaa94a1SchristosCASE_SCS1A_STATE, 51772eaa94a1SchristosCASE_SCS2A_STATE, 51782eaa94a1SchristosCASE_SCS3A_STATE, 5179d522f475Smrg/* degree plusminus twosuperior threesuperior */ 5180d522f475SmrgCASE_GROUND_STATE, 5181d522f475SmrgCASE_GROUND_STATE, 5182d522f475SmrgCASE_GROUND_STATE, 5183d522f475SmrgCASE_GROUND_STATE, 5184d522f475Smrg/* acute mu paragraph periodcentered */ 5185d522f475SmrgCASE_GROUND_STATE, 5186d522f475SmrgCASE_GROUND_STATE, 51870bd37d32SmrgCASE_DECBI, 5188d522f475SmrgCASE_DECSC, 5189d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 5190d522f475SmrgCASE_DECRC, 51910bd37d32SmrgCASE_DECFI, 5192d522f475SmrgCASE_GROUND_STATE, 5193d522f475SmrgCASE_GROUND_STATE, 5194d522f475Smrg/* onequarter onehalf threequarters questiondown */ 5195d522f475SmrgCASE_GROUND_STATE, 5196d522f475SmrgCASE_DECKPAM, 5197d522f475SmrgCASE_DECKPNM, 5198d522f475SmrgCASE_GROUND_STATE, 5199d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 5200d522f475SmrgCASE_GROUND_STATE, 5201d522f475SmrgCASE_GROUND_STATE, 5202d522f475SmrgCASE_GROUND_STATE, 5203d522f475SmrgCASE_GROUND_STATE, 5204d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 5205d522f475SmrgCASE_IND, 5206d522f475SmrgCASE_NEL, 5207d522f475SmrgCASE_HP_BUGGY_LL, 5208d522f475SmrgCASE_GROUND_STATE, 5209d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 5210d522f475SmrgCASE_HTS, 5211d522f475SmrgCASE_GROUND_STATE, 5212d522f475SmrgCASE_GROUND_STATE, 5213d522f475SmrgCASE_GROUND_STATE, 5214d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 5215d522f475SmrgCASE_GROUND_STATE, 5216d522f475SmrgCASE_RI, 5217d522f475SmrgCASE_SS2, 5218d522f475SmrgCASE_SS3, 5219d522f475Smrg/* Eth Ntilde Ograve Oacute */ 5220d522f475SmrgCASE_DCS, 5221d522f475SmrgCASE_GROUND_STATE, 5222d522f475SmrgCASE_GROUND_STATE, 5223d522f475SmrgCASE_GROUND_STATE, 5224d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 5225d522f475SmrgCASE_XTERM_TITLE, 5226d522f475SmrgCASE_GROUND_STATE, 5227d522f475SmrgCASE_SPA, 5228d522f475SmrgCASE_EPA, 5229d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 5230d522f475SmrgCASE_SOS, 5231d522f475SmrgCASE_GROUND_STATE, 5232d522f475SmrgCASE_DECID, 5233d522f475SmrgCASE_CSI_STATE, 5234d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 5235d522f475SmrgCASE_ST, 5236d522f475SmrgCASE_OSC, 5237d522f475SmrgCASE_PM, 5238d522f475SmrgCASE_APC, 5239d522f475Smrg/* agrave aacute acircumflex atilde */ 5240d522f475SmrgCASE_GROUND_STATE, 5241d522f475SmrgCASE_GROUND_STATE, 5242d522f475SmrgCASE_GROUND_STATE, 5243d522f475SmrgCASE_RIS, 5244d522f475Smrg/* adiaeresis aring ae ccedilla */ 5245d522f475SmrgCASE_GROUND_STATE, 5246d522f475SmrgCASE_GROUND_STATE, 5247d522f475SmrgCASE_GROUND_STATE, 5248d522f475SmrgCASE_GROUND_STATE, 5249d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 5250d522f475SmrgCASE_GROUND_STATE, 5251d522f475SmrgCASE_GROUND_STATE, 5252d522f475SmrgCASE_GROUND_STATE, 5253d522f475SmrgCASE_GROUND_STATE, 5254d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 5255d522f475SmrgCASE_HP_MEM_LOCK, 5256d522f475SmrgCASE_HP_MEM_UNLOCK, 5257d522f475SmrgCASE_LS2, 5258d522f475SmrgCASE_LS3, 5259d522f475Smrg/* eth ntilde ograve oacute */ 5260d522f475SmrgCASE_GROUND_STATE, 5261d522f475SmrgCASE_GROUND_STATE, 5262d522f475SmrgCASE_GROUND_STATE, 5263d522f475SmrgCASE_GROUND_STATE, 5264d522f475Smrg/* ocircumflex otilde odiaeresis division */ 5265d522f475SmrgCASE_GROUND_STATE, 5266d522f475SmrgCASE_GROUND_STATE, 5267d522f475SmrgCASE_GROUND_STATE, 5268d522f475SmrgCASE_GROUND_STATE, 5269d522f475Smrg/* oslash ugrave uacute ucircumflex */ 5270d522f475SmrgCASE_GROUND_STATE, 5271d522f475SmrgCASE_GROUND_STATE, 5272d522f475SmrgCASE_GROUND_STATE, 5273d522f475SmrgCASE_GROUND_STATE, 5274d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 5275d522f475SmrgCASE_LS3R, 5276d522f475SmrgCASE_LS2R, 5277d522f475SmrgCASE_LS1R, 5278d522f475SmrgCASE_IGNORE, 5279d522f475Smrg}; 5280d522f475Smrg 5281d522f475SmrgConst PARSE_T esc_sp_table[] = /* ESC SP */ 5282d522f475Smrg{ 5283d522f475Smrg/* NUL SOH STX ETX */ 5284d522f475SmrgCASE_IGNORE, 5285d522f475SmrgCASE_IGNORE, 5286d522f475SmrgCASE_IGNORE, 5287d522f475SmrgCASE_IGNORE, 5288d522f475Smrg/* EOT ENQ ACK BEL */ 5289d522f475SmrgCASE_IGNORE, 5290d522f475SmrgCASE_ENQ, 5291d522f475SmrgCASE_IGNORE, 5292d522f475SmrgCASE_BELL, 5293d522f475Smrg/* BS HT NL VT */ 5294d522f475SmrgCASE_BS, 5295d522f475SmrgCASE_TAB, 5296d522f475SmrgCASE_VMOT, 5297d522f475SmrgCASE_VMOT, 52980bd37d32Smrg/* FF CR SO SI */ 5299d522f475SmrgCASE_VMOT, 5300d522f475SmrgCASE_CR, 5301d522f475SmrgCASE_SO, 5302d522f475SmrgCASE_SI, 5303d522f475Smrg/* DLE DC1 DC2 DC3 */ 5304d522f475SmrgCASE_IGNORE, 5305d522f475SmrgCASE_IGNORE, 5306d522f475SmrgCASE_IGNORE, 5307d522f475SmrgCASE_IGNORE, 5308d522f475Smrg/* DC4 NAK SYN ETB */ 5309d522f475SmrgCASE_IGNORE, 5310d522f475SmrgCASE_IGNORE, 5311d522f475SmrgCASE_IGNORE, 5312d522f475SmrgCASE_IGNORE, 5313d522f475Smrg/* CAN EM SUB ESC */ 5314d522f475SmrgCASE_GROUND_STATE, 5315d522f475SmrgCASE_IGNORE, 5316d522f475SmrgCASE_GROUND_STATE, 5317d522f475SmrgCASE_ESC, 5318d522f475Smrg/* FS GS RS US */ 5319d522f475SmrgCASE_IGNORE, 5320d522f475SmrgCASE_IGNORE, 5321d522f475SmrgCASE_IGNORE, 5322d522f475SmrgCASE_IGNORE, 5323d522f475Smrg/* SP ! " # */ 5324d522f475SmrgCASE_ESC_IGNORE, 5325d522f475SmrgCASE_ESC_IGNORE, 5326d522f475SmrgCASE_ESC_IGNORE, 5327d522f475SmrgCASE_ESC_IGNORE, 5328d522f475Smrg/* $ % & ' */ 5329d522f475SmrgCASE_ESC_IGNORE, 5330d522f475SmrgCASE_ESC_IGNORE, 5331d522f475SmrgCASE_ESC_IGNORE, 5332d522f475SmrgCASE_ESC_IGNORE, 5333d522f475Smrg/* ( ) * + */ 5334d522f475SmrgCASE_ESC_IGNORE, 5335d522f475SmrgCASE_ESC_IGNORE, 5336d522f475SmrgCASE_ESC_IGNORE, 5337d522f475SmrgCASE_ESC_IGNORE, 5338d522f475Smrg/* , - . / */ 5339d522f475SmrgCASE_ESC_IGNORE, 5340d522f475SmrgCASE_ESC_IGNORE, 5341d522f475SmrgCASE_ESC_IGNORE, 5342d522f475SmrgCASE_ESC_IGNORE, 5343d522f475Smrg/* 0 1 2 3 */ 5344d522f475SmrgCASE_GROUND_STATE, 5345d522f475SmrgCASE_GROUND_STATE, 5346d522f475SmrgCASE_GROUND_STATE, 5347d522f475SmrgCASE_GROUND_STATE, 5348d522f475Smrg/* 4 5 6 7 */ 5349d522f475SmrgCASE_GROUND_STATE, 5350d522f475SmrgCASE_GROUND_STATE, 5351d522f475SmrgCASE_GROUND_STATE, 5352d522f475SmrgCASE_GROUND_STATE, 5353d522f475Smrg/* 8 9 : ; */ 5354d522f475SmrgCASE_GROUND_STATE, 5355d522f475SmrgCASE_GROUND_STATE, 5356d522f475SmrgCASE_GROUND_STATE, 5357d522f475SmrgCASE_GROUND_STATE, 5358d522f475Smrg/* < = > ? */ 5359d522f475SmrgCASE_GROUND_STATE, 5360d522f475SmrgCASE_GROUND_STATE, 5361d522f475SmrgCASE_GROUND_STATE, 5362d522f475SmrgCASE_GROUND_STATE, 5363d522f475Smrg/* @ A B C */ 5364d522f475SmrgCASE_GROUND_STATE, 5365d522f475SmrgCASE_GROUND_STATE, 5366d522f475SmrgCASE_GROUND_STATE, 5367d522f475SmrgCASE_GROUND_STATE, 5368d522f475Smrg/* D E F G */ 5369d522f475SmrgCASE_GROUND_STATE, 5370d522f475SmrgCASE_GROUND_STATE, 5371d522f475SmrgCASE_S7C1T, 5372d522f475SmrgCASE_S8C1T, 5373d522f475Smrg/* H I J K */ 5374d522f475SmrgCASE_GROUND_STATE, 5375d522f475SmrgCASE_GROUND_STATE, 5376d522f475SmrgCASE_GROUND_STATE, 5377d522f475SmrgCASE_GROUND_STATE, 5378d522f475Smrg/* L M N O */ 5379d522f475SmrgCASE_ANSI_LEVEL_1, 5380d522f475SmrgCASE_ANSI_LEVEL_2, 5381d522f475SmrgCASE_ANSI_LEVEL_3, 5382d522f475SmrgCASE_GROUND_STATE, 5383d522f475Smrg/* P Q R S */ 5384d522f475SmrgCASE_GROUND_STATE, 5385d522f475SmrgCASE_GROUND_STATE, 5386d522f475SmrgCASE_GROUND_STATE, 5387d522f475SmrgCASE_GROUND_STATE, 5388d522f475Smrg/* T U V W */ 5389d522f475SmrgCASE_GROUND_STATE, 5390d522f475SmrgCASE_GROUND_STATE, 5391d522f475SmrgCASE_GROUND_STATE, 5392d522f475SmrgCASE_GROUND_STATE, 5393d522f475Smrg/* X Y Z [ */ 5394d522f475SmrgCASE_GROUND_STATE, 5395d522f475SmrgCASE_GROUND_STATE, 5396d522f475SmrgCASE_GROUND_STATE, 5397d522f475SmrgCASE_GROUND_STATE, 5398d522f475Smrg/* \ ] ^ _ */ 5399d522f475SmrgCASE_GROUND_STATE, 5400d522f475SmrgCASE_GROUND_STATE, 5401d522f475SmrgCASE_GROUND_STATE, 5402d522f475SmrgCASE_GROUND_STATE, 5403d522f475Smrg/* ` a b c */ 5404d522f475SmrgCASE_GROUND_STATE, 5405d522f475SmrgCASE_GROUND_STATE, 5406d522f475SmrgCASE_GROUND_STATE, 5407d522f475SmrgCASE_GROUND_STATE, 5408d522f475Smrg/* d e f g */ 5409d522f475SmrgCASE_GROUND_STATE, 5410d522f475SmrgCASE_GROUND_STATE, 5411d522f475SmrgCASE_GROUND_STATE, 5412d522f475SmrgCASE_GROUND_STATE, 5413d522f475Smrg/* h i j k */ 5414d522f475SmrgCASE_GROUND_STATE, 5415d522f475SmrgCASE_GROUND_STATE, 5416d522f475SmrgCASE_GROUND_STATE, 5417d522f475SmrgCASE_GROUND_STATE, 5418d522f475Smrg/* l m n o */ 5419d522f475SmrgCASE_GROUND_STATE, 5420d522f475SmrgCASE_GROUND_STATE, 5421d522f475SmrgCASE_GROUND_STATE, 5422d522f475SmrgCASE_GROUND_STATE, 5423d522f475Smrg/* p q r s */ 5424d522f475SmrgCASE_GROUND_STATE, 5425d522f475SmrgCASE_GROUND_STATE, 5426d522f475SmrgCASE_GROUND_STATE, 5427d522f475SmrgCASE_GROUND_STATE, 5428d522f475Smrg/* t u v w */ 5429d522f475SmrgCASE_GROUND_STATE, 5430d522f475SmrgCASE_GROUND_STATE, 5431d522f475SmrgCASE_GROUND_STATE, 5432d522f475SmrgCASE_GROUND_STATE, 5433d522f475Smrg/* x y z { */ 5434d522f475SmrgCASE_GROUND_STATE, 5435d522f475SmrgCASE_GROUND_STATE, 5436d522f475SmrgCASE_GROUND_STATE, 5437d522f475SmrgCASE_GROUND_STATE, 5438d522f475Smrg/* | } ~ DEL */ 5439d522f475SmrgCASE_GROUND_STATE, 5440d522f475SmrgCASE_GROUND_STATE, 5441d522f475SmrgCASE_GROUND_STATE, 5442d522f475SmrgCASE_IGNORE, 5443d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 5444d522f475SmrgCASE_GROUND_STATE, 5445d522f475SmrgCASE_GROUND_STATE, 5446d522f475SmrgCASE_GROUND_STATE, 5447d522f475SmrgCASE_GROUND_STATE, 5448d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 5449d522f475SmrgCASE_IND, 5450d522f475SmrgCASE_NEL, 5451d522f475SmrgCASE_GROUND_STATE, 5452d522f475SmrgCASE_GROUND_STATE, 5453d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 5454d522f475SmrgCASE_HTS, 5455d522f475SmrgCASE_GROUND_STATE, 5456d522f475SmrgCASE_GROUND_STATE, 5457d522f475SmrgCASE_GROUND_STATE, 5458d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 5459d522f475SmrgCASE_GROUND_STATE, 5460d522f475SmrgCASE_RI, 5461d522f475SmrgCASE_SS2, 5462d522f475SmrgCASE_SS3, 5463d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 5464d522f475SmrgCASE_DCS, 5465d522f475SmrgCASE_GROUND_STATE, 5466d522f475SmrgCASE_GROUND_STATE, 5467d522f475SmrgCASE_GROUND_STATE, 5468d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 5469d522f475SmrgCASE_GROUND_STATE, 5470d522f475SmrgCASE_GROUND_STATE, 5471d522f475SmrgCASE_SPA, 5472d522f475SmrgCASE_EPA, 5473d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 5474d522f475SmrgCASE_SOS, 5475d522f475SmrgCASE_GROUND_STATE, 5476d522f475SmrgCASE_DECID, 5477d522f475SmrgCASE_CSI_STATE, 5478d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 5479d522f475SmrgCASE_ST, 5480d522f475SmrgCASE_OSC, 5481d522f475SmrgCASE_PM, 5482d522f475SmrgCASE_APC, 5483d522f475Smrg/* nobreakspace exclamdown cent sterling */ 5484d522f475SmrgCASE_ESC_IGNORE, 5485d522f475SmrgCASE_ESC_IGNORE, 5486d522f475SmrgCASE_ESC_IGNORE, 5487d522f475SmrgCASE_ESC_IGNORE, 5488d522f475Smrg/* currency yen brokenbar section */ 5489d522f475SmrgCASE_ESC_IGNORE, 5490d522f475SmrgCASE_ESC_IGNORE, 5491d522f475SmrgCASE_ESC_IGNORE, 5492d522f475SmrgCASE_ESC_IGNORE, 5493d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 5494d522f475SmrgCASE_ESC_IGNORE, 5495d522f475SmrgCASE_ESC_IGNORE, 5496d522f475SmrgCASE_ESC_IGNORE, 5497d522f475SmrgCASE_ESC_IGNORE, 5498d522f475Smrg/* notsign hyphen registered macron */ 5499d522f475SmrgCASE_ESC_IGNORE, 5500d522f475SmrgCASE_ESC_IGNORE, 5501d522f475SmrgCASE_ESC_IGNORE, 5502d522f475SmrgCASE_ESC_IGNORE, 5503d522f475Smrg/* degree plusminus twosuperior threesuperior */ 5504d522f475SmrgCASE_GROUND_STATE, 5505d522f475SmrgCASE_GROUND_STATE, 5506d522f475SmrgCASE_GROUND_STATE, 5507d522f475SmrgCASE_GROUND_STATE, 5508d522f475Smrg/* acute mu paragraph periodcentered */ 5509d522f475SmrgCASE_GROUND_STATE, 5510d522f475SmrgCASE_GROUND_STATE, 5511d522f475SmrgCASE_GROUND_STATE, 5512d522f475SmrgCASE_GROUND_STATE, 5513d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 5514d522f475SmrgCASE_GROUND_STATE, 5515d522f475SmrgCASE_GROUND_STATE, 5516d522f475SmrgCASE_GROUND_STATE, 5517d522f475SmrgCASE_GROUND_STATE, 5518d522f475Smrg/* onequarter onehalf threequarters questiondown */ 5519d522f475SmrgCASE_GROUND_STATE, 5520d522f475SmrgCASE_GROUND_STATE, 5521d522f475SmrgCASE_GROUND_STATE, 5522d522f475SmrgCASE_GROUND_STATE, 5523d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 5524d522f475SmrgCASE_GROUND_STATE, 5525d522f475SmrgCASE_GROUND_STATE, 5526d522f475SmrgCASE_GROUND_STATE, 5527d522f475SmrgCASE_GROUND_STATE, 5528d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 5529d522f475SmrgCASE_GROUND_STATE, 5530d522f475SmrgCASE_GROUND_STATE, 5531d522f475SmrgCASE_S7C1T, 5532d522f475SmrgCASE_S8C1T, 5533d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 5534d522f475SmrgCASE_GROUND_STATE, 5535d522f475SmrgCASE_GROUND_STATE, 5536d522f475SmrgCASE_GROUND_STATE, 5537d522f475SmrgCASE_GROUND_STATE, 5538d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 5539d522f475SmrgCASE_ANSI_LEVEL_1, 5540d522f475SmrgCASE_ANSI_LEVEL_2, 5541d522f475SmrgCASE_ANSI_LEVEL_3, 5542d522f475SmrgCASE_GROUND_STATE, 5543d522f475Smrg/* Eth Ntilde Ograve Oacute */ 5544d522f475SmrgCASE_GROUND_STATE, 5545d522f475SmrgCASE_GROUND_STATE, 5546d522f475SmrgCASE_GROUND_STATE, 5547d522f475SmrgCASE_GROUND_STATE, 5548d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 5549d522f475SmrgCASE_GROUND_STATE, 5550d522f475SmrgCASE_GROUND_STATE, 5551d522f475SmrgCASE_GROUND_STATE, 5552d522f475SmrgCASE_GROUND_STATE, 5553d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 5554d522f475SmrgCASE_GROUND_STATE, 5555d522f475SmrgCASE_GROUND_STATE, 5556d522f475SmrgCASE_GROUND_STATE, 5557d522f475SmrgCASE_GROUND_STATE, 5558d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 5559d522f475SmrgCASE_GROUND_STATE, 5560d522f475SmrgCASE_GROUND_STATE, 5561d522f475SmrgCASE_GROUND_STATE, 5562d522f475SmrgCASE_GROUND_STATE, 5563d522f475Smrg/* agrave aacute acircumflex atilde */ 5564d522f475SmrgCASE_GROUND_STATE, 5565d522f475SmrgCASE_GROUND_STATE, 5566d522f475SmrgCASE_GROUND_STATE, 5567d522f475SmrgCASE_GROUND_STATE, 5568d522f475Smrg/* adiaeresis aring ae ccedilla */ 5569d522f475SmrgCASE_GROUND_STATE, 5570d522f475SmrgCASE_GROUND_STATE, 5571d522f475SmrgCASE_GROUND_STATE, 5572d522f475SmrgCASE_GROUND_STATE, 5573d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 5574d522f475SmrgCASE_GROUND_STATE, 5575d522f475SmrgCASE_GROUND_STATE, 5576d522f475SmrgCASE_GROUND_STATE, 5577d522f475SmrgCASE_GROUND_STATE, 5578d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 5579d522f475SmrgCASE_GROUND_STATE, 5580d522f475SmrgCASE_GROUND_STATE, 5581d522f475SmrgCASE_GROUND_STATE, 5582d522f475SmrgCASE_GROUND_STATE, 5583d522f475Smrg/* eth ntilde ograve oacute */ 5584d522f475SmrgCASE_GROUND_STATE, 5585d522f475SmrgCASE_GROUND_STATE, 5586d522f475SmrgCASE_GROUND_STATE, 5587d522f475SmrgCASE_GROUND_STATE, 5588d522f475Smrg/* ocircumflex otilde odiaeresis division */ 5589d522f475SmrgCASE_GROUND_STATE, 5590d522f475SmrgCASE_GROUND_STATE, 5591d522f475SmrgCASE_GROUND_STATE, 5592d522f475SmrgCASE_GROUND_STATE, 5593d522f475Smrg/* oslash ugrave uacute ucircumflex */ 5594d522f475SmrgCASE_GROUND_STATE, 5595d522f475SmrgCASE_GROUND_STATE, 5596d522f475SmrgCASE_GROUND_STATE, 5597d522f475SmrgCASE_GROUND_STATE, 5598d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 5599d522f475SmrgCASE_GROUND_STATE, 5600d522f475SmrgCASE_GROUND_STATE, 5601d522f475SmrgCASE_GROUND_STATE, 5602d522f475SmrgCASE_IGNORE, 5603d522f475Smrg}; 5604d522f475Smrg 5605d522f475SmrgConst PARSE_T scrtable[] = /* ESC # */ 5606d522f475Smrg{ 5607d522f475Smrg/* NUL SOH STX ETX */ 5608d522f475SmrgCASE_IGNORE, 5609d522f475SmrgCASE_IGNORE, 5610d522f475SmrgCASE_IGNORE, 5611d522f475SmrgCASE_IGNORE, 5612d522f475Smrg/* EOT ENQ ACK BEL */ 5613d522f475SmrgCASE_IGNORE, 5614d522f475SmrgCASE_ENQ, 5615d522f475SmrgCASE_IGNORE, 5616d522f475SmrgCASE_BELL, 5617d522f475Smrg/* BS HT NL VT */ 5618d522f475SmrgCASE_BS, 5619d522f475SmrgCASE_TAB, 5620d522f475SmrgCASE_VMOT, 5621d522f475SmrgCASE_VMOT, 56220bd37d32Smrg/* FF CR SO SI */ 5623d522f475SmrgCASE_VMOT, 5624d522f475SmrgCASE_CR, 5625d522f475SmrgCASE_SO, 5626d522f475SmrgCASE_SI, 5627d522f475Smrg/* DLE DC1 DC2 DC3 */ 5628d522f475SmrgCASE_IGNORE, 5629d522f475SmrgCASE_IGNORE, 5630d522f475SmrgCASE_IGNORE, 5631d522f475SmrgCASE_IGNORE, 5632d522f475Smrg/* DC4 NAK SYN ETB */ 5633d522f475SmrgCASE_IGNORE, 5634d522f475SmrgCASE_IGNORE, 5635d522f475SmrgCASE_IGNORE, 5636d522f475SmrgCASE_IGNORE, 5637d522f475Smrg/* CAN EM SUB ESC */ 5638d522f475SmrgCASE_GROUND_STATE, 5639d522f475SmrgCASE_IGNORE, 5640d522f475SmrgCASE_GROUND_STATE, 5641d522f475SmrgCASE_ESC, 5642d522f475Smrg/* FS GS RS US */ 5643d522f475SmrgCASE_IGNORE, 5644d522f475SmrgCASE_IGNORE, 5645d522f475SmrgCASE_IGNORE, 5646d522f475SmrgCASE_IGNORE, 5647d522f475Smrg/* SP ! " # */ 5648d522f475SmrgCASE_ESC_IGNORE, 5649d522f475SmrgCASE_ESC_IGNORE, 5650d522f475SmrgCASE_ESC_IGNORE, 5651d522f475SmrgCASE_ESC_IGNORE, 5652d522f475Smrg/* $ % & ' */ 5653d522f475SmrgCASE_ESC_IGNORE, 5654d522f475SmrgCASE_ESC_IGNORE, 5655d522f475SmrgCASE_ESC_IGNORE, 5656d522f475SmrgCASE_ESC_IGNORE, 5657d522f475Smrg/* ( ) * + */ 5658d522f475SmrgCASE_ESC_IGNORE, 5659d522f475SmrgCASE_ESC_IGNORE, 5660d522f475SmrgCASE_ESC_IGNORE, 5661d522f475SmrgCASE_ESC_IGNORE, 5662d522f475Smrg/* , - . / */ 5663d522f475SmrgCASE_ESC_IGNORE, 5664d522f475SmrgCASE_ESC_IGNORE, 5665d522f475SmrgCASE_ESC_IGNORE, 5666d522f475SmrgCASE_ESC_IGNORE, 5667d522f475Smrg/* 0 1 2 3 */ 5668d522f475SmrgCASE_GROUND_STATE, 5669d522f475SmrgCASE_GROUND_STATE, 5670d522f475SmrgCASE_GROUND_STATE, 5671d522f475SmrgCASE_DECDHL, 5672d522f475Smrg/* 4 5 6 7 */ 5673d522f475SmrgCASE_DECDHL, 5674d522f475SmrgCASE_DECSWL, 5675d522f475SmrgCASE_DECDWL, 5676d522f475SmrgCASE_GROUND_STATE, 5677d522f475Smrg/* 8 9 : ; */ 5678d522f475SmrgCASE_DECALN, 5679d522f475SmrgCASE_GROUND_STATE, 5680d522f475SmrgCASE_GROUND_STATE, 5681d522f475SmrgCASE_GROUND_STATE, 5682d522f475Smrg/* < = > ? */ 5683d522f475SmrgCASE_GROUND_STATE, 5684d522f475SmrgCASE_GROUND_STATE, 5685d522f475SmrgCASE_GROUND_STATE, 5686d522f475SmrgCASE_GROUND_STATE, 5687d522f475Smrg/* @ A B C */ 5688d522f475SmrgCASE_GROUND_STATE, 5689d522f475SmrgCASE_GROUND_STATE, 5690d522f475SmrgCASE_GROUND_STATE, 5691d522f475SmrgCASE_GROUND_STATE, 5692d522f475Smrg/* D E F G */ 5693d522f475SmrgCASE_GROUND_STATE, 5694d522f475SmrgCASE_GROUND_STATE, 5695d522f475SmrgCASE_GROUND_STATE, 5696d522f475SmrgCASE_GROUND_STATE, 5697d522f475Smrg/* H I J K */ 5698d522f475SmrgCASE_GROUND_STATE, 5699d522f475SmrgCASE_GROUND_STATE, 5700d522f475SmrgCASE_GROUND_STATE, 5701d522f475SmrgCASE_GROUND_STATE, 5702d522f475Smrg/* L M N O */ 5703d522f475SmrgCASE_GROUND_STATE, 5704d522f475SmrgCASE_GROUND_STATE, 5705d522f475SmrgCASE_GROUND_STATE, 5706d522f475SmrgCASE_GROUND_STATE, 5707d522f475Smrg/* P Q R S */ 5708d522f475SmrgCASE_GROUND_STATE, 5709d522f475SmrgCASE_GROUND_STATE, 5710d522f475SmrgCASE_GROUND_STATE, 5711d522f475SmrgCASE_GROUND_STATE, 5712d522f475Smrg/* T U V W */ 5713d522f475SmrgCASE_GROUND_STATE, 5714d522f475SmrgCASE_GROUND_STATE, 5715d522f475SmrgCASE_GROUND_STATE, 5716d522f475SmrgCASE_GROUND_STATE, 5717d522f475Smrg/* X Y Z [ */ 5718d522f475SmrgCASE_GROUND_STATE, 5719d522f475SmrgCASE_GROUND_STATE, 5720d522f475SmrgCASE_GROUND_STATE, 5721d522f475SmrgCASE_GROUND_STATE, 5722d522f475Smrg/* \ ] ^ _ */ 5723d522f475SmrgCASE_GROUND_STATE, 5724d522f475SmrgCASE_GROUND_STATE, 5725d522f475SmrgCASE_GROUND_STATE, 5726d522f475SmrgCASE_GROUND_STATE, 5727d522f475Smrg/* ` a b c */ 5728d522f475SmrgCASE_GROUND_STATE, 5729d522f475SmrgCASE_GROUND_STATE, 5730d522f475SmrgCASE_GROUND_STATE, 5731d522f475SmrgCASE_GROUND_STATE, 5732d522f475Smrg/* d e f g */ 5733d522f475SmrgCASE_GROUND_STATE, 5734d522f475SmrgCASE_GROUND_STATE, 5735d522f475SmrgCASE_GROUND_STATE, 5736d522f475SmrgCASE_GROUND_STATE, 5737d522f475Smrg/* h i j k */ 5738d522f475SmrgCASE_GROUND_STATE, 5739d522f475SmrgCASE_GROUND_STATE, 5740d522f475SmrgCASE_GROUND_STATE, 5741d522f475SmrgCASE_GROUND_STATE, 5742d522f475Smrg/* l m n o */ 5743d522f475SmrgCASE_GROUND_STATE, 5744d522f475SmrgCASE_GROUND_STATE, 5745d522f475SmrgCASE_GROUND_STATE, 5746d522f475SmrgCASE_GROUND_STATE, 5747d522f475Smrg/* p q r s */ 5748d522f475SmrgCASE_GROUND_STATE, 5749d522f475SmrgCASE_GROUND_STATE, 5750d522f475SmrgCASE_GROUND_STATE, 5751d522f475SmrgCASE_GROUND_STATE, 5752d522f475Smrg/* t u v w */ 5753d522f475SmrgCASE_GROUND_STATE, 5754d522f475SmrgCASE_GROUND_STATE, 5755d522f475SmrgCASE_GROUND_STATE, 5756d522f475SmrgCASE_GROUND_STATE, 5757d522f475Smrg/* x y z { */ 5758d522f475SmrgCASE_GROUND_STATE, 5759d522f475SmrgCASE_GROUND_STATE, 5760d522f475SmrgCASE_GROUND_STATE, 5761d522f475SmrgCASE_GROUND_STATE, 5762d522f475Smrg/* | } ~ DEL */ 5763d522f475SmrgCASE_GROUND_STATE, 5764d522f475SmrgCASE_GROUND_STATE, 5765d522f475SmrgCASE_GROUND_STATE, 5766d522f475SmrgCASE_IGNORE, 5767d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 5768d522f475SmrgCASE_GROUND_STATE, 5769d522f475SmrgCASE_GROUND_STATE, 5770d522f475SmrgCASE_GROUND_STATE, 5771d522f475SmrgCASE_GROUND_STATE, 5772d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 5773d522f475SmrgCASE_IND, 5774d522f475SmrgCASE_NEL, 5775d522f475SmrgCASE_GROUND_STATE, 5776d522f475SmrgCASE_GROUND_STATE, 5777d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 5778d522f475SmrgCASE_HTS, 5779d522f475SmrgCASE_GROUND_STATE, 5780d522f475SmrgCASE_GROUND_STATE, 5781d522f475SmrgCASE_GROUND_STATE, 5782d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 5783d522f475SmrgCASE_GROUND_STATE, 5784d522f475SmrgCASE_RI, 5785d522f475SmrgCASE_SS2, 5786d522f475SmrgCASE_SS3, 5787d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 5788d522f475SmrgCASE_DCS, 5789d522f475SmrgCASE_GROUND_STATE, 5790d522f475SmrgCASE_GROUND_STATE, 5791d522f475SmrgCASE_GROUND_STATE, 5792d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 5793d522f475SmrgCASE_GROUND_STATE, 5794d522f475SmrgCASE_GROUND_STATE, 5795d522f475SmrgCASE_SPA, 5796d522f475SmrgCASE_EPA, 5797d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 5798d522f475SmrgCASE_SOS, 5799d522f475SmrgCASE_GROUND_STATE, 5800d522f475SmrgCASE_DECID, 5801d522f475SmrgCASE_CSI_STATE, 5802d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 5803d522f475SmrgCASE_ST, 5804d522f475SmrgCASE_OSC, 5805d522f475SmrgCASE_PM, 5806d522f475SmrgCASE_APC, 5807d522f475Smrg/* nobreakspace exclamdown cent sterling */ 5808d522f475SmrgCASE_ESC_IGNORE, 5809d522f475SmrgCASE_ESC_IGNORE, 5810d522f475SmrgCASE_ESC_IGNORE, 5811d522f475SmrgCASE_ESC_IGNORE, 5812d522f475Smrg/* currency yen brokenbar section */ 5813d522f475SmrgCASE_ESC_IGNORE, 5814d522f475SmrgCASE_ESC_IGNORE, 5815d522f475SmrgCASE_ESC_IGNORE, 5816d522f475SmrgCASE_ESC_IGNORE, 5817d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 5818d522f475SmrgCASE_ESC_IGNORE, 5819d522f475SmrgCASE_ESC_IGNORE, 5820d522f475SmrgCASE_ESC_IGNORE, 5821d522f475SmrgCASE_ESC_IGNORE, 5822d522f475Smrg/* notsign hyphen registered macron */ 5823d522f475SmrgCASE_ESC_IGNORE, 5824d522f475SmrgCASE_ESC_IGNORE, 5825d522f475SmrgCASE_ESC_IGNORE, 5826d522f475SmrgCASE_ESC_IGNORE, 5827d522f475Smrg/* degree plusminus twosuperior threesuperior */ 5828d522f475SmrgCASE_GROUND_STATE, 5829d522f475SmrgCASE_GROUND_STATE, 5830d522f475SmrgCASE_GROUND_STATE, 5831d522f475SmrgCASE_DECDHL, 5832d522f475Smrg/* acute mu paragraph periodcentered */ 5833d522f475SmrgCASE_DECDHL, 5834d522f475SmrgCASE_DECSWL, 5835d522f475SmrgCASE_DECDWL, 5836d522f475SmrgCASE_GROUND_STATE, 5837d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 5838d522f475SmrgCASE_DECALN, 5839d522f475SmrgCASE_GROUND_STATE, 5840d522f475SmrgCASE_GROUND_STATE, 5841d522f475SmrgCASE_GROUND_STATE, 5842d522f475Smrg/* onequarter onehalf threequarters questiondown */ 5843d522f475SmrgCASE_GROUND_STATE, 5844d522f475SmrgCASE_GROUND_STATE, 5845d522f475SmrgCASE_GROUND_STATE, 5846d522f475SmrgCASE_GROUND_STATE, 5847d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 5848d522f475SmrgCASE_GROUND_STATE, 5849d522f475SmrgCASE_GROUND_STATE, 5850d522f475SmrgCASE_GROUND_STATE, 5851d522f475SmrgCASE_GROUND_STATE, 5852d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 5853d522f475SmrgCASE_GROUND_STATE, 5854d522f475SmrgCASE_GROUND_STATE, 5855d522f475SmrgCASE_GROUND_STATE, 5856d522f475SmrgCASE_GROUND_STATE, 5857d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 5858d522f475SmrgCASE_GROUND_STATE, 5859d522f475SmrgCASE_GROUND_STATE, 5860d522f475SmrgCASE_GROUND_STATE, 5861d522f475SmrgCASE_GROUND_STATE, 5862d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 5863d522f475SmrgCASE_GROUND_STATE, 5864d522f475SmrgCASE_GROUND_STATE, 5865d522f475SmrgCASE_GROUND_STATE, 5866d522f475SmrgCASE_GROUND_STATE, 5867d522f475Smrg/* Eth Ntilde Ograve Oacute */ 5868d522f475SmrgCASE_GROUND_STATE, 5869d522f475SmrgCASE_GROUND_STATE, 5870d522f475SmrgCASE_GROUND_STATE, 5871d522f475SmrgCASE_GROUND_STATE, 5872d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 5873d522f475SmrgCASE_GROUND_STATE, 5874d522f475SmrgCASE_GROUND_STATE, 5875d522f475SmrgCASE_GROUND_STATE, 5876d522f475SmrgCASE_GROUND_STATE, 5877d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 5878d522f475SmrgCASE_GROUND_STATE, 5879d522f475SmrgCASE_GROUND_STATE, 5880d522f475SmrgCASE_GROUND_STATE, 5881d522f475SmrgCASE_GROUND_STATE, 5882d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 5883d522f475SmrgCASE_GROUND_STATE, 5884d522f475SmrgCASE_GROUND_STATE, 5885d522f475SmrgCASE_GROUND_STATE, 5886d522f475SmrgCASE_GROUND_STATE, 5887d522f475Smrg/* agrave aacute acircumflex atilde */ 5888d522f475SmrgCASE_GROUND_STATE, 5889d522f475SmrgCASE_GROUND_STATE, 5890d522f475SmrgCASE_GROUND_STATE, 5891d522f475SmrgCASE_GROUND_STATE, 5892d522f475Smrg/* adiaeresis aring ae ccedilla */ 5893d522f475SmrgCASE_GROUND_STATE, 5894d522f475SmrgCASE_GROUND_STATE, 5895d522f475SmrgCASE_GROUND_STATE, 5896d522f475SmrgCASE_GROUND_STATE, 5897d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 5898d522f475SmrgCASE_GROUND_STATE, 5899d522f475SmrgCASE_GROUND_STATE, 5900d522f475SmrgCASE_GROUND_STATE, 5901d522f475SmrgCASE_GROUND_STATE, 5902d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 5903d522f475SmrgCASE_GROUND_STATE, 5904d522f475SmrgCASE_GROUND_STATE, 5905d522f475SmrgCASE_GROUND_STATE, 5906d522f475SmrgCASE_GROUND_STATE, 5907d522f475Smrg/* eth ntilde ograve oacute */ 5908d522f475SmrgCASE_GROUND_STATE, 5909d522f475SmrgCASE_GROUND_STATE, 5910d522f475SmrgCASE_GROUND_STATE, 5911d522f475SmrgCASE_GROUND_STATE, 5912d522f475Smrg/* ocircumflex otilde odiaeresis division */ 5913d522f475SmrgCASE_GROUND_STATE, 5914d522f475SmrgCASE_GROUND_STATE, 5915d522f475SmrgCASE_GROUND_STATE, 5916d522f475SmrgCASE_GROUND_STATE, 5917d522f475Smrg/* oslash ugrave uacute ucircumflex */ 5918d522f475SmrgCASE_GROUND_STATE, 5919d522f475SmrgCASE_GROUND_STATE, 5920d522f475SmrgCASE_GROUND_STATE, 5921d522f475SmrgCASE_GROUND_STATE, 5922d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 5923d522f475SmrgCASE_GROUND_STATE, 5924d522f475SmrgCASE_GROUND_STATE, 5925d522f475SmrgCASE_GROUND_STATE, 5926d522f475SmrgCASE_IGNORE, 5927d522f475Smrg}; 5928d522f475Smrg 5929d522f475SmrgConst PARSE_T scstable[] = /* ESC ( etc. */ 5930d522f475Smrg{ 5931d522f475Smrg/* NUL SOH STX ETX */ 5932d522f475SmrgCASE_IGNORE, 5933d522f475SmrgCASE_IGNORE, 5934d522f475SmrgCASE_IGNORE, 5935d522f475SmrgCASE_IGNORE, 5936d522f475Smrg/* EOT ENQ ACK BEL */ 5937d522f475SmrgCASE_IGNORE, 5938d522f475SmrgCASE_ENQ, 5939d522f475SmrgCASE_IGNORE, 5940d522f475SmrgCASE_BELL, 5941d522f475Smrg/* BS HT NL VT */ 5942d522f475SmrgCASE_BS, 5943d522f475SmrgCASE_TAB, 5944d522f475SmrgCASE_VMOT, 5945d522f475SmrgCASE_VMOT, 59460bd37d32Smrg/* FF CR SO SI */ 5947d522f475SmrgCASE_VMOT, 5948d522f475SmrgCASE_CR, 5949d522f475SmrgCASE_SO, 5950d522f475SmrgCASE_SI, 5951d522f475Smrg/* DLE DC1 DC2 DC3 */ 5952d522f475SmrgCASE_IGNORE, 5953d522f475SmrgCASE_IGNORE, 5954d522f475SmrgCASE_IGNORE, 5955d522f475SmrgCASE_IGNORE, 5956d522f475Smrg/* DC4 NAK SYN ETB */ 5957d522f475SmrgCASE_IGNORE, 5958d522f475SmrgCASE_IGNORE, 5959d522f475SmrgCASE_IGNORE, 5960d522f475SmrgCASE_IGNORE, 5961d522f475Smrg/* CAN EM SUB ESC */ 5962d522f475SmrgCASE_GROUND_STATE, 5963d522f475SmrgCASE_IGNORE, 5964d522f475SmrgCASE_GROUND_STATE, 5965d522f475SmrgCASE_ESC, 5966d522f475Smrg/* FS GS RS US */ 5967d522f475SmrgCASE_IGNORE, 5968d522f475SmrgCASE_IGNORE, 5969d522f475SmrgCASE_IGNORE, 5970d522f475SmrgCASE_IGNORE, 5971d522f475Smrg/* SP ! " # */ 5972d522f475SmrgCASE_ESC_IGNORE, 5973d522f475SmrgCASE_ESC_IGNORE, 5974d522f475SmrgCASE_ESC_IGNORE, 5975d522f475SmrgCASE_ESC_IGNORE, 5976d522f475Smrg/* $ % & ' */ 5977d522f475SmrgCASE_ESC_IGNORE, 5978e0a2b6dfSmrgCASE_SCS_PERCENT, 5979d522f475SmrgCASE_ESC_IGNORE, 5980d522f475SmrgCASE_ESC_IGNORE, 5981d522f475Smrg/* ( ) * + */ 5982d522f475SmrgCASE_ESC_IGNORE, 5983d522f475SmrgCASE_ESC_IGNORE, 5984d522f475SmrgCASE_ESC_IGNORE, 5985d522f475SmrgCASE_ESC_IGNORE, 5986d522f475Smrg/* , - . / */ 5987d522f475SmrgCASE_ESC_IGNORE, 5988d522f475SmrgCASE_ESC_IGNORE, 5989d522f475SmrgCASE_ESC_IGNORE, 5990d522f475SmrgCASE_ESC_IGNORE, 5991d522f475Smrg/* 0 1 2 3 */ 5992d522f475SmrgCASE_GSETS, 5993d522f475SmrgCASE_GSETS, 5994d522f475SmrgCASE_GSETS, 5995d522f475SmrgCASE_GROUND_STATE, 5996d522f475Smrg/* 4 5 6 7 */ 5997d522f475SmrgCASE_GSETS, 5998d522f475SmrgCASE_GSETS, 5999d522f475SmrgCASE_GSETS, 6000d522f475SmrgCASE_GSETS, 6001d522f475Smrg/* 8 9 : ; */ 6002d522f475SmrgCASE_GROUND_STATE, 6003d522f475SmrgCASE_GROUND_STATE, 6004d522f475SmrgCASE_GROUND_STATE, 6005d522f475SmrgCASE_GROUND_STATE, 6006d522f475Smrg/* < = > ? */ 6007d522f475SmrgCASE_GSETS, 6008e0a2b6dfSmrgCASE_GSETS, 6009e0a2b6dfSmrgCASE_GSETS, 6010d522f475SmrgCASE_GROUND_STATE, 6011d522f475Smrg/* @ A B C */ 6012d522f475SmrgCASE_GROUND_STATE, 6013d522f475SmrgCASE_GSETS, 6014d522f475SmrgCASE_GSETS, 6015d522f475SmrgCASE_GSETS, 6016d522f475Smrg/* D E F G */ 6017d522f475SmrgCASE_GROUND_STATE, 6018d522f475SmrgCASE_GSETS, 6019d522f475SmrgCASE_GROUND_STATE, 6020d522f475SmrgCASE_GROUND_STATE, 6021d522f475Smrg/* H I J K */ 6022d522f475SmrgCASE_GSETS, 6023d522f475SmrgCASE_GROUND_STATE, 6024d522f475SmrgCASE_GROUND_STATE, 6025d522f475SmrgCASE_GSETS, 6026d522f475Smrg/* L M N O */ 6027d522f475SmrgCASE_GROUND_STATE, 6028d522f475SmrgCASE_GROUND_STATE, 6029d522f475SmrgCASE_GROUND_STATE, 6030d522f475SmrgCASE_GROUND_STATE, 6031d522f475Smrg/* P Q R S */ 6032d522f475SmrgCASE_GROUND_STATE, 6033d522f475SmrgCASE_GSETS, 6034d522f475SmrgCASE_GSETS, 6035d522f475SmrgCASE_GROUND_STATE, 6036d522f475Smrg/* T U V W */ 6037d522f475SmrgCASE_GROUND_STATE, 6038d522f475SmrgCASE_GROUND_STATE, 6039d522f475SmrgCASE_GROUND_STATE, 6040d522f475SmrgCASE_GROUND_STATE, 6041d522f475Smrg/* X Y Z [ */ 6042d522f475SmrgCASE_GROUND_STATE, 6043d522f475SmrgCASE_GSETS, 6044d522f475SmrgCASE_GSETS, 6045d522f475SmrgCASE_GROUND_STATE, 6046d522f475Smrg/* \ ] ^ _ */ 6047d522f475SmrgCASE_GROUND_STATE, 6048d522f475SmrgCASE_GROUND_STATE, 6049d522f475SmrgCASE_GROUND_STATE, 6050d522f475SmrgCASE_GROUND_STATE, 6051d522f475Smrg/* ` a b c */ 6052e0a2b6dfSmrgCASE_GSETS, 6053d522f475SmrgCASE_GROUND_STATE, 6054d522f475SmrgCASE_GROUND_STATE, 6055d522f475SmrgCASE_GROUND_STATE, 6056d522f475Smrg/* d e f g */ 6057d522f475SmrgCASE_GROUND_STATE, 6058d522f475SmrgCASE_GROUND_STATE, 6059d522f475SmrgCASE_GROUND_STATE, 6060d522f475SmrgCASE_GROUND_STATE, 6061d522f475Smrg/* h i j k */ 6062d522f475SmrgCASE_GROUND_STATE, 6063d522f475SmrgCASE_GROUND_STATE, 6064d522f475SmrgCASE_GROUND_STATE, 6065d522f475SmrgCASE_GROUND_STATE, 6066d522f475Smrg/* l m n o */ 6067d522f475SmrgCASE_GROUND_STATE, 6068d522f475SmrgCASE_GROUND_STATE, 6069d522f475SmrgCASE_GROUND_STATE, 6070d522f475SmrgCASE_GROUND_STATE, 6071d522f475Smrg/* p q r s */ 6072d522f475SmrgCASE_GROUND_STATE, 6073d522f475SmrgCASE_GROUND_STATE, 6074d522f475SmrgCASE_GROUND_STATE, 6075d522f475SmrgCASE_GROUND_STATE, 6076d522f475Smrg/* t u v w */ 6077d522f475SmrgCASE_GROUND_STATE, 6078d522f475SmrgCASE_GROUND_STATE, 6079d522f475SmrgCASE_GROUND_STATE, 6080d522f475SmrgCASE_GROUND_STATE, 6081d522f475Smrg/* x y z { */ 6082d522f475SmrgCASE_GROUND_STATE, 6083d522f475SmrgCASE_GROUND_STATE, 6084d522f475SmrgCASE_GROUND_STATE, 6085d522f475SmrgCASE_GROUND_STATE, 6086d522f475Smrg/* | } ~ DEL */ 6087d522f475SmrgCASE_GROUND_STATE, 6088d522f475SmrgCASE_GROUND_STATE, 6089d522f475SmrgCASE_GROUND_STATE, 6090d522f475SmrgCASE_IGNORE, 6091d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 6092d522f475SmrgCASE_GROUND_STATE, 6093d522f475SmrgCASE_GROUND_STATE, 6094d522f475SmrgCASE_GROUND_STATE, 6095d522f475SmrgCASE_GROUND_STATE, 6096d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 6097d522f475SmrgCASE_IND, 6098d522f475SmrgCASE_NEL, 6099d522f475SmrgCASE_GROUND_STATE, 6100d522f475SmrgCASE_GROUND_STATE, 6101d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 6102d522f475SmrgCASE_HTS, 6103d522f475SmrgCASE_GROUND_STATE, 6104d522f475SmrgCASE_GROUND_STATE, 6105d522f475SmrgCASE_GROUND_STATE, 6106d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 6107d522f475SmrgCASE_GROUND_STATE, 6108d522f475SmrgCASE_RI, 6109d522f475SmrgCASE_SS2, 6110d522f475SmrgCASE_SS3, 6111d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 6112d522f475SmrgCASE_DCS, 6113d522f475SmrgCASE_GROUND_STATE, 6114d522f475SmrgCASE_GROUND_STATE, 6115d522f475SmrgCASE_GROUND_STATE, 6116d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 6117d522f475SmrgCASE_GROUND_STATE, 6118d522f475SmrgCASE_GROUND_STATE, 6119d522f475SmrgCASE_SPA, 6120d522f475SmrgCASE_EPA, 6121d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 6122d522f475SmrgCASE_SOS, 6123d522f475SmrgCASE_GROUND_STATE, 6124d522f475SmrgCASE_DECID, 6125d522f475SmrgCASE_CSI_STATE, 6126d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 6127d522f475SmrgCASE_ST, 6128d522f475SmrgCASE_OSC, 6129d522f475SmrgCASE_PM, 6130d522f475SmrgCASE_APC, 6131d522f475Smrg/* nobreakspace exclamdown cent sterling */ 6132d522f475SmrgCASE_ESC_IGNORE, 6133d522f475SmrgCASE_ESC_IGNORE, 6134d522f475SmrgCASE_ESC_IGNORE, 6135d522f475SmrgCASE_ESC_IGNORE, 6136d522f475Smrg/* currency yen brokenbar section */ 6137d522f475SmrgCASE_ESC_IGNORE, 6138e0a2b6dfSmrgCASE_SCS_PERCENT, 6139d522f475SmrgCASE_ESC_IGNORE, 6140d522f475SmrgCASE_ESC_IGNORE, 6141d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 6142d522f475SmrgCASE_ESC_IGNORE, 6143d522f475SmrgCASE_ESC_IGNORE, 6144d522f475SmrgCASE_ESC_IGNORE, 6145d522f475SmrgCASE_ESC_IGNORE, 6146d522f475Smrg/* notsign hyphen registered macron */ 6147d522f475SmrgCASE_ESC_IGNORE, 6148d522f475SmrgCASE_ESC_IGNORE, 6149d522f475SmrgCASE_ESC_IGNORE, 6150d522f475SmrgCASE_ESC_IGNORE, 6151d522f475Smrg/* degree plusminus twosuperior threesuperior */ 6152d522f475SmrgCASE_GSETS, 6153d522f475SmrgCASE_GSETS, 6154d522f475SmrgCASE_GSETS, 6155d522f475SmrgCASE_GROUND_STATE, 6156d522f475Smrg/* acute mu paragraph periodcentered */ 6157d522f475SmrgCASE_GSETS, 6158d522f475SmrgCASE_GSETS, 6159d522f475SmrgCASE_GSETS, 6160d522f475SmrgCASE_GSETS, 6161d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 6162d522f475SmrgCASE_GROUND_STATE, 6163d522f475SmrgCASE_GROUND_STATE, 6164d522f475SmrgCASE_GROUND_STATE, 6165d522f475SmrgCASE_GROUND_STATE, 6166d522f475Smrg/* onequarter onehalf threequarters questiondown */ 6167d522f475SmrgCASE_GSETS, 6168e0a2b6dfSmrgCASE_GSETS, 6169e0a2b6dfSmrgCASE_GSETS, 6170d522f475SmrgCASE_GROUND_STATE, 6171d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 6172d522f475SmrgCASE_GROUND_STATE, 6173d522f475SmrgCASE_GSETS, 6174d522f475SmrgCASE_GSETS, 6175d522f475SmrgCASE_GSETS, 6176d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 6177d522f475SmrgCASE_GROUND_STATE, 6178d522f475SmrgCASE_GSETS, 6179d522f475SmrgCASE_GROUND_STATE, 6180d522f475SmrgCASE_GROUND_STATE, 6181d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 6182d522f475SmrgCASE_GSETS, 6183d522f475SmrgCASE_GROUND_STATE, 6184d522f475SmrgCASE_GROUND_STATE, 6185d522f475SmrgCASE_GSETS, 6186d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 6187d522f475SmrgCASE_GROUND_STATE, 6188d522f475SmrgCASE_GROUND_STATE, 6189d522f475SmrgCASE_GROUND_STATE, 6190d522f475SmrgCASE_GROUND_STATE, 6191d522f475Smrg/* Eth Ntilde Ograve Oacute */ 6192d522f475SmrgCASE_GROUND_STATE, 6193d522f475SmrgCASE_GSETS, 6194d522f475SmrgCASE_GSETS, 6195d522f475SmrgCASE_GROUND_STATE, 6196d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 6197d522f475SmrgCASE_GROUND_STATE, 6198d522f475SmrgCASE_GROUND_STATE, 6199d522f475SmrgCASE_GROUND_STATE, 6200d522f475SmrgCASE_GROUND_STATE, 6201d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 6202d522f475SmrgCASE_GROUND_STATE, 6203d522f475SmrgCASE_GSETS, 6204d522f475SmrgCASE_GSETS, 6205d522f475SmrgCASE_GROUND_STATE, 6206d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 6207d522f475SmrgCASE_GROUND_STATE, 6208d522f475SmrgCASE_GROUND_STATE, 6209d522f475SmrgCASE_GROUND_STATE, 6210d522f475SmrgCASE_GROUND_STATE, 6211d522f475Smrg/* agrave aacute acircumflex atilde */ 6212e0a2b6dfSmrgCASE_GSETS, 62132eaa94a1SchristosCASE_GROUND_STATE, 62142eaa94a1SchristosCASE_GROUND_STATE, 62152eaa94a1SchristosCASE_GROUND_STATE, 62162eaa94a1Schristos/* adiaeresis aring ae ccedilla */ 62172eaa94a1SchristosCASE_GROUND_STATE, 62182eaa94a1SchristosCASE_GROUND_STATE, 62192eaa94a1SchristosCASE_GROUND_STATE, 62202eaa94a1SchristosCASE_GROUND_STATE, 62212eaa94a1Schristos/* egrave eacute ecircumflex ediaeresis */ 62222eaa94a1SchristosCASE_GROUND_STATE, 62232eaa94a1SchristosCASE_GROUND_STATE, 62242eaa94a1SchristosCASE_GROUND_STATE, 62252eaa94a1SchristosCASE_GROUND_STATE, 62262eaa94a1Schristos/* igrave iacute icircumflex idiaeresis */ 62272eaa94a1SchristosCASE_GROUND_STATE, 62282eaa94a1SchristosCASE_GROUND_STATE, 62292eaa94a1SchristosCASE_GROUND_STATE, 62302eaa94a1SchristosCASE_GROUND_STATE, 62312eaa94a1Schristos/* eth ntilde ograve oacute */ 62322eaa94a1SchristosCASE_GROUND_STATE, 62332eaa94a1SchristosCASE_GROUND_STATE, 62342eaa94a1SchristosCASE_GROUND_STATE, 62352eaa94a1SchristosCASE_GROUND_STATE, 62362eaa94a1Schristos/* ocircumflex otilde odiaeresis division */ 62372eaa94a1SchristosCASE_GROUND_STATE, 62382eaa94a1SchristosCASE_GROUND_STATE, 62392eaa94a1SchristosCASE_GROUND_STATE, 62402eaa94a1SchristosCASE_GROUND_STATE, 62412eaa94a1Schristos/* oslash ugrave uacute ucircumflex */ 62422eaa94a1SchristosCASE_GROUND_STATE, 62432eaa94a1SchristosCASE_GROUND_STATE, 62442eaa94a1SchristosCASE_GROUND_STATE, 62452eaa94a1SchristosCASE_GROUND_STATE, 62462eaa94a1Schristos/* udiaeresis yacute thorn ydiaeresis */ 62472eaa94a1SchristosCASE_GROUND_STATE, 62482eaa94a1SchristosCASE_GROUND_STATE, 62492eaa94a1SchristosCASE_GROUND_STATE, 62502eaa94a1SchristosCASE_IGNORE, 62512eaa94a1Schristos}; 62522eaa94a1Schristos 62532eaa94a1SchristosConst PARSE_T scs96table[] = /* ESC - etc. */ 62542eaa94a1Schristos{ 62552eaa94a1Schristos/* NUL SOH STX ETX */ 62562eaa94a1SchristosCASE_IGNORE, 62572eaa94a1SchristosCASE_IGNORE, 62582eaa94a1SchristosCASE_IGNORE, 62592eaa94a1SchristosCASE_IGNORE, 62602eaa94a1Schristos/* EOT ENQ ACK BEL */ 62612eaa94a1SchristosCASE_IGNORE, 62622eaa94a1SchristosCASE_ENQ, 62632eaa94a1SchristosCASE_IGNORE, 62642eaa94a1SchristosCASE_BELL, 62652eaa94a1Schristos/* BS HT NL VT */ 62662eaa94a1SchristosCASE_BS, 62672eaa94a1SchristosCASE_TAB, 62682eaa94a1SchristosCASE_VMOT, 62692eaa94a1SchristosCASE_VMOT, 62700bd37d32Smrg/* FF CR SO SI */ 62712eaa94a1SchristosCASE_VMOT, 62722eaa94a1SchristosCASE_CR, 62732eaa94a1SchristosCASE_SO, 62742eaa94a1SchristosCASE_SI, 62752eaa94a1Schristos/* DLE DC1 DC2 DC3 */ 62762eaa94a1SchristosCASE_IGNORE, 62772eaa94a1SchristosCASE_IGNORE, 62782eaa94a1SchristosCASE_IGNORE, 62792eaa94a1SchristosCASE_IGNORE, 62802eaa94a1Schristos/* DC4 NAK SYN ETB */ 62812eaa94a1SchristosCASE_IGNORE, 62822eaa94a1SchristosCASE_IGNORE, 62832eaa94a1SchristosCASE_IGNORE, 62842eaa94a1SchristosCASE_IGNORE, 62852eaa94a1Schristos/* CAN EM SUB ESC */ 62862eaa94a1SchristosCASE_GROUND_STATE, 62872eaa94a1SchristosCASE_IGNORE, 62882eaa94a1SchristosCASE_GROUND_STATE, 62892eaa94a1SchristosCASE_ESC, 62902eaa94a1Schristos/* FS GS RS US */ 62912eaa94a1SchristosCASE_IGNORE, 62922eaa94a1SchristosCASE_IGNORE, 62932eaa94a1SchristosCASE_IGNORE, 62942eaa94a1SchristosCASE_IGNORE, 62952eaa94a1Schristos/* SP ! " # */ 62962eaa94a1SchristosCASE_ESC_IGNORE, 62972eaa94a1SchristosCASE_ESC_IGNORE, 62982eaa94a1SchristosCASE_ESC_IGNORE, 62992eaa94a1SchristosCASE_ESC_IGNORE, 63002eaa94a1Schristos/* $ % & ' */ 63012eaa94a1SchristosCASE_ESC_IGNORE, 63022eaa94a1SchristosCASE_ESC_IGNORE, 63032eaa94a1SchristosCASE_ESC_IGNORE, 63042eaa94a1SchristosCASE_ESC_IGNORE, 63052eaa94a1Schristos/* ( ) * + */ 63062eaa94a1SchristosCASE_ESC_IGNORE, 63072eaa94a1SchristosCASE_ESC_IGNORE, 63082eaa94a1SchristosCASE_ESC_IGNORE, 63092eaa94a1SchristosCASE_ESC_IGNORE, 63102eaa94a1Schristos/* , - . / */ 63112eaa94a1SchristosCASE_ESC_IGNORE, 63122eaa94a1SchristosCASE_ESC_IGNORE, 63132eaa94a1SchristosCASE_ESC_IGNORE, 63142eaa94a1SchristosCASE_ESC_IGNORE, 63152eaa94a1Schristos/* 0 1 2 3 */ 63162eaa94a1SchristosCASE_GROUND_STATE, 63172eaa94a1SchristosCASE_GROUND_STATE, 63182eaa94a1SchristosCASE_GROUND_STATE, 63192eaa94a1SchristosCASE_GROUND_STATE, 63202eaa94a1Schristos/* 4 5 6 7 */ 63212eaa94a1SchristosCASE_GROUND_STATE, 63222eaa94a1SchristosCASE_GROUND_STATE, 63232eaa94a1SchristosCASE_GROUND_STATE, 63242eaa94a1SchristosCASE_GROUND_STATE, 63252eaa94a1Schristos/* 8 9 : ; */ 63262eaa94a1SchristosCASE_GROUND_STATE, 63272eaa94a1SchristosCASE_GROUND_STATE, 63282eaa94a1SchristosCASE_GROUND_STATE, 63292eaa94a1SchristosCASE_GROUND_STATE, 63302eaa94a1Schristos/* < = > ? */ 63312eaa94a1SchristosCASE_GROUND_STATE, 63322eaa94a1SchristosCASE_GROUND_STATE, 63332eaa94a1SchristosCASE_GROUND_STATE, 63342eaa94a1SchristosCASE_GROUND_STATE, 63352eaa94a1Schristos/* @ A B C */ 63362eaa94a1SchristosCASE_GROUND_STATE, 63372eaa94a1SchristosCASE_GSETS, 63382eaa94a1SchristosCASE_GROUND_STATE, 63392eaa94a1SchristosCASE_GROUND_STATE, 63402eaa94a1Schristos/* D E F G */ 63412eaa94a1SchristosCASE_GROUND_STATE, 63422eaa94a1SchristosCASE_GROUND_STATE, 63432eaa94a1SchristosCASE_GROUND_STATE, 63442eaa94a1SchristosCASE_GROUND_STATE, 63452eaa94a1Schristos/* H I J K */ 63462eaa94a1SchristosCASE_GROUND_STATE, 63472eaa94a1SchristosCASE_GROUND_STATE, 63482eaa94a1SchristosCASE_GROUND_STATE, 63492eaa94a1SchristosCASE_GROUND_STATE, 63502eaa94a1Schristos/* L M N O */ 63512eaa94a1SchristosCASE_GROUND_STATE, 63522eaa94a1SchristosCASE_GROUND_STATE, 63532eaa94a1SchristosCASE_GROUND_STATE, 63542eaa94a1SchristosCASE_GROUND_STATE, 63552eaa94a1Schristos/* P Q R S */ 63562eaa94a1SchristosCASE_GROUND_STATE, 63572eaa94a1SchristosCASE_GROUND_STATE, 63582eaa94a1SchristosCASE_GROUND_STATE, 63592eaa94a1SchristosCASE_GROUND_STATE, 63602eaa94a1Schristos/* T U V W */ 63612eaa94a1SchristosCASE_GROUND_STATE, 63622eaa94a1SchristosCASE_GROUND_STATE, 63632eaa94a1SchristosCASE_GROUND_STATE, 63642eaa94a1SchristosCASE_GROUND_STATE, 63652eaa94a1Schristos/* X Y Z [ */ 63662eaa94a1SchristosCASE_GROUND_STATE, 63672eaa94a1SchristosCASE_GROUND_STATE, 63682eaa94a1SchristosCASE_GROUND_STATE, 63692eaa94a1SchristosCASE_GROUND_STATE, 63702eaa94a1Schristos/* \ ] ^ _ */ 63712eaa94a1SchristosCASE_GROUND_STATE, 63722eaa94a1SchristosCASE_GROUND_STATE, 63732eaa94a1SchristosCASE_GROUND_STATE, 63742eaa94a1SchristosCASE_GROUND_STATE, 63752eaa94a1Schristos/* ` a b c */ 63762eaa94a1SchristosCASE_GROUND_STATE, 63772eaa94a1SchristosCASE_GROUND_STATE, 63782eaa94a1SchristosCASE_GROUND_STATE, 63792eaa94a1SchristosCASE_GROUND_STATE, 63802eaa94a1Schristos/* d e f g */ 63812eaa94a1SchristosCASE_GROUND_STATE, 63822eaa94a1SchristosCASE_GROUND_STATE, 63832eaa94a1SchristosCASE_GROUND_STATE, 63842eaa94a1SchristosCASE_GROUND_STATE, 63852eaa94a1Schristos/* h i j k */ 63862eaa94a1SchristosCASE_GROUND_STATE, 63872eaa94a1SchristosCASE_GROUND_STATE, 63882eaa94a1SchristosCASE_GROUND_STATE, 63892eaa94a1SchristosCASE_GROUND_STATE, 63902eaa94a1Schristos/* l m n o */ 63912eaa94a1SchristosCASE_GROUND_STATE, 63922eaa94a1SchristosCASE_GROUND_STATE, 63932eaa94a1SchristosCASE_GROUND_STATE, 63942eaa94a1SchristosCASE_GROUND_STATE, 63952eaa94a1Schristos/* p q r s */ 63962eaa94a1SchristosCASE_GROUND_STATE, 63972eaa94a1SchristosCASE_GROUND_STATE, 63982eaa94a1SchristosCASE_GROUND_STATE, 63992eaa94a1SchristosCASE_GROUND_STATE, 64002eaa94a1Schristos/* t u v w */ 64012eaa94a1SchristosCASE_GROUND_STATE, 64022eaa94a1SchristosCASE_GROUND_STATE, 64032eaa94a1SchristosCASE_GROUND_STATE, 64042eaa94a1SchristosCASE_GROUND_STATE, 64052eaa94a1Schristos/* x y z { */ 64062eaa94a1SchristosCASE_GROUND_STATE, 64072eaa94a1SchristosCASE_GROUND_STATE, 64082eaa94a1SchristosCASE_GROUND_STATE, 64092eaa94a1SchristosCASE_GROUND_STATE, 64102eaa94a1Schristos/* | } ~ DEL */ 64112eaa94a1SchristosCASE_GROUND_STATE, 64122eaa94a1SchristosCASE_GROUND_STATE, 64132eaa94a1SchristosCASE_GROUND_STATE, 64142eaa94a1SchristosCASE_IGNORE, 64152eaa94a1Schristos/* 0x80 0x81 0x82 0x83 */ 64162eaa94a1SchristosCASE_GROUND_STATE, 64172eaa94a1SchristosCASE_GROUND_STATE, 64182eaa94a1SchristosCASE_GROUND_STATE, 64192eaa94a1SchristosCASE_GROUND_STATE, 64202eaa94a1Schristos/* 0x84 0x85 0x86 0x87 */ 64212eaa94a1SchristosCASE_IND, 64222eaa94a1SchristosCASE_NEL, 64232eaa94a1SchristosCASE_GROUND_STATE, 64242eaa94a1SchristosCASE_GROUND_STATE, 64252eaa94a1Schristos/* 0x88 0x89 0x8a 0x8b */ 64262eaa94a1SchristosCASE_HTS, 64272eaa94a1SchristosCASE_GROUND_STATE, 64282eaa94a1SchristosCASE_GROUND_STATE, 64292eaa94a1SchristosCASE_GROUND_STATE, 64302eaa94a1Schristos/* 0x8c 0x8d 0x8e 0x8f */ 64312eaa94a1SchristosCASE_GROUND_STATE, 64322eaa94a1SchristosCASE_RI, 64332eaa94a1SchristosCASE_SS2, 64342eaa94a1SchristosCASE_SS3, 64352eaa94a1Schristos/* 0x90 0x91 0x92 0x93 */ 64362eaa94a1SchristosCASE_DCS, 64372eaa94a1SchristosCASE_GROUND_STATE, 64382eaa94a1SchristosCASE_GROUND_STATE, 64392eaa94a1SchristosCASE_GROUND_STATE, 64402eaa94a1Schristos/* 0x94 0x95 0x96 0x97 */ 64412eaa94a1SchristosCASE_GROUND_STATE, 64422eaa94a1SchristosCASE_GROUND_STATE, 64432eaa94a1SchristosCASE_SPA, 64442eaa94a1SchristosCASE_EPA, 64452eaa94a1Schristos/* 0x98 0x99 0x9a 0x9b */ 64462eaa94a1SchristosCASE_SOS, 64472eaa94a1SchristosCASE_GROUND_STATE, 64482eaa94a1SchristosCASE_DECID, 64492eaa94a1SchristosCASE_CSI_STATE, 64502eaa94a1Schristos/* 0x9c 0x9d 0x9e 0x9f */ 64512eaa94a1SchristosCASE_ST, 64522eaa94a1SchristosCASE_OSC, 64532eaa94a1SchristosCASE_PM, 64542eaa94a1SchristosCASE_APC, 64552eaa94a1Schristos/* nobreakspace exclamdown cent sterling */ 64562eaa94a1SchristosCASE_ESC_IGNORE, 64572eaa94a1SchristosCASE_ESC_IGNORE, 64582eaa94a1SchristosCASE_ESC_IGNORE, 64592eaa94a1SchristosCASE_ESC_IGNORE, 64602eaa94a1Schristos/* currency yen brokenbar section */ 64612eaa94a1SchristosCASE_ESC_IGNORE, 64622eaa94a1SchristosCASE_ESC_IGNORE, 64632eaa94a1SchristosCASE_ESC_IGNORE, 64642eaa94a1SchristosCASE_ESC_IGNORE, 64652eaa94a1Schristos/* diaeresis copyright ordfeminine guillemotleft */ 64662eaa94a1SchristosCASE_ESC_IGNORE, 64672eaa94a1SchristosCASE_ESC_IGNORE, 64682eaa94a1SchristosCASE_ESC_IGNORE, 64692eaa94a1SchristosCASE_ESC_IGNORE, 64702eaa94a1Schristos/* notsign hyphen registered macron */ 64712eaa94a1SchristosCASE_ESC_IGNORE, 64722eaa94a1SchristosCASE_ESC_IGNORE, 64732eaa94a1SchristosCASE_ESC_IGNORE, 64742eaa94a1SchristosCASE_ESC_IGNORE, 64752eaa94a1Schristos/* degree plusminus twosuperior threesuperior */ 64762eaa94a1SchristosCASE_GROUND_STATE, 64772eaa94a1SchristosCASE_GROUND_STATE, 64782eaa94a1SchristosCASE_GROUND_STATE, 64792eaa94a1SchristosCASE_GROUND_STATE, 64802eaa94a1Schristos/* acute mu paragraph periodcentered */ 64812eaa94a1SchristosCASE_GROUND_STATE, 64822eaa94a1SchristosCASE_GROUND_STATE, 64832eaa94a1SchristosCASE_GROUND_STATE, 64842eaa94a1SchristosCASE_GROUND_STATE, 64852eaa94a1Schristos/* cedilla onesuperior masculine guillemotright */ 64862eaa94a1SchristosCASE_GROUND_STATE, 64872eaa94a1SchristosCASE_GROUND_STATE, 64882eaa94a1SchristosCASE_GROUND_STATE, 64892eaa94a1SchristosCASE_GROUND_STATE, 64902eaa94a1Schristos/* onequarter onehalf threequarters questiondown */ 64912eaa94a1SchristosCASE_GROUND_STATE, 64922eaa94a1SchristosCASE_GROUND_STATE, 64932eaa94a1SchristosCASE_GROUND_STATE, 64942eaa94a1SchristosCASE_GROUND_STATE, 64952eaa94a1Schristos/* Agrave Aacute Acircumflex Atilde */ 64962eaa94a1SchristosCASE_GROUND_STATE, 64972eaa94a1SchristosCASE_GSETS, 64982eaa94a1SchristosCASE_GROUND_STATE, 64992eaa94a1SchristosCASE_GROUND_STATE, 65002eaa94a1Schristos/* Adiaeresis Aring AE Ccedilla */ 65012eaa94a1SchristosCASE_GROUND_STATE, 65022eaa94a1SchristosCASE_GROUND_STATE, 65032eaa94a1SchristosCASE_GROUND_STATE, 65042eaa94a1SchristosCASE_GROUND_STATE, 65052eaa94a1Schristos/* Egrave Eacute Ecircumflex Ediaeresis */ 65062eaa94a1SchristosCASE_GROUND_STATE, 65072eaa94a1SchristosCASE_GROUND_STATE, 65082eaa94a1SchristosCASE_GROUND_STATE, 65092eaa94a1SchristosCASE_GROUND_STATE, 65102eaa94a1Schristos/* Igrave Iacute Icircumflex Idiaeresis */ 65112eaa94a1SchristosCASE_GROUND_STATE, 65122eaa94a1SchristosCASE_GROUND_STATE, 65132eaa94a1SchristosCASE_GROUND_STATE, 65142eaa94a1SchristosCASE_GROUND_STATE, 65152eaa94a1Schristos/* Eth Ntilde Ograve Oacute */ 65162eaa94a1SchristosCASE_GROUND_STATE, 65172eaa94a1SchristosCASE_GROUND_STATE, 65182eaa94a1SchristosCASE_GROUND_STATE, 65192eaa94a1SchristosCASE_GROUND_STATE, 65202eaa94a1Schristos/* Ocircumflex Otilde Odiaeresis multiply */ 65212eaa94a1SchristosCASE_GROUND_STATE, 65222eaa94a1SchristosCASE_GROUND_STATE, 65232eaa94a1SchristosCASE_GROUND_STATE, 65242eaa94a1SchristosCASE_GROUND_STATE, 65252eaa94a1Schristos/* Ooblique Ugrave Uacute Ucircumflex */ 65262eaa94a1SchristosCASE_GROUND_STATE, 65272eaa94a1SchristosCASE_GROUND_STATE, 65282eaa94a1SchristosCASE_GROUND_STATE, 65292eaa94a1SchristosCASE_GROUND_STATE, 65302eaa94a1Schristos/* Udiaeresis Yacute Thorn ssharp */ 65312eaa94a1SchristosCASE_GROUND_STATE, 65322eaa94a1SchristosCASE_GROUND_STATE, 65332eaa94a1SchristosCASE_GROUND_STATE, 65342eaa94a1SchristosCASE_GROUND_STATE, 65352eaa94a1Schristos/* agrave aacute acircumflex atilde */ 65362eaa94a1SchristosCASE_GROUND_STATE, 6537d522f475SmrgCASE_GROUND_STATE, 6538d522f475SmrgCASE_GROUND_STATE, 6539d522f475SmrgCASE_GROUND_STATE, 6540d522f475Smrg/* adiaeresis aring ae ccedilla */ 6541d522f475SmrgCASE_GROUND_STATE, 6542d522f475SmrgCASE_GROUND_STATE, 6543d522f475SmrgCASE_GROUND_STATE, 6544d522f475SmrgCASE_GROUND_STATE, 6545d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 6546d522f475SmrgCASE_GROUND_STATE, 6547d522f475SmrgCASE_GROUND_STATE, 6548d522f475SmrgCASE_GROUND_STATE, 6549d522f475SmrgCASE_GROUND_STATE, 6550d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 6551d522f475SmrgCASE_GROUND_STATE, 6552d522f475SmrgCASE_GROUND_STATE, 6553d522f475SmrgCASE_GROUND_STATE, 6554d522f475SmrgCASE_GROUND_STATE, 6555d522f475Smrg/* eth ntilde ograve oacute */ 6556d522f475SmrgCASE_GROUND_STATE, 6557d522f475SmrgCASE_GROUND_STATE, 6558d522f475SmrgCASE_GROUND_STATE, 6559d522f475SmrgCASE_GROUND_STATE, 6560d522f475Smrg/* ocircumflex otilde odiaeresis division */ 6561d522f475SmrgCASE_GROUND_STATE, 6562d522f475SmrgCASE_GROUND_STATE, 6563d522f475SmrgCASE_GROUND_STATE, 6564d522f475SmrgCASE_GROUND_STATE, 6565d522f475Smrg/* oslash ugrave uacute ucircumflex */ 6566d522f475SmrgCASE_GROUND_STATE, 6567d522f475SmrgCASE_GROUND_STATE, 6568d522f475SmrgCASE_GROUND_STATE, 6569d522f475SmrgCASE_GROUND_STATE, 6570d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 6571d522f475SmrgCASE_GROUND_STATE, 6572d522f475SmrgCASE_GROUND_STATE, 6573d522f475SmrgCASE_GROUND_STATE, 6574d522f475SmrgCASE_IGNORE, 6575d522f475Smrg}; 6576d522f475Smrg 6577d522f475Smrg/* 6578d522f475Smrg * This table is treated specially. The CASE_IGNORE entries correspond to the 6579d522f475Smrg * characters that can be accumulated for the string function (e.g., OSC). 6580d522f475Smrg */ 6581d522f475SmrgConst PARSE_T sos_table[] = /* OSC, DCS, etc. */ 6582d522f475Smrg{ 6583d522f475Smrg/* NUL SOH STX ETX */ 6584d522f475SmrgCASE_IGNORE, 6585d522f475SmrgCASE_IGNORE, 6586d522f475SmrgCASE_IGNORE, 6587d522f475SmrgCASE_IGNORE, 6588d522f475Smrg/* EOT ENQ ACK BEL */ 6589d522f475SmrgCASE_IGNORE, 6590d522f475SmrgCASE_IGNORE, 6591d522f475SmrgCASE_IGNORE, 6592d522f475SmrgCASE_BELL, 6593d522f475Smrg/* BS HT NL VT */ 6594d522f475SmrgCASE_IGNORE, 6595d522f475SmrgCASE_IGNORE, 6596d522f475SmrgCASE_IGNORE, 6597d522f475SmrgCASE_IGNORE, 65980bd37d32Smrg/* FF CR SO SI */ 6599d522f475SmrgCASE_IGNORE, 6600d522f475SmrgCASE_IGNORE, 6601d522f475SmrgCASE_IGNORE, 6602d522f475SmrgCASE_IGNORE, 6603d522f475Smrg/* DLE DC1 DC2 DC3 */ 6604d522f475SmrgCASE_IGNORE, 6605d522f475SmrgCASE_IGNORE, 6606d522f475SmrgCASE_IGNORE, 6607d522f475SmrgCASE_IGNORE, 6608d522f475Smrg/* DC4 NAK SYN ETB */ 6609d522f475SmrgCASE_IGNORE, 6610d522f475SmrgCASE_IGNORE, 6611d522f475SmrgCASE_IGNORE, 6612d522f475SmrgCASE_IGNORE, 6613d522f475Smrg/* CAN EM SUB ESC */ 6614d522f475SmrgCASE_GROUND_STATE, 6615d522f475SmrgCASE_IGNORE, 6616d522f475SmrgCASE_GROUND_STATE, 6617d522f475SmrgCASE_ESC, 6618d522f475Smrg/* FS GS RS US */ 6619d522f475SmrgCASE_IGNORE, 6620d522f475SmrgCASE_IGNORE, 6621d522f475SmrgCASE_IGNORE, 6622d522f475SmrgCASE_IGNORE, 6623d522f475Smrg/* SP ! " # */ 6624d522f475SmrgCASE_IGNORE, 6625d522f475SmrgCASE_IGNORE, 6626d522f475SmrgCASE_IGNORE, 6627d522f475SmrgCASE_IGNORE, 6628d522f475Smrg/* $ % & ' */ 6629d522f475SmrgCASE_IGNORE, 6630d522f475SmrgCASE_IGNORE, 6631d522f475SmrgCASE_IGNORE, 6632d522f475SmrgCASE_IGNORE, 6633d522f475Smrg/* ( ) * + */ 6634d522f475SmrgCASE_IGNORE, 6635d522f475SmrgCASE_IGNORE, 6636d522f475SmrgCASE_IGNORE, 6637d522f475SmrgCASE_IGNORE, 6638d522f475Smrg/* , - . / */ 6639d522f475SmrgCASE_IGNORE, 6640d522f475SmrgCASE_IGNORE, 6641d522f475SmrgCASE_IGNORE, 6642d522f475SmrgCASE_IGNORE, 6643d522f475Smrg/* 0 1 2 3 */ 6644d522f475SmrgCASE_IGNORE, 6645d522f475SmrgCASE_IGNORE, 6646d522f475SmrgCASE_IGNORE, 6647d522f475SmrgCASE_IGNORE, 6648d522f475Smrg/* 4 5 6 7 */ 6649d522f475SmrgCASE_IGNORE, 6650d522f475SmrgCASE_IGNORE, 6651d522f475SmrgCASE_IGNORE, 6652d522f475SmrgCASE_IGNORE, 6653d522f475Smrg/* 8 9 : ; */ 6654d522f475SmrgCASE_IGNORE, 6655d522f475SmrgCASE_IGNORE, 6656d522f475SmrgCASE_IGNORE, 6657d522f475SmrgCASE_IGNORE, 6658d522f475Smrg/* < = > ? */ 6659d522f475SmrgCASE_IGNORE, 6660d522f475SmrgCASE_IGNORE, 6661d522f475SmrgCASE_IGNORE, 6662d522f475SmrgCASE_IGNORE, 6663d522f475Smrg/* @ A B C */ 6664d522f475SmrgCASE_IGNORE, 6665d522f475SmrgCASE_IGNORE, 6666d522f475SmrgCASE_IGNORE, 6667d522f475SmrgCASE_IGNORE, 6668d522f475Smrg/* D E F G */ 6669d522f475SmrgCASE_IGNORE, 6670d522f475SmrgCASE_IGNORE, 6671d522f475SmrgCASE_IGNORE, 6672d522f475SmrgCASE_IGNORE, 6673d522f475Smrg/* H I J K */ 6674d522f475SmrgCASE_IGNORE, 6675d522f475SmrgCASE_IGNORE, 6676d522f475SmrgCASE_IGNORE, 6677d522f475SmrgCASE_IGNORE, 6678d522f475Smrg/* L M N O */ 6679d522f475SmrgCASE_IGNORE, 6680d522f475SmrgCASE_IGNORE, 6681d522f475SmrgCASE_IGNORE, 6682d522f475SmrgCASE_IGNORE, 6683d522f475Smrg/* P Q R S */ 6684d522f475SmrgCASE_IGNORE, 6685d522f475SmrgCASE_IGNORE, 6686d522f475SmrgCASE_IGNORE, 6687d522f475SmrgCASE_IGNORE, 6688d522f475Smrg/* T U V W */ 6689d522f475SmrgCASE_IGNORE, 6690d522f475SmrgCASE_IGNORE, 6691d522f475SmrgCASE_IGNORE, 6692d522f475SmrgCASE_IGNORE, 6693d522f475Smrg/* X Y Z [ */ 6694d522f475SmrgCASE_IGNORE, 6695d522f475SmrgCASE_IGNORE, 6696d522f475SmrgCASE_IGNORE, 6697d522f475SmrgCASE_IGNORE, 6698d522f475Smrg/* \ ] ^ _ */ 6699d522f475SmrgCASE_IGNORE, 6700d522f475SmrgCASE_IGNORE, 6701d522f475SmrgCASE_IGNORE, 6702d522f475SmrgCASE_IGNORE, 6703d522f475Smrg/* ` a b c */ 6704d522f475SmrgCASE_IGNORE, 6705d522f475SmrgCASE_IGNORE, 6706d522f475SmrgCASE_IGNORE, 6707d522f475SmrgCASE_IGNORE, 6708d522f475Smrg/* d e f g */ 6709d522f475SmrgCASE_IGNORE, 6710d522f475SmrgCASE_IGNORE, 6711d522f475SmrgCASE_IGNORE, 6712d522f475SmrgCASE_IGNORE, 6713d522f475Smrg/* h i j k */ 6714d522f475SmrgCASE_IGNORE, 6715d522f475SmrgCASE_IGNORE, 6716d522f475SmrgCASE_IGNORE, 6717d522f475SmrgCASE_IGNORE, 6718d522f475Smrg/* l m n o */ 6719d522f475SmrgCASE_IGNORE, 6720d522f475SmrgCASE_IGNORE, 6721d522f475SmrgCASE_IGNORE, 6722d522f475SmrgCASE_IGNORE, 6723d522f475Smrg/* p q r s */ 6724d522f475SmrgCASE_IGNORE, 6725d522f475SmrgCASE_IGNORE, 6726d522f475SmrgCASE_IGNORE, 6727d522f475SmrgCASE_IGNORE, 6728d522f475Smrg/* t u v w */ 6729d522f475SmrgCASE_IGNORE, 6730d522f475SmrgCASE_IGNORE, 6731d522f475SmrgCASE_IGNORE, 6732d522f475SmrgCASE_IGNORE, 6733d522f475Smrg/* x y z { */ 6734d522f475SmrgCASE_IGNORE, 6735d522f475SmrgCASE_IGNORE, 6736d522f475SmrgCASE_IGNORE, 6737d522f475SmrgCASE_IGNORE, 6738d522f475Smrg/* | } ~ DEL */ 6739d522f475SmrgCASE_IGNORE, 6740d522f475SmrgCASE_IGNORE, 6741d522f475SmrgCASE_IGNORE, 6742d522f475SmrgCASE_IGNORE, 6743d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 6744d522f475SmrgCASE_GROUND_STATE, 6745d522f475SmrgCASE_GROUND_STATE, 6746d522f475SmrgCASE_GROUND_STATE, 6747d522f475SmrgCASE_GROUND_STATE, 6748d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 6749d522f475SmrgCASE_IND, 6750d522f475SmrgCASE_NEL, 6751d522f475SmrgCASE_GROUND_STATE, 6752d522f475SmrgCASE_GROUND_STATE, 6753d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 6754d522f475SmrgCASE_HTS, 6755d522f475SmrgCASE_GROUND_STATE, 6756d522f475SmrgCASE_GROUND_STATE, 6757d522f475SmrgCASE_GROUND_STATE, 6758d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 6759d522f475SmrgCASE_GROUND_STATE, 6760d522f475SmrgCASE_RI, 6761d522f475SmrgCASE_SS2, 6762d522f475SmrgCASE_SS3, 6763d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 6764d522f475SmrgCASE_DCS, 6765d522f475SmrgCASE_GROUND_STATE, 6766d522f475SmrgCASE_GROUND_STATE, 6767d522f475SmrgCASE_GROUND_STATE, 6768d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 6769d522f475SmrgCASE_GROUND_STATE, 6770d522f475SmrgCASE_GROUND_STATE, 6771d522f475SmrgCASE_SPA, 6772d522f475SmrgCASE_EPA, 6773d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 6774d522f475SmrgCASE_SOS, 6775d522f475SmrgCASE_GROUND_STATE, 6776d522f475SmrgCASE_DECID, 6777d522f475SmrgCASE_CSI_STATE, 6778d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 6779d522f475SmrgCASE_ST, 6780d522f475SmrgCASE_OSC, 6781d522f475SmrgCASE_PM, 6782d522f475SmrgCASE_APC, 6783d522f475Smrg/* nobreakspace exclamdown cent sterling */ 6784d522f475SmrgCASE_IGNORE, 6785d522f475SmrgCASE_IGNORE, 6786d522f475SmrgCASE_IGNORE, 6787d522f475SmrgCASE_IGNORE, 6788d522f475Smrg/* currency yen brokenbar section */ 6789d522f475SmrgCASE_IGNORE, 6790d522f475SmrgCASE_IGNORE, 6791d522f475SmrgCASE_IGNORE, 6792d522f475SmrgCASE_IGNORE, 6793d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 6794d522f475SmrgCASE_IGNORE, 6795d522f475SmrgCASE_IGNORE, 6796d522f475SmrgCASE_IGNORE, 6797d522f475SmrgCASE_IGNORE, 6798d522f475Smrg/* notsign hyphen registered macron */ 6799d522f475SmrgCASE_IGNORE, 6800d522f475SmrgCASE_IGNORE, 6801d522f475SmrgCASE_IGNORE, 6802d522f475SmrgCASE_IGNORE, 6803d522f475Smrg/* degree plusminus twosuperior threesuperior */ 6804d522f475SmrgCASE_IGNORE, 6805d522f475SmrgCASE_IGNORE, 6806d522f475SmrgCASE_IGNORE, 6807d522f475SmrgCASE_IGNORE, 6808d522f475Smrg/* acute mu paragraph periodcentered */ 6809d522f475SmrgCASE_IGNORE, 6810d522f475SmrgCASE_IGNORE, 6811d522f475SmrgCASE_IGNORE, 6812d522f475SmrgCASE_IGNORE, 6813d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 6814d522f475SmrgCASE_IGNORE, 6815d522f475SmrgCASE_IGNORE, 6816d522f475SmrgCASE_IGNORE, 6817d522f475SmrgCASE_IGNORE, 6818d522f475Smrg/* onequarter onehalf threequarters questiondown */ 6819d522f475SmrgCASE_IGNORE, 6820d522f475SmrgCASE_IGNORE, 6821d522f475SmrgCASE_IGNORE, 6822d522f475SmrgCASE_IGNORE, 6823d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 6824d522f475SmrgCASE_IGNORE, 6825d522f475SmrgCASE_IGNORE, 6826d522f475SmrgCASE_IGNORE, 6827d522f475SmrgCASE_IGNORE, 6828d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 6829d522f475SmrgCASE_IGNORE, 6830d522f475SmrgCASE_IGNORE, 6831d522f475SmrgCASE_IGNORE, 6832d522f475SmrgCASE_IGNORE, 6833d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 6834d522f475SmrgCASE_IGNORE, 6835d522f475SmrgCASE_IGNORE, 6836d522f475SmrgCASE_IGNORE, 6837d522f475SmrgCASE_IGNORE, 6838d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 6839d522f475SmrgCASE_IGNORE, 6840d522f475SmrgCASE_IGNORE, 6841d522f475SmrgCASE_IGNORE, 6842d522f475SmrgCASE_IGNORE, 6843d522f475Smrg/* Eth Ntilde Ograve Oacute */ 6844d522f475SmrgCASE_IGNORE, 6845d522f475SmrgCASE_IGNORE, 6846d522f475SmrgCASE_IGNORE, 6847d522f475SmrgCASE_IGNORE, 6848d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 6849d522f475SmrgCASE_IGNORE, 6850d522f475SmrgCASE_IGNORE, 6851d522f475SmrgCASE_IGNORE, 6852d522f475SmrgCASE_IGNORE, 6853d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 6854d522f475SmrgCASE_IGNORE, 6855d522f475SmrgCASE_IGNORE, 6856d522f475SmrgCASE_IGNORE, 6857d522f475SmrgCASE_IGNORE, 6858d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 6859d522f475SmrgCASE_IGNORE, 6860d522f475SmrgCASE_IGNORE, 6861d522f475SmrgCASE_IGNORE, 6862d522f475SmrgCASE_IGNORE, 6863d522f475Smrg/* agrave aacute acircumflex atilde */ 6864d522f475SmrgCASE_IGNORE, 6865d522f475SmrgCASE_IGNORE, 6866d522f475SmrgCASE_IGNORE, 6867d522f475SmrgCASE_IGNORE, 6868d522f475Smrg/* adiaeresis aring ae ccedilla */ 6869d522f475SmrgCASE_IGNORE, 6870d522f475SmrgCASE_IGNORE, 6871d522f475SmrgCASE_IGNORE, 6872d522f475SmrgCASE_IGNORE, 6873d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 6874d522f475SmrgCASE_IGNORE, 6875d522f475SmrgCASE_IGNORE, 6876d522f475SmrgCASE_IGNORE, 6877d522f475SmrgCASE_IGNORE, 6878d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 6879d522f475SmrgCASE_IGNORE, 6880d522f475SmrgCASE_IGNORE, 6881d522f475SmrgCASE_IGNORE, 6882d522f475SmrgCASE_IGNORE, 6883d522f475Smrg/* eth ntilde ograve oacute */ 6884d522f475SmrgCASE_IGNORE, 6885d522f475SmrgCASE_IGNORE, 6886d522f475SmrgCASE_IGNORE, 6887d522f475SmrgCASE_IGNORE, 6888d522f475Smrg/* ocircumflex otilde odiaeresis division */ 6889d522f475SmrgCASE_IGNORE, 6890d522f475SmrgCASE_IGNORE, 6891d522f475SmrgCASE_IGNORE, 6892d522f475SmrgCASE_IGNORE, 6893d522f475Smrg/* oslash ugrave uacute ucircumflex */ 6894d522f475SmrgCASE_IGNORE, 6895d522f475SmrgCASE_IGNORE, 6896d522f475SmrgCASE_IGNORE, 6897d522f475SmrgCASE_IGNORE, 6898d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 6899d522f475SmrgCASE_IGNORE, 6900d522f475SmrgCASE_IGNORE, 6901d522f475SmrgCASE_IGNORE, 6902d522f475SmrgCASE_IGNORE, 6903d522f475Smrg}; 6904d522f475Smrg 6905d522f475Smrg#if OPT_WIDE_CHARS 6906d522f475SmrgConst PARSE_T esc_pct_table[] = /* ESC % */ 6907d522f475Smrg{ 6908d522f475Smrg/* NUL SOH STX ETX */ 6909d522f475SmrgCASE_IGNORE, 6910d522f475SmrgCASE_IGNORE, 6911d522f475SmrgCASE_IGNORE, 6912d522f475SmrgCASE_IGNORE, 6913d522f475Smrg/* EOT ENQ ACK BEL */ 6914d522f475SmrgCASE_IGNORE, 6915d522f475SmrgCASE_ENQ, 6916d522f475SmrgCASE_IGNORE, 6917d522f475SmrgCASE_BELL, 6918d522f475Smrg/* BS HT NL VT */ 6919d522f475SmrgCASE_BS, 6920d522f475SmrgCASE_TAB, 6921d522f475SmrgCASE_VMOT, 6922d522f475SmrgCASE_VMOT, 69230bd37d32Smrg/* FF CR SO SI */ 6924d522f475SmrgCASE_VMOT, 6925d522f475SmrgCASE_CR, 6926d522f475SmrgCASE_SO, 6927d522f475SmrgCASE_SI, 6928d522f475Smrg/* DLE DC1 DC2 DC3 */ 6929d522f475SmrgCASE_IGNORE, 6930d522f475SmrgCASE_IGNORE, 6931d522f475SmrgCASE_IGNORE, 6932d522f475SmrgCASE_IGNORE, 6933d522f475Smrg/* DC4 NAK SYN ETB */ 6934d522f475SmrgCASE_IGNORE, 6935d522f475SmrgCASE_IGNORE, 6936d522f475SmrgCASE_IGNORE, 6937d522f475SmrgCASE_IGNORE, 6938d522f475Smrg/* CAN EM SUB ESC */ 6939d522f475SmrgCASE_GROUND_STATE, 6940d522f475SmrgCASE_IGNORE, 6941d522f475SmrgCASE_GROUND_STATE, 6942d522f475SmrgCASE_ESC, 6943d522f475Smrg/* FS GS RS US */ 6944d522f475SmrgCASE_IGNORE, 6945d522f475SmrgCASE_IGNORE, 6946d522f475SmrgCASE_IGNORE, 6947d522f475SmrgCASE_IGNORE, 6948d522f475Smrg/* SP ! " # */ 6949d522f475SmrgCASE_ESC_IGNORE, 6950d522f475SmrgCASE_ESC_IGNORE, 6951d522f475SmrgCASE_ESC_IGNORE, 6952d522f475SmrgCASE_ESC_IGNORE, 6953d522f475Smrg/* $ % & ' */ 6954d522f475SmrgCASE_ESC_IGNORE, 6955d522f475SmrgCASE_ESC_IGNORE, 6956d522f475SmrgCASE_ESC_IGNORE, 6957d522f475SmrgCASE_ESC_IGNORE, 6958d522f475Smrg/* ( ) * + */ 6959d522f475SmrgCASE_ESC_IGNORE, 6960d522f475SmrgCASE_ESC_IGNORE, 6961d522f475SmrgCASE_ESC_IGNORE, 6962d522f475SmrgCASE_ESC_IGNORE, 6963d522f475Smrg/* , - . / */ 6964d522f475SmrgCASE_ESC_IGNORE, 6965d522f475SmrgCASE_ESC_IGNORE, 6966d522f475SmrgCASE_ESC_IGNORE, 6967d522f475SmrgCASE_ESC_IGNORE, 6968d522f475Smrg/* 0 1 2 3 */ 6969d522f475SmrgCASE_GROUND_STATE, 6970d522f475SmrgCASE_GROUND_STATE, 6971d522f475SmrgCASE_GROUND_STATE, 6972d522f475SmrgCASE_GROUND_STATE, 6973d522f475Smrg/* 4 5 6 7 */ 6974d522f475SmrgCASE_GROUND_STATE, 6975d522f475SmrgCASE_GROUND_STATE, 6976d522f475SmrgCASE_GROUND_STATE, 6977d522f475SmrgCASE_GROUND_STATE, 6978d522f475Smrg/* 8 9 : ; */ 6979d522f475SmrgCASE_GROUND_STATE, 6980d522f475SmrgCASE_GROUND_STATE, 6981d522f475SmrgCASE_GROUND_STATE, 6982d522f475SmrgCASE_GROUND_STATE, 6983d522f475Smrg/* < = > ? */ 6984d522f475SmrgCASE_GROUND_STATE, 6985d522f475SmrgCASE_GROUND_STATE, 6986d522f475SmrgCASE_GROUND_STATE, 6987d522f475SmrgCASE_GROUND_STATE, 6988d522f475Smrg/* @ A B C */ 6989d522f475SmrgCASE_UTF8, 6990d522f475SmrgCASE_GROUND_STATE, 6991d522f475SmrgCASE_GROUND_STATE, 6992d522f475SmrgCASE_GROUND_STATE, 6993d522f475Smrg/* D E F G */ 6994d522f475SmrgCASE_GROUND_STATE, 6995d522f475SmrgCASE_GROUND_STATE, 6996d522f475SmrgCASE_GROUND_STATE, 6997d522f475SmrgCASE_UTF8, 6998d522f475Smrg/* H I J K */ 6999d522f475SmrgCASE_GROUND_STATE, 7000d522f475SmrgCASE_GROUND_STATE, 7001d522f475SmrgCASE_GROUND_STATE, 7002d522f475SmrgCASE_GROUND_STATE, 7003d522f475Smrg/* L M N O */ 7004d522f475SmrgCASE_GROUND_STATE, 7005d522f475SmrgCASE_GROUND_STATE, 7006d522f475SmrgCASE_GROUND_STATE, 7007d522f475SmrgCASE_GROUND_STATE, 7008d522f475Smrg/* P Q R S */ 7009d522f475SmrgCASE_GROUND_STATE, 7010d522f475SmrgCASE_GROUND_STATE, 7011d522f475SmrgCASE_GROUND_STATE, 7012d522f475SmrgCASE_GROUND_STATE, 7013d522f475Smrg/* T U V W */ 7014d522f475SmrgCASE_GROUND_STATE, 7015d522f475SmrgCASE_GROUND_STATE, 7016d522f475SmrgCASE_GROUND_STATE, 7017d522f475SmrgCASE_GROUND_STATE, 7018d522f475Smrg/* X Y Z [ */ 7019d522f475SmrgCASE_GROUND_STATE, 7020d522f475SmrgCASE_GROUND_STATE, 7021d522f475SmrgCASE_GROUND_STATE, 7022d522f475SmrgCASE_GROUND_STATE, 7023d522f475Smrg/* \ ] ^ _ */ 7024d522f475SmrgCASE_GROUND_STATE, 7025d522f475SmrgCASE_GROUND_STATE, 7026d522f475SmrgCASE_GROUND_STATE, 7027d522f475SmrgCASE_GROUND_STATE, 7028d522f475Smrg/* ` a b c */ 7029d522f475SmrgCASE_GROUND_STATE, 7030d522f475SmrgCASE_GROUND_STATE, 7031d522f475SmrgCASE_GROUND_STATE, 7032d522f475SmrgCASE_GROUND_STATE, 7033d522f475Smrg/* d e f g */ 7034d522f475SmrgCASE_GROUND_STATE, 7035d522f475SmrgCASE_GROUND_STATE, 7036d522f475SmrgCASE_GROUND_STATE, 7037d522f475SmrgCASE_GROUND_STATE, 7038d522f475Smrg/* h i j k */ 7039d522f475SmrgCASE_GROUND_STATE, 7040d522f475SmrgCASE_GROUND_STATE, 7041d522f475SmrgCASE_GROUND_STATE, 7042d522f475SmrgCASE_GROUND_STATE, 7043d522f475Smrg/* l m n o */ 7044d522f475SmrgCASE_GROUND_STATE, 7045d522f475SmrgCASE_GROUND_STATE, 7046d522f475SmrgCASE_GROUND_STATE, 7047d522f475SmrgCASE_GROUND_STATE, 7048d522f475Smrg/* p q r s */ 7049d522f475SmrgCASE_GROUND_STATE, 7050d522f475SmrgCASE_GROUND_STATE, 7051d522f475SmrgCASE_GROUND_STATE, 7052d522f475SmrgCASE_GROUND_STATE, 7053d522f475Smrg/* t u v w */ 7054d522f475SmrgCASE_GROUND_STATE, 7055d522f475SmrgCASE_GROUND_STATE, 7056d522f475SmrgCASE_GROUND_STATE, 7057d522f475SmrgCASE_GROUND_STATE, 7058d522f475Smrg/* x y z { */ 7059d522f475SmrgCASE_GROUND_STATE, 7060d522f475SmrgCASE_GROUND_STATE, 7061d522f475SmrgCASE_GROUND_STATE, 7062d522f475SmrgCASE_GROUND_STATE, 7063d522f475Smrg/* | } ~ DEL */ 7064d522f475SmrgCASE_GROUND_STATE, 7065d522f475SmrgCASE_GROUND_STATE, 7066d522f475SmrgCASE_GROUND_STATE, 7067d522f475SmrgCASE_IGNORE, 7068d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 7069d522f475SmrgCASE_GROUND_STATE, 7070d522f475SmrgCASE_GROUND_STATE, 7071d522f475SmrgCASE_GROUND_STATE, 7072d522f475SmrgCASE_GROUND_STATE, 7073d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 7074d522f475SmrgCASE_IND, 7075d522f475SmrgCASE_NEL, 7076d522f475SmrgCASE_GROUND_STATE, 7077d522f475SmrgCASE_GROUND_STATE, 7078d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 7079d522f475SmrgCASE_HTS, 7080d522f475SmrgCASE_GROUND_STATE, 7081d522f475SmrgCASE_GROUND_STATE, 7082d522f475SmrgCASE_GROUND_STATE, 7083d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 7084d522f475SmrgCASE_GROUND_STATE, 7085d522f475SmrgCASE_RI, 7086d522f475SmrgCASE_SS2, 7087d522f475SmrgCASE_SS3, 7088d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 7089d522f475SmrgCASE_DCS, 7090d522f475SmrgCASE_GROUND_STATE, 7091d522f475SmrgCASE_GROUND_STATE, 7092d522f475SmrgCASE_GROUND_STATE, 7093d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 7094d522f475SmrgCASE_GROUND_STATE, 7095d522f475SmrgCASE_GROUND_STATE, 7096d522f475SmrgCASE_SPA, 7097d522f475SmrgCASE_EPA, 7098d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 7099d522f475SmrgCASE_SOS, 7100d522f475SmrgCASE_GROUND_STATE, 7101d522f475SmrgCASE_DECID, 7102d522f475SmrgCASE_CSI_STATE, 7103d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 7104d522f475SmrgCASE_ST, 7105d522f475SmrgCASE_OSC, 7106d522f475SmrgCASE_PM, 7107d522f475SmrgCASE_APC, 7108d522f475Smrg/* nobreakspace exclamdown cent sterling */ 7109d522f475SmrgCASE_ESC_IGNORE, 7110d522f475SmrgCASE_ESC_IGNORE, 7111d522f475SmrgCASE_ESC_IGNORE, 7112d522f475SmrgCASE_ESC_IGNORE, 7113d522f475Smrg/* currency yen brokenbar section */ 7114d522f475SmrgCASE_ESC_IGNORE, 7115d522f475SmrgCASE_ESC_IGNORE, 7116d522f475SmrgCASE_ESC_IGNORE, 7117d522f475SmrgCASE_ESC_IGNORE, 7118d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 7119d522f475SmrgCASE_ESC_IGNORE, 7120d522f475SmrgCASE_ESC_IGNORE, 7121d522f475SmrgCASE_ESC_IGNORE, 7122d522f475SmrgCASE_ESC_IGNORE, 7123d522f475Smrg/* notsign hyphen registered macron */ 7124d522f475SmrgCASE_ESC_IGNORE, 7125d522f475SmrgCASE_ESC_IGNORE, 7126d522f475SmrgCASE_ESC_IGNORE, 7127d522f475SmrgCASE_ESC_IGNORE, 7128d522f475Smrg/* degree plusminus twosuperior threesuperior */ 7129d522f475SmrgCASE_GROUND_STATE, 7130d522f475SmrgCASE_GROUND_STATE, 7131d522f475SmrgCASE_GROUND_STATE, 7132d522f475SmrgCASE_GROUND_STATE, 7133d522f475Smrg/* acute mu paragraph periodcentered */ 7134d522f475SmrgCASE_GROUND_STATE, 7135d522f475SmrgCASE_GROUND_STATE, 7136d522f475SmrgCASE_GROUND_STATE, 7137d522f475SmrgCASE_GROUND_STATE, 7138d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 7139d522f475SmrgCASE_GROUND_STATE, 7140d522f475SmrgCASE_GROUND_STATE, 7141d522f475SmrgCASE_GROUND_STATE, 7142d522f475SmrgCASE_GROUND_STATE, 7143d522f475Smrg/* onequarter onehalf threequarters questiondown */ 7144d522f475SmrgCASE_GROUND_STATE, 7145d522f475SmrgCASE_GROUND_STATE, 7146d522f475SmrgCASE_GROUND_STATE, 7147d522f475SmrgCASE_GROUND_STATE, 7148d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 7149d522f475SmrgCASE_UTF8, 7150d522f475SmrgCASE_GROUND_STATE, 7151d522f475SmrgCASE_GROUND_STATE, 7152d522f475SmrgCASE_GROUND_STATE, 7153d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 7154d522f475SmrgCASE_GROUND_STATE, 7155d522f475SmrgCASE_GROUND_STATE, 7156d522f475SmrgCASE_GROUND_STATE, 7157d522f475SmrgCASE_UTF8, 7158d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 7159d522f475SmrgCASE_GROUND_STATE, 7160d522f475SmrgCASE_GROUND_STATE, 7161d522f475SmrgCASE_GROUND_STATE, 7162d522f475SmrgCASE_GROUND_STATE, 7163d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 7164d522f475SmrgCASE_GROUND_STATE, 7165d522f475SmrgCASE_GROUND_STATE, 7166d522f475SmrgCASE_GROUND_STATE, 7167d522f475SmrgCASE_GROUND_STATE, 7168d522f475Smrg/* Eth Ntilde Ograve Oacute */ 7169d522f475SmrgCASE_GROUND_STATE, 7170e0a2b6dfSmrgCASE_GROUND_STATE, 7171e0a2b6dfSmrgCASE_GROUND_STATE, 7172e0a2b6dfSmrgCASE_GROUND_STATE, 7173e0a2b6dfSmrg/* Ocircumflex Otilde Odiaeresis multiply */ 7174e0a2b6dfSmrgCASE_GROUND_STATE, 7175e0a2b6dfSmrgCASE_GROUND_STATE, 7176e0a2b6dfSmrgCASE_GROUND_STATE, 7177e0a2b6dfSmrgCASE_GROUND_STATE, 7178e0a2b6dfSmrg/* Ooblique Ugrave Uacute Ucircumflex */ 7179e0a2b6dfSmrgCASE_GROUND_STATE, 7180e0a2b6dfSmrgCASE_GROUND_STATE, 7181e0a2b6dfSmrgCASE_GROUND_STATE, 7182e0a2b6dfSmrgCASE_GROUND_STATE, 7183e0a2b6dfSmrg/* Udiaeresis Yacute Thorn ssharp */ 7184e0a2b6dfSmrgCASE_GROUND_STATE, 7185e0a2b6dfSmrgCASE_GROUND_STATE, 7186e0a2b6dfSmrgCASE_GROUND_STATE, 7187e0a2b6dfSmrgCASE_GROUND_STATE, 7188e0a2b6dfSmrg/* agrave aacute acircumflex atilde */ 7189e0a2b6dfSmrgCASE_GROUND_STATE, 7190e0a2b6dfSmrgCASE_GROUND_STATE, 7191e0a2b6dfSmrgCASE_GROUND_STATE, 7192e0a2b6dfSmrgCASE_GROUND_STATE, 7193e0a2b6dfSmrg/* adiaeresis aring ae ccedilla */ 7194e0a2b6dfSmrgCASE_GROUND_STATE, 7195e0a2b6dfSmrgCASE_GROUND_STATE, 7196e0a2b6dfSmrgCASE_GROUND_STATE, 7197e0a2b6dfSmrgCASE_GROUND_STATE, 7198e0a2b6dfSmrg/* egrave eacute ecircumflex ediaeresis */ 7199e0a2b6dfSmrgCASE_GROUND_STATE, 7200e0a2b6dfSmrgCASE_GROUND_STATE, 7201e0a2b6dfSmrgCASE_GROUND_STATE, 7202e0a2b6dfSmrgCASE_GROUND_STATE, 7203e0a2b6dfSmrg/* igrave iacute icircumflex idiaeresis */ 7204e0a2b6dfSmrgCASE_GROUND_STATE, 7205e0a2b6dfSmrgCASE_GROUND_STATE, 7206e0a2b6dfSmrgCASE_GROUND_STATE, 7207e0a2b6dfSmrgCASE_GROUND_STATE, 7208e0a2b6dfSmrg/* eth ntilde ograve oacute */ 7209e0a2b6dfSmrgCASE_GROUND_STATE, 7210e0a2b6dfSmrgCASE_GROUND_STATE, 7211e0a2b6dfSmrgCASE_GROUND_STATE, 7212e0a2b6dfSmrgCASE_GROUND_STATE, 7213e0a2b6dfSmrg/* ocircumflex otilde odiaeresis division */ 7214e0a2b6dfSmrgCASE_GROUND_STATE, 7215e0a2b6dfSmrgCASE_GROUND_STATE, 7216e0a2b6dfSmrgCASE_GROUND_STATE, 7217e0a2b6dfSmrgCASE_GROUND_STATE, 7218e0a2b6dfSmrg/* oslash ugrave uacute ucircumflex */ 7219e0a2b6dfSmrgCASE_GROUND_STATE, 7220e0a2b6dfSmrgCASE_GROUND_STATE, 7221e0a2b6dfSmrgCASE_GROUND_STATE, 7222e0a2b6dfSmrgCASE_GROUND_STATE, 7223e0a2b6dfSmrg/* udiaeresis yacute thorn ydiaeresis */ 7224e0a2b6dfSmrgCASE_GROUND_STATE, 7225e0a2b6dfSmrgCASE_GROUND_STATE, 7226e0a2b6dfSmrgCASE_GROUND_STATE, 7227e0a2b6dfSmrgCASE_IGNORE, 7228e0a2b6dfSmrg}; 7229e0a2b6dfSmrg 7230e0a2b6dfSmrgConst PARSE_T scs_pct_table[] = /* SCS % */ 7231e0a2b6dfSmrg{ 7232e0a2b6dfSmrg/* NUL SOH STX ETX */ 7233e0a2b6dfSmrgCASE_IGNORE, 7234e0a2b6dfSmrgCASE_IGNORE, 7235e0a2b6dfSmrgCASE_IGNORE, 7236e0a2b6dfSmrgCASE_IGNORE, 7237e0a2b6dfSmrg/* EOT ENQ ACK BEL */ 7238e0a2b6dfSmrgCASE_IGNORE, 7239e0a2b6dfSmrgCASE_ENQ, 7240e0a2b6dfSmrgCASE_IGNORE, 7241e0a2b6dfSmrgCASE_BELL, 7242e0a2b6dfSmrg/* BS HT NL VT */ 7243e0a2b6dfSmrgCASE_BS, 7244e0a2b6dfSmrgCASE_TAB, 7245e0a2b6dfSmrgCASE_VMOT, 7246e0a2b6dfSmrgCASE_VMOT, 7247e0a2b6dfSmrg/* FF CR SO SI */ 7248e0a2b6dfSmrgCASE_VMOT, 7249e0a2b6dfSmrgCASE_CR, 7250e0a2b6dfSmrgCASE_SO, 7251e0a2b6dfSmrgCASE_SI, 7252e0a2b6dfSmrg/* DLE DC1 DC2 DC3 */ 7253e0a2b6dfSmrgCASE_IGNORE, 7254e0a2b6dfSmrgCASE_IGNORE, 7255e0a2b6dfSmrgCASE_IGNORE, 7256e0a2b6dfSmrgCASE_IGNORE, 7257e0a2b6dfSmrg/* DC4 NAK SYN ETB */ 7258e0a2b6dfSmrgCASE_IGNORE, 7259e0a2b6dfSmrgCASE_IGNORE, 7260e0a2b6dfSmrgCASE_IGNORE, 7261e0a2b6dfSmrgCASE_IGNORE, 7262e0a2b6dfSmrg/* CAN EM SUB ESC */ 7263e0a2b6dfSmrgCASE_GROUND_STATE, 7264e0a2b6dfSmrgCASE_IGNORE, 7265e0a2b6dfSmrgCASE_GROUND_STATE, 7266e0a2b6dfSmrgCASE_ESC, 7267e0a2b6dfSmrg/* FS GS RS US */ 7268e0a2b6dfSmrgCASE_IGNORE, 7269e0a2b6dfSmrgCASE_IGNORE, 7270e0a2b6dfSmrgCASE_IGNORE, 7271e0a2b6dfSmrgCASE_IGNORE, 7272e0a2b6dfSmrg/* SP ! " # */ 7273e0a2b6dfSmrgCASE_ESC_IGNORE, 7274e0a2b6dfSmrgCASE_ESC_IGNORE, 7275e0a2b6dfSmrgCASE_ESC_IGNORE, 7276e0a2b6dfSmrgCASE_ESC_IGNORE, 7277e0a2b6dfSmrg/* $ % & ' */ 7278e0a2b6dfSmrgCASE_ESC_IGNORE, 7279e0a2b6dfSmrgCASE_ESC_IGNORE, 7280e0a2b6dfSmrgCASE_ESC_IGNORE, 7281e0a2b6dfSmrgCASE_ESC_IGNORE, 7282e0a2b6dfSmrg/* ( ) * + */ 7283e0a2b6dfSmrgCASE_ESC_IGNORE, 7284e0a2b6dfSmrgCASE_ESC_IGNORE, 7285e0a2b6dfSmrgCASE_ESC_IGNORE, 7286e0a2b6dfSmrgCASE_ESC_IGNORE, 7287e0a2b6dfSmrg/* , - . / */ 7288e0a2b6dfSmrgCASE_ESC_IGNORE, 7289e0a2b6dfSmrgCASE_ESC_IGNORE, 7290e0a2b6dfSmrgCASE_ESC_IGNORE, 7291e0a2b6dfSmrgCASE_ESC_IGNORE, 7292e0a2b6dfSmrg/* 0 1 2 3 */ 7293e0a2b6dfSmrgCASE_GSETS_PERCENT, 7294e0a2b6dfSmrgCASE_GROUND_STATE, 7295e0a2b6dfSmrgCASE_GSETS_PERCENT, 7296e0a2b6dfSmrgCASE_GSETS_PERCENT, 7297e0a2b6dfSmrg/* 4 5 6 7 */ 7298e0a2b6dfSmrgCASE_GROUND_STATE, 7299e0a2b6dfSmrgCASE_GSETS_PERCENT, 7300e0a2b6dfSmrgCASE_GSETS_PERCENT, 7301e0a2b6dfSmrgCASE_GROUND_STATE, 7302e0a2b6dfSmrg/* 8 9 : ; */ 7303e0a2b6dfSmrgCASE_GROUND_STATE, 7304e0a2b6dfSmrgCASE_GROUND_STATE, 7305e0a2b6dfSmrgCASE_GROUND_STATE, 7306e0a2b6dfSmrgCASE_GROUND_STATE, 7307e0a2b6dfSmrg/* < = > ? */ 7308e0a2b6dfSmrgCASE_GROUND_STATE, 7309e0a2b6dfSmrgCASE_GSETS_PERCENT, 7310e0a2b6dfSmrgCASE_GROUND_STATE, 7311e0a2b6dfSmrgCASE_GROUND_STATE, 7312e0a2b6dfSmrg/* @ A B C */ 7313e0a2b6dfSmrgCASE_GROUND_STATE, 7314e0a2b6dfSmrgCASE_GROUND_STATE, 7315e0a2b6dfSmrgCASE_GROUND_STATE, 7316e0a2b6dfSmrgCASE_GROUND_STATE, 7317e0a2b6dfSmrg/* D E F G */ 7318e0a2b6dfSmrgCASE_GROUND_STATE, 7319e0a2b6dfSmrgCASE_GROUND_STATE, 7320e0a2b6dfSmrgCASE_GROUND_STATE, 7321e0a2b6dfSmrgCASE_GROUND_STATE, 7322e0a2b6dfSmrg/* H I J K */ 7323e0a2b6dfSmrgCASE_GROUND_STATE, 7324e0a2b6dfSmrgCASE_GROUND_STATE, 7325e0a2b6dfSmrgCASE_GROUND_STATE, 7326e0a2b6dfSmrgCASE_GROUND_STATE, 7327e0a2b6dfSmrg/* L M N O */ 7328e0a2b6dfSmrgCASE_GROUND_STATE, 7329e0a2b6dfSmrgCASE_GROUND_STATE, 7330e0a2b6dfSmrgCASE_GROUND_STATE, 7331e0a2b6dfSmrgCASE_GROUND_STATE, 7332e0a2b6dfSmrg/* P Q R S */ 7333e0a2b6dfSmrgCASE_GROUND_STATE, 7334e0a2b6dfSmrgCASE_GROUND_STATE, 7335e0a2b6dfSmrgCASE_GROUND_STATE, 7336e0a2b6dfSmrgCASE_GROUND_STATE, 7337e0a2b6dfSmrg/* T U V W */ 7338e0a2b6dfSmrgCASE_GROUND_STATE, 7339e0a2b6dfSmrgCASE_GROUND_STATE, 7340e0a2b6dfSmrgCASE_GROUND_STATE, 7341e0a2b6dfSmrgCASE_GROUND_STATE, 7342e0a2b6dfSmrg/* X Y Z [ */ 7343e0a2b6dfSmrgCASE_GROUND_STATE, 7344e0a2b6dfSmrgCASE_GROUND_STATE, 7345e0a2b6dfSmrgCASE_GROUND_STATE, 7346e0a2b6dfSmrgCASE_GROUND_STATE, 7347e0a2b6dfSmrg/* \ ] ^ _ */ 7348e0a2b6dfSmrgCASE_GROUND_STATE, 7349e0a2b6dfSmrgCASE_GROUND_STATE, 7350e0a2b6dfSmrgCASE_GROUND_STATE, 7351e0a2b6dfSmrgCASE_GROUND_STATE, 7352e0a2b6dfSmrg/* ` a b c */ 7353e0a2b6dfSmrgCASE_GROUND_STATE, 7354e0a2b6dfSmrgCASE_GROUND_STATE, 7355e0a2b6dfSmrgCASE_GROUND_STATE, 7356e0a2b6dfSmrgCASE_GROUND_STATE, 7357e0a2b6dfSmrg/* d e f g */ 7358e0a2b6dfSmrgCASE_GROUND_STATE, 7359e0a2b6dfSmrgCASE_GROUND_STATE, 7360e0a2b6dfSmrgCASE_GROUND_STATE, 7361e0a2b6dfSmrgCASE_GROUND_STATE, 7362e0a2b6dfSmrg/* h i j k */ 7363e0a2b6dfSmrgCASE_GROUND_STATE, 7364e0a2b6dfSmrgCASE_GROUND_STATE, 7365e0a2b6dfSmrgCASE_GROUND_STATE, 7366e0a2b6dfSmrgCASE_GROUND_STATE, 7367e0a2b6dfSmrg/* l m n o */ 7368e0a2b6dfSmrgCASE_GROUND_STATE, 7369e0a2b6dfSmrgCASE_GROUND_STATE, 7370e0a2b6dfSmrgCASE_GROUND_STATE, 7371e0a2b6dfSmrgCASE_GROUND_STATE, 7372e0a2b6dfSmrg/* p q r s */ 7373e0a2b6dfSmrgCASE_GROUND_STATE, 7374e0a2b6dfSmrgCASE_GROUND_STATE, 7375e0a2b6dfSmrgCASE_GROUND_STATE, 7376e0a2b6dfSmrgCASE_GROUND_STATE, 7377e0a2b6dfSmrg/* t u v w */ 7378e0a2b6dfSmrgCASE_GROUND_STATE, 7379e0a2b6dfSmrgCASE_GROUND_STATE, 7380e0a2b6dfSmrgCASE_GROUND_STATE, 7381e0a2b6dfSmrgCASE_GROUND_STATE, 7382e0a2b6dfSmrg/* x y z { */ 7383e0a2b6dfSmrgCASE_GROUND_STATE, 7384e0a2b6dfSmrgCASE_GROUND_STATE, 7385e0a2b6dfSmrgCASE_GROUND_STATE, 7386e0a2b6dfSmrgCASE_GROUND_STATE, 7387e0a2b6dfSmrg/* | } ~ DEL */ 7388e0a2b6dfSmrgCASE_GROUND_STATE, 7389e0a2b6dfSmrgCASE_GROUND_STATE, 7390e0a2b6dfSmrgCASE_GROUND_STATE, 7391e0a2b6dfSmrgCASE_IGNORE, 7392e0a2b6dfSmrg/* 0x80 0x81 0x82 0x83 */ 7393e0a2b6dfSmrgCASE_GROUND_STATE, 7394e0a2b6dfSmrgCASE_GROUND_STATE, 7395e0a2b6dfSmrgCASE_GROUND_STATE, 7396e0a2b6dfSmrgCASE_GROUND_STATE, 7397e0a2b6dfSmrg/* 0x84 0x85 0x86 0x87 */ 7398e0a2b6dfSmrgCASE_IND, 7399e0a2b6dfSmrgCASE_NEL, 7400e0a2b6dfSmrgCASE_GROUND_STATE, 7401e0a2b6dfSmrgCASE_GROUND_STATE, 7402e0a2b6dfSmrg/* 0x88 0x89 0x8a 0x8b */ 7403e0a2b6dfSmrgCASE_HTS, 7404e0a2b6dfSmrgCASE_GROUND_STATE, 7405e0a2b6dfSmrgCASE_GROUND_STATE, 7406e0a2b6dfSmrgCASE_GROUND_STATE, 7407e0a2b6dfSmrg/* 0x8c 0x8d 0x8e 0x8f */ 7408e0a2b6dfSmrgCASE_GROUND_STATE, 7409e0a2b6dfSmrgCASE_RI, 7410e0a2b6dfSmrgCASE_SS2, 7411e0a2b6dfSmrgCASE_SS3, 7412e0a2b6dfSmrg/* 0x90 0x91 0x92 0x93 */ 7413e0a2b6dfSmrgCASE_DCS, 7414e0a2b6dfSmrgCASE_GROUND_STATE, 7415e0a2b6dfSmrgCASE_GROUND_STATE, 7416e0a2b6dfSmrgCASE_GROUND_STATE, 7417e0a2b6dfSmrg/* 0x94 0x95 0x96 0x97 */ 7418e0a2b6dfSmrgCASE_GROUND_STATE, 7419e0a2b6dfSmrgCASE_GROUND_STATE, 7420e0a2b6dfSmrgCASE_SPA, 7421e0a2b6dfSmrgCASE_EPA, 7422e0a2b6dfSmrg/* 0x98 0x99 0x9a 0x9b */ 7423e0a2b6dfSmrgCASE_SOS, 7424e0a2b6dfSmrgCASE_GROUND_STATE, 7425e0a2b6dfSmrgCASE_DECID, 7426e0a2b6dfSmrgCASE_CSI_STATE, 7427e0a2b6dfSmrg/* 0x9c 0x9d 0x9e 0x9f */ 7428e0a2b6dfSmrgCASE_ST, 7429e0a2b6dfSmrgCASE_OSC, 7430e0a2b6dfSmrgCASE_PM, 7431e0a2b6dfSmrgCASE_APC, 7432e0a2b6dfSmrg/* nobreakspace exclamdown cent sterling */ 7433e0a2b6dfSmrgCASE_ESC_IGNORE, 7434e0a2b6dfSmrgCASE_ESC_IGNORE, 7435e0a2b6dfSmrgCASE_ESC_IGNORE, 7436e0a2b6dfSmrgCASE_ESC_IGNORE, 7437e0a2b6dfSmrg/* currency yen brokenbar section */ 7438e0a2b6dfSmrgCASE_ESC_IGNORE, 7439e0a2b6dfSmrgCASE_ESC_IGNORE, 7440e0a2b6dfSmrgCASE_ESC_IGNORE, 7441e0a2b6dfSmrgCASE_ESC_IGNORE, 7442e0a2b6dfSmrg/* diaeresis copyright ordfeminine guillemotleft */ 7443e0a2b6dfSmrgCASE_ESC_IGNORE, 7444e0a2b6dfSmrgCASE_ESC_IGNORE, 7445e0a2b6dfSmrgCASE_ESC_IGNORE, 7446e0a2b6dfSmrgCASE_ESC_IGNORE, 7447e0a2b6dfSmrg/* notsign hyphen registered macron */ 7448e0a2b6dfSmrgCASE_ESC_IGNORE, 7449e0a2b6dfSmrgCASE_ESC_IGNORE, 7450e0a2b6dfSmrgCASE_ESC_IGNORE, 7451e0a2b6dfSmrgCASE_ESC_IGNORE, 7452e0a2b6dfSmrg/* degree plusminus twosuperior threesuperior */ 7453894e0ac8SmrgCASE_GSETS_PERCENT, 7454e0a2b6dfSmrgCASE_GROUND_STATE, 7455894e0ac8SmrgCASE_GSETS_PERCENT, 7456894e0ac8SmrgCASE_GSETS_PERCENT, 7457e0a2b6dfSmrg/* acute mu paragraph periodcentered */ 7458e0a2b6dfSmrgCASE_GROUND_STATE, 7459894e0ac8SmrgCASE_GSETS_PERCENT, 7460894e0ac8SmrgCASE_GSETS_PERCENT, 7461e0a2b6dfSmrgCASE_GROUND_STATE, 7462e0a2b6dfSmrg/* cedilla onesuperior masculine guillemotright */ 7463e0a2b6dfSmrgCASE_GROUND_STATE, 7464e0a2b6dfSmrgCASE_GROUND_STATE, 7465e0a2b6dfSmrgCASE_GROUND_STATE, 7466e0a2b6dfSmrgCASE_GROUND_STATE, 7467e0a2b6dfSmrg/* onequarter onehalf threequarters questiondown */ 7468e0a2b6dfSmrgCASE_GROUND_STATE, 7469894e0ac8SmrgCASE_GSETS_PERCENT, 7470e0a2b6dfSmrgCASE_GROUND_STATE, 7471e0a2b6dfSmrgCASE_GROUND_STATE, 7472e0a2b6dfSmrg/* Agrave Aacute Acircumflex Atilde */ 7473e0a2b6dfSmrgCASE_GROUND_STATE, 7474894e0ac8SmrgCASE_GROUND_STATE, 7475894e0ac8SmrgCASE_GROUND_STATE, 7476e0a2b6dfSmrgCASE_GROUND_STATE, 7477e0a2b6dfSmrg/* Adiaeresis Aring AE Ccedilla */ 7478e0a2b6dfSmrgCASE_GROUND_STATE, 7479894e0ac8SmrgCASE_GROUND_STATE, 7480894e0ac8SmrgCASE_GROUND_STATE, 7481e0a2b6dfSmrgCASE_GROUND_STATE, 7482e0a2b6dfSmrg/* Egrave Eacute Ecircumflex Ediaeresis */ 7483e0a2b6dfSmrgCASE_GROUND_STATE, 7484e0a2b6dfSmrgCASE_GROUND_STATE, 7485e0a2b6dfSmrgCASE_GROUND_STATE, 7486e0a2b6dfSmrgCASE_GROUND_STATE, 7487e0a2b6dfSmrg/* Igrave Iacute Icircumflex Idiaeresis */ 7488e0a2b6dfSmrgCASE_GROUND_STATE, 7489894e0ac8SmrgCASE_GROUND_STATE, 7490e0a2b6dfSmrgCASE_GROUND_STATE, 7491e0a2b6dfSmrgCASE_GROUND_STATE, 7492e0a2b6dfSmrg/* Eth Ntilde Ograve Oacute */ 7493e0a2b6dfSmrgCASE_GROUND_STATE, 7494d522f475SmrgCASE_GROUND_STATE, 7495d522f475SmrgCASE_GROUND_STATE, 7496d522f475SmrgCASE_GROUND_STATE, 7497d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 7498d522f475SmrgCASE_GROUND_STATE, 7499d522f475SmrgCASE_GROUND_STATE, 7500d522f475SmrgCASE_GROUND_STATE, 7501d522f475SmrgCASE_GROUND_STATE, 7502d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 7503d522f475SmrgCASE_GROUND_STATE, 7504d522f475SmrgCASE_GROUND_STATE, 7505d522f475SmrgCASE_GROUND_STATE, 7506d522f475SmrgCASE_GROUND_STATE, 7507d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 7508d522f475SmrgCASE_GROUND_STATE, 7509d522f475SmrgCASE_GROUND_STATE, 7510d522f475SmrgCASE_GROUND_STATE, 7511d522f475SmrgCASE_GROUND_STATE, 7512d522f475Smrg/* agrave aacute acircumflex atilde */ 7513d522f475SmrgCASE_GROUND_STATE, 7514d522f475SmrgCASE_GROUND_STATE, 7515d522f475SmrgCASE_GROUND_STATE, 7516d522f475SmrgCASE_GROUND_STATE, 7517d522f475Smrg/* adiaeresis aring ae ccedilla */ 7518d522f475SmrgCASE_GROUND_STATE, 7519d522f475SmrgCASE_GROUND_STATE, 7520d522f475SmrgCASE_GROUND_STATE, 7521d522f475SmrgCASE_GROUND_STATE, 7522d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 7523d522f475SmrgCASE_GROUND_STATE, 7524d522f475SmrgCASE_GROUND_STATE, 7525d522f475SmrgCASE_GROUND_STATE, 7526d522f475SmrgCASE_GROUND_STATE, 7527d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 7528d522f475SmrgCASE_GROUND_STATE, 7529d522f475SmrgCASE_GROUND_STATE, 7530d522f475SmrgCASE_GROUND_STATE, 7531d522f475SmrgCASE_GROUND_STATE, 7532d522f475Smrg/* eth ntilde ograve oacute */ 7533d522f475SmrgCASE_GROUND_STATE, 7534d522f475SmrgCASE_GROUND_STATE, 7535d522f475SmrgCASE_GROUND_STATE, 7536d522f475SmrgCASE_GROUND_STATE, 7537d522f475Smrg/* ocircumflex otilde odiaeresis division */ 7538d522f475SmrgCASE_GROUND_STATE, 7539d522f475SmrgCASE_GROUND_STATE, 7540d522f475SmrgCASE_GROUND_STATE, 7541d522f475SmrgCASE_GROUND_STATE, 7542d522f475Smrg/* oslash ugrave uacute ucircumflex */ 7543d522f475SmrgCASE_GROUND_STATE, 7544d522f475SmrgCASE_GROUND_STATE, 7545d522f475SmrgCASE_GROUND_STATE, 7546d522f475SmrgCASE_GROUND_STATE, 7547d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 7548d522f475SmrgCASE_GROUND_STATE, 7549d522f475SmrgCASE_GROUND_STATE, 7550d522f475SmrgCASE_GROUND_STATE, 7551d522f475SmrgCASE_IGNORE, 7552d522f475Smrg}; 7553d522f475Smrg#endif /* OPT_WIDE_CHARS */ 7554d522f475Smrg 7555d522f475Smrg#if OPT_VT52_MODE 7556d522f475SmrgConst PARSE_T vt52_table[] = 7557d522f475Smrg{ 7558d522f475Smrg/* NUL SOH STX ETX */ 7559d522f475SmrgCASE_IGNORE, 7560d522f475SmrgCASE_IGNORE, 7561d522f475SmrgCASE_IGNORE, 7562d522f475SmrgCASE_IGNORE, 7563d522f475Smrg/* EOT ENQ ACK BEL */ 7564d522f475SmrgCASE_IGNORE, 7565d522f475SmrgCASE_ENQ, 7566d522f475SmrgCASE_IGNORE, 7567d522f475SmrgCASE_BELL, 7568d522f475Smrg/* BS HT NL VT */ 7569d522f475SmrgCASE_BS, 7570d522f475SmrgCASE_TAB, 7571d522f475SmrgCASE_VMOT, 7572d522f475SmrgCASE_VMOT, 75730bd37d32Smrg/* FF CR SO SI */ 7574d522f475SmrgCASE_VMOT, 7575d522f475SmrgCASE_CR, 7576d522f475SmrgCASE_IGNORE, 7577d522f475SmrgCASE_IGNORE, 7578d522f475Smrg/* DLE DC1 DC2 DC3 */ 7579d522f475SmrgCASE_IGNORE, 7580d522f475SmrgCASE_IGNORE, 7581d522f475SmrgCASE_IGNORE, 7582d522f475SmrgCASE_IGNORE, 7583d522f475Smrg/* DC4 NAK SYN ETB */ 7584d522f475SmrgCASE_IGNORE, 7585d522f475SmrgCASE_IGNORE, 7586d522f475SmrgCASE_IGNORE, 7587d522f475SmrgCASE_IGNORE, 7588d522f475Smrg/* CAN EM SUB ESC */ 7589d522f475SmrgCASE_GROUND_STATE, 7590d522f475SmrgCASE_IGNORE, 7591d522f475SmrgCASE_GROUND_STATE, 7592d522f475SmrgCASE_ESC, 7593d522f475Smrg/* FS GS RS US */ 7594d522f475SmrgCASE_IGNORE, 7595d522f475SmrgCASE_IGNORE, 7596d522f475SmrgCASE_IGNORE, 7597d522f475SmrgCASE_IGNORE, 7598d522f475Smrg/* SP ! " # */ 7599d522f475SmrgCASE_PRINT, 7600d522f475SmrgCASE_PRINT, 7601d522f475SmrgCASE_PRINT, 7602d522f475SmrgCASE_PRINT, 7603d522f475Smrg/* $ % & ' */ 7604d522f475SmrgCASE_PRINT, 7605d522f475SmrgCASE_PRINT, 7606d522f475SmrgCASE_PRINT, 7607d522f475SmrgCASE_PRINT, 7608d522f475Smrg/* ( ) * + */ 7609d522f475SmrgCASE_PRINT, 7610d522f475SmrgCASE_PRINT, 7611d522f475SmrgCASE_PRINT, 7612d522f475SmrgCASE_PRINT, 7613d522f475Smrg/* , - . / */ 7614d522f475SmrgCASE_PRINT, 7615d522f475SmrgCASE_PRINT, 7616d522f475SmrgCASE_PRINT, 7617d522f475SmrgCASE_PRINT, 7618d522f475Smrg/* 0 1 2 3 */ 7619d522f475SmrgCASE_PRINT, 7620d522f475SmrgCASE_PRINT, 7621d522f475SmrgCASE_PRINT, 7622d522f475SmrgCASE_PRINT, 7623d522f475Smrg/* 4 5 6 7 */ 7624d522f475SmrgCASE_PRINT, 7625d522f475SmrgCASE_PRINT, 7626d522f475SmrgCASE_PRINT, 7627d522f475SmrgCASE_PRINT, 7628d522f475Smrg/* 8 9 : ; */ 7629d522f475SmrgCASE_PRINT, 7630d522f475SmrgCASE_PRINT, 7631d522f475SmrgCASE_PRINT, 7632d522f475SmrgCASE_PRINT, 7633d522f475Smrg/* < = > ? */ 7634d522f475SmrgCASE_PRINT, 7635d522f475SmrgCASE_PRINT, 7636d522f475SmrgCASE_PRINT, 7637d522f475SmrgCASE_PRINT, 7638d522f475Smrg/* @ A B C */ 7639d522f475SmrgCASE_PRINT, 7640d522f475SmrgCASE_PRINT, 7641d522f475SmrgCASE_PRINT, 7642d522f475SmrgCASE_PRINT, 7643d522f475Smrg/* D E F G */ 7644d522f475SmrgCASE_PRINT, 7645d522f475SmrgCASE_PRINT, 7646d522f475SmrgCASE_PRINT, 7647d522f475SmrgCASE_PRINT, 7648d522f475Smrg/* H I J K */ 7649d522f475SmrgCASE_PRINT, 7650d522f475SmrgCASE_PRINT, 7651d522f475SmrgCASE_PRINT, 7652d522f475SmrgCASE_PRINT, 7653d522f475Smrg/* L M N O */ 7654d522f475SmrgCASE_PRINT, 7655d522f475SmrgCASE_PRINT, 7656d522f475SmrgCASE_PRINT, 7657d522f475SmrgCASE_PRINT, 7658d522f475Smrg/* P Q R S */ 7659d522f475SmrgCASE_PRINT, 7660d522f475SmrgCASE_PRINT, 7661d522f475SmrgCASE_PRINT, 7662d522f475SmrgCASE_PRINT, 7663d522f475Smrg/* T U V W */ 7664d522f475SmrgCASE_PRINT, 7665d522f475SmrgCASE_PRINT, 7666d522f475SmrgCASE_PRINT, 7667d522f475SmrgCASE_PRINT, 7668d522f475Smrg/* X Y Z [ */ 7669d522f475SmrgCASE_PRINT, 7670d522f475SmrgCASE_PRINT, 7671d522f475SmrgCASE_PRINT, 7672d522f475SmrgCASE_PRINT, 7673d522f475Smrg/* \ ] ^ _ */ 7674d522f475SmrgCASE_PRINT, 7675d522f475SmrgCASE_PRINT, 7676d522f475SmrgCASE_PRINT, 7677d522f475SmrgCASE_PRINT, 7678d522f475Smrg/* ` a b c */ 7679d522f475SmrgCASE_PRINT, 7680d522f475SmrgCASE_PRINT, 7681d522f475SmrgCASE_PRINT, 7682d522f475SmrgCASE_PRINT, 7683d522f475Smrg/* d e f g */ 7684d522f475SmrgCASE_PRINT, 7685d522f475SmrgCASE_PRINT, 7686d522f475SmrgCASE_PRINT, 7687d522f475SmrgCASE_PRINT, 7688d522f475Smrg/* h i j k */ 7689d522f475SmrgCASE_PRINT, 7690d522f475SmrgCASE_PRINT, 7691d522f475SmrgCASE_PRINT, 7692d522f475SmrgCASE_PRINT, 7693d522f475Smrg/* l m n o */ 7694d522f475SmrgCASE_PRINT, 7695d522f475SmrgCASE_PRINT, 7696d522f475SmrgCASE_PRINT, 7697d522f475SmrgCASE_PRINT, 7698d522f475Smrg/* p q r s */ 7699d522f475SmrgCASE_PRINT, 7700d522f475SmrgCASE_PRINT, 7701d522f475SmrgCASE_PRINT, 7702d522f475SmrgCASE_PRINT, 7703d522f475Smrg/* t u v w */ 7704d522f475SmrgCASE_PRINT, 7705d522f475SmrgCASE_PRINT, 7706d522f475SmrgCASE_PRINT, 7707d522f475SmrgCASE_PRINT, 7708d522f475Smrg/* x y z { */ 7709d522f475SmrgCASE_PRINT, 7710d522f475SmrgCASE_PRINT, 7711d522f475SmrgCASE_PRINT, 7712d522f475SmrgCASE_PRINT, 7713d522f475Smrg/* | } ~ DEL */ 7714d522f475SmrgCASE_PRINT, 7715d522f475SmrgCASE_PRINT, 7716d522f475SmrgCASE_PRINT, 7717d522f475SmrgCASE_IGNORE, 7718d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 7719d522f475SmrgCASE_IGNORE, 7720d522f475SmrgCASE_IGNORE, 7721d522f475SmrgCASE_IGNORE, 7722d522f475SmrgCASE_IGNORE, 7723d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 7724d522f475SmrgCASE_IGNORE, 7725d522f475SmrgCASE_IGNORE, 7726d522f475SmrgCASE_IGNORE, 7727d522f475SmrgCASE_IGNORE, 7728d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 7729d522f475SmrgCASE_IGNORE, 7730d522f475SmrgCASE_IGNORE, 7731d522f475SmrgCASE_IGNORE, 7732d522f475SmrgCASE_IGNORE, 7733d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 7734d522f475SmrgCASE_IGNORE, 7735d522f475SmrgCASE_IGNORE, 7736d522f475SmrgCASE_IGNORE, 7737d522f475SmrgCASE_IGNORE, 7738d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 7739d522f475SmrgCASE_IGNORE, 7740d522f475SmrgCASE_IGNORE, 7741d522f475SmrgCASE_IGNORE, 7742d522f475SmrgCASE_IGNORE, 7743d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 7744d522f475SmrgCASE_IGNORE, 7745d522f475SmrgCASE_IGNORE, 7746d522f475SmrgCASE_IGNORE, 7747d522f475SmrgCASE_IGNORE, 7748d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 7749d522f475SmrgCASE_IGNORE, 7750d522f475SmrgCASE_IGNORE, 7751d522f475SmrgCASE_IGNORE, 7752d522f475SmrgCASE_IGNORE, 7753d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 7754d522f475SmrgCASE_IGNORE, 7755d522f475SmrgCASE_IGNORE, 7756d522f475SmrgCASE_IGNORE, 7757d522f475SmrgCASE_IGNORE, 7758d522f475Smrg/* nobreakspace exclamdown cent sterling */ 7759d522f475SmrgCASE_IGNORE, 7760d522f475SmrgCASE_IGNORE, 7761d522f475SmrgCASE_IGNORE, 7762d522f475SmrgCASE_IGNORE, 7763d522f475Smrg/* currency yen brokenbar section */ 7764d522f475SmrgCASE_IGNORE, 7765d522f475SmrgCASE_IGNORE, 7766d522f475SmrgCASE_IGNORE, 7767d522f475SmrgCASE_IGNORE, 7768d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 7769d522f475SmrgCASE_IGNORE, 7770d522f475SmrgCASE_IGNORE, 7771d522f475SmrgCASE_IGNORE, 7772d522f475SmrgCASE_IGNORE, 7773d522f475Smrg/* notsign hyphen registered macron */ 7774d522f475SmrgCASE_IGNORE, 7775d522f475SmrgCASE_IGNORE, 7776d522f475SmrgCASE_IGNORE, 7777d522f475SmrgCASE_IGNORE, 7778d522f475Smrg/* degree plusminus twosuperior threesuperior */ 7779d522f475SmrgCASE_IGNORE, 7780d522f475SmrgCASE_IGNORE, 7781d522f475SmrgCASE_IGNORE, 7782d522f475SmrgCASE_IGNORE, 7783d522f475Smrg/* acute mu paragraph periodcentered */ 7784d522f475SmrgCASE_IGNORE, 7785d522f475SmrgCASE_IGNORE, 7786d522f475SmrgCASE_IGNORE, 7787d522f475SmrgCASE_IGNORE, 7788d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 7789d522f475SmrgCASE_IGNORE, 7790d522f475SmrgCASE_IGNORE, 7791d522f475SmrgCASE_IGNORE, 7792d522f475SmrgCASE_IGNORE, 7793d522f475Smrg/* onequarter onehalf threequarters questiondown */ 7794d522f475SmrgCASE_IGNORE, 7795d522f475SmrgCASE_IGNORE, 7796d522f475SmrgCASE_IGNORE, 7797d522f475SmrgCASE_IGNORE, 7798d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 7799d522f475SmrgCASE_IGNORE, 7800d522f475SmrgCASE_IGNORE, 7801d522f475SmrgCASE_IGNORE, 7802d522f475SmrgCASE_IGNORE, 7803d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 7804d522f475SmrgCASE_IGNORE, 7805d522f475SmrgCASE_IGNORE, 7806d522f475SmrgCASE_IGNORE, 7807d522f475SmrgCASE_IGNORE, 7808d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 7809d522f475SmrgCASE_IGNORE, 7810d522f475SmrgCASE_IGNORE, 7811d522f475SmrgCASE_IGNORE, 7812d522f475SmrgCASE_IGNORE, 7813d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 7814d522f475SmrgCASE_IGNORE, 7815d522f475SmrgCASE_IGNORE, 7816d522f475SmrgCASE_IGNORE, 7817d522f475SmrgCASE_IGNORE, 7818d522f475Smrg/* Eth Ntilde Ograve Oacute */ 7819d522f475SmrgCASE_IGNORE, 7820d522f475SmrgCASE_IGNORE, 7821d522f475SmrgCASE_IGNORE, 7822d522f475SmrgCASE_IGNORE, 7823d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 7824d522f475SmrgCASE_IGNORE, 7825d522f475SmrgCASE_IGNORE, 7826d522f475SmrgCASE_IGNORE, 7827d522f475SmrgCASE_IGNORE, 7828d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 7829d522f475SmrgCASE_IGNORE, 7830d522f475SmrgCASE_IGNORE, 7831d522f475SmrgCASE_IGNORE, 7832d522f475SmrgCASE_IGNORE, 7833d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 7834d522f475SmrgCASE_IGNORE, 7835d522f475SmrgCASE_IGNORE, 7836d522f475SmrgCASE_IGNORE, 7837d522f475SmrgCASE_IGNORE, 7838d522f475Smrg/* agrave aacute acircumflex atilde */ 7839d522f475SmrgCASE_IGNORE, 7840d522f475SmrgCASE_IGNORE, 7841d522f475SmrgCASE_IGNORE, 7842d522f475SmrgCASE_IGNORE, 7843d522f475Smrg/* adiaeresis aring ae ccedilla */ 7844d522f475SmrgCASE_IGNORE, 7845d522f475SmrgCASE_IGNORE, 7846d522f475SmrgCASE_IGNORE, 7847d522f475SmrgCASE_IGNORE, 7848d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 7849d522f475SmrgCASE_IGNORE, 7850d522f475SmrgCASE_IGNORE, 7851d522f475SmrgCASE_IGNORE, 7852d522f475SmrgCASE_IGNORE, 7853d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 7854d522f475SmrgCASE_IGNORE, 7855d522f475SmrgCASE_IGNORE, 7856d522f475SmrgCASE_IGNORE, 7857d522f475SmrgCASE_IGNORE, 7858d522f475Smrg/* eth ntilde ograve oacute */ 7859d522f475SmrgCASE_IGNORE, 7860d522f475SmrgCASE_IGNORE, 7861d522f475SmrgCASE_IGNORE, 7862d522f475SmrgCASE_IGNORE, 7863d522f475Smrg/* ocircumflex otilde odiaeresis division */ 7864d522f475SmrgCASE_IGNORE, 7865d522f475SmrgCASE_IGNORE, 7866d522f475SmrgCASE_IGNORE, 7867d522f475SmrgCASE_IGNORE, 7868d522f475Smrg/* oslash ugrave uacute ucircumflex */ 7869d522f475SmrgCASE_IGNORE, 7870d522f475SmrgCASE_IGNORE, 7871d522f475SmrgCASE_IGNORE, 7872d522f475SmrgCASE_IGNORE, 7873d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 7874d522f475SmrgCASE_IGNORE, 7875d522f475SmrgCASE_IGNORE, 7876d522f475SmrgCASE_IGNORE, 7877d522f475SmrgCASE_IGNORE, 7878d522f475Smrg}; 7879d522f475Smrg 7880d522f475SmrgConst PARSE_T vt52_esc_table[] = 7881d522f475Smrg{ 7882d522f475Smrg/* NUL SOH STX ETX */ 7883d522f475SmrgCASE_IGNORE, 7884d522f475SmrgCASE_IGNORE, 7885d522f475SmrgCASE_IGNORE, 7886d522f475SmrgCASE_IGNORE, 7887d522f475Smrg/* EOT ENQ ACK BEL */ 7888d522f475SmrgCASE_IGNORE, 7889d522f475SmrgCASE_ENQ, 7890d522f475SmrgCASE_IGNORE, 7891d522f475SmrgCASE_BELL, 7892d522f475Smrg/* BS HT NL VT */ 7893d522f475SmrgCASE_BS, 7894d522f475SmrgCASE_TAB, 7895d522f475SmrgCASE_VMOT, 7896d522f475SmrgCASE_VMOT, 78970bd37d32Smrg/* FF CR SO SI */ 7898d522f475SmrgCASE_VMOT, 7899d522f475SmrgCASE_CR, 7900d522f475SmrgCASE_IGNORE, 7901d522f475SmrgCASE_IGNORE, 7902d522f475Smrg/* DLE DC1 DC2 DC3 */ 7903d522f475SmrgCASE_IGNORE, 7904d522f475SmrgCASE_IGNORE, 7905d522f475SmrgCASE_IGNORE, 7906d522f475SmrgCASE_IGNORE, 7907d522f475Smrg/* DC4 NAK SYN ETB */ 7908d522f475SmrgCASE_IGNORE, 7909d522f475SmrgCASE_IGNORE, 7910d522f475SmrgCASE_IGNORE, 7911d522f475SmrgCASE_IGNORE, 7912d522f475Smrg/* CAN EM SUB ESC */ 7913d522f475SmrgCASE_GROUND_STATE, 7914d522f475SmrgCASE_IGNORE, 7915d522f475SmrgCASE_GROUND_STATE, 7916d522f475SmrgCASE_ESC, 7917d522f475Smrg/* FS GS RS US */ 7918d522f475SmrgCASE_IGNORE, 7919d522f475SmrgCASE_IGNORE, 7920d522f475SmrgCASE_IGNORE, 7921d522f475SmrgCASE_IGNORE, 7922d522f475Smrg/* SP ! " # */ 7923d522f475SmrgCASE_VT52_IGNORE, 7924d522f475SmrgCASE_VT52_IGNORE, 7925d522f475SmrgCASE_VT52_IGNORE, 7926d522f475SmrgCASE_VT52_IGNORE, 7927d522f475Smrg/* $ % & ' */ 7928d522f475SmrgCASE_VT52_IGNORE, 7929d522f475SmrgCASE_VT52_IGNORE, 7930d522f475SmrgCASE_VT52_IGNORE, 7931d522f475SmrgCASE_VT52_IGNORE, 7932d522f475Smrg/* ( ) * + */ 7933d522f475SmrgCASE_VT52_IGNORE, 7934d522f475SmrgCASE_VT52_IGNORE, 7935d522f475SmrgCASE_VT52_IGNORE, 7936d522f475SmrgCASE_VT52_IGNORE, 7937d522f475Smrg/* , - . / */ 7938d522f475SmrgCASE_VT52_IGNORE, 7939d522f475SmrgCASE_VT52_IGNORE, 7940d522f475SmrgCASE_VT52_IGNORE, 7941d522f475SmrgCASE_VT52_IGNORE, 7942d522f475Smrg/* 0 1 2 3 */ 7943d522f475SmrgCASE_GROUND_STATE, 7944d522f475SmrgCASE_GROUND_STATE, 7945d522f475SmrgCASE_GROUND_STATE, 7946d522f475SmrgCASE_GROUND_STATE, 7947d522f475Smrg/* 4 5 6 7 */ 7948d522f475SmrgCASE_GROUND_STATE, 7949d522f475SmrgCASE_GROUND_STATE, 7950d522f475SmrgCASE_GROUND_STATE, 7951d522f475SmrgCASE_GROUND_STATE, 7952d522f475Smrg/* 8 9 : ; */ 7953d522f475SmrgCASE_GROUND_STATE, 7954d522f475SmrgCASE_GROUND_STATE, 7955d522f475SmrgCASE_GROUND_STATE, 7956d522f475SmrgCASE_GROUND_STATE, 7957d522f475Smrg/* < = > ? */ 7958d522f475SmrgCASE_VT52_FINISH, 7959d522f475SmrgCASE_DECKPAM, 7960d522f475SmrgCASE_DECKPNM, 7961d522f475SmrgCASE_GROUND_STATE, 7962d522f475Smrg/* @ A B C */ 7963d522f475SmrgCASE_GROUND_STATE, 7964d522f475SmrgCASE_CUU, 7965d522f475SmrgCASE_CUD, 7966d522f475SmrgCASE_CUF, 7967d522f475Smrg/* D E F G */ 7968d522f475SmrgCASE_CUB, 7969d522f475SmrgCASE_GROUND_STATE, 7970d522f475SmrgCASE_SO, 7971d522f475SmrgCASE_SI, 7972d522f475Smrg/* H I J K */ 7973d522f475SmrgCASE_CUP, 7974d522f475SmrgCASE_RI, 7975d522f475SmrgCASE_ED, 7976d522f475SmrgCASE_EL, 7977d522f475Smrg/* L M N O */ 7978d522f475SmrgCASE_GROUND_STATE, 7979d522f475SmrgCASE_GROUND_STATE, 7980d522f475SmrgCASE_GROUND_STATE, 7981d522f475SmrgCASE_GROUND_STATE, 7982d522f475Smrg/* P Q R S */ 7983d522f475SmrgCASE_GROUND_STATE, 7984d522f475SmrgCASE_GROUND_STATE, 7985d522f475SmrgCASE_GROUND_STATE, 7986d522f475SmrgCASE_GROUND_STATE, 7987d522f475Smrg/* T U V W */ 7988d522f475SmrgCASE_GROUND_STATE, 7989d522f475SmrgCASE_GROUND_STATE, 7990d522f475SmrgCASE_GROUND_STATE, 7991d522f475SmrgCASE_GROUND_STATE, 7992d522f475Smrg/* X Y Z [ */ 7993d522f475SmrgCASE_GROUND_STATE, 7994d522f475SmrgCASE_VT52_CUP, 7995d522f475SmrgCASE_DECID, 7996d522f475SmrgCASE_GROUND_STATE, 7997d522f475Smrg/* \ ] ^ _ */ 7998d522f475SmrgCASE_GROUND_STATE, 7999d522f475SmrgCASE_GROUND_STATE, 8000d522f475SmrgCASE_GROUND_STATE, 8001d522f475SmrgCASE_GROUND_STATE, 8002d522f475Smrg/* ` a b c */ 8003d522f475SmrgCASE_GROUND_STATE, 8004d522f475SmrgCASE_GROUND_STATE, 8005d522f475SmrgCASE_GROUND_STATE, 8006d522f475SmrgCASE_GROUND_STATE, 8007d522f475Smrg/* d e f g */ 8008d522f475SmrgCASE_GROUND_STATE, 8009d522f475SmrgCASE_GROUND_STATE, 8010d522f475SmrgCASE_GROUND_STATE, 8011d522f475SmrgCASE_GROUND_STATE, 8012d522f475Smrg/* h i j k */ 8013d522f475SmrgCASE_GROUND_STATE, 8014d522f475SmrgCASE_GROUND_STATE, 8015d522f475SmrgCASE_GROUND_STATE, 8016d522f475SmrgCASE_GROUND_STATE, 8017d522f475Smrg/* l m n o */ 8018d522f475SmrgCASE_GROUND_STATE, 8019d522f475SmrgCASE_GROUND_STATE, 8020d522f475SmrgCASE_GROUND_STATE, 8021d522f475SmrgCASE_GROUND_STATE, 8022d522f475Smrg/* p q r s */ 8023d522f475SmrgCASE_GROUND_STATE, 8024d522f475SmrgCASE_GROUND_STATE, 8025d522f475SmrgCASE_GROUND_STATE, 8026d522f475SmrgCASE_GROUND_STATE, 8027d522f475Smrg/* t u v w */ 8028d522f475SmrgCASE_GROUND_STATE, 8029d522f475SmrgCASE_GROUND_STATE, 8030d522f475SmrgCASE_GROUND_STATE, 8031d522f475SmrgCASE_GROUND_STATE, 8032d522f475Smrg/* x y z { */ 8033d522f475SmrgCASE_GROUND_STATE, 8034d522f475SmrgCASE_GROUND_STATE, 8035d522f475SmrgCASE_GROUND_STATE, 8036d522f475SmrgCASE_GROUND_STATE, 8037d522f475Smrg/* | } ~ DEL */ 8038d522f475SmrgCASE_GROUND_STATE, 8039d522f475SmrgCASE_GROUND_STATE, 8040d522f475SmrgCASE_GROUND_STATE, 8041d522f475SmrgCASE_IGNORE, 8042d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 8043d522f475SmrgCASE_IGNORE, 8044d522f475SmrgCASE_IGNORE, 8045d522f475SmrgCASE_IGNORE, 8046d522f475SmrgCASE_IGNORE, 8047d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 8048d522f475SmrgCASE_IGNORE, 8049d522f475SmrgCASE_IGNORE, 8050d522f475SmrgCASE_IGNORE, 8051d522f475SmrgCASE_IGNORE, 8052d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 8053d522f475SmrgCASE_IGNORE, 8054d522f475SmrgCASE_IGNORE, 8055d522f475SmrgCASE_IGNORE, 8056d522f475SmrgCASE_IGNORE, 8057d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 8058d522f475SmrgCASE_IGNORE, 8059d522f475SmrgCASE_IGNORE, 8060d522f475SmrgCASE_IGNORE, 8061d522f475SmrgCASE_IGNORE, 8062d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 8063d522f475SmrgCASE_IGNORE, 8064d522f475SmrgCASE_IGNORE, 8065d522f475SmrgCASE_IGNORE, 8066d522f475SmrgCASE_IGNORE, 8067d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 8068d522f475SmrgCASE_IGNORE, 8069d522f475SmrgCASE_IGNORE, 8070d522f475SmrgCASE_IGNORE, 8071d522f475SmrgCASE_IGNORE, 8072d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 8073d522f475SmrgCASE_IGNORE, 8074d522f475SmrgCASE_IGNORE, 8075d522f475SmrgCASE_IGNORE, 8076d522f475SmrgCASE_IGNORE, 8077d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 8078d522f475SmrgCASE_IGNORE, 8079d522f475SmrgCASE_IGNORE, 8080d522f475SmrgCASE_IGNORE, 8081d522f475SmrgCASE_IGNORE, 8082d522f475Smrg/* nobreakspace exclamdown cent sterling */ 8083d522f475SmrgCASE_IGNORE, 8084d522f475SmrgCASE_IGNORE, 8085d522f475SmrgCASE_IGNORE, 8086d522f475SmrgCASE_IGNORE, 8087d522f475Smrg/* currency yen brokenbar section */ 8088d522f475SmrgCASE_IGNORE, 8089d522f475SmrgCASE_IGNORE, 8090d522f475SmrgCASE_IGNORE, 8091d522f475SmrgCASE_IGNORE, 8092d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 8093d522f475SmrgCASE_IGNORE, 8094d522f475SmrgCASE_IGNORE, 8095d522f475SmrgCASE_IGNORE, 8096d522f475SmrgCASE_IGNORE, 8097d522f475Smrg/* notsign hyphen registered macron */ 8098d522f475SmrgCASE_IGNORE, 8099d522f475SmrgCASE_IGNORE, 8100d522f475SmrgCASE_IGNORE, 8101d522f475SmrgCASE_IGNORE, 8102d522f475Smrg/* degree plusminus twosuperior threesuperior */ 8103d522f475SmrgCASE_IGNORE, 8104d522f475SmrgCASE_IGNORE, 8105d522f475SmrgCASE_IGNORE, 8106d522f475SmrgCASE_IGNORE, 8107d522f475Smrg/* acute mu paragraph periodcentered */ 8108d522f475SmrgCASE_IGNORE, 8109d522f475SmrgCASE_IGNORE, 8110d522f475SmrgCASE_IGNORE, 8111d522f475SmrgCASE_IGNORE, 8112d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 8113d522f475SmrgCASE_IGNORE, 8114d522f475SmrgCASE_IGNORE, 8115d522f475SmrgCASE_IGNORE, 8116d522f475SmrgCASE_IGNORE, 8117d522f475Smrg/* onequarter onehalf threequarters questiondown */ 8118d522f475SmrgCASE_IGNORE, 8119d522f475SmrgCASE_IGNORE, 8120d522f475SmrgCASE_IGNORE, 8121d522f475SmrgCASE_IGNORE, 8122d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 8123d522f475SmrgCASE_IGNORE, 8124d522f475SmrgCASE_IGNORE, 8125d522f475SmrgCASE_IGNORE, 8126d522f475SmrgCASE_IGNORE, 8127d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 8128d522f475SmrgCASE_IGNORE, 8129d522f475SmrgCASE_IGNORE, 8130d522f475SmrgCASE_IGNORE, 8131d522f475SmrgCASE_IGNORE, 8132d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 8133d522f475SmrgCASE_IGNORE, 8134d522f475SmrgCASE_IGNORE, 8135d522f475SmrgCASE_IGNORE, 8136d522f475SmrgCASE_IGNORE, 8137d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 8138d522f475SmrgCASE_IGNORE, 8139d522f475SmrgCASE_IGNORE, 8140d522f475SmrgCASE_IGNORE, 8141d522f475SmrgCASE_IGNORE, 8142d522f475Smrg/* Eth Ntilde Ograve Oacute */ 8143d522f475SmrgCASE_IGNORE, 8144d522f475SmrgCASE_IGNORE, 8145d522f475SmrgCASE_IGNORE, 8146d522f475SmrgCASE_IGNORE, 8147d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 8148d522f475SmrgCASE_IGNORE, 8149d522f475SmrgCASE_IGNORE, 8150d522f475SmrgCASE_IGNORE, 8151d522f475SmrgCASE_IGNORE, 8152d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 8153d522f475SmrgCASE_IGNORE, 8154d522f475SmrgCASE_IGNORE, 8155d522f475SmrgCASE_IGNORE, 8156d522f475SmrgCASE_IGNORE, 8157d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 8158d522f475SmrgCASE_IGNORE, 8159d522f475SmrgCASE_IGNORE, 8160d522f475SmrgCASE_IGNORE, 8161d522f475SmrgCASE_IGNORE, 8162d522f475Smrg/* agrave aacute acircumflex atilde */ 8163d522f475SmrgCASE_IGNORE, 8164d522f475SmrgCASE_IGNORE, 8165d522f475SmrgCASE_IGNORE, 8166d522f475SmrgCASE_IGNORE, 8167d522f475Smrg/* adiaeresis aring ae ccedilla */ 8168d522f475SmrgCASE_IGNORE, 8169d522f475SmrgCASE_IGNORE, 8170d522f475SmrgCASE_IGNORE, 8171d522f475SmrgCASE_IGNORE, 8172d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 8173d522f475SmrgCASE_IGNORE, 8174d522f475SmrgCASE_IGNORE, 8175d522f475SmrgCASE_IGNORE, 8176d522f475SmrgCASE_IGNORE, 8177d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 8178d522f475SmrgCASE_IGNORE, 8179d522f475SmrgCASE_IGNORE, 8180d522f475SmrgCASE_IGNORE, 8181d522f475SmrgCASE_IGNORE, 8182d522f475Smrg/* eth ntilde ograve oacute */ 8183d522f475SmrgCASE_IGNORE, 8184d522f475SmrgCASE_IGNORE, 8185d522f475SmrgCASE_IGNORE, 8186d522f475SmrgCASE_IGNORE, 8187d522f475Smrg/* ocircumflex otilde odiaeresis division */ 8188d522f475SmrgCASE_IGNORE, 8189d522f475SmrgCASE_IGNORE, 8190d522f475SmrgCASE_IGNORE, 8191d522f475SmrgCASE_IGNORE, 8192d522f475Smrg/* oslash ugrave uacute ucircumflex */ 8193d522f475SmrgCASE_IGNORE, 8194d522f475SmrgCASE_IGNORE, 8195d522f475SmrgCASE_IGNORE, 8196d522f475SmrgCASE_IGNORE, 8197d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 8198d522f475SmrgCASE_IGNORE, 8199d522f475SmrgCASE_IGNORE, 8200d522f475SmrgCASE_IGNORE, 8201d522f475SmrgCASE_IGNORE, 8202d522f475Smrg}; 8203d522f475Smrg 8204d522f475SmrgConst PARSE_T vt52_ignore_table[] = 8205d522f475Smrg{ 8206d522f475Smrg/* NUL SOH STX ETX */ 8207d522f475SmrgCASE_IGNORE, 8208d522f475SmrgCASE_IGNORE, 8209d522f475SmrgCASE_IGNORE, 8210d522f475SmrgCASE_IGNORE, 8211d522f475Smrg/* EOT ENQ ACK BEL */ 8212d522f475SmrgCASE_IGNORE, 8213d522f475SmrgCASE_ENQ, 8214d522f475SmrgCASE_IGNORE, 8215d522f475SmrgCASE_BELL, 8216d522f475Smrg/* BS HT NL VT */ 8217d522f475SmrgCASE_BS, 8218d522f475SmrgCASE_TAB, 8219d522f475SmrgCASE_VMOT, 8220d522f475SmrgCASE_VMOT, 82210bd37d32Smrg/* FF CR SO SI */ 8222d522f475SmrgCASE_VMOT, 8223d522f475SmrgCASE_CR, 8224d522f475SmrgCASE_IGNORE, 8225d522f475SmrgCASE_IGNORE, 8226d522f475Smrg/* DLE DC1 DC2 DC3 */ 8227d522f475SmrgCASE_IGNORE, 8228d522f475SmrgCASE_IGNORE, 8229d522f475SmrgCASE_IGNORE, 8230d522f475SmrgCASE_IGNORE, 8231d522f475Smrg/* DC4 NAK SYN ETB */ 8232d522f475SmrgCASE_IGNORE, 8233d522f475SmrgCASE_IGNORE, 8234d522f475SmrgCASE_IGNORE, 8235d522f475SmrgCASE_IGNORE, 8236d522f475Smrg/* CAN EM SUB ESC */ 8237d522f475SmrgCASE_GROUND_STATE, 8238d522f475SmrgCASE_IGNORE, 8239d522f475SmrgCASE_GROUND_STATE, 8240d522f475SmrgCASE_ESC, 8241d522f475Smrg/* FS GS RS US */ 8242d522f475SmrgCASE_IGNORE, 8243d522f475SmrgCASE_IGNORE, 8244d522f475SmrgCASE_IGNORE, 8245d522f475SmrgCASE_IGNORE, 8246d522f475Smrg/* SP ! " # */ 8247d522f475SmrgCASE_IGNORE, 8248d522f475SmrgCASE_IGNORE, 8249d522f475SmrgCASE_IGNORE, 8250d522f475SmrgCASE_IGNORE, 8251d522f475Smrg/* $ % & ' */ 8252d522f475SmrgCASE_IGNORE, 8253d522f475SmrgCASE_IGNORE, 8254d522f475SmrgCASE_IGNORE, 8255d522f475SmrgCASE_IGNORE, 8256d522f475Smrg/* ( ) * + */ 8257d522f475SmrgCASE_IGNORE, 8258d522f475SmrgCASE_IGNORE, 8259d522f475SmrgCASE_IGNORE, 8260d522f475SmrgCASE_IGNORE, 8261d522f475Smrg/* , - . / */ 8262d522f475SmrgCASE_IGNORE, 8263d522f475SmrgCASE_IGNORE, 8264d522f475SmrgCASE_IGNORE, 8265d522f475SmrgCASE_IGNORE, 8266d522f475Smrg/* 0 1 2 3 */ 8267d522f475SmrgCASE_GROUND_STATE, 8268d522f475SmrgCASE_GROUND_STATE, 8269d522f475SmrgCASE_GROUND_STATE, 8270d522f475SmrgCASE_GROUND_STATE, 8271d522f475Smrg/* 4 5 6 7 */ 8272d522f475SmrgCASE_GROUND_STATE, 8273d522f475SmrgCASE_GROUND_STATE, 8274d522f475SmrgCASE_GROUND_STATE, 8275d522f475SmrgCASE_GROUND_STATE, 8276d522f475Smrg/* 8 9 : ; */ 8277d522f475SmrgCASE_GROUND_STATE, 8278d522f475SmrgCASE_GROUND_STATE, 8279d522f475SmrgCASE_GROUND_STATE, 8280d522f475SmrgCASE_GROUND_STATE, 8281d522f475Smrg/* < = > ? */ 8282d522f475SmrgCASE_GROUND_STATE, 8283d522f475SmrgCASE_GROUND_STATE, 8284d522f475SmrgCASE_GROUND_STATE, 8285d522f475SmrgCASE_GROUND_STATE, 8286d522f475Smrg/* @ A B C */ 8287d522f475SmrgCASE_GROUND_STATE, 8288d522f475SmrgCASE_GROUND_STATE, 8289d522f475SmrgCASE_GROUND_STATE, 8290d522f475SmrgCASE_GROUND_STATE, 8291d522f475Smrg/* D E F G */ 8292d522f475SmrgCASE_GROUND_STATE, 8293d522f475SmrgCASE_GROUND_STATE, 8294d522f475SmrgCASE_GROUND_STATE, 8295d522f475SmrgCASE_GROUND_STATE, 8296d522f475Smrg/* H I J K */ 8297d522f475SmrgCASE_GROUND_STATE, 8298d522f475SmrgCASE_GROUND_STATE, 8299d522f475SmrgCASE_GROUND_STATE, 8300d522f475SmrgCASE_GROUND_STATE, 8301d522f475Smrg/* L M N O */ 8302d522f475SmrgCASE_GROUND_STATE, 8303d522f475SmrgCASE_GROUND_STATE, 8304d522f475SmrgCASE_GROUND_STATE, 8305d522f475SmrgCASE_GROUND_STATE, 8306d522f475Smrg/* P Q R S */ 8307d522f475SmrgCASE_GROUND_STATE, 8308d522f475SmrgCASE_GROUND_STATE, 8309d522f475SmrgCASE_GROUND_STATE, 8310d522f475SmrgCASE_GROUND_STATE, 8311d522f475Smrg/* T U V W */ 8312d522f475SmrgCASE_GROUND_STATE, 8313d522f475SmrgCASE_GROUND_STATE, 8314d522f475SmrgCASE_GROUND_STATE, 8315d522f475SmrgCASE_GROUND_STATE, 8316d522f475Smrg/* X Y Z [ */ 8317d522f475SmrgCASE_GROUND_STATE, 8318d522f475SmrgCASE_GROUND_STATE, 8319d522f475SmrgCASE_GROUND_STATE, 8320d522f475SmrgCASE_GROUND_STATE, 8321d522f475Smrg/* \ ] ^ _ */ 8322d522f475SmrgCASE_GROUND_STATE, 8323d522f475SmrgCASE_GROUND_STATE, 8324d522f475SmrgCASE_GROUND_STATE, 8325d522f475SmrgCASE_GROUND_STATE, 8326d522f475Smrg/* ` a b c */ 8327d522f475SmrgCASE_GROUND_STATE, 8328d522f475SmrgCASE_GROUND_STATE, 8329d522f475SmrgCASE_GROUND_STATE, 8330d522f475SmrgCASE_GROUND_STATE, 8331d522f475Smrg/* d e f g */ 8332d522f475SmrgCASE_GROUND_STATE, 8333d522f475SmrgCASE_GROUND_STATE, 8334d522f475SmrgCASE_GROUND_STATE, 8335d522f475SmrgCASE_GROUND_STATE, 8336d522f475Smrg/* h i j k */ 8337d522f475SmrgCASE_GROUND_STATE, 8338d522f475SmrgCASE_GROUND_STATE, 8339d522f475SmrgCASE_GROUND_STATE, 8340d522f475SmrgCASE_GROUND_STATE, 8341d522f475Smrg/* l m n o */ 8342d522f475SmrgCASE_GROUND_STATE, 8343d522f475SmrgCASE_GROUND_STATE, 8344d522f475SmrgCASE_GROUND_STATE, 8345d522f475SmrgCASE_GROUND_STATE, 8346d522f475Smrg/* p q r s */ 8347d522f475SmrgCASE_GROUND_STATE, 8348d522f475SmrgCASE_GROUND_STATE, 8349d522f475SmrgCASE_GROUND_STATE, 8350d522f475SmrgCASE_GROUND_STATE, 8351d522f475Smrg/* t u v w */ 8352d522f475SmrgCASE_GROUND_STATE, 8353d522f475SmrgCASE_GROUND_STATE, 8354d522f475SmrgCASE_GROUND_STATE, 8355d522f475SmrgCASE_GROUND_STATE, 8356d522f475Smrg/* x y z { */ 8357d522f475SmrgCASE_GROUND_STATE, 8358d522f475SmrgCASE_GROUND_STATE, 8359d522f475SmrgCASE_GROUND_STATE, 8360d522f475SmrgCASE_GROUND_STATE, 8361d522f475Smrg/* | } ~ DEL */ 8362d522f475SmrgCASE_GROUND_STATE, 8363d522f475SmrgCASE_GROUND_STATE, 8364d522f475SmrgCASE_GROUND_STATE, 8365d522f475SmrgCASE_IGNORE, 8366d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 8367d522f475SmrgCASE_IGNORE, 8368d522f475SmrgCASE_IGNORE, 8369d522f475SmrgCASE_IGNORE, 8370d522f475SmrgCASE_IGNORE, 8371d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 8372d522f475SmrgCASE_IGNORE, 8373d522f475SmrgCASE_IGNORE, 8374d522f475SmrgCASE_IGNORE, 8375d522f475SmrgCASE_IGNORE, 8376d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 8377d522f475SmrgCASE_IGNORE, 8378d522f475SmrgCASE_IGNORE, 8379d522f475SmrgCASE_IGNORE, 8380d522f475SmrgCASE_IGNORE, 8381d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 8382d522f475SmrgCASE_IGNORE, 8383d522f475SmrgCASE_IGNORE, 8384d522f475SmrgCASE_IGNORE, 8385d522f475SmrgCASE_IGNORE, 8386d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 8387d522f475SmrgCASE_IGNORE, 8388d522f475SmrgCASE_IGNORE, 8389d522f475SmrgCASE_IGNORE, 8390d522f475SmrgCASE_IGNORE, 8391d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 8392d522f475SmrgCASE_IGNORE, 8393d522f475SmrgCASE_IGNORE, 8394d522f475SmrgCASE_IGNORE, 8395d522f475SmrgCASE_IGNORE, 8396d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 8397d522f475SmrgCASE_IGNORE, 8398d522f475SmrgCASE_IGNORE, 8399d522f475SmrgCASE_IGNORE, 8400d522f475SmrgCASE_IGNORE, 8401d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 8402d522f475SmrgCASE_IGNORE, 8403d522f475SmrgCASE_IGNORE, 8404d522f475SmrgCASE_IGNORE, 8405d522f475SmrgCASE_IGNORE, 8406d522f475Smrg/* nobreakspace exclamdown cent sterling */ 8407d522f475SmrgCASE_IGNORE, 8408d522f475SmrgCASE_IGNORE, 8409d522f475SmrgCASE_IGNORE, 8410d522f475SmrgCASE_IGNORE, 8411d522f475Smrg/* currency yen brokenbar section */ 8412d522f475SmrgCASE_IGNORE, 8413d522f475SmrgCASE_IGNORE, 8414d522f475SmrgCASE_IGNORE, 8415d522f475SmrgCASE_IGNORE, 8416d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 8417d522f475SmrgCASE_IGNORE, 8418d522f475SmrgCASE_IGNORE, 8419d522f475SmrgCASE_IGNORE, 8420d522f475SmrgCASE_IGNORE, 8421d522f475Smrg/* notsign hyphen registered macron */ 8422d522f475SmrgCASE_IGNORE, 8423d522f475SmrgCASE_IGNORE, 8424d522f475SmrgCASE_IGNORE, 8425d522f475SmrgCASE_IGNORE, 8426d522f475Smrg/* degree plusminus twosuperior threesuperior */ 8427d522f475SmrgCASE_IGNORE, 8428d522f475SmrgCASE_IGNORE, 8429d522f475SmrgCASE_IGNORE, 8430d522f475SmrgCASE_IGNORE, 8431d522f475Smrg/* acute mu paragraph periodcentered */ 8432d522f475SmrgCASE_IGNORE, 8433d522f475SmrgCASE_IGNORE, 8434d522f475SmrgCASE_IGNORE, 8435d522f475SmrgCASE_IGNORE, 8436d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 8437d522f475SmrgCASE_IGNORE, 8438d522f475SmrgCASE_IGNORE, 8439d522f475SmrgCASE_IGNORE, 8440d522f475SmrgCASE_IGNORE, 8441d522f475Smrg/* onequarter onehalf threequarters questiondown */ 8442d522f475SmrgCASE_IGNORE, 8443d522f475SmrgCASE_IGNORE, 8444d522f475SmrgCASE_IGNORE, 8445d522f475SmrgCASE_IGNORE, 8446d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 8447d522f475SmrgCASE_IGNORE, 8448d522f475SmrgCASE_IGNORE, 8449d522f475SmrgCASE_IGNORE, 8450d522f475SmrgCASE_IGNORE, 8451d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 8452d522f475SmrgCASE_IGNORE, 8453d522f475SmrgCASE_IGNORE, 8454d522f475SmrgCASE_IGNORE, 8455d522f475SmrgCASE_IGNORE, 8456d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 8457d522f475SmrgCASE_IGNORE, 8458d522f475SmrgCASE_IGNORE, 8459d522f475SmrgCASE_IGNORE, 8460d522f475SmrgCASE_IGNORE, 8461d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 8462d522f475SmrgCASE_IGNORE, 8463d522f475SmrgCASE_IGNORE, 8464d522f475SmrgCASE_IGNORE, 8465d522f475SmrgCASE_IGNORE, 8466d522f475Smrg/* Eth Ntilde Ograve Oacute */ 8467d522f475SmrgCASE_IGNORE, 8468d522f475SmrgCASE_IGNORE, 8469d522f475SmrgCASE_IGNORE, 8470d522f475SmrgCASE_IGNORE, 8471d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 8472d522f475SmrgCASE_IGNORE, 8473d522f475SmrgCASE_IGNORE, 8474d522f475SmrgCASE_IGNORE, 8475d522f475SmrgCASE_IGNORE, 8476d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 8477d522f475SmrgCASE_IGNORE, 8478d522f475SmrgCASE_IGNORE, 8479d522f475SmrgCASE_IGNORE, 8480d522f475SmrgCASE_IGNORE, 8481d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 8482d522f475SmrgCASE_IGNORE, 8483d522f475SmrgCASE_IGNORE, 8484d522f475SmrgCASE_IGNORE, 8485d522f475SmrgCASE_IGNORE, 8486d522f475Smrg/* agrave aacute acircumflex atilde */ 8487d522f475SmrgCASE_IGNORE, 8488d522f475SmrgCASE_IGNORE, 8489d522f475SmrgCASE_IGNORE, 8490d522f475SmrgCASE_IGNORE, 8491d522f475Smrg/* adiaeresis aring ae ccedilla */ 8492d522f475SmrgCASE_IGNORE, 8493d522f475SmrgCASE_IGNORE, 8494d522f475SmrgCASE_IGNORE, 8495d522f475SmrgCASE_IGNORE, 8496d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 8497d522f475SmrgCASE_IGNORE, 8498d522f475SmrgCASE_IGNORE, 8499d522f475SmrgCASE_IGNORE, 8500d522f475SmrgCASE_IGNORE, 8501d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 8502d522f475SmrgCASE_IGNORE, 8503d522f475SmrgCASE_IGNORE, 8504d522f475SmrgCASE_IGNORE, 8505d522f475SmrgCASE_IGNORE, 8506d522f475Smrg/* eth ntilde ograve oacute */ 8507d522f475SmrgCASE_IGNORE, 8508d522f475SmrgCASE_IGNORE, 8509d522f475SmrgCASE_IGNORE, 8510d522f475SmrgCASE_IGNORE, 8511d522f475Smrg/* ocircumflex otilde odiaeresis division */ 8512d522f475SmrgCASE_IGNORE, 8513d522f475SmrgCASE_IGNORE, 8514d522f475SmrgCASE_IGNORE, 8515d522f475SmrgCASE_IGNORE, 8516d522f475Smrg/* oslash ugrave uacute ucircumflex */ 8517d522f475SmrgCASE_IGNORE, 8518d522f475SmrgCASE_IGNORE, 8519d522f475SmrgCASE_IGNORE, 8520d522f475SmrgCASE_IGNORE, 8521d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 8522d522f475SmrgCASE_IGNORE, 8523d522f475SmrgCASE_IGNORE, 8524d522f475SmrgCASE_IGNORE, 8525d522f475SmrgCASE_IGNORE, 8526d522f475Smrg}; 8527d522f475Smrg#endif /* OPT_VT52_MODE */ 85280bd37d32Smrg/* *INDENT-ON* */ 8529