15104ee6eSmrg/* $XTermId: VTPrsTbl.c,v 1.123 2025/01/05 20:52:13 tom Exp $ */ 2d522f475Smrg 3d522f475Smrg/* 45104ee6eSmrg * Copyright 1999-2024,2025 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 86f2e35a3aSmrg#if !OPT_XTERM_SGR 87f2e35a3aSmrg#undef CASE_CSI_HASH_STATE 88f2e35a3aSmrg#define CASE_CSI_HASH_STATE CASE_CSI_IGNORE 89f2e35a3aSmrg#endif 90f2e35a3aSmrg 91d522f475Smrg/* 92d522f475Smrg * Stupid Apollo C preprocessor can't handle long lines. So... To keep 93d522f475Smrg * it happy, we put each onto a separate line.... Sigh... 94d522f475Smrg */ 95d522f475Smrg 965104ee6eSmrgconst PARSE_T ansi_table[] = 97d522f475Smrg{ 98d522f475Smrg/* NUL SOH STX ETX */ 99d522f475SmrgCASE_IGNORE, 100d522f475SmrgCASE_IGNORE, 101d522f475SmrgCASE_IGNORE, 102d522f475SmrgCASE_IGNORE, 103d522f475Smrg/* EOT ENQ ACK BEL */ 104d522f475SmrgCASE_IGNORE, 105d522f475SmrgCASE_ENQ, 106d522f475SmrgCASE_IGNORE, 107d522f475SmrgCASE_BELL, 108d522f475Smrg/* BS HT NL VT */ 109d522f475SmrgCASE_BS, 110d522f475SmrgCASE_TAB, 111d522f475SmrgCASE_VMOT, 112d522f475SmrgCASE_VMOT, 1130bd37d32Smrg/* FF CR SO SI */ 114d522f475SmrgCASE_VMOT, 115d522f475SmrgCASE_CR, 116d522f475SmrgCASE_SO, 117d522f475SmrgCASE_SI, 118d522f475Smrg/* DLE DC1 DC2 DC3 */ 119d522f475SmrgCASE_IGNORE, 120d522f475SmrgCASE_IGNORE, 121d522f475SmrgCASE_IGNORE, 122d522f475SmrgCASE_IGNORE, 123d522f475Smrg/* DC4 NAK SYN ETB */ 124d522f475SmrgCASE_IGNORE, 125d522f475SmrgCASE_IGNORE, 126d522f475SmrgCASE_IGNORE, 127d522f475SmrgCASE_IGNORE, 128d522f475Smrg/* CAN EM SUB ESC */ 129d522f475SmrgCASE_GROUND_STATE, 130d522f475SmrgCASE_IGNORE, 1315104ee6eSmrgCASE_SUB, 132d522f475SmrgCASE_ESC, 133d522f475Smrg/* FS GS RS US */ 134d522f475SmrgCASE_IGNORE, 135d522f475SmrgCASE_IGNORE, 136d522f475SmrgCASE_IGNORE, 137d522f475SmrgCASE_IGNORE, 138d522f475Smrg/* SP ! " # */ 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/* , - . / */ 154d522f475SmrgCASE_PRINT, 155d522f475SmrgCASE_PRINT, 156d522f475SmrgCASE_PRINT, 157d522f475SmrgCASE_PRINT, 158d522f475Smrg/* 0 1 2 3 */ 159d522f475SmrgCASE_PRINT, 160d522f475SmrgCASE_PRINT, 161d522f475SmrgCASE_PRINT, 162d522f475SmrgCASE_PRINT, 163d522f475Smrg/* 4 5 6 7 */ 164d522f475SmrgCASE_PRINT, 165d522f475SmrgCASE_PRINT, 166d522f475SmrgCASE_PRINT, 167d522f475SmrgCASE_PRINT, 168d522f475Smrg/* 8 9 : ; */ 169d522f475SmrgCASE_PRINT, 170d522f475SmrgCASE_PRINT, 171d522f475SmrgCASE_PRINT, 172d522f475SmrgCASE_PRINT, 173d522f475Smrg/* < = > ? */ 174d522f475SmrgCASE_PRINT, 175d522f475SmrgCASE_PRINT, 176d522f475SmrgCASE_PRINT, 177d522f475SmrgCASE_PRINT, 178d522f475Smrg/* @ A B C */ 179d522f475SmrgCASE_PRINT, 180d522f475SmrgCASE_PRINT, 181d522f475SmrgCASE_PRINT, 182d522f475SmrgCASE_PRINT, 183d522f475Smrg/* D E F G */ 184d522f475SmrgCASE_PRINT, 185d522f475SmrgCASE_PRINT, 186d522f475SmrgCASE_PRINT, 187d522f475SmrgCASE_PRINT, 188d522f475Smrg/* H I J K */ 189d522f475SmrgCASE_PRINT, 190d522f475SmrgCASE_PRINT, 191d522f475SmrgCASE_PRINT, 192d522f475SmrgCASE_PRINT, 193d522f475Smrg/* L M N O */ 194d522f475SmrgCASE_PRINT, 195d522f475SmrgCASE_PRINT, 196d522f475SmrgCASE_PRINT, 197d522f475SmrgCASE_PRINT, 198d522f475Smrg/* P Q R S */ 199d522f475SmrgCASE_PRINT, 200d522f475SmrgCASE_PRINT, 201d522f475SmrgCASE_PRINT, 202d522f475SmrgCASE_PRINT, 203d522f475Smrg/* T U V W */ 204d522f475SmrgCASE_PRINT, 205d522f475SmrgCASE_PRINT, 206d522f475SmrgCASE_PRINT, 207d522f475SmrgCASE_PRINT, 208d522f475Smrg/* X Y Z [ */ 209d522f475SmrgCASE_PRINT, 210d522f475SmrgCASE_PRINT, 211d522f475SmrgCASE_PRINT, 212d522f475SmrgCASE_PRINT, 213d522f475Smrg/* \ ] ^ _ */ 214d522f475SmrgCASE_PRINT, 215d522f475SmrgCASE_PRINT, 216d522f475SmrgCASE_PRINT, 217d522f475SmrgCASE_PRINT, 218d522f475Smrg/* ` a b c */ 219d522f475SmrgCASE_PRINT, 220d522f475SmrgCASE_PRINT, 221d522f475SmrgCASE_PRINT, 222d522f475SmrgCASE_PRINT, 223d522f475Smrg/* d e f g */ 224d522f475SmrgCASE_PRINT, 225d522f475SmrgCASE_PRINT, 226d522f475SmrgCASE_PRINT, 227d522f475SmrgCASE_PRINT, 228d522f475Smrg/* h i j k */ 229d522f475SmrgCASE_PRINT, 230d522f475SmrgCASE_PRINT, 231d522f475SmrgCASE_PRINT, 232d522f475SmrgCASE_PRINT, 233d522f475Smrg/* l m n o */ 234d522f475SmrgCASE_PRINT, 235d522f475SmrgCASE_PRINT, 236d522f475SmrgCASE_PRINT, 237d522f475SmrgCASE_PRINT, 238d522f475Smrg/* p q r s */ 239d522f475SmrgCASE_PRINT, 240d522f475SmrgCASE_PRINT, 241d522f475SmrgCASE_PRINT, 242d522f475SmrgCASE_PRINT, 243d522f475Smrg/* t u v w */ 244d522f475SmrgCASE_PRINT, 245d522f475SmrgCASE_PRINT, 246d522f475SmrgCASE_PRINT, 247d522f475SmrgCASE_PRINT, 248d522f475Smrg/* x y z { */ 249d522f475SmrgCASE_PRINT, 250d522f475SmrgCASE_PRINT, 251d522f475SmrgCASE_PRINT, 252d522f475SmrgCASE_PRINT, 253d522f475Smrg/* | } ~ DEL */ 254d522f475SmrgCASE_PRINT, 255d522f475SmrgCASE_PRINT, 256d522f475SmrgCASE_PRINT, 257d522f475SmrgCASE_IGNORE, 258d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 259d522f475SmrgCASE_GROUND_STATE, 260d522f475SmrgCASE_GROUND_STATE, 261d522f475SmrgCASE_GROUND_STATE, 262d522f475SmrgCASE_GROUND_STATE, 263d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 264d522f475SmrgCASE_IND, 265d522f475SmrgCASE_NEL, 266d522f475SmrgCASE_GROUND_STATE, 267d522f475SmrgCASE_GROUND_STATE, 268d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 269d522f475SmrgCASE_HTS, 270d522f475SmrgCASE_GROUND_STATE, 271d522f475SmrgCASE_GROUND_STATE, 272d522f475SmrgCASE_GROUND_STATE, 273d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 274d522f475SmrgCASE_GROUND_STATE, 275d522f475SmrgCASE_RI, 276d522f475SmrgCASE_SS2, 277d522f475SmrgCASE_SS3, 278d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 279d522f475SmrgCASE_DCS, 280d522f475SmrgCASE_GROUND_STATE, 281d522f475SmrgCASE_GROUND_STATE, 282d522f475SmrgCASE_GROUND_STATE, 283d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 284d522f475SmrgCASE_GROUND_STATE, 285d522f475SmrgCASE_GROUND_STATE, 286d522f475SmrgCASE_SPA, 287d522f475SmrgCASE_EPA, 288d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 289d522f475SmrgCASE_SOS, 290d522f475SmrgCASE_GROUND_STATE, 291d522f475SmrgCASE_DECID, 292d522f475SmrgCASE_CSI_STATE, 293d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 294d522f475SmrgCASE_ST, 295d522f475SmrgCASE_OSC, 296d522f475SmrgCASE_PM, 297d522f475SmrgCASE_APC, 298d522f475Smrg/* nobreakspace exclamdown cent sterling */ 299d522f475SmrgCASE_PRINT, 300d522f475SmrgCASE_PRINT, 301d522f475SmrgCASE_PRINT, 302d522f475SmrgCASE_PRINT, 303d522f475Smrg/* currency yen brokenbar section */ 304d522f475SmrgCASE_PRINT, 305d522f475SmrgCASE_PRINT, 306d522f475SmrgCASE_PRINT, 307d522f475SmrgCASE_PRINT, 308d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 309d522f475SmrgCASE_PRINT, 310d522f475SmrgCASE_PRINT, 311d522f475SmrgCASE_PRINT, 312d522f475SmrgCASE_PRINT, 313d522f475Smrg/* notsign hyphen registered macron */ 314d522f475SmrgCASE_PRINT, 315d522f475SmrgCASE_PRINT, 316d522f475SmrgCASE_PRINT, 317d522f475SmrgCASE_PRINT, 318d522f475Smrg/* degree plusminus twosuperior threesuperior */ 319d522f475SmrgCASE_PRINT, 320d522f475SmrgCASE_PRINT, 321d522f475SmrgCASE_PRINT, 322d522f475SmrgCASE_PRINT, 323d522f475Smrg/* acute mu paragraph periodcentered */ 324d522f475SmrgCASE_PRINT, 325d522f475SmrgCASE_PRINT, 326d522f475SmrgCASE_PRINT, 327d522f475SmrgCASE_PRINT, 328d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 329d522f475SmrgCASE_PRINT, 330d522f475SmrgCASE_PRINT, 331d522f475SmrgCASE_PRINT, 332d522f475SmrgCASE_PRINT, 333d522f475Smrg/* onequarter onehalf threequarters questiondown */ 334d522f475SmrgCASE_PRINT, 335d522f475SmrgCASE_PRINT, 336d522f475SmrgCASE_PRINT, 337d522f475SmrgCASE_PRINT, 338d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 339d522f475SmrgCASE_PRINT, 340d522f475SmrgCASE_PRINT, 341d522f475SmrgCASE_PRINT, 342d522f475SmrgCASE_PRINT, 343d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 344d522f475SmrgCASE_PRINT, 345d522f475SmrgCASE_PRINT, 346d522f475SmrgCASE_PRINT, 347d522f475SmrgCASE_PRINT, 348d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 349d522f475SmrgCASE_PRINT, 350d522f475SmrgCASE_PRINT, 351d522f475SmrgCASE_PRINT, 352d522f475SmrgCASE_PRINT, 353d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 354d522f475SmrgCASE_PRINT, 355d522f475SmrgCASE_PRINT, 356d522f475SmrgCASE_PRINT, 357d522f475SmrgCASE_PRINT, 358d522f475Smrg/* Eth Ntilde Ograve Oacute */ 359d522f475SmrgCASE_PRINT, 360d522f475SmrgCASE_PRINT, 361d522f475SmrgCASE_PRINT, 362d522f475SmrgCASE_PRINT, 363d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 364d522f475SmrgCASE_PRINT, 365d522f475SmrgCASE_PRINT, 366d522f475SmrgCASE_PRINT, 367d522f475SmrgCASE_PRINT, 368d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 369d522f475SmrgCASE_PRINT, 370d522f475SmrgCASE_PRINT, 371d522f475SmrgCASE_PRINT, 372d522f475SmrgCASE_PRINT, 373d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 374d522f475SmrgCASE_PRINT, 375d522f475SmrgCASE_PRINT, 376d522f475SmrgCASE_PRINT, 377d522f475SmrgCASE_PRINT, 378d522f475Smrg/* agrave aacute acircumflex atilde */ 379d522f475SmrgCASE_PRINT, 380d522f475SmrgCASE_PRINT, 381d522f475SmrgCASE_PRINT, 382d522f475SmrgCASE_PRINT, 383d522f475Smrg/* adiaeresis aring ae ccedilla */ 384d522f475SmrgCASE_PRINT, 385d522f475SmrgCASE_PRINT, 386d522f475SmrgCASE_PRINT, 387d522f475SmrgCASE_PRINT, 388d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 389d522f475SmrgCASE_PRINT, 390d522f475SmrgCASE_PRINT, 391d522f475SmrgCASE_PRINT, 392d522f475SmrgCASE_PRINT, 393d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 394d522f475SmrgCASE_PRINT, 395d522f475SmrgCASE_PRINT, 396d522f475SmrgCASE_PRINT, 397d522f475SmrgCASE_PRINT, 398d522f475Smrg/* eth ntilde ograve oacute */ 399d522f475SmrgCASE_PRINT, 400d522f475SmrgCASE_PRINT, 401d522f475SmrgCASE_PRINT, 402d522f475SmrgCASE_PRINT, 403d522f475Smrg/* ocircumflex otilde odiaeresis division */ 404d522f475SmrgCASE_PRINT, 405d522f475SmrgCASE_PRINT, 406d522f475SmrgCASE_PRINT, 407d522f475SmrgCASE_PRINT, 408d522f475Smrg/* oslash ugrave uacute ucircumflex */ 409d522f475SmrgCASE_PRINT, 410d522f475SmrgCASE_PRINT, 411d522f475SmrgCASE_PRINT, 412d522f475SmrgCASE_PRINT, 413d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 414d522f475SmrgCASE_PRINT, 415d522f475SmrgCASE_PRINT, 416d522f475SmrgCASE_PRINT, 417d522f475SmrgCASE_PRINT, 418d522f475Smrg}; 419d522f475Smrg 4205104ee6eSmrgconst PARSE_T csi_table[] = /* CSI */ 421d522f475Smrg{ 422d522f475Smrg/* NUL SOH STX ETX */ 423d522f475SmrgCASE_IGNORE, 424d522f475SmrgCASE_IGNORE, 425d522f475SmrgCASE_IGNORE, 426d522f475SmrgCASE_IGNORE, 427d522f475Smrg/* EOT ENQ ACK BEL */ 428d522f475SmrgCASE_IGNORE, 429d522f475SmrgCASE_ENQ, 430d522f475SmrgCASE_IGNORE, 431d522f475SmrgCASE_BELL, 432d522f475Smrg/* BS HT NL VT */ 433d522f475SmrgCASE_BS, 434d522f475SmrgCASE_TAB, 435d522f475SmrgCASE_VMOT, 436d522f475SmrgCASE_VMOT, 4370bd37d32Smrg/* FF CR SO SI */ 438d522f475SmrgCASE_VMOT, 439d522f475SmrgCASE_CR, 440d522f475SmrgCASE_SO, 441d522f475SmrgCASE_SI, 442d522f475Smrg/* DLE DC1 DC2 DC3 */ 443d522f475SmrgCASE_IGNORE, 444d522f475SmrgCASE_IGNORE, 445d522f475SmrgCASE_IGNORE, 446d522f475SmrgCASE_IGNORE, 447d522f475Smrg/* DC4 NAK SYN ETB */ 448d522f475SmrgCASE_IGNORE, 449d522f475SmrgCASE_IGNORE, 450d522f475SmrgCASE_IGNORE, 451d522f475SmrgCASE_IGNORE, 452d522f475Smrg/* CAN EM SUB ESC */ 453d522f475SmrgCASE_GROUND_STATE, 454d522f475SmrgCASE_IGNORE, 4555104ee6eSmrgCASE_SUB, 456d522f475SmrgCASE_ESC, 457d522f475Smrg/* FS GS RS US */ 458d522f475SmrgCASE_IGNORE, 459d522f475SmrgCASE_IGNORE, 460d522f475SmrgCASE_IGNORE, 461d522f475SmrgCASE_IGNORE, 462d522f475Smrg/* SP ! " # */ 46320d2c4d2SmrgCASE_CSI_SPACE_STATE, 464d522f475SmrgCASE_CSI_EX_STATE, 465d522f475SmrgCASE_CSI_QUOTE_STATE, 466f2e35a3aSmrgCASE_CSI_HASH_STATE, 467d522f475Smrg/* $ % & ' */ 46801037d57SmrgCASE_CSI_DOLLAR_STATE, 469d522f475SmrgCASE_CSI_IGNORE, 47004b94745SmrgCASE_CSI_AMP_STATE, 471d522f475SmrgCASE_CSI_TICK_STATE, 472d522f475Smrg/* ( ) * + */ 473d522f475SmrgCASE_CSI_IGNORE, 47404b94745SmrgCASE_CSI_IGNORE, /* vt525 */ 475d522f475SmrgCASE_CSI_IGNORE, 47604b94745SmrgCASE_CSI_IGNORE, /* vt420 and vt520 */ 477d522f475Smrg/* , - . / */ 478d522f475SmrgCASE_CSI_IGNORE, 479d522f475SmrgCASE_CSI_IGNORE, 480d522f475SmrgCASE_CSI_IGNORE, 481d522f475SmrgCASE_CSI_IGNORE, 482d522f475Smrg/* 0 1 2 3 */ 483d522f475SmrgCASE_ESC_DIGIT, 484d522f475SmrgCASE_ESC_DIGIT, 485d522f475SmrgCASE_ESC_DIGIT, 486d522f475SmrgCASE_ESC_DIGIT, 487d522f475Smrg/* 4 5 6 7 */ 488d522f475SmrgCASE_ESC_DIGIT, 489d522f475SmrgCASE_ESC_DIGIT, 490d522f475SmrgCASE_ESC_DIGIT, 491d522f475SmrgCASE_ESC_DIGIT, 492d522f475Smrg/* 8 9 : ; */ 493d522f475SmrgCASE_ESC_DIGIT, 494d522f475SmrgCASE_ESC_DIGIT, 4950bd37d32SmrgCASE_ESC_COLON, 496d522f475SmrgCASE_ESC_SEMI, 497d522f475Smrg/* < = > ? */ 498d522f475SmrgCASE_CSI_IGNORE, 499d522f475SmrgCASE_DEC3_STATE, 500d522f475SmrgCASE_DEC2_STATE, 501d522f475SmrgCASE_DEC_STATE, 502d522f475Smrg/* @ A B C */ 503d522f475SmrgCASE_ICH, 504d522f475SmrgCASE_CUU, 505d522f475SmrgCASE_CUD, 506d522f475SmrgCASE_CUF, 507d522f475Smrg/* D E F G */ 508d522f475SmrgCASE_CUB, 509d522f475SmrgCASE_CNL, 510d522f475SmrgCASE_CPL, 511d522f475SmrgCASE_HPA, 512d522f475Smrg/* H I J K */ 513d522f475SmrgCASE_CUP, 514d522f475SmrgCASE_CHT, 515d522f475SmrgCASE_ED, 516d522f475SmrgCASE_EL, 517d522f475Smrg/* L M N O */ 518d522f475SmrgCASE_IL, 519d522f475SmrgCASE_DL, 520d522f475SmrgCASE_GROUND_STATE, 521d522f475SmrgCASE_GROUND_STATE, 522d522f475Smrg/* P Q R S */ 523d522f475SmrgCASE_DCH, 524d522f475SmrgCASE_GROUND_STATE, 525d522f475SmrgCASE_GROUND_STATE, 526d522f475SmrgCASE_SU, 527d522f475Smrg/* T U V W */ 528d522f475SmrgCASE_TRACK_MOUSE, 52904b94745SmrgCASE_GROUND_STATE, /* vt420:NP */ 53004b94745SmrgCASE_GROUND_STATE, /* vt420:PP */ 531d522f475SmrgCASE_GROUND_STATE, 532d522f475Smrg/* X Y Z [ */ 533d522f475SmrgCASE_ECH, 534d522f475SmrgCASE_GROUND_STATE, 535d522f475SmrgCASE_CBT, 536d522f475SmrgCASE_GROUND_STATE, 537d522f475Smrg/* \ ] ^ _ */ 538d522f475SmrgCASE_GROUND_STATE, 539d522f475SmrgCASE_GROUND_STATE, 540f2e35a3aSmrgCASE_SD, 541d522f475SmrgCASE_GROUND_STATE, 542d522f475Smrg/* ` a b c */ 543d522f475SmrgCASE_HPA, 5440bd37d32SmrgCASE_HPR, 545d522f475SmrgCASE_REP, 546d522f475SmrgCASE_DA1, 547d522f475Smrg/* d e f g */ 548d522f475SmrgCASE_VPA, 5490bd37d32SmrgCASE_VPR, 550d522f475SmrgCASE_CUP, 551d522f475SmrgCASE_TBC, 552d522f475Smrg/* h i j k */ 553d522f475SmrgCASE_SET, 554d522f475SmrgCASE_MC, 555d522f475SmrgCASE_GROUND_STATE, 556d522f475SmrgCASE_GROUND_STATE, 557d522f475Smrg/* l m n o */ 558d522f475SmrgCASE_RST, 559d522f475SmrgCASE_SGR, 560d522f475SmrgCASE_CPR, 561d522f475SmrgCASE_GROUND_STATE, 562d522f475Smrg/* p q r s */ 563d522f475SmrgCASE_GROUND_STATE, 56420d2c4d2SmrgCASE_DECLL, 565d522f475SmrgCASE_DECSTBM, 5660bd37d32SmrgCASE_ANSI_SC, 567d522f475Smrg/* t u v w */ 568d522f475SmrgCASE_XTERM_WINOPS, 5690bd37d32SmrgCASE_ANSI_RC, 570d522f475SmrgCASE_GROUND_STATE, 571d522f475SmrgCASE_GROUND_STATE, 572d522f475Smrg/* x y z { */ 573d522f475SmrgCASE_DECREQTPARM, 574d522f475SmrgCASE_GROUND_STATE, 575d522f475SmrgCASE_GROUND_STATE, 576d522f475SmrgCASE_GROUND_STATE, 577d522f475Smrg/* | } ~ DEL */ 578d522f475SmrgCASE_GROUND_STATE, 579d522f475SmrgCASE_GROUND_STATE, 580d522f475SmrgCASE_GROUND_STATE, 581d522f475SmrgCASE_IGNORE, 582d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 583d522f475SmrgCASE_GROUND_STATE, 584d522f475SmrgCASE_GROUND_STATE, 585d522f475SmrgCASE_GROUND_STATE, 586d522f475SmrgCASE_GROUND_STATE, 587d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 588d522f475SmrgCASE_IND, 589d522f475SmrgCASE_NEL, 590d522f475SmrgCASE_GROUND_STATE, 591d522f475SmrgCASE_GROUND_STATE, 592d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 593d522f475SmrgCASE_HTS, 594d522f475SmrgCASE_GROUND_STATE, 595d522f475SmrgCASE_GROUND_STATE, 596d522f475SmrgCASE_GROUND_STATE, 597d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 598d522f475SmrgCASE_GROUND_STATE, 599d522f475SmrgCASE_RI, 600d522f475SmrgCASE_SS2, 601d522f475SmrgCASE_SS3, 602d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 603d522f475SmrgCASE_DCS, 604d522f475SmrgCASE_GROUND_STATE, 605d522f475SmrgCASE_GROUND_STATE, 606d522f475SmrgCASE_GROUND_STATE, 607d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 608d522f475SmrgCASE_GROUND_STATE, 609d522f475SmrgCASE_GROUND_STATE, 610d522f475SmrgCASE_SPA, 611d522f475SmrgCASE_EPA, 612d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 613d522f475SmrgCASE_SOS, 614d522f475SmrgCASE_GROUND_STATE, 615d522f475SmrgCASE_DECID, 616d522f475SmrgCASE_CSI_STATE, 617d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 618d522f475SmrgCASE_ST, 619d522f475SmrgCASE_OSC, 620d522f475SmrgCASE_PM, 621d522f475SmrgCASE_APC, 622d522f475Smrg/* nobreakspace exclamdown cent sterling */ 62320d2c4d2SmrgCASE_CSI_SPACE_STATE, 624d522f475SmrgCASE_CSI_EX_STATE, 625d522f475SmrgCASE_CSI_QUOTE_STATE, 626f2e35a3aSmrgCASE_CSI_HASH_STATE, 627d522f475Smrg/* currency yen brokenbar section */ 62801037d57SmrgCASE_CSI_DOLLAR_STATE, 629d522f475SmrgCASE_CSI_IGNORE, 63004b94745SmrgCASE_CSI_AMP_STATE, 631d522f475SmrgCASE_CSI_TICK_STATE, 632d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 633d522f475SmrgCASE_CSI_IGNORE, 634d522f475SmrgCASE_CSI_IGNORE, 635d522f475SmrgCASE_CSI_IGNORE, 636d522f475SmrgCASE_CSI_IGNORE, 637d522f475Smrg/* notsign hyphen registered macron */ 638d522f475SmrgCASE_CSI_IGNORE, 639d522f475SmrgCASE_CSI_IGNORE, 640d522f475SmrgCASE_CSI_IGNORE, 641d522f475SmrgCASE_CSI_IGNORE, 642d522f475Smrg/* degree plusminus twosuperior threesuperior */ 643d522f475SmrgCASE_ESC_DIGIT, 644d522f475SmrgCASE_ESC_DIGIT, 645d522f475SmrgCASE_ESC_DIGIT, 646d522f475SmrgCASE_ESC_DIGIT, 647d522f475Smrg/* acute mu paragraph periodcentered */ 648d522f475SmrgCASE_ESC_DIGIT, 649d522f475SmrgCASE_ESC_DIGIT, 650d522f475SmrgCASE_ESC_DIGIT, 651d522f475SmrgCASE_ESC_DIGIT, 652d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 653d522f475SmrgCASE_ESC_DIGIT, 654d522f475SmrgCASE_ESC_DIGIT, 6550bd37d32SmrgCASE_ESC_COLON, 656d522f475SmrgCASE_ESC_SEMI, 657d522f475Smrg/* onequarter onehalf threequarters questiondown */ 658d522f475SmrgCASE_CSI_IGNORE, 659d522f475SmrgCASE_DEC3_STATE, 660d522f475SmrgCASE_DEC2_STATE, 661d522f475SmrgCASE_DEC_STATE, 662d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 663d522f475SmrgCASE_ICH, 664d522f475SmrgCASE_CUU, 665d522f475SmrgCASE_CUD, 666d522f475SmrgCASE_CUF, 667d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 668d522f475SmrgCASE_CUB, 669d522f475SmrgCASE_CNL, 670d522f475SmrgCASE_CPL, 671d522f475SmrgCASE_HPA, 672d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 673d522f475SmrgCASE_CUP, 674d522f475SmrgCASE_CHT, 675d522f475SmrgCASE_ED, 676d522f475SmrgCASE_EL, 677d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 678d522f475SmrgCASE_IL, 679d522f475SmrgCASE_DL, 680d522f475SmrgCASE_GROUND_STATE, 681d522f475SmrgCASE_GROUND_STATE, 682d522f475Smrg/* Eth Ntilde Ograve Oacute */ 683d522f475SmrgCASE_DCH, 684d522f475SmrgCASE_GROUND_STATE, 685d522f475SmrgCASE_GROUND_STATE, 686d522f475SmrgCASE_SU, 687d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 688d522f475SmrgCASE_TRACK_MOUSE, 689d522f475SmrgCASE_GROUND_STATE, 690d522f475SmrgCASE_GROUND_STATE, 691d522f475SmrgCASE_GROUND_STATE, 692d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 693d522f475SmrgCASE_ECH, 694d522f475SmrgCASE_GROUND_STATE, 695d522f475SmrgCASE_CBT, 696d522f475SmrgCASE_GROUND_STATE, 697d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 698d522f475SmrgCASE_GROUND_STATE, 699d522f475SmrgCASE_GROUND_STATE, 700f2e35a3aSmrgCASE_SD, 701d522f475SmrgCASE_GROUND_STATE, 702d522f475Smrg/* agrave aacute acircumflex atilde */ 703d522f475SmrgCASE_HPA, 7040bd37d32SmrgCASE_HPR, 705d522f475SmrgCASE_REP, 706d522f475SmrgCASE_DA1, 707d522f475Smrg/* adiaeresis aring ae ccedilla */ 708d522f475SmrgCASE_VPA, 7090bd37d32SmrgCASE_VPR, 710d522f475SmrgCASE_CUP, 711d522f475SmrgCASE_TBC, 712d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 713d522f475SmrgCASE_SET, 714d522f475SmrgCASE_MC, 715d522f475SmrgCASE_GROUND_STATE, 716d522f475SmrgCASE_GROUND_STATE, 717d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 718d522f475SmrgCASE_RST, 719d522f475SmrgCASE_SGR, 720d522f475SmrgCASE_CPR, 721d522f475SmrgCASE_GROUND_STATE, 722d522f475Smrg/* eth ntilde ograve oacute */ 723d522f475SmrgCASE_GROUND_STATE, 72420d2c4d2SmrgCASE_DECLL, 725d522f475SmrgCASE_DECSTBM, 7260bd37d32SmrgCASE_ANSI_SC, 727d522f475Smrg/* ocircumflex otilde odiaeresis division */ 728d522f475SmrgCASE_XTERM_WINOPS, 7290bd37d32SmrgCASE_ANSI_RC, 730d522f475SmrgCASE_GROUND_STATE, 731d522f475SmrgCASE_GROUND_STATE, 732d522f475Smrg/* oslash ugrave uacute ucircumflex */ 733d522f475SmrgCASE_DECREQTPARM, 734d522f475SmrgCASE_GROUND_STATE, 735d522f475SmrgCASE_GROUND_STATE, 736d522f475SmrgCASE_GROUND_STATE, 737d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 738d522f475SmrgCASE_GROUND_STATE, 739d522f475SmrgCASE_GROUND_STATE, 740d522f475SmrgCASE_GROUND_STATE, 741d522f475SmrgCASE_IGNORE, 742d522f475Smrg}; 743d522f475Smrg 7445104ee6eSmrgconst PARSE_T csi2_table[] = /* CSI */ 745d522f475Smrg{ 746d522f475Smrg/* NUL SOH STX ETX */ 747d522f475SmrgCASE_IGNORE, 748d522f475SmrgCASE_IGNORE, 749d522f475SmrgCASE_IGNORE, 750d522f475SmrgCASE_IGNORE, 751d522f475Smrg/* EOT ENQ ACK BEL */ 752d522f475SmrgCASE_IGNORE, 753d522f475SmrgCASE_ENQ, 754d522f475SmrgCASE_IGNORE, 755d522f475SmrgCASE_BELL, 756d522f475Smrg/* BS HT NL VT */ 757d522f475SmrgCASE_BS, 758d522f475SmrgCASE_TAB, 759d522f475SmrgCASE_VMOT, 760d522f475SmrgCASE_VMOT, 7610bd37d32Smrg/* FF CR SO SI */ 762d522f475SmrgCASE_VMOT, 763d522f475SmrgCASE_CR, 764d522f475SmrgCASE_SO, 765d522f475SmrgCASE_SI, 766d522f475Smrg/* DLE DC1 DC2 DC3 */ 767d522f475SmrgCASE_IGNORE, 768d522f475SmrgCASE_IGNORE, 769d522f475SmrgCASE_IGNORE, 770d522f475SmrgCASE_IGNORE, 771d522f475Smrg/* DC4 NAK SYN ETB */ 772d522f475SmrgCASE_IGNORE, 773d522f475SmrgCASE_IGNORE, 774d522f475SmrgCASE_IGNORE, 775d522f475SmrgCASE_IGNORE, 776d522f475Smrg/* CAN EM SUB ESC */ 777d522f475SmrgCASE_GROUND_STATE, 778d522f475SmrgCASE_IGNORE, 7795104ee6eSmrgCASE_SUB, 780d522f475SmrgCASE_ESC, 781d522f475Smrg/* FS GS RS US */ 782d522f475SmrgCASE_IGNORE, 783d522f475SmrgCASE_IGNORE, 784d522f475SmrgCASE_IGNORE, 785d522f475SmrgCASE_IGNORE, 786d522f475Smrg/* SP ! " # */ 78720d2c4d2SmrgCASE_CSI_SPACE_STATE, 788d522f475SmrgCASE_CSI_EX_STATE, 789d522f475SmrgCASE_CSI_QUOTE_STATE, 790f2e35a3aSmrgCASE_CSI_HASH_STATE, 791d522f475Smrg/* $ % & ' */ 792d522f475SmrgCASE_CSI_DOLLAR_STATE, 793d522f475SmrgCASE_CSI_IGNORE, 79404b94745SmrgCASE_CSI_AMP_STATE, 795d522f475SmrgCASE_CSI_TICK_STATE, 796d522f475Smrg/* ( ) * + */ 797d522f475SmrgCASE_CSI_IGNORE, 798d522f475SmrgCASE_CSI_IGNORE, 799d522f475SmrgCASE_CSI_STAR_STATE, 80004b94745SmrgCASE_CSI_IGNORE, /* vt420 and vt520 */ 801d522f475Smrg/* , - . / */ 80204b94745SmrgCASE_CSI_COMMA_STATE, 803d522f475SmrgCASE_CSI_IGNORE, 804d522f475SmrgCASE_CSI_IGNORE, 805d522f475SmrgCASE_CSI_IGNORE, 806d522f475Smrg/* 0 1 2 3 */ 807d522f475SmrgCASE_ESC_DIGIT, 808d522f475SmrgCASE_ESC_DIGIT, 809d522f475SmrgCASE_ESC_DIGIT, 810d522f475SmrgCASE_ESC_DIGIT, 811d522f475Smrg/* 4 5 6 7 */ 812d522f475SmrgCASE_ESC_DIGIT, 813d522f475SmrgCASE_ESC_DIGIT, 814d522f475SmrgCASE_ESC_DIGIT, 815d522f475SmrgCASE_ESC_DIGIT, 816d522f475Smrg/* 8 9 : ; */ 817d522f475SmrgCASE_ESC_DIGIT, 818d522f475SmrgCASE_ESC_DIGIT, 8190bd37d32SmrgCASE_ESC_COLON, 820d522f475SmrgCASE_ESC_SEMI, 821d522f475Smrg/* < = > ? */ 822d522f475SmrgCASE_CSI_IGNORE, 823d522f475SmrgCASE_CSI_IGNORE, 824d522f475SmrgCASE_CSI_IGNORE, 825d522f475SmrgCASE_CSI_IGNORE, 826d522f475Smrg/* @ A B C */ 827d522f475SmrgCASE_ICH, 828d522f475SmrgCASE_CUU, 829d522f475SmrgCASE_CUD, 830d522f475SmrgCASE_CUF, 831d522f475Smrg/* D E F G */ 832d522f475SmrgCASE_CUB, 833d522f475SmrgCASE_CNL, 834d522f475SmrgCASE_CPL, 835d522f475SmrgCASE_HPA, 836d522f475Smrg/* H I J K */ 837d522f475SmrgCASE_CUP, 838d522f475SmrgCASE_CHT, 839d522f475SmrgCASE_ED, 840d522f475SmrgCASE_EL, 841d522f475Smrg/* L M N O */ 842d522f475SmrgCASE_IL, 843d522f475SmrgCASE_DL, 844d522f475SmrgCASE_GROUND_STATE, 845d522f475SmrgCASE_GROUND_STATE, 846d522f475Smrg/* P Q R S */ 847d522f475SmrgCASE_DCH, 848d522f475SmrgCASE_GROUND_STATE, 849d522f475SmrgCASE_GROUND_STATE, 850d522f475SmrgCASE_SU, 851d522f475Smrg/* T U V W */ 852d522f475SmrgCASE_TRACK_MOUSE, 85304b94745SmrgCASE_GROUND_STATE, /* vt420:NP */ 85404b94745SmrgCASE_GROUND_STATE, /* vt420:PP */ 855d522f475SmrgCASE_GROUND_STATE, 856d522f475Smrg/* X Y Z [ */ 857d522f475SmrgCASE_ECH, 858d522f475SmrgCASE_GROUND_STATE, 859d522f475SmrgCASE_CBT, 860d522f475SmrgCASE_GROUND_STATE, 861d522f475Smrg/* \ ] ^ _ */ 862d522f475SmrgCASE_GROUND_STATE, 863d522f475SmrgCASE_GROUND_STATE, 864f2e35a3aSmrgCASE_SD, 865d522f475SmrgCASE_GROUND_STATE, 866d522f475Smrg/* ` a b c */ 867d522f475SmrgCASE_HPA, 8680bd37d32SmrgCASE_HPR, 869d522f475SmrgCASE_REP, 870d522f475SmrgCASE_DA1, 871d522f475Smrg/* d e f g */ 872d522f475SmrgCASE_VPA, 8730bd37d32SmrgCASE_VPR, 874d522f475SmrgCASE_CUP, 875d522f475SmrgCASE_TBC, 876d522f475Smrg/* h i j k */ 877d522f475SmrgCASE_SET, 878d522f475SmrgCASE_MC, 879d522f475SmrgCASE_GROUND_STATE, 880d522f475SmrgCASE_GROUND_STATE, 881d522f475Smrg/* l m n o */ 882d522f475SmrgCASE_RST, 883d522f475SmrgCASE_SGR, 884d522f475SmrgCASE_CPR, 885d522f475SmrgCASE_GROUND_STATE, 886d522f475Smrg/* p q r s */ 887d522f475SmrgCASE_GROUND_STATE, 88820d2c4d2SmrgCASE_DECLL, 889d522f475SmrgCASE_DECSTBM, 8900bd37d32SmrgCASE_ANSI_SC, 891d522f475Smrg/* t u v w */ 892d522f475SmrgCASE_XTERM_WINOPS, 8930bd37d32SmrgCASE_ANSI_RC, 894d522f475SmrgCASE_GROUND_STATE, 895d522f475SmrgCASE_GROUND_STATE, 896d522f475Smrg/* x y z { */ 897d522f475SmrgCASE_DECREQTPARM, 898d522f475SmrgCASE_GROUND_STATE, 899d522f475SmrgCASE_GROUND_STATE, 900d522f475SmrgCASE_GROUND_STATE, 901d522f475Smrg/* | } ~ DEL */ 902d522f475SmrgCASE_GROUND_STATE, 903d522f475SmrgCASE_GROUND_STATE, 90404b94745SmrgCASE_GROUND_STATE, /* vt510:DECFNK */ 905d522f475SmrgCASE_IGNORE, 906d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 907d522f475SmrgCASE_GROUND_STATE, 908d522f475SmrgCASE_GROUND_STATE, 909d522f475SmrgCASE_GROUND_STATE, 910d522f475SmrgCASE_GROUND_STATE, 911d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 912d522f475SmrgCASE_IND, 913d522f475SmrgCASE_NEL, 914d522f475SmrgCASE_GROUND_STATE, 915d522f475SmrgCASE_GROUND_STATE, 916d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 917d522f475SmrgCASE_HTS, 918d522f475SmrgCASE_GROUND_STATE, 919d522f475SmrgCASE_GROUND_STATE, 920d522f475SmrgCASE_GROUND_STATE, 921d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 922d522f475SmrgCASE_GROUND_STATE, 923d522f475SmrgCASE_RI, 924d522f475SmrgCASE_SS2, 925d522f475SmrgCASE_SS3, 926d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 927d522f475SmrgCASE_DCS, 928d522f475SmrgCASE_GROUND_STATE, 929d522f475SmrgCASE_GROUND_STATE, 930d522f475SmrgCASE_GROUND_STATE, 931d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 932d522f475SmrgCASE_GROUND_STATE, 933d522f475SmrgCASE_GROUND_STATE, 934d522f475SmrgCASE_SPA, 935d522f475SmrgCASE_EPA, 936d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 937d522f475SmrgCASE_SOS, 938d522f475SmrgCASE_GROUND_STATE, 939d522f475SmrgCASE_DECID, 940d522f475SmrgCASE_CSI_STATE, 941d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 942d522f475SmrgCASE_ST, 943d522f475SmrgCASE_OSC, 944d522f475SmrgCASE_PM, 945d522f475SmrgCASE_APC, 946d522f475Smrg/* nobreakspace exclamdown cent sterling */ 94720d2c4d2SmrgCASE_CSI_SPACE_STATE, 948d522f475SmrgCASE_CSI_EX_STATE, 949d522f475SmrgCASE_CSI_QUOTE_STATE, 950f2e35a3aSmrgCASE_CSI_HASH_STATE, 951d522f475Smrg/* currency yen brokenbar section */ 952492d43a5SmrgCASE_CSI_DOLLAR_STATE, 953d522f475SmrgCASE_CSI_IGNORE, 95404b94745SmrgCASE_CSI_AMP_STATE, 955d522f475SmrgCASE_CSI_TICK_STATE, 956d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 957d522f475SmrgCASE_CSI_IGNORE, 958d522f475SmrgCASE_CSI_IGNORE, 959492d43a5SmrgCASE_CSI_STAR_STATE, 960d522f475SmrgCASE_CSI_IGNORE, 961d522f475Smrg/* notsign hyphen registered macron */ 96204b94745SmrgCASE_CSI_COMMA_STATE, 963d522f475SmrgCASE_CSI_IGNORE, 964d522f475SmrgCASE_CSI_IGNORE, 965d522f475SmrgCASE_CSI_IGNORE, 966d522f475Smrg/* degree plusminus twosuperior threesuperior */ 967d522f475SmrgCASE_ESC_DIGIT, 968d522f475SmrgCASE_ESC_DIGIT, 969d522f475SmrgCASE_ESC_DIGIT, 970d522f475SmrgCASE_ESC_DIGIT, 971d522f475Smrg/* acute mu paragraph periodcentered */ 972d522f475SmrgCASE_ESC_DIGIT, 973d522f475SmrgCASE_ESC_DIGIT, 974d522f475SmrgCASE_ESC_DIGIT, 975d522f475SmrgCASE_ESC_DIGIT, 976d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 977d522f475SmrgCASE_ESC_DIGIT, 978d522f475SmrgCASE_ESC_DIGIT, 9790bd37d32SmrgCASE_ESC_COLON, 980d522f475SmrgCASE_ESC_SEMI, 981d522f475Smrg/* onequarter onehalf threequarters questiondown */ 982d522f475SmrgCASE_CSI_IGNORE, 983d522f475SmrgCASE_CSI_IGNORE, 984d522f475SmrgCASE_CSI_IGNORE, 985d522f475SmrgCASE_CSI_IGNORE, 986d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 987d522f475SmrgCASE_ICH, 988d522f475SmrgCASE_CUU, 989d522f475SmrgCASE_CUD, 990d522f475SmrgCASE_CUF, 991d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 992d522f475SmrgCASE_CUB, 993d522f475SmrgCASE_CNL, 994d522f475SmrgCASE_CPL, 995d522f475SmrgCASE_HPA, 996d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 997d522f475SmrgCASE_CUP, 998d522f475SmrgCASE_CHT, 999d522f475SmrgCASE_ED, 1000d522f475SmrgCASE_EL, 1001d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 1002d522f475SmrgCASE_IL, 1003d522f475SmrgCASE_DL, 1004d522f475SmrgCASE_GROUND_STATE, 1005d522f475SmrgCASE_GROUND_STATE, 1006d522f475Smrg/* Eth Ntilde Ograve Oacute */ 1007d522f475SmrgCASE_DCH, 1008d522f475SmrgCASE_GROUND_STATE, 1009d522f475SmrgCASE_GROUND_STATE, 1010d522f475SmrgCASE_SU, 1011d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 1012d522f475SmrgCASE_TRACK_MOUSE, 1013d522f475SmrgCASE_GROUND_STATE, 1014d522f475SmrgCASE_GROUND_STATE, 1015d522f475SmrgCASE_GROUND_STATE, 1016d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 1017d522f475SmrgCASE_ECH, 1018d522f475SmrgCASE_GROUND_STATE, 1019d522f475SmrgCASE_CBT, 1020d522f475SmrgCASE_GROUND_STATE, 1021d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 1022d522f475SmrgCASE_GROUND_STATE, 1023d522f475SmrgCASE_GROUND_STATE, 1024f2e35a3aSmrgCASE_SD, 1025d522f475SmrgCASE_GROUND_STATE, 1026d522f475Smrg/* agrave aacute acircumflex atilde */ 1027d522f475SmrgCASE_HPA, 10280bd37d32SmrgCASE_HPR, 1029d522f475SmrgCASE_REP, 1030d522f475SmrgCASE_DA1, 1031d522f475Smrg/* adiaeresis aring ae ccedilla */ 1032d522f475SmrgCASE_VPA, 10330bd37d32SmrgCASE_VPR, 1034d522f475SmrgCASE_CUP, 1035d522f475SmrgCASE_TBC, 1036d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 1037d522f475SmrgCASE_SET, 1038d522f475SmrgCASE_MC, 1039d522f475SmrgCASE_GROUND_STATE, 1040d522f475SmrgCASE_GROUND_STATE, 1041d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 1042d522f475SmrgCASE_RST, 1043d522f475SmrgCASE_SGR, 1044d522f475SmrgCASE_CPR, 1045d522f475SmrgCASE_GROUND_STATE, 1046d522f475Smrg/* eth ntilde ograve oacute */ 1047d522f475SmrgCASE_GROUND_STATE, 104820d2c4d2SmrgCASE_DECLL, 1049d522f475SmrgCASE_DECSTBM, 10500bd37d32SmrgCASE_ANSI_SC, 1051d522f475Smrg/* ocircumflex otilde odiaeresis division */ 1052d522f475SmrgCASE_XTERM_WINOPS, 10530bd37d32SmrgCASE_ANSI_RC, 1054d522f475SmrgCASE_GROUND_STATE, 1055d522f475SmrgCASE_GROUND_STATE, 1056d522f475Smrg/* oslash ugrave uacute ucircumflex */ 1057d522f475SmrgCASE_DECREQTPARM, 1058d522f475SmrgCASE_GROUND_STATE, 1059d522f475SmrgCASE_GROUND_STATE, 1060d522f475SmrgCASE_GROUND_STATE, 1061d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 1062d522f475SmrgCASE_GROUND_STATE, 1063d522f475SmrgCASE_GROUND_STATE, 1064d522f475SmrgCASE_GROUND_STATE, 1065d522f475SmrgCASE_IGNORE, 1066d522f475Smrg}; 1067d522f475Smrg 10685104ee6eSmrgconst PARSE_T csi_ex_table[] = /* CSI ! */ 1069d522f475Smrg{ 1070d522f475Smrg/* NUL SOH STX ETX */ 1071d522f475SmrgCASE_IGNORE, 1072d522f475SmrgCASE_IGNORE, 1073d522f475SmrgCASE_IGNORE, 1074d522f475SmrgCASE_IGNORE, 1075d522f475Smrg/* EOT ENQ ACK BEL */ 1076d522f475SmrgCASE_IGNORE, 1077d522f475SmrgCASE_ENQ, 1078d522f475SmrgCASE_IGNORE, 1079d522f475SmrgCASE_BELL, 1080d522f475Smrg/* BS HT NL VT */ 1081d522f475SmrgCASE_BS, 1082d522f475SmrgCASE_TAB, 1083d522f475SmrgCASE_VMOT, 1084d522f475SmrgCASE_VMOT, 10850bd37d32Smrg/* FF CR SO SI */ 1086d522f475SmrgCASE_VMOT, 1087d522f475SmrgCASE_CR, 1088d522f475SmrgCASE_SO, 1089d522f475SmrgCASE_SI, 1090d522f475Smrg/* DLE DC1 DC2 DC3 */ 1091d522f475SmrgCASE_IGNORE, 1092d522f475SmrgCASE_IGNORE, 1093d522f475SmrgCASE_IGNORE, 1094d522f475SmrgCASE_IGNORE, 1095d522f475Smrg/* DC4 NAK SYN ETB */ 1096d522f475SmrgCASE_IGNORE, 1097d522f475SmrgCASE_IGNORE, 1098d522f475SmrgCASE_IGNORE, 1099d522f475SmrgCASE_IGNORE, 1100d522f475Smrg/* CAN EM SUB ESC */ 1101d522f475SmrgCASE_GROUND_STATE, 1102d522f475SmrgCASE_IGNORE, 11035104ee6eSmrgCASE_SUB, 1104d522f475SmrgCASE_ESC, 1105d522f475Smrg/* FS GS RS US */ 1106d522f475SmrgCASE_IGNORE, 1107d522f475SmrgCASE_IGNORE, 1108d522f475SmrgCASE_IGNORE, 1109d522f475SmrgCASE_IGNORE, 1110d522f475Smrg/* SP ! " # */ 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/* , - . / */ 1126d522f475SmrgCASE_CSI_IGNORE, 1127d522f475SmrgCASE_CSI_IGNORE, 1128d522f475SmrgCASE_CSI_IGNORE, 1129d522f475SmrgCASE_CSI_IGNORE, 1130d522f475Smrg/* 0 1 2 3 */ 1131d522f475SmrgCASE_CSI_IGNORE, 1132d522f475SmrgCASE_CSI_IGNORE, 1133d522f475SmrgCASE_CSI_IGNORE, 1134d522f475SmrgCASE_CSI_IGNORE, 1135d522f475Smrg/* 4 5 6 7 */ 1136d522f475SmrgCASE_CSI_IGNORE, 1137d522f475SmrgCASE_CSI_IGNORE, 1138d522f475SmrgCASE_CSI_IGNORE, 1139d522f475SmrgCASE_CSI_IGNORE, 1140d522f475Smrg/* 8 9 : ; */ 1141d522f475SmrgCASE_CSI_IGNORE, 1142d522f475SmrgCASE_CSI_IGNORE, 1143d522f475SmrgCASE_CSI_IGNORE, 1144d522f475SmrgCASE_CSI_IGNORE, 1145d522f475Smrg/* < = > ? */ 1146d522f475SmrgCASE_CSI_IGNORE, 1147d522f475SmrgCASE_CSI_IGNORE, 1148d522f475SmrgCASE_CSI_IGNORE, 1149d522f475SmrgCASE_CSI_IGNORE, 1150d522f475Smrg/* @ A B C */ 1151d522f475SmrgCASE_GROUND_STATE, 1152d522f475SmrgCASE_GROUND_STATE, 1153d522f475SmrgCASE_GROUND_STATE, 1154d522f475SmrgCASE_GROUND_STATE, 1155d522f475Smrg/* D E F G */ 1156d522f475SmrgCASE_GROUND_STATE, 1157d522f475SmrgCASE_GROUND_STATE, 1158d522f475SmrgCASE_GROUND_STATE, 1159d522f475SmrgCASE_GROUND_STATE, 1160d522f475Smrg/* H I J K */ 1161d522f475SmrgCASE_GROUND_STATE, 1162d522f475SmrgCASE_GROUND_STATE, 1163d522f475SmrgCASE_GROUND_STATE, 1164d522f475SmrgCASE_GROUND_STATE, 1165d522f475Smrg/* L M N O */ 1166d522f475SmrgCASE_GROUND_STATE, 1167d522f475SmrgCASE_GROUND_STATE, 1168d522f475SmrgCASE_GROUND_STATE, 1169d522f475SmrgCASE_GROUND_STATE, 1170d522f475Smrg/* P Q R S */ 1171d522f475SmrgCASE_GROUND_STATE, 1172d522f475SmrgCASE_GROUND_STATE, 1173d522f475SmrgCASE_GROUND_STATE, 1174d522f475SmrgCASE_GROUND_STATE, 1175d522f475Smrg/* T U V W */ 1176d522f475SmrgCASE_GROUND_STATE, 1177d522f475SmrgCASE_GROUND_STATE, 1178d522f475SmrgCASE_GROUND_STATE, 1179d522f475SmrgCASE_GROUND_STATE, 1180d522f475Smrg/* X Y Z [ */ 1181d522f475SmrgCASE_GROUND_STATE, 1182d522f475SmrgCASE_GROUND_STATE, 1183d522f475SmrgCASE_GROUND_STATE, 1184d522f475SmrgCASE_GROUND_STATE, 1185d522f475Smrg/* \ ] ^ _ */ 1186d522f475SmrgCASE_GROUND_STATE, 1187d522f475SmrgCASE_GROUND_STATE, 1188d522f475SmrgCASE_GROUND_STATE, 1189d522f475SmrgCASE_GROUND_STATE, 1190d522f475Smrg/* ` a b c */ 1191d522f475SmrgCASE_GROUND_STATE, 1192d522f475SmrgCASE_GROUND_STATE, 1193d522f475SmrgCASE_GROUND_STATE, 1194d522f475SmrgCASE_GROUND_STATE, 1195d522f475Smrg/* d e f g */ 1196d522f475SmrgCASE_GROUND_STATE, 1197d522f475SmrgCASE_GROUND_STATE, 1198d522f475SmrgCASE_GROUND_STATE, 1199d522f475SmrgCASE_GROUND_STATE, 1200d522f475Smrg/* h i j k */ 1201d522f475SmrgCASE_GROUND_STATE, 1202d522f475SmrgCASE_GROUND_STATE, 1203d522f475SmrgCASE_GROUND_STATE, 1204d522f475SmrgCASE_GROUND_STATE, 1205d522f475Smrg/* l m n o */ 1206d522f475SmrgCASE_GROUND_STATE, 1207d522f475SmrgCASE_GROUND_STATE, 1208d522f475SmrgCASE_GROUND_STATE, 1209d522f475SmrgCASE_GROUND_STATE, 1210d522f475Smrg/* p q r s */ 1211d522f475SmrgCASE_DECSTR, 1212d522f475SmrgCASE_GROUND_STATE, 1213d522f475SmrgCASE_GROUND_STATE, 1214d522f475SmrgCASE_GROUND_STATE, 1215d522f475Smrg/* t u v w */ 1216d522f475SmrgCASE_GROUND_STATE, 1217d522f475SmrgCASE_GROUND_STATE, 1218d522f475SmrgCASE_GROUND_STATE, 1219d522f475SmrgCASE_GROUND_STATE, 1220d522f475Smrg/* x y z { */ 1221d522f475SmrgCASE_GROUND_STATE, 1222d522f475SmrgCASE_GROUND_STATE, 1223d522f475SmrgCASE_GROUND_STATE, 1224d522f475SmrgCASE_GROUND_STATE, 1225d522f475Smrg/* | } ~ DEL */ 1226d522f475SmrgCASE_GROUND_STATE, 1227d522f475SmrgCASE_GROUND_STATE, 1228d522f475SmrgCASE_GROUND_STATE, 1229d522f475SmrgCASE_IGNORE, 1230d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 1231d522f475SmrgCASE_GROUND_STATE, 1232d522f475SmrgCASE_GROUND_STATE, 1233d522f475SmrgCASE_GROUND_STATE, 1234d522f475SmrgCASE_GROUND_STATE, 1235d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 1236d522f475SmrgCASE_IND, 1237d522f475SmrgCASE_NEL, 1238d522f475SmrgCASE_GROUND_STATE, 1239d522f475SmrgCASE_GROUND_STATE, 1240d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 1241d522f475SmrgCASE_HTS, 1242d522f475SmrgCASE_GROUND_STATE, 1243d522f475SmrgCASE_GROUND_STATE, 1244d522f475SmrgCASE_GROUND_STATE, 1245d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 1246d522f475SmrgCASE_GROUND_STATE, 1247d522f475SmrgCASE_RI, 1248d522f475SmrgCASE_SS2, 1249d522f475SmrgCASE_SS3, 1250d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 1251d522f475SmrgCASE_DCS, 1252d522f475SmrgCASE_GROUND_STATE, 1253d522f475SmrgCASE_GROUND_STATE, 1254d522f475SmrgCASE_GROUND_STATE, 1255d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 1256d522f475SmrgCASE_GROUND_STATE, 1257d522f475SmrgCASE_GROUND_STATE, 1258d522f475SmrgCASE_SPA, 1259d522f475SmrgCASE_EPA, 1260d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 1261d522f475SmrgCASE_SOS, 1262d522f475SmrgCASE_GROUND_STATE, 1263d522f475SmrgCASE_DECID, 1264d522f475SmrgCASE_CSI_STATE, 1265d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 1266d522f475SmrgCASE_ST, 1267d522f475SmrgCASE_OSC, 1268d522f475SmrgCASE_PM, 1269d522f475SmrgCASE_APC, 1270d522f475Smrg/* nobreakspace exclamdown cent sterling */ 1271d522f475SmrgCASE_CSI_IGNORE, 1272d522f475SmrgCASE_CSI_IGNORE, 1273d522f475SmrgCASE_CSI_IGNORE, 1274d522f475SmrgCASE_CSI_IGNORE, 1275d522f475Smrg/* currency yen brokenbar section */ 1276d522f475SmrgCASE_CSI_IGNORE, 1277d522f475SmrgCASE_CSI_IGNORE, 1278d522f475SmrgCASE_CSI_IGNORE, 1279d522f475SmrgCASE_CSI_IGNORE, 1280d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 1281d522f475SmrgCASE_CSI_IGNORE, 1282d522f475SmrgCASE_CSI_IGNORE, 1283d522f475SmrgCASE_CSI_IGNORE, 1284d522f475SmrgCASE_CSI_IGNORE, 1285d522f475Smrg/* notsign hyphen registered macron */ 1286d522f475SmrgCASE_CSI_IGNORE, 1287d522f475SmrgCASE_CSI_IGNORE, 1288d522f475SmrgCASE_CSI_IGNORE, 1289d522f475SmrgCASE_CSI_IGNORE, 1290d522f475Smrg/* degree plusminus twosuperior threesuperior */ 1291d522f475SmrgCASE_CSI_IGNORE, 1292d522f475SmrgCASE_CSI_IGNORE, 1293d522f475SmrgCASE_CSI_IGNORE, 1294d522f475SmrgCASE_CSI_IGNORE, 1295d522f475Smrg/* acute mu paragraph periodcentered */ 1296d522f475SmrgCASE_CSI_IGNORE, 1297d522f475SmrgCASE_CSI_IGNORE, 1298d522f475SmrgCASE_CSI_IGNORE, 1299d522f475SmrgCASE_CSI_IGNORE, 1300d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 1301d522f475SmrgCASE_CSI_IGNORE, 1302d522f475SmrgCASE_CSI_IGNORE, 1303d522f475SmrgCASE_CSI_IGNORE, 1304d522f475SmrgCASE_CSI_IGNORE, 1305d522f475Smrg/* onequarter onehalf threequarters questiondown */ 1306d522f475SmrgCASE_CSI_IGNORE, 1307d522f475SmrgCASE_CSI_IGNORE, 1308d522f475SmrgCASE_CSI_IGNORE, 1309d522f475SmrgCASE_CSI_IGNORE, 1310d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 1311d522f475SmrgCASE_GROUND_STATE, 1312d522f475SmrgCASE_GROUND_STATE, 1313d522f475SmrgCASE_GROUND_STATE, 1314d522f475SmrgCASE_GROUND_STATE, 1315d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 1316d522f475SmrgCASE_GROUND_STATE, 1317d522f475SmrgCASE_GROUND_STATE, 1318d522f475SmrgCASE_GROUND_STATE, 1319d522f475SmrgCASE_GROUND_STATE, 1320d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 1321d522f475SmrgCASE_GROUND_STATE, 1322d522f475SmrgCASE_GROUND_STATE, 1323d522f475SmrgCASE_GROUND_STATE, 1324d522f475SmrgCASE_GROUND_STATE, 1325d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 1326d522f475SmrgCASE_GROUND_STATE, 1327d522f475SmrgCASE_GROUND_STATE, 1328d522f475SmrgCASE_GROUND_STATE, 1329d522f475SmrgCASE_GROUND_STATE, 1330d522f475Smrg/* Eth Ntilde Ograve Oacute */ 1331d522f475SmrgCASE_GROUND_STATE, 1332d522f475SmrgCASE_GROUND_STATE, 1333d522f475SmrgCASE_GROUND_STATE, 1334d522f475SmrgCASE_GROUND_STATE, 1335d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 1336d522f475SmrgCASE_GROUND_STATE, 1337d522f475SmrgCASE_GROUND_STATE, 1338d522f475SmrgCASE_GROUND_STATE, 1339d522f475SmrgCASE_GROUND_STATE, 1340d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 1341d522f475SmrgCASE_GROUND_STATE, 1342d522f475SmrgCASE_GROUND_STATE, 1343d522f475SmrgCASE_GROUND_STATE, 1344d522f475SmrgCASE_GROUND_STATE, 1345d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 1346d522f475SmrgCASE_GROUND_STATE, 1347d522f475SmrgCASE_GROUND_STATE, 1348d522f475SmrgCASE_GROUND_STATE, 1349d522f475SmrgCASE_GROUND_STATE, 1350d522f475Smrg/* agrave aacute acircumflex atilde */ 1351d522f475SmrgCASE_GROUND_STATE, 1352d522f475SmrgCASE_GROUND_STATE, 1353d522f475SmrgCASE_GROUND_STATE, 1354d522f475SmrgCASE_GROUND_STATE, 1355d522f475Smrg/* adiaeresis aring ae ccedilla */ 1356d522f475SmrgCASE_GROUND_STATE, 1357d522f475SmrgCASE_GROUND_STATE, 1358d522f475SmrgCASE_GROUND_STATE, 1359d522f475SmrgCASE_GROUND_STATE, 1360d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 1361d522f475SmrgCASE_GROUND_STATE, 1362d522f475SmrgCASE_GROUND_STATE, 1363d522f475SmrgCASE_GROUND_STATE, 1364d522f475SmrgCASE_GROUND_STATE, 1365d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 1366d522f475SmrgCASE_GROUND_STATE, 1367d522f475SmrgCASE_GROUND_STATE, 1368d522f475SmrgCASE_GROUND_STATE, 1369d522f475SmrgCASE_GROUND_STATE, 1370d522f475Smrg/* eth ntilde ograve oacute */ 1371d522f475SmrgCASE_DECSTR, 1372d522f475SmrgCASE_GROUND_STATE, 1373d522f475SmrgCASE_GROUND_STATE, 1374d522f475SmrgCASE_GROUND_STATE, 1375d522f475Smrg/* ocircumflex otilde odiaeresis division */ 1376d522f475SmrgCASE_GROUND_STATE, 1377d522f475SmrgCASE_GROUND_STATE, 1378d522f475SmrgCASE_GROUND_STATE, 1379d522f475SmrgCASE_GROUND_STATE, 1380d522f475Smrg/* oslash ugrave uacute ucircumflex */ 1381d522f475SmrgCASE_GROUND_STATE, 1382d522f475SmrgCASE_GROUND_STATE, 1383d522f475SmrgCASE_GROUND_STATE, 1384d522f475SmrgCASE_GROUND_STATE, 1385d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 1386d522f475SmrgCASE_GROUND_STATE, 1387d522f475SmrgCASE_GROUND_STATE, 1388d522f475SmrgCASE_GROUND_STATE, 1389d522f475SmrgCASE_IGNORE, 1390d522f475Smrg}; 1391d522f475Smrg 13925104ee6eSmrgconst PARSE_T csi_quo_table[] = /* CSI ... " */ 1393d522f475Smrg{ 1394d522f475Smrg/* NUL SOH STX ETX */ 1395d522f475SmrgCASE_IGNORE, 1396d522f475SmrgCASE_IGNORE, 1397d522f475SmrgCASE_IGNORE, 1398d522f475SmrgCASE_IGNORE, 1399d522f475Smrg/* EOT ENQ ACK BEL */ 1400d522f475SmrgCASE_IGNORE, 1401d522f475SmrgCASE_ENQ, 1402d522f475SmrgCASE_IGNORE, 1403d522f475SmrgCASE_BELL, 1404d522f475Smrg/* BS HT NL VT */ 1405d522f475SmrgCASE_BS, 1406d522f475SmrgCASE_TAB, 1407d522f475SmrgCASE_VMOT, 1408d522f475SmrgCASE_VMOT, 14090bd37d32Smrg/* FF CR SO SI */ 1410d522f475SmrgCASE_VMOT, 1411d522f475SmrgCASE_CR, 1412d522f475SmrgCASE_SO, 1413d522f475SmrgCASE_SI, 1414d522f475Smrg/* DLE DC1 DC2 DC3 */ 1415d522f475SmrgCASE_IGNORE, 1416d522f475SmrgCASE_IGNORE, 1417d522f475SmrgCASE_IGNORE, 1418d522f475SmrgCASE_IGNORE, 1419d522f475Smrg/* DC4 NAK SYN ETB */ 1420d522f475SmrgCASE_IGNORE, 1421d522f475SmrgCASE_IGNORE, 1422d522f475SmrgCASE_IGNORE, 1423d522f475SmrgCASE_IGNORE, 1424d522f475Smrg/* CAN EM SUB ESC */ 1425d522f475SmrgCASE_GROUND_STATE, 1426d522f475SmrgCASE_IGNORE, 14275104ee6eSmrgCASE_SUB, 1428d522f475SmrgCASE_ESC, 1429d522f475Smrg/* FS GS RS US */ 1430d522f475SmrgCASE_IGNORE, 1431d522f475SmrgCASE_IGNORE, 1432d522f475SmrgCASE_IGNORE, 1433d522f475SmrgCASE_IGNORE, 1434d522f475Smrg/* SP ! " # */ 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/* , - . / */ 1450d522f475SmrgCASE_CSI_IGNORE, 1451d522f475SmrgCASE_CSI_IGNORE, 1452d522f475SmrgCASE_CSI_IGNORE, 1453d522f475SmrgCASE_CSI_IGNORE, 1454d522f475Smrg/* 0 1 2 3 */ 1455d522f475SmrgCASE_CSI_IGNORE, 1456d522f475SmrgCASE_CSI_IGNORE, 1457d522f475SmrgCASE_CSI_IGNORE, 1458d522f475SmrgCASE_CSI_IGNORE, 1459d522f475Smrg/* 4 5 6 7 */ 1460d522f475SmrgCASE_CSI_IGNORE, 1461d522f475SmrgCASE_CSI_IGNORE, 1462d522f475SmrgCASE_CSI_IGNORE, 1463d522f475SmrgCASE_CSI_IGNORE, 1464d522f475Smrg/* 8 9 : ; */ 1465d522f475SmrgCASE_CSI_IGNORE, 1466d522f475SmrgCASE_CSI_IGNORE, 1467d522f475SmrgCASE_CSI_IGNORE, 1468d522f475SmrgCASE_CSI_IGNORE, 1469d522f475Smrg/* < = > ? */ 1470d522f475SmrgCASE_CSI_IGNORE, 1471d522f475SmrgCASE_CSI_IGNORE, 1472d522f475SmrgCASE_CSI_IGNORE, 1473d522f475SmrgCASE_CSI_IGNORE, 1474d522f475Smrg/* @ A B C */ 1475d522f475SmrgCASE_GROUND_STATE, 1476d522f475SmrgCASE_GROUND_STATE, 1477d522f475SmrgCASE_GROUND_STATE, 1478d522f475SmrgCASE_GROUND_STATE, 1479d522f475Smrg/* D E F G */ 1480d522f475SmrgCASE_GROUND_STATE, 1481d522f475SmrgCASE_GROUND_STATE, 1482d522f475SmrgCASE_GROUND_STATE, 1483d522f475SmrgCASE_GROUND_STATE, 1484d522f475Smrg/* H I J K */ 1485d522f475SmrgCASE_GROUND_STATE, 1486d522f475SmrgCASE_GROUND_STATE, 1487d522f475SmrgCASE_GROUND_STATE, 1488d522f475SmrgCASE_GROUND_STATE, 1489d522f475Smrg/* L M N O */ 1490d522f475SmrgCASE_GROUND_STATE, 1491d522f475SmrgCASE_GROUND_STATE, 1492d522f475SmrgCASE_GROUND_STATE, 1493d522f475SmrgCASE_GROUND_STATE, 1494d522f475Smrg/* P Q R S */ 1495d522f475SmrgCASE_GROUND_STATE, 1496d522f475SmrgCASE_GROUND_STATE, 1497d522f475SmrgCASE_GROUND_STATE, 1498d522f475SmrgCASE_GROUND_STATE, 1499d522f475Smrg/* T U V W */ 1500d522f475SmrgCASE_GROUND_STATE, 1501d522f475SmrgCASE_GROUND_STATE, 1502d522f475SmrgCASE_GROUND_STATE, 1503d522f475SmrgCASE_GROUND_STATE, 1504d522f475Smrg/* X Y Z [ */ 1505d522f475SmrgCASE_GROUND_STATE, 1506d522f475SmrgCASE_GROUND_STATE, 1507d522f475SmrgCASE_GROUND_STATE, 1508d522f475SmrgCASE_GROUND_STATE, 1509d522f475Smrg/* \ ] ^ _ */ 1510d522f475SmrgCASE_GROUND_STATE, 1511d522f475SmrgCASE_GROUND_STATE, 1512d522f475SmrgCASE_GROUND_STATE, 1513d522f475SmrgCASE_GROUND_STATE, 1514d522f475Smrg/* ` a b c */ 1515d522f475SmrgCASE_GROUND_STATE, 1516d522f475SmrgCASE_GROUND_STATE, 1517d522f475SmrgCASE_GROUND_STATE, 1518d522f475SmrgCASE_GROUND_STATE, 1519d522f475Smrg/* d e f g */ 1520d522f475SmrgCASE_GROUND_STATE, 1521d522f475SmrgCASE_GROUND_STATE, 1522d522f475SmrgCASE_GROUND_STATE, 1523d522f475SmrgCASE_GROUND_STATE, 1524d522f475Smrg/* h i j k */ 1525d522f475SmrgCASE_GROUND_STATE, 1526d522f475SmrgCASE_GROUND_STATE, 1527d522f475SmrgCASE_GROUND_STATE, 1528d522f475SmrgCASE_GROUND_STATE, 1529d522f475Smrg/* l m n o */ 1530d522f475SmrgCASE_GROUND_STATE, 1531d522f475SmrgCASE_GROUND_STATE, 1532d522f475SmrgCASE_GROUND_STATE, 1533d522f475SmrgCASE_GROUND_STATE, 1534d522f475Smrg/* p q r s */ 1535d522f475SmrgCASE_DECSCL, 1536d522f475SmrgCASE_DECSCA, 1537d522f475SmrgCASE_GROUND_STATE, 1538d522f475SmrgCASE_GROUND_STATE, 1539d522f475Smrg/* t u v w */ 154004b94745SmrgCASE_GROUND_STATE, /* vt510:DECSRFR */ 154104b94745SmrgCASE_GROUND_STATE, /* vt510:DECSTRL */ 154204b94745SmrgCASE_DECRQDE, 154304b94745SmrgCASE_GROUND_STATE, /* vt420:DECRPDE */ 1544d522f475Smrg/* x y z { */ 1545d522f475SmrgCASE_GROUND_STATE, 1546d522f475SmrgCASE_GROUND_STATE, 1547d522f475SmrgCASE_GROUND_STATE, 1548d522f475SmrgCASE_GROUND_STATE, 1549d522f475Smrg/* | } ~ DEL */ 1550d522f475SmrgCASE_GROUND_STATE, 1551d522f475SmrgCASE_GROUND_STATE, 1552d522f475SmrgCASE_GROUND_STATE, 1553d522f475SmrgCASE_IGNORE, 1554d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 1555d522f475SmrgCASE_GROUND_STATE, 1556d522f475SmrgCASE_GROUND_STATE, 1557d522f475SmrgCASE_GROUND_STATE, 1558d522f475SmrgCASE_GROUND_STATE, 1559d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 1560d522f475SmrgCASE_IND, 1561d522f475SmrgCASE_NEL, 1562d522f475SmrgCASE_GROUND_STATE, 1563d522f475SmrgCASE_GROUND_STATE, 1564d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 1565d522f475SmrgCASE_HTS, 1566d522f475SmrgCASE_GROUND_STATE, 1567d522f475SmrgCASE_GROUND_STATE, 1568d522f475SmrgCASE_GROUND_STATE, 1569d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 1570d522f475SmrgCASE_GROUND_STATE, 1571d522f475SmrgCASE_RI, 1572d522f475SmrgCASE_SS2, 1573d522f475SmrgCASE_SS3, 1574d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 1575d522f475SmrgCASE_DCS, 1576d522f475SmrgCASE_GROUND_STATE, 1577d522f475SmrgCASE_GROUND_STATE, 1578d522f475SmrgCASE_GROUND_STATE, 1579d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 1580d522f475SmrgCASE_GROUND_STATE, 1581d522f475SmrgCASE_GROUND_STATE, 1582d522f475SmrgCASE_SPA, 1583d522f475SmrgCASE_EPA, 1584d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 1585d522f475SmrgCASE_SOS, 1586d522f475SmrgCASE_GROUND_STATE, 1587d522f475SmrgCASE_DECID, 1588d522f475SmrgCASE_CSI_STATE, 1589d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 1590d522f475SmrgCASE_ST, 1591d522f475SmrgCASE_OSC, 1592d522f475SmrgCASE_PM, 1593d522f475SmrgCASE_APC, 1594d522f475Smrg/* nobreakspace exclamdown cent sterling */ 1595d522f475SmrgCASE_CSI_IGNORE, 1596d522f475SmrgCASE_CSI_IGNORE, 1597d522f475SmrgCASE_CSI_IGNORE, 1598d522f475SmrgCASE_CSI_IGNORE, 1599d522f475Smrg/* currency yen brokenbar section */ 1600d522f475SmrgCASE_CSI_IGNORE, 1601d522f475SmrgCASE_CSI_IGNORE, 1602d522f475SmrgCASE_CSI_IGNORE, 1603d522f475SmrgCASE_CSI_IGNORE, 1604d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 1605d522f475SmrgCASE_CSI_IGNORE, 1606d522f475SmrgCASE_CSI_IGNORE, 1607d522f475SmrgCASE_CSI_IGNORE, 1608d522f475SmrgCASE_CSI_IGNORE, 1609d522f475Smrg/* notsign hyphen registered macron */ 1610d522f475SmrgCASE_CSI_IGNORE, 1611d522f475SmrgCASE_CSI_IGNORE, 1612d522f475SmrgCASE_CSI_IGNORE, 1613d522f475SmrgCASE_CSI_IGNORE, 1614d522f475Smrg/* degree plusminus twosuperior threesuperior */ 1615d522f475SmrgCASE_CSI_IGNORE, 1616d522f475SmrgCASE_CSI_IGNORE, 1617d522f475SmrgCASE_CSI_IGNORE, 1618d522f475SmrgCASE_CSI_IGNORE, 1619d522f475Smrg/* acute mu paragraph periodcentered */ 1620d522f475SmrgCASE_CSI_IGNORE, 1621d522f475SmrgCASE_CSI_IGNORE, 1622d522f475SmrgCASE_CSI_IGNORE, 1623d522f475SmrgCASE_CSI_IGNORE, 1624d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 1625d522f475SmrgCASE_CSI_IGNORE, 1626d522f475SmrgCASE_CSI_IGNORE, 1627d522f475SmrgCASE_CSI_IGNORE, 1628d522f475SmrgCASE_CSI_IGNORE, 1629d522f475Smrg/* onequarter onehalf threequarters questiondown */ 1630d522f475SmrgCASE_CSI_IGNORE, 1631d522f475SmrgCASE_CSI_IGNORE, 1632d522f475SmrgCASE_CSI_IGNORE, 1633d522f475SmrgCASE_CSI_IGNORE, 1634d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 1635d522f475SmrgCASE_GROUND_STATE, 1636d522f475SmrgCASE_GROUND_STATE, 1637d522f475SmrgCASE_GROUND_STATE, 1638d522f475SmrgCASE_GROUND_STATE, 1639d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 1640d522f475SmrgCASE_GROUND_STATE, 1641d522f475SmrgCASE_GROUND_STATE, 1642d522f475SmrgCASE_GROUND_STATE, 1643d522f475SmrgCASE_GROUND_STATE, 1644d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 1645d522f475SmrgCASE_GROUND_STATE, 1646d522f475SmrgCASE_GROUND_STATE, 1647d522f475SmrgCASE_GROUND_STATE, 1648d522f475SmrgCASE_GROUND_STATE, 1649d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 1650d522f475SmrgCASE_GROUND_STATE, 1651d522f475SmrgCASE_GROUND_STATE, 1652d522f475SmrgCASE_GROUND_STATE, 1653d522f475SmrgCASE_GROUND_STATE, 1654d522f475Smrg/* Eth Ntilde Ograve Oacute */ 1655d522f475SmrgCASE_GROUND_STATE, 1656d522f475SmrgCASE_GROUND_STATE, 1657d522f475SmrgCASE_GROUND_STATE, 1658d522f475SmrgCASE_GROUND_STATE, 1659d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 1660d522f475SmrgCASE_GROUND_STATE, 1661d522f475SmrgCASE_GROUND_STATE, 1662d522f475SmrgCASE_GROUND_STATE, 1663d522f475SmrgCASE_GROUND_STATE, 1664d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 1665d522f475SmrgCASE_GROUND_STATE, 1666d522f475SmrgCASE_GROUND_STATE, 1667d522f475SmrgCASE_GROUND_STATE, 1668d522f475SmrgCASE_GROUND_STATE, 1669d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 1670d522f475SmrgCASE_GROUND_STATE, 1671d522f475SmrgCASE_GROUND_STATE, 1672d522f475SmrgCASE_GROUND_STATE, 1673d522f475SmrgCASE_GROUND_STATE, 1674d522f475Smrg/* agrave aacute acircumflex atilde */ 1675d522f475SmrgCASE_GROUND_STATE, 1676d522f475SmrgCASE_GROUND_STATE, 1677d522f475SmrgCASE_GROUND_STATE, 1678d522f475SmrgCASE_GROUND_STATE, 1679d522f475Smrg/* adiaeresis aring ae ccedilla */ 1680d522f475SmrgCASE_GROUND_STATE, 1681d522f475SmrgCASE_GROUND_STATE, 1682d522f475SmrgCASE_GROUND_STATE, 1683d522f475SmrgCASE_GROUND_STATE, 1684d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 1685d522f475SmrgCASE_GROUND_STATE, 1686d522f475SmrgCASE_GROUND_STATE, 1687d522f475SmrgCASE_GROUND_STATE, 1688d522f475SmrgCASE_GROUND_STATE, 1689d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 1690d522f475SmrgCASE_GROUND_STATE, 1691d522f475SmrgCASE_GROUND_STATE, 1692d522f475SmrgCASE_GROUND_STATE, 1693d522f475SmrgCASE_GROUND_STATE, 1694d522f475Smrg/* eth ntilde ograve oacute */ 1695d522f475SmrgCASE_DECSCL, 1696d522f475SmrgCASE_DECSCA, 1697d522f475SmrgCASE_GROUND_STATE, 1698d522f475SmrgCASE_GROUND_STATE, 1699d522f475Smrg/* ocircumflex otilde odiaeresis division */ 1700d522f475SmrgCASE_GROUND_STATE, 1701d522f475SmrgCASE_GROUND_STATE, 170204b94745SmrgCASE_DECRQDE, 1703d522f475SmrgCASE_GROUND_STATE, 1704d522f475Smrg/* oslash ugrave uacute ucircumflex */ 1705d522f475SmrgCASE_GROUND_STATE, 1706d522f475SmrgCASE_GROUND_STATE, 1707d522f475SmrgCASE_GROUND_STATE, 1708d522f475SmrgCASE_GROUND_STATE, 1709d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 1710d522f475SmrgCASE_GROUND_STATE, 1711d522f475SmrgCASE_GROUND_STATE, 1712d522f475SmrgCASE_GROUND_STATE, 1713d522f475SmrgCASE_IGNORE, 1714d522f475Smrg}; 1715d522f475Smrg 171620d2c4d2Smrg#if OPT_BLINK_CURS 17175104ee6eSmrgconst PARSE_T csi_sp_table[] = /* CSI ... SP */ 171820d2c4d2Smrg{ 171920d2c4d2Smrg/* NUL SOH STX ETX */ 172020d2c4d2SmrgCASE_IGNORE, 172120d2c4d2SmrgCASE_IGNORE, 172220d2c4d2SmrgCASE_IGNORE, 172320d2c4d2SmrgCASE_IGNORE, 172420d2c4d2Smrg/* EOT ENQ ACK BEL */ 172520d2c4d2SmrgCASE_IGNORE, 172620d2c4d2SmrgCASE_ENQ, 172720d2c4d2SmrgCASE_IGNORE, 172820d2c4d2SmrgCASE_BELL, 172920d2c4d2Smrg/* BS HT NL VT */ 173020d2c4d2SmrgCASE_BS, 173120d2c4d2SmrgCASE_TAB, 173220d2c4d2SmrgCASE_VMOT, 173320d2c4d2SmrgCASE_VMOT, 17340bd37d32Smrg/* FF CR SO SI */ 173520d2c4d2SmrgCASE_VMOT, 173620d2c4d2SmrgCASE_CR, 173720d2c4d2SmrgCASE_SO, 173820d2c4d2SmrgCASE_SI, 173920d2c4d2Smrg/* DLE DC1 DC2 DC3 */ 174020d2c4d2SmrgCASE_IGNORE, 174120d2c4d2SmrgCASE_IGNORE, 174220d2c4d2SmrgCASE_IGNORE, 174320d2c4d2SmrgCASE_IGNORE, 174420d2c4d2Smrg/* DC4 NAK SYN ETB */ 174520d2c4d2SmrgCASE_IGNORE, 174620d2c4d2SmrgCASE_IGNORE, 174720d2c4d2SmrgCASE_IGNORE, 174820d2c4d2SmrgCASE_IGNORE, 174920d2c4d2Smrg/* CAN EM SUB ESC */ 175020d2c4d2SmrgCASE_GROUND_STATE, 175120d2c4d2SmrgCASE_IGNORE, 17525104ee6eSmrgCASE_SUB, 175320d2c4d2SmrgCASE_ESC, 175420d2c4d2Smrg/* FS GS RS US */ 175520d2c4d2SmrgCASE_IGNORE, 175620d2c4d2SmrgCASE_IGNORE, 175720d2c4d2SmrgCASE_IGNORE, 175820d2c4d2SmrgCASE_IGNORE, 175920d2c4d2Smrg/* SP ! " # */ 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/* , - . / */ 177520d2c4d2SmrgCASE_CSI_IGNORE, 177620d2c4d2SmrgCASE_CSI_IGNORE, 177720d2c4d2SmrgCASE_CSI_IGNORE, 177820d2c4d2SmrgCASE_CSI_IGNORE, 177920d2c4d2Smrg/* 0 1 2 3 */ 178020d2c4d2SmrgCASE_CSI_IGNORE, 178120d2c4d2SmrgCASE_CSI_IGNORE, 178220d2c4d2SmrgCASE_CSI_IGNORE, 178320d2c4d2SmrgCASE_CSI_IGNORE, 178420d2c4d2Smrg/* 4 5 6 7 */ 178520d2c4d2SmrgCASE_CSI_IGNORE, 178620d2c4d2SmrgCASE_CSI_IGNORE, 178720d2c4d2SmrgCASE_CSI_IGNORE, 178820d2c4d2SmrgCASE_CSI_IGNORE, 178920d2c4d2Smrg/* 8 9 : ; */ 179020d2c4d2SmrgCASE_CSI_IGNORE, 179120d2c4d2SmrgCASE_CSI_IGNORE, 179220d2c4d2SmrgCASE_CSI_IGNORE, 179320d2c4d2SmrgCASE_CSI_IGNORE, 179420d2c4d2Smrg/* < = > ? */ 179520d2c4d2SmrgCASE_CSI_IGNORE, 179620d2c4d2SmrgCASE_CSI_IGNORE, 179720d2c4d2SmrgCASE_CSI_IGNORE, 179820d2c4d2SmrgCASE_CSI_IGNORE, 179920d2c4d2Smrg/* @ A B C */ 18000bd37d32SmrgCASE_SL, 18010bd37d32SmrgCASE_SR, 180220d2c4d2SmrgCASE_GROUND_STATE, 180320d2c4d2SmrgCASE_GROUND_STATE, 180420d2c4d2Smrg/* D E F G */ 180520d2c4d2SmrgCASE_GROUND_STATE, 180620d2c4d2SmrgCASE_GROUND_STATE, 180720d2c4d2SmrgCASE_GROUND_STATE, 180820d2c4d2SmrgCASE_GROUND_STATE, 180920d2c4d2Smrg/* H I J K */ 181020d2c4d2SmrgCASE_GROUND_STATE, 181120d2c4d2SmrgCASE_GROUND_STATE, 181220d2c4d2SmrgCASE_GROUND_STATE, 181320d2c4d2SmrgCASE_GROUND_STATE, 181420d2c4d2Smrg/* L M N O */ 181520d2c4d2SmrgCASE_GROUND_STATE, 181620d2c4d2SmrgCASE_GROUND_STATE, 181720d2c4d2SmrgCASE_GROUND_STATE, 181820d2c4d2SmrgCASE_GROUND_STATE, 181920d2c4d2Smrg/* P Q R S */ 182004b94745SmrgCASE_GROUND_STATE, /* vt510:PPA */ 182104b94745SmrgCASE_GROUND_STATE, /* vt420:PPR */ 182204b94745SmrgCASE_GROUND_STATE, /* vt510:PPB */ 182320d2c4d2SmrgCASE_GROUND_STATE, 182420d2c4d2Smrg/* T U V W */ 182520d2c4d2SmrgCASE_GROUND_STATE, 182620d2c4d2SmrgCASE_GROUND_STATE, 182720d2c4d2SmrgCASE_GROUND_STATE, 182820d2c4d2SmrgCASE_GROUND_STATE, 182920d2c4d2Smrg/* X Y Z [ */ 183020d2c4d2SmrgCASE_GROUND_STATE, 183120d2c4d2SmrgCASE_GROUND_STATE, 183220d2c4d2SmrgCASE_GROUND_STATE, 183320d2c4d2SmrgCASE_GROUND_STATE, 183420d2c4d2Smrg/* \ ] ^ _ */ 183520d2c4d2SmrgCASE_GROUND_STATE, 183620d2c4d2SmrgCASE_GROUND_STATE, 183720d2c4d2SmrgCASE_GROUND_STATE, 183820d2c4d2SmrgCASE_GROUND_STATE, 183920d2c4d2Smrg/* ` a b c */ 184020d2c4d2SmrgCASE_GROUND_STATE, 184120d2c4d2SmrgCASE_GROUND_STATE, 184220d2c4d2SmrgCASE_GROUND_STATE, 184320d2c4d2SmrgCASE_GROUND_STATE, 184420d2c4d2Smrg/* d e f g */ 184520d2c4d2SmrgCASE_GROUND_STATE, 184620d2c4d2SmrgCASE_GROUND_STATE, 184720d2c4d2SmrgCASE_GROUND_STATE, 184820d2c4d2SmrgCASE_GROUND_STATE, 184920d2c4d2Smrg/* h i j k */ 185020d2c4d2SmrgCASE_GROUND_STATE, 185120d2c4d2SmrgCASE_GROUND_STATE, 185220d2c4d2SmrgCASE_GROUND_STATE, 185320d2c4d2SmrgCASE_GROUND_STATE, 185420d2c4d2Smrg/* l m n o */ 185520d2c4d2SmrgCASE_GROUND_STATE, 185620d2c4d2SmrgCASE_GROUND_STATE, 185720d2c4d2SmrgCASE_GROUND_STATE, 185820d2c4d2SmrgCASE_GROUND_STATE, 185920d2c4d2Smrg/* p q r s */ 186004b94745SmrgCASE_GROUND_STATE, /* vt510:DECSSCLS */ 186120d2c4d2SmrgCASE_DECSCUSR, 186204b94745SmrgCASE_GROUND_STATE, /* vt510:DECSKCV */ 186320d2c4d2SmrgCASE_GROUND_STATE, 186420d2c4d2Smrg/* t u v w */ 186520d2c4d2SmrgCASE_DECSWBV, 186620d2c4d2SmrgCASE_DECSMBV, 186704b94745SmrgCASE_GROUND_STATE, /* vt510:DECSLCK */ 186820d2c4d2SmrgCASE_GROUND_STATE, 186920d2c4d2Smrg/* x y z { */ 187020d2c4d2SmrgCASE_GROUND_STATE, 187120d2c4d2SmrgCASE_GROUND_STATE, 187220d2c4d2SmrgCASE_GROUND_STATE, 187320d2c4d2SmrgCASE_GROUND_STATE, 187420d2c4d2Smrg/* | } ~ DEL */ 187520d2c4d2SmrgCASE_GROUND_STATE, 187604b94745SmrgCASE_GROUND_STATE, /* vt510:DECKBD */ 187704b94745SmrgCASE_GROUND_STATE, /* vt510:DECTME */ 187820d2c4d2SmrgCASE_IGNORE, 187920d2c4d2Smrg/* 0x80 0x81 0x82 0x83 */ 188020d2c4d2SmrgCASE_GROUND_STATE, 188120d2c4d2SmrgCASE_GROUND_STATE, 188220d2c4d2SmrgCASE_GROUND_STATE, 188320d2c4d2SmrgCASE_GROUND_STATE, 188420d2c4d2Smrg/* 0x84 0x85 0x86 0x87 */ 188520d2c4d2SmrgCASE_IND, 188620d2c4d2SmrgCASE_NEL, 188720d2c4d2SmrgCASE_GROUND_STATE, 188820d2c4d2SmrgCASE_GROUND_STATE, 188920d2c4d2Smrg/* 0x88 0x89 0x8a 0x8b */ 189020d2c4d2SmrgCASE_HTS, 189120d2c4d2SmrgCASE_GROUND_STATE, 189220d2c4d2SmrgCASE_GROUND_STATE, 189320d2c4d2SmrgCASE_GROUND_STATE, 189420d2c4d2Smrg/* 0x8c 0x8d 0x8e 0x8f */ 189520d2c4d2SmrgCASE_GROUND_STATE, 189620d2c4d2SmrgCASE_RI, 189720d2c4d2SmrgCASE_SS2, 189820d2c4d2SmrgCASE_SS3, 189920d2c4d2Smrg/* 0x90 0x91 0x92 0x93 */ 190020d2c4d2SmrgCASE_DCS, 190120d2c4d2SmrgCASE_GROUND_STATE, 190220d2c4d2SmrgCASE_GROUND_STATE, 190320d2c4d2SmrgCASE_GROUND_STATE, 190420d2c4d2Smrg/* 0x94 0x95 0x96 0x97 */ 190520d2c4d2SmrgCASE_GROUND_STATE, 190620d2c4d2SmrgCASE_GROUND_STATE, 190720d2c4d2SmrgCASE_SPA, 190820d2c4d2SmrgCASE_EPA, 190920d2c4d2Smrg/* 0x98 0x99 0x9a 0x9b */ 191020d2c4d2SmrgCASE_SOS, 191120d2c4d2SmrgCASE_GROUND_STATE, 191220d2c4d2SmrgCASE_DECID, 191320d2c4d2SmrgCASE_CSI_STATE, 191420d2c4d2Smrg/* 0x9c 0x9d 0x9e 0x9f */ 191520d2c4d2SmrgCASE_ST, 191620d2c4d2SmrgCASE_OSC, 191720d2c4d2SmrgCASE_PM, 191820d2c4d2SmrgCASE_APC, 191920d2c4d2Smrg/* nobreakspace exclamdown cent sterling */ 192020d2c4d2SmrgCASE_CSI_IGNORE, 192120d2c4d2SmrgCASE_CSI_IGNORE, 192220d2c4d2SmrgCASE_CSI_IGNORE, 192320d2c4d2SmrgCASE_CSI_IGNORE, 192420d2c4d2Smrg/* currency yen brokenbar section */ 192520d2c4d2SmrgCASE_CSI_IGNORE, 192620d2c4d2SmrgCASE_CSI_IGNORE, 192720d2c4d2SmrgCASE_CSI_IGNORE, 192820d2c4d2SmrgCASE_CSI_IGNORE, 192920d2c4d2Smrg/* diaeresis copyright ordfeminine guillemotleft */ 193020d2c4d2SmrgCASE_CSI_IGNORE, 193120d2c4d2SmrgCASE_CSI_IGNORE, 193220d2c4d2SmrgCASE_CSI_IGNORE, 193320d2c4d2SmrgCASE_CSI_IGNORE, 193420d2c4d2Smrg/* notsign hyphen registered macron */ 193520d2c4d2SmrgCASE_CSI_IGNORE, 193620d2c4d2SmrgCASE_CSI_IGNORE, 193720d2c4d2SmrgCASE_CSI_IGNORE, 193820d2c4d2SmrgCASE_CSI_IGNORE, 193920d2c4d2Smrg/* degree plusminus twosuperior threesuperior */ 194020d2c4d2SmrgCASE_CSI_IGNORE, 194120d2c4d2SmrgCASE_CSI_IGNORE, 194220d2c4d2SmrgCASE_CSI_IGNORE, 194320d2c4d2SmrgCASE_CSI_IGNORE, 194420d2c4d2Smrg/* acute mu paragraph periodcentered */ 194520d2c4d2SmrgCASE_CSI_IGNORE, 194620d2c4d2SmrgCASE_CSI_IGNORE, 194720d2c4d2SmrgCASE_CSI_IGNORE, 194820d2c4d2SmrgCASE_CSI_IGNORE, 194920d2c4d2Smrg/* cedilla onesuperior masculine guillemotright */ 195020d2c4d2SmrgCASE_CSI_IGNORE, 195120d2c4d2SmrgCASE_CSI_IGNORE, 195220d2c4d2SmrgCASE_CSI_IGNORE, 195320d2c4d2SmrgCASE_CSI_IGNORE, 195420d2c4d2Smrg/* onequarter onehalf threequarters questiondown */ 195520d2c4d2SmrgCASE_CSI_IGNORE, 195620d2c4d2SmrgCASE_CSI_IGNORE, 195720d2c4d2SmrgCASE_CSI_IGNORE, 195820d2c4d2SmrgCASE_CSI_IGNORE, 195920d2c4d2Smrg/* Agrave Aacute Acircumflex Atilde */ 1960894e0ac8SmrgCASE_SL, 1961894e0ac8SmrgCASE_SR, 196220d2c4d2SmrgCASE_GROUND_STATE, 196320d2c4d2SmrgCASE_GROUND_STATE, 196420d2c4d2Smrg/* Adiaeresis Aring AE Ccedilla */ 196520d2c4d2SmrgCASE_GROUND_STATE, 196620d2c4d2SmrgCASE_GROUND_STATE, 196720d2c4d2SmrgCASE_GROUND_STATE, 196820d2c4d2SmrgCASE_GROUND_STATE, 196920d2c4d2Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 197020d2c4d2SmrgCASE_GROUND_STATE, 197120d2c4d2SmrgCASE_GROUND_STATE, 197220d2c4d2SmrgCASE_GROUND_STATE, 197320d2c4d2SmrgCASE_GROUND_STATE, 197420d2c4d2Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 197520d2c4d2SmrgCASE_GROUND_STATE, 197620d2c4d2SmrgCASE_GROUND_STATE, 197720d2c4d2SmrgCASE_GROUND_STATE, 197820d2c4d2SmrgCASE_GROUND_STATE, 197920d2c4d2Smrg/* Eth Ntilde Ograve Oacute */ 198020d2c4d2SmrgCASE_GROUND_STATE, 198120d2c4d2SmrgCASE_GROUND_STATE, 198220d2c4d2SmrgCASE_GROUND_STATE, 198320d2c4d2SmrgCASE_GROUND_STATE, 198420d2c4d2Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 198520d2c4d2SmrgCASE_GROUND_STATE, 198620d2c4d2SmrgCASE_GROUND_STATE, 198720d2c4d2SmrgCASE_GROUND_STATE, 198820d2c4d2SmrgCASE_GROUND_STATE, 198920d2c4d2Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 199020d2c4d2SmrgCASE_GROUND_STATE, 199120d2c4d2SmrgCASE_GROUND_STATE, 199220d2c4d2SmrgCASE_GROUND_STATE, 199320d2c4d2SmrgCASE_GROUND_STATE, 199420d2c4d2Smrg/* Udiaeresis Yacute Thorn ssharp */ 199520d2c4d2SmrgCASE_GROUND_STATE, 199620d2c4d2SmrgCASE_GROUND_STATE, 199720d2c4d2SmrgCASE_GROUND_STATE, 199820d2c4d2SmrgCASE_GROUND_STATE, 199920d2c4d2Smrg/* agrave aacute acircumflex atilde */ 200020d2c4d2SmrgCASE_GROUND_STATE, 200120d2c4d2SmrgCASE_GROUND_STATE, 200220d2c4d2SmrgCASE_GROUND_STATE, 200320d2c4d2SmrgCASE_GROUND_STATE, 200420d2c4d2Smrg/* adiaeresis aring ae ccedilla */ 200520d2c4d2SmrgCASE_GROUND_STATE, 200620d2c4d2SmrgCASE_GROUND_STATE, 200720d2c4d2SmrgCASE_GROUND_STATE, 200820d2c4d2SmrgCASE_GROUND_STATE, 200920d2c4d2Smrg/* egrave eacute ecircumflex ediaeresis */ 201020d2c4d2SmrgCASE_GROUND_STATE, 201120d2c4d2SmrgCASE_GROUND_STATE, 201220d2c4d2SmrgCASE_GROUND_STATE, 201320d2c4d2SmrgCASE_GROUND_STATE, 201420d2c4d2Smrg/* igrave iacute icircumflex idiaeresis */ 201520d2c4d2SmrgCASE_GROUND_STATE, 201620d2c4d2SmrgCASE_GROUND_STATE, 201720d2c4d2SmrgCASE_GROUND_STATE, 201820d2c4d2SmrgCASE_GROUND_STATE, 201920d2c4d2Smrg/* eth ntilde ograve oacute */ 202020d2c4d2SmrgCASE_GROUND_STATE, 202120d2c4d2SmrgCASE_DECSCUSR, 202220d2c4d2SmrgCASE_GROUND_STATE, 202320d2c4d2SmrgCASE_GROUND_STATE, 202420d2c4d2Smrg/* ocircumflex otilde odiaeresis division */ 202520d2c4d2SmrgCASE_DECSWBV, 202620d2c4d2SmrgCASE_DECSMBV, 202720d2c4d2SmrgCASE_GROUND_STATE, 202820d2c4d2SmrgCASE_GROUND_STATE, 202920d2c4d2Smrg/* oslash ugrave uacute ucircumflex */ 203020d2c4d2SmrgCASE_GROUND_STATE, 203120d2c4d2SmrgCASE_GROUND_STATE, 203220d2c4d2SmrgCASE_GROUND_STATE, 203320d2c4d2SmrgCASE_GROUND_STATE, 203420d2c4d2Smrg/* udiaeresis yacute thorn ydiaeresis */ 203520d2c4d2SmrgCASE_GROUND_STATE, 203620d2c4d2SmrgCASE_GROUND_STATE, 203720d2c4d2SmrgCASE_GROUND_STATE, 203820d2c4d2SmrgCASE_IGNORE, 203920d2c4d2Smrg}; 204020d2c4d2Smrg#endif 204120d2c4d2Smrg 20425104ee6eSmrgconst PARSE_T csi_tick_table[] = /* CSI ... ' */ 2043d522f475Smrg{ 2044d522f475Smrg/* NUL SOH STX ETX */ 2045d522f475SmrgCASE_IGNORE, 2046d522f475SmrgCASE_IGNORE, 2047d522f475SmrgCASE_IGNORE, 2048d522f475SmrgCASE_IGNORE, 2049d522f475Smrg/* EOT ENQ ACK BEL */ 2050d522f475SmrgCASE_IGNORE, 2051d522f475SmrgCASE_ENQ, 2052d522f475SmrgCASE_IGNORE, 2053d522f475SmrgCASE_BELL, 2054d522f475Smrg/* BS HT NL VT */ 2055d522f475SmrgCASE_BS, 2056d522f475SmrgCASE_TAB, 2057d522f475SmrgCASE_VMOT, 2058d522f475SmrgCASE_VMOT, 20590bd37d32Smrg/* FF CR SO SI */ 2060d522f475SmrgCASE_VMOT, 2061d522f475SmrgCASE_CR, 2062d522f475SmrgCASE_SO, 2063d522f475SmrgCASE_SI, 2064d522f475Smrg/* DLE DC1 DC2 DC3 */ 2065d522f475SmrgCASE_IGNORE, 2066d522f475SmrgCASE_IGNORE, 2067d522f475SmrgCASE_IGNORE, 2068d522f475SmrgCASE_IGNORE, 2069d522f475Smrg/* DC4 NAK SYN ETB */ 2070d522f475SmrgCASE_IGNORE, 2071d522f475SmrgCASE_IGNORE, 2072d522f475SmrgCASE_IGNORE, 2073d522f475SmrgCASE_IGNORE, 2074d522f475Smrg/* CAN EM SUB ESC */ 2075d522f475SmrgCASE_GROUND_STATE, 2076d522f475SmrgCASE_IGNORE, 20775104ee6eSmrgCASE_SUB, 2078d522f475SmrgCASE_ESC, 2079d522f475Smrg/* FS GS RS US */ 2080d522f475SmrgCASE_IGNORE, 2081d522f475SmrgCASE_IGNORE, 2082d522f475SmrgCASE_IGNORE, 2083d522f475SmrgCASE_IGNORE, 2084d522f475Smrg/* SP ! " # */ 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/* , - . / */ 2100d522f475SmrgCASE_CSI_IGNORE, 2101d522f475SmrgCASE_CSI_IGNORE, 2102d522f475SmrgCASE_CSI_IGNORE, 2103d522f475SmrgCASE_CSI_IGNORE, 2104d522f475Smrg/* 0 1 2 3 */ 2105d522f475SmrgCASE_CSI_IGNORE, 2106d522f475SmrgCASE_CSI_IGNORE, 2107d522f475SmrgCASE_CSI_IGNORE, 2108d522f475SmrgCASE_CSI_IGNORE, 2109d522f475Smrg/* 4 5 6 7 */ 2110d522f475SmrgCASE_CSI_IGNORE, 2111d522f475SmrgCASE_CSI_IGNORE, 2112d522f475SmrgCASE_CSI_IGNORE, 2113d522f475SmrgCASE_CSI_IGNORE, 2114d522f475Smrg/* 8 9 : ; */ 2115d522f475SmrgCASE_CSI_IGNORE, 2116d522f475SmrgCASE_CSI_IGNORE, 2117d522f475SmrgCASE_CSI_IGNORE, 2118d522f475SmrgCASE_CSI_IGNORE, 2119d522f475Smrg/* < = > ? */ 2120d522f475SmrgCASE_CSI_IGNORE, 2121d522f475SmrgCASE_CSI_IGNORE, 2122d522f475SmrgCASE_CSI_IGNORE, 2123d522f475SmrgCASE_CSI_IGNORE, 2124d522f475Smrg/* @ A B C */ 2125d522f475SmrgCASE_GROUND_STATE, 2126d522f475SmrgCASE_GROUND_STATE, 2127d522f475SmrgCASE_GROUND_STATE, 2128d522f475SmrgCASE_GROUND_STATE, 2129d522f475Smrg/* D E F G */ 2130d522f475SmrgCASE_GROUND_STATE, 2131d522f475SmrgCASE_GROUND_STATE, 2132d522f475SmrgCASE_GROUND_STATE, 2133d522f475SmrgCASE_GROUND_STATE, 2134d522f475Smrg/* H I J K */ 2135d522f475SmrgCASE_GROUND_STATE, 2136d522f475SmrgCASE_GROUND_STATE, 2137d522f475SmrgCASE_GROUND_STATE, 2138d522f475SmrgCASE_GROUND_STATE, 2139d522f475Smrg/* L M N O */ 2140d522f475SmrgCASE_GROUND_STATE, 2141d522f475SmrgCASE_GROUND_STATE, 2142d522f475SmrgCASE_GROUND_STATE, 2143d522f475SmrgCASE_GROUND_STATE, 2144d522f475Smrg/* P Q R S */ 2145d522f475SmrgCASE_GROUND_STATE, 2146d522f475SmrgCASE_GROUND_STATE, 2147d522f475SmrgCASE_GROUND_STATE, 2148d522f475SmrgCASE_GROUND_STATE, 2149d522f475Smrg/* T U V W */ 2150d522f475SmrgCASE_GROUND_STATE, 2151d522f475SmrgCASE_GROUND_STATE, 2152d522f475SmrgCASE_GROUND_STATE, 2153d522f475SmrgCASE_GROUND_STATE, 2154d522f475Smrg/* X Y Z [ */ 2155d522f475SmrgCASE_GROUND_STATE, 2156d522f475SmrgCASE_GROUND_STATE, 2157d522f475SmrgCASE_GROUND_STATE, 2158d522f475SmrgCASE_GROUND_STATE, 2159d522f475Smrg/* \ ] ^ _ */ 2160d522f475SmrgCASE_GROUND_STATE, 2161d522f475SmrgCASE_GROUND_STATE, 2162d522f475SmrgCASE_GROUND_STATE, 2163d522f475SmrgCASE_GROUND_STATE, 2164d522f475Smrg/* ` a b c */ 2165d522f475SmrgCASE_GROUND_STATE, 2166d522f475SmrgCASE_GROUND_STATE, 2167d522f475SmrgCASE_GROUND_STATE, 2168d522f475SmrgCASE_GROUND_STATE, 2169d522f475Smrg/* d e f g */ 2170d522f475SmrgCASE_GROUND_STATE, 2171d522f475SmrgCASE_GROUND_STATE, 2172d522f475SmrgCASE_GROUND_STATE, 2173d522f475SmrgCASE_GROUND_STATE, 2174d522f475Smrg/* h i j k */ 2175d522f475SmrgCASE_GROUND_STATE, 2176d522f475SmrgCASE_GROUND_STATE, 2177d522f475SmrgCASE_GROUND_STATE, 2178d522f475SmrgCASE_GROUND_STATE, 2179d522f475Smrg/* l m n o */ 2180d522f475SmrgCASE_GROUND_STATE, 2181d522f475SmrgCASE_GROUND_STATE, 2182d522f475SmrgCASE_GROUND_STATE, 2183d522f475SmrgCASE_GROUND_STATE, 2184d522f475Smrg/* p q r s */ 2185d522f475SmrgCASE_GROUND_STATE, 2186d522f475SmrgCASE_GROUND_STATE, 2187d522f475SmrgCASE_GROUND_STATE, 2188d522f475SmrgCASE_GROUND_STATE, 2189d522f475Smrg/* t u v w */ 2190d522f475SmrgCASE_GROUND_STATE, 2191d522f475SmrgCASE_GROUND_STATE, 2192d522f475SmrgCASE_GROUND_STATE, 2193d522f475SmrgCASE_DECEFR, 2194d522f475Smrg/* x y z { */ 2195d522f475SmrgCASE_GROUND_STATE, 2196d522f475SmrgCASE_GROUND_STATE, 2197d522f475SmrgCASE_DECELR, 2198d522f475SmrgCASE_DECSLE, 2199d522f475Smrg/* | } ~ DEL */ 2200d522f475SmrgCASE_DECRQLP, 22010bd37d32SmrgCASE_DECIC, 22020bd37d32SmrgCASE_DECDC, 2203d522f475SmrgCASE_IGNORE, 2204d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 2205d522f475SmrgCASE_GROUND_STATE, 2206d522f475SmrgCASE_GROUND_STATE, 2207d522f475SmrgCASE_GROUND_STATE, 2208d522f475SmrgCASE_GROUND_STATE, 2209d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 2210d522f475SmrgCASE_IND, 2211d522f475SmrgCASE_NEL, 2212d522f475SmrgCASE_GROUND_STATE, 2213d522f475SmrgCASE_GROUND_STATE, 2214d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 2215d522f475SmrgCASE_HTS, 2216d522f475SmrgCASE_GROUND_STATE, 2217d522f475SmrgCASE_GROUND_STATE, 2218d522f475SmrgCASE_GROUND_STATE, 2219d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 2220d522f475SmrgCASE_GROUND_STATE, 2221d522f475SmrgCASE_RI, 2222d522f475SmrgCASE_SS2, 2223d522f475SmrgCASE_SS3, 2224d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 2225d522f475SmrgCASE_DCS, 2226d522f475SmrgCASE_GROUND_STATE, 2227d522f475SmrgCASE_GROUND_STATE, 2228d522f475SmrgCASE_GROUND_STATE, 2229d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 2230d522f475SmrgCASE_GROUND_STATE, 2231d522f475SmrgCASE_GROUND_STATE, 2232d522f475SmrgCASE_SPA, 2233d522f475SmrgCASE_EPA, 2234d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 2235d522f475SmrgCASE_SOS, 2236d522f475SmrgCASE_GROUND_STATE, 2237d522f475SmrgCASE_DECID, 2238d522f475SmrgCASE_CSI_STATE, 2239d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 2240d522f475SmrgCASE_ST, 2241d522f475SmrgCASE_OSC, 2242d522f475SmrgCASE_PM, 2243d522f475SmrgCASE_APC, 2244d522f475Smrg/* nobreakspace exclamdown cent sterling */ 2245d522f475SmrgCASE_CSI_IGNORE, 2246d522f475SmrgCASE_CSI_IGNORE, 2247d522f475SmrgCASE_CSI_IGNORE, 2248d522f475SmrgCASE_CSI_IGNORE, 2249d522f475Smrg/* currency yen brokenbar section */ 2250d522f475SmrgCASE_CSI_IGNORE, 2251d522f475SmrgCASE_CSI_IGNORE, 2252d522f475SmrgCASE_CSI_IGNORE, 2253d522f475SmrgCASE_CSI_IGNORE, 2254d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 2255d522f475SmrgCASE_CSI_IGNORE, 2256d522f475SmrgCASE_CSI_IGNORE, 2257d522f475SmrgCASE_CSI_IGNORE, 2258d522f475SmrgCASE_CSI_IGNORE, 2259d522f475Smrg/* notsign hyphen registered macron */ 2260d522f475SmrgCASE_CSI_IGNORE, 2261d522f475SmrgCASE_CSI_IGNORE, 2262d522f475SmrgCASE_CSI_IGNORE, 2263d522f475SmrgCASE_CSI_IGNORE, 2264d522f475Smrg/* degree plusminus twosuperior threesuperior */ 2265d522f475SmrgCASE_CSI_IGNORE, 2266d522f475SmrgCASE_CSI_IGNORE, 2267d522f475SmrgCASE_CSI_IGNORE, 2268d522f475SmrgCASE_CSI_IGNORE, 2269d522f475Smrg/* acute mu paragraph periodcentered */ 2270d522f475SmrgCASE_CSI_IGNORE, 2271d522f475SmrgCASE_CSI_IGNORE, 2272d522f475SmrgCASE_CSI_IGNORE, 2273d522f475SmrgCASE_CSI_IGNORE, 2274d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 2275d522f475SmrgCASE_CSI_IGNORE, 2276d522f475SmrgCASE_CSI_IGNORE, 2277d522f475SmrgCASE_CSI_IGNORE, 2278d522f475SmrgCASE_CSI_IGNORE, 2279d522f475Smrg/* onequarter onehalf threequarters questiondown */ 2280d522f475SmrgCASE_CSI_IGNORE, 2281d522f475SmrgCASE_CSI_IGNORE, 2282d522f475SmrgCASE_CSI_IGNORE, 2283d522f475SmrgCASE_CSI_IGNORE, 2284d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 2285d522f475SmrgCASE_GROUND_STATE, 2286d522f475SmrgCASE_GROUND_STATE, 2287d522f475SmrgCASE_GROUND_STATE, 2288d522f475SmrgCASE_GROUND_STATE, 2289d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 2290d522f475SmrgCASE_GROUND_STATE, 2291d522f475SmrgCASE_GROUND_STATE, 2292d522f475SmrgCASE_GROUND_STATE, 2293d522f475SmrgCASE_GROUND_STATE, 2294d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 2295d522f475SmrgCASE_GROUND_STATE, 2296d522f475SmrgCASE_GROUND_STATE, 2297d522f475SmrgCASE_GROUND_STATE, 2298d522f475SmrgCASE_GROUND_STATE, 2299d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 2300d522f475SmrgCASE_GROUND_STATE, 2301d522f475SmrgCASE_GROUND_STATE, 2302d522f475SmrgCASE_GROUND_STATE, 2303d522f475SmrgCASE_GROUND_STATE, 2304d522f475Smrg/* Eth Ntilde Ograve Oacute */ 2305d522f475SmrgCASE_GROUND_STATE, 2306d522f475SmrgCASE_GROUND_STATE, 2307d522f475SmrgCASE_GROUND_STATE, 2308d522f475SmrgCASE_GROUND_STATE, 2309d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 2310d522f475SmrgCASE_GROUND_STATE, 2311d522f475SmrgCASE_GROUND_STATE, 2312d522f475SmrgCASE_GROUND_STATE, 2313d522f475SmrgCASE_GROUND_STATE, 2314d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 2315d522f475SmrgCASE_GROUND_STATE, 2316d522f475SmrgCASE_GROUND_STATE, 2317d522f475SmrgCASE_GROUND_STATE, 2318d522f475SmrgCASE_GROUND_STATE, 2319d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 2320d522f475SmrgCASE_GROUND_STATE, 2321d522f475SmrgCASE_GROUND_STATE, 2322d522f475SmrgCASE_GROUND_STATE, 2323d522f475SmrgCASE_GROUND_STATE, 2324d522f475Smrg/* agrave aacute acircumflex atilde */ 2325d522f475SmrgCASE_GROUND_STATE, 2326d522f475SmrgCASE_GROUND_STATE, 2327d522f475SmrgCASE_GROUND_STATE, 2328d522f475SmrgCASE_GROUND_STATE, 2329d522f475Smrg/* adiaeresis aring ae ccedilla */ 2330d522f475SmrgCASE_GROUND_STATE, 2331d522f475SmrgCASE_GROUND_STATE, 2332d522f475SmrgCASE_GROUND_STATE, 2333d522f475SmrgCASE_GROUND_STATE, 2334d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 2335d522f475SmrgCASE_GROUND_STATE, 2336d522f475SmrgCASE_GROUND_STATE, 2337d522f475SmrgCASE_GROUND_STATE, 2338d522f475SmrgCASE_GROUND_STATE, 2339d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 2340d522f475SmrgCASE_GROUND_STATE, 2341d522f475SmrgCASE_GROUND_STATE, 2342d522f475SmrgCASE_GROUND_STATE, 2343d522f475SmrgCASE_GROUND_STATE, 2344d522f475Smrg/* eth ntilde ograve oacute */ 2345d522f475SmrgCASE_GROUND_STATE, 2346d522f475SmrgCASE_GROUND_STATE, 2347d522f475SmrgCASE_GROUND_STATE, 2348d522f475SmrgCASE_GROUND_STATE, 2349d522f475Smrg/* ocircumflex otilde odiaeresis division */ 2350d522f475SmrgCASE_GROUND_STATE, 2351d522f475SmrgCASE_GROUND_STATE, 2352d522f475SmrgCASE_GROUND_STATE, 2353d522f475SmrgCASE_DECEFR, 2354d522f475Smrg/* oslash ugrave uacute ucircumflex */ 2355d522f475SmrgCASE_GROUND_STATE, 2356d522f475SmrgCASE_GROUND_STATE, 2357d522f475SmrgCASE_DECELR, 2358d522f475SmrgCASE_DECSLE, 2359d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 2360d522f475SmrgCASE_DECRQLP, 23610bd37d32SmrgCASE_DECIC, 23620bd37d32SmrgCASE_DECDC, 2363d522f475SmrgCASE_IGNORE, 2364d522f475Smrg}; 2365d522f475Smrg 2366f2e35a3aSmrg#if OPT_XTERM_SGR 23675104ee6eSmrgconst PARSE_T csi_hash_table[] = /* CSI ... # */ 2368d522f475Smrg{ 2369d522f475Smrg/* NUL SOH STX ETX */ 2370d522f475SmrgCASE_IGNORE, 2371d522f475SmrgCASE_IGNORE, 2372d522f475SmrgCASE_IGNORE, 2373d522f475SmrgCASE_IGNORE, 2374d522f475Smrg/* EOT ENQ ACK BEL */ 2375d522f475SmrgCASE_IGNORE, 2376d522f475SmrgCASE_ENQ, 2377d522f475SmrgCASE_IGNORE, 2378d522f475SmrgCASE_BELL, 2379d522f475Smrg/* BS HT NL VT */ 2380d522f475SmrgCASE_BS, 2381d522f475SmrgCASE_TAB, 2382d522f475SmrgCASE_VMOT, 2383d522f475SmrgCASE_VMOT, 23840bd37d32Smrg/* FF CR SO SI */ 2385d522f475SmrgCASE_VMOT, 2386d522f475SmrgCASE_CR, 2387d522f475SmrgCASE_SO, 2388d522f475SmrgCASE_SI, 2389d522f475Smrg/* DLE DC1 DC2 DC3 */ 2390d522f475SmrgCASE_IGNORE, 2391d522f475SmrgCASE_IGNORE, 2392d522f475SmrgCASE_IGNORE, 2393d522f475SmrgCASE_IGNORE, 2394d522f475Smrg/* DC4 NAK SYN ETB */ 2395d522f475SmrgCASE_IGNORE, 2396d522f475SmrgCASE_IGNORE, 2397d522f475SmrgCASE_IGNORE, 2398d522f475SmrgCASE_IGNORE, 2399d522f475Smrg/* CAN EM SUB ESC */ 2400d522f475SmrgCASE_GROUND_STATE, 2401d522f475SmrgCASE_IGNORE, 24025104ee6eSmrgCASE_SUB, 2403d522f475SmrgCASE_ESC, 2404d522f475Smrg/* FS GS RS US */ 2405d522f475SmrgCASE_IGNORE, 2406d522f475SmrgCASE_IGNORE, 2407d522f475SmrgCASE_IGNORE, 2408d522f475SmrgCASE_IGNORE, 2409d522f475Smrg/* SP ! " # */ 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/* , - . / */ 2425d522f475SmrgCASE_CSI_IGNORE, 2426d522f475SmrgCASE_CSI_IGNORE, 2427d522f475SmrgCASE_CSI_IGNORE, 2428d522f475SmrgCASE_CSI_IGNORE, 2429d522f475Smrg/* 0 1 2 3 */ 2430f2e35a3aSmrgCASE_ESC_DIGIT, 2431f2e35a3aSmrgCASE_ESC_DIGIT, 2432f2e35a3aSmrgCASE_ESC_DIGIT, 2433f2e35a3aSmrgCASE_ESC_DIGIT, 2434d522f475Smrg/* 4 5 6 7 */ 2435f2e35a3aSmrgCASE_ESC_DIGIT, 2436f2e35a3aSmrgCASE_ESC_DIGIT, 2437f2e35a3aSmrgCASE_ESC_DIGIT, 2438f2e35a3aSmrgCASE_ESC_DIGIT, 2439d522f475Smrg/* 8 9 : ; */ 2440f2e35a3aSmrgCASE_ESC_DIGIT, 2441f2e35a3aSmrgCASE_ESC_DIGIT, 2442f2e35a3aSmrgCASE_ESC_DIGIT, 2443f2e35a3aSmrgCASE_ESC_DIGIT, 2444d522f475Smrg/* < = > ? */ 2445d522f475SmrgCASE_CSI_IGNORE, 2446d522f475SmrgCASE_CSI_IGNORE, 2447d522f475SmrgCASE_CSI_IGNORE, 2448d522f475SmrgCASE_CSI_IGNORE, 2449d522f475Smrg/* @ A B C */ 2450d522f475SmrgCASE_GROUND_STATE, 2451d522f475SmrgCASE_GROUND_STATE, 2452d522f475SmrgCASE_GROUND_STATE, 2453d522f475SmrgCASE_GROUND_STATE, 2454d522f475Smrg/* D E F G */ 2455d522f475SmrgCASE_GROUND_STATE, 2456d522f475SmrgCASE_GROUND_STATE, 2457d522f475SmrgCASE_GROUND_STATE, 2458d522f475SmrgCASE_GROUND_STATE, 2459d522f475Smrg/* H I J K */ 2460d522f475SmrgCASE_GROUND_STATE, 2461d522f475SmrgCASE_GROUND_STATE, 2462d522f475SmrgCASE_GROUND_STATE, 2463d522f475SmrgCASE_GROUND_STATE, 2464d522f475Smrg/* L M N O */ 2465d522f475SmrgCASE_GROUND_STATE, 2466d522f475SmrgCASE_GROUND_STATE, 2467d522f475SmrgCASE_GROUND_STATE, 2468d522f475SmrgCASE_GROUND_STATE, 2469d522f475Smrg/* P Q R S */ 2470f2e35a3aSmrgCASE_XTERM_PUSH_COLORS, 2471f2e35a3aSmrgCASE_XTERM_POP_COLORS, 2472f2e35a3aSmrgCASE_XTERM_REPORT_COLORS, 24735104ee6eSmrgCASE_XTERM_TITLE_STACK, 2474d522f475Smrg/* T U V W */ 2475d522f475SmrgCASE_GROUND_STATE, 2476d522f475SmrgCASE_GROUND_STATE, 2477d522f475SmrgCASE_GROUND_STATE, 2478d522f475SmrgCASE_GROUND_STATE, 2479d522f475Smrg/* X Y Z [ */ 2480d522f475SmrgCASE_GROUND_STATE, 2481d522f475SmrgCASE_GROUND_STATE, 2482d522f475SmrgCASE_GROUND_STATE, 2483d522f475SmrgCASE_GROUND_STATE, 2484d522f475Smrg/* \ ] ^ _ */ 2485d522f475SmrgCASE_GROUND_STATE, 2486d522f475SmrgCASE_GROUND_STATE, 2487d522f475SmrgCASE_GROUND_STATE, 2488d522f475SmrgCASE_GROUND_STATE, 2489d522f475Smrg/* ` a b c */ 2490d522f475SmrgCASE_GROUND_STATE, 2491d522f475SmrgCASE_GROUND_STATE, 2492d522f475SmrgCASE_GROUND_STATE, 2493d522f475SmrgCASE_GROUND_STATE, 2494d522f475Smrg/* d e f g */ 2495d522f475SmrgCASE_GROUND_STATE, 2496d522f475SmrgCASE_GROUND_STATE, 2497d522f475SmrgCASE_GROUND_STATE, 2498d522f475SmrgCASE_GROUND_STATE, 2499d522f475Smrg/* h i j k */ 2500d522f475SmrgCASE_GROUND_STATE, 2501d522f475SmrgCASE_GROUND_STATE, 2502d522f475SmrgCASE_GROUND_STATE, 2503d522f475SmrgCASE_GROUND_STATE, 2504d522f475Smrg/* l m n o */ 2505d522f475SmrgCASE_GROUND_STATE, 2506d522f475SmrgCASE_GROUND_STATE, 2507d522f475SmrgCASE_GROUND_STATE, 2508d522f475SmrgCASE_GROUND_STATE, 2509d522f475Smrg/* p q r s */ 2510f2e35a3aSmrgCASE_XTERM_PUSH_SGR, 2511f2e35a3aSmrgCASE_XTERM_POP_SGR, 2512d522f475SmrgCASE_GROUND_STATE, 2513d522f475SmrgCASE_GROUND_STATE, 2514d522f475Smrg/* t u v w */ 2515d522f475SmrgCASE_GROUND_STATE, 2516d522f475SmrgCASE_GROUND_STATE, 2517d522f475SmrgCASE_GROUND_STATE, 2518d522f475SmrgCASE_GROUND_STATE, 2519f2e35a3aSmrg/* x y z { */ 2520f2e35a3aSmrgCASE_GROUND_STATE, 2521f2e35a3aSmrgCASE_XTERM_CHECKSUM, 2522d522f475SmrgCASE_GROUND_STATE, 2523f2e35a3aSmrgCASE_XTERM_PUSH_SGR, 2524f2e35a3aSmrg/* | } ~ DEL */ 2525f2e35a3aSmrgCASE_XTERM_REPORT_SGR, 2526f2e35a3aSmrgCASE_XTERM_POP_SGR, 2527d522f475SmrgCASE_GROUND_STATE, 2528d522f475SmrgCASE_IGNORE, 2529d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 2530d522f475SmrgCASE_GROUND_STATE, 2531d522f475SmrgCASE_GROUND_STATE, 2532d522f475SmrgCASE_GROUND_STATE, 2533d522f475SmrgCASE_GROUND_STATE, 2534d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 2535d522f475SmrgCASE_IND, 2536d522f475SmrgCASE_NEL, 2537d522f475SmrgCASE_GROUND_STATE, 2538d522f475SmrgCASE_GROUND_STATE, 2539d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 2540d522f475SmrgCASE_HTS, 2541d522f475SmrgCASE_GROUND_STATE, 2542d522f475SmrgCASE_GROUND_STATE, 2543d522f475SmrgCASE_GROUND_STATE, 2544d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 2545d522f475SmrgCASE_GROUND_STATE, 2546d522f475SmrgCASE_RI, 2547d522f475SmrgCASE_SS2, 2548d522f475SmrgCASE_SS3, 2549d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 2550d522f475SmrgCASE_DCS, 2551d522f475SmrgCASE_GROUND_STATE, 2552d522f475SmrgCASE_GROUND_STATE, 2553d522f475SmrgCASE_GROUND_STATE, 2554d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 2555d522f475SmrgCASE_GROUND_STATE, 2556d522f475SmrgCASE_GROUND_STATE, 2557d522f475SmrgCASE_SPA, 2558d522f475SmrgCASE_EPA, 2559d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 2560d522f475SmrgCASE_SOS, 2561d522f475SmrgCASE_GROUND_STATE, 2562d522f475SmrgCASE_DECID, 2563d522f475SmrgCASE_CSI_STATE, 2564d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 2565d522f475SmrgCASE_ST, 2566d522f475SmrgCASE_OSC, 2567d522f475SmrgCASE_PM, 2568d522f475SmrgCASE_APC, 2569d522f475Smrg/* nobreakspace exclamdown cent sterling */ 2570d522f475SmrgCASE_CSI_IGNORE, 2571d522f475SmrgCASE_CSI_IGNORE, 2572d522f475SmrgCASE_CSI_IGNORE, 2573d522f475SmrgCASE_CSI_IGNORE, 2574d522f475Smrg/* currency yen brokenbar section */ 2575d522f475SmrgCASE_CSI_IGNORE, 2576d522f475SmrgCASE_CSI_IGNORE, 2577d522f475SmrgCASE_CSI_IGNORE, 2578d522f475SmrgCASE_CSI_IGNORE, 2579d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 2580d522f475SmrgCASE_CSI_IGNORE, 2581d522f475SmrgCASE_CSI_IGNORE, 2582d522f475SmrgCASE_CSI_IGNORE, 2583d522f475SmrgCASE_CSI_IGNORE, 2584d522f475Smrg/* notsign hyphen registered macron */ 2585d522f475SmrgCASE_CSI_IGNORE, 2586d522f475SmrgCASE_CSI_IGNORE, 2587d522f475SmrgCASE_CSI_IGNORE, 2588d522f475SmrgCASE_CSI_IGNORE, 2589d522f475Smrg/* degree plusminus twosuperior threesuperior */ 2590f2e35a3aSmrgCASE_ESC_DIGIT, 2591f2e35a3aSmrgCASE_ESC_DIGIT, 2592f2e35a3aSmrgCASE_ESC_DIGIT, 2593f2e35a3aSmrgCASE_ESC_DIGIT, 2594d522f475Smrg/* acute mu paragraph periodcentered */ 2595f2e35a3aSmrgCASE_ESC_DIGIT, 2596f2e35a3aSmrgCASE_ESC_DIGIT, 2597f2e35a3aSmrgCASE_ESC_DIGIT, 2598f2e35a3aSmrgCASE_ESC_DIGIT, 2599d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 2600f2e35a3aSmrgCASE_ESC_DIGIT, 2601f2e35a3aSmrgCASE_ESC_DIGIT, 2602f2e35a3aSmrgCASE_ESC_DIGIT, 2603f2e35a3aSmrgCASE_ESC_DIGIT, 2604d522f475Smrg/* onequarter onehalf threequarters questiondown */ 2605d522f475SmrgCASE_CSI_IGNORE, 2606d522f475SmrgCASE_CSI_IGNORE, 2607d522f475SmrgCASE_CSI_IGNORE, 2608d522f475SmrgCASE_CSI_IGNORE, 2609d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 2610d522f475SmrgCASE_GROUND_STATE, 2611d522f475SmrgCASE_GROUND_STATE, 2612d522f475SmrgCASE_GROUND_STATE, 2613d522f475SmrgCASE_GROUND_STATE, 2614d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 2615d522f475SmrgCASE_GROUND_STATE, 2616d522f475SmrgCASE_GROUND_STATE, 2617d522f475SmrgCASE_GROUND_STATE, 2618d522f475SmrgCASE_GROUND_STATE, 2619d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 2620d522f475SmrgCASE_GROUND_STATE, 2621d522f475SmrgCASE_GROUND_STATE, 2622d522f475SmrgCASE_GROUND_STATE, 2623d522f475SmrgCASE_GROUND_STATE, 2624d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 2625d522f475SmrgCASE_GROUND_STATE, 2626d522f475SmrgCASE_GROUND_STATE, 2627d522f475SmrgCASE_GROUND_STATE, 2628d522f475SmrgCASE_GROUND_STATE, 2629d522f475Smrg/* Eth Ntilde Ograve Oacute */ 2630f2e35a3aSmrgCASE_XTERM_PUSH_COLORS, 2631f2e35a3aSmrgCASE_XTERM_POP_COLORS, 2632f2e35a3aSmrgCASE_XTERM_REPORT_COLORS, 26335104ee6eSmrgCASE_XTERM_TITLE_STACK, 2634d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 2635d522f475SmrgCASE_GROUND_STATE, 2636d522f475SmrgCASE_GROUND_STATE, 2637d522f475SmrgCASE_GROUND_STATE, 2638d522f475SmrgCASE_GROUND_STATE, 2639d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 2640d522f475SmrgCASE_GROUND_STATE, 2641d522f475SmrgCASE_GROUND_STATE, 2642d522f475SmrgCASE_GROUND_STATE, 2643d522f475SmrgCASE_GROUND_STATE, 2644d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 2645d522f475SmrgCASE_GROUND_STATE, 2646d522f475SmrgCASE_GROUND_STATE, 2647d522f475SmrgCASE_GROUND_STATE, 2648d522f475SmrgCASE_GROUND_STATE, 2649d522f475Smrg/* agrave aacute acircumflex atilde */ 2650d522f475SmrgCASE_GROUND_STATE, 2651d522f475SmrgCASE_GROUND_STATE, 2652d522f475SmrgCASE_GROUND_STATE, 2653d522f475SmrgCASE_GROUND_STATE, 2654d522f475Smrg/* adiaeresis aring ae ccedilla */ 2655d522f475SmrgCASE_GROUND_STATE, 2656d522f475SmrgCASE_GROUND_STATE, 2657d522f475SmrgCASE_GROUND_STATE, 2658d522f475SmrgCASE_GROUND_STATE, 2659d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 2660d522f475SmrgCASE_GROUND_STATE, 2661d522f475SmrgCASE_GROUND_STATE, 2662d522f475SmrgCASE_GROUND_STATE, 2663d522f475SmrgCASE_GROUND_STATE, 2664d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 2665d522f475SmrgCASE_GROUND_STATE, 2666d522f475SmrgCASE_GROUND_STATE, 2667d522f475SmrgCASE_GROUND_STATE, 2668d522f475SmrgCASE_GROUND_STATE, 2669d522f475Smrg/* eth ntilde ograve oacute */ 2670f2e35a3aSmrgCASE_XTERM_PUSH_SGR, 2671f2e35a3aSmrgCASE_XTERM_POP_SGR, 2672d522f475SmrgCASE_GROUND_STATE, 2673d522f475SmrgCASE_GROUND_STATE, 2674d522f475Smrg/* ocircumflex otilde odiaeresis division */ 2675d522f475SmrgCASE_GROUND_STATE, 2676d522f475SmrgCASE_GROUND_STATE, 2677d522f475SmrgCASE_GROUND_STATE, 2678d522f475SmrgCASE_GROUND_STATE, 2679f2e35a3aSmrg/* oslash ugrave uacute ucircumflex */ 2680f2e35a3aSmrgCASE_GROUND_STATE, 2681f2e35a3aSmrgCASE_XTERM_CHECKSUM, 2682d522f475SmrgCASE_GROUND_STATE, 2683f2e35a3aSmrgCASE_XTERM_PUSH_SGR, 2684f2e35a3aSmrg/* udiaeresis yacute thorn ydiaeresis */ 2685f2e35a3aSmrgCASE_XTERM_REPORT_SGR, 2686f2e35a3aSmrgCASE_XTERM_POP_SGR, 2687d522f475SmrgCASE_GROUND_STATE, 2688d522f475SmrgCASE_GROUND_STATE, 2689d522f475Smrg}; 2690f2e35a3aSmrg#endif 2691d522f475Smrg 26925104ee6eSmrgconst PARSE_T csi_amp_table[] = /* CSI ... & */ 2693d522f475Smrg{ 2694d522f475Smrg/* NUL SOH STX ETX */ 2695d522f475SmrgCASE_IGNORE, 2696d522f475SmrgCASE_IGNORE, 2697d522f475SmrgCASE_IGNORE, 2698d522f475SmrgCASE_IGNORE, 2699d522f475Smrg/* EOT ENQ ACK BEL */ 2700d522f475SmrgCASE_IGNORE, 2701d522f475SmrgCASE_ENQ, 2702d522f475SmrgCASE_IGNORE, 2703d522f475SmrgCASE_BELL, 2704d522f475Smrg/* BS HT NL VT */ 2705d522f475SmrgCASE_BS, 2706d522f475SmrgCASE_TAB, 2707d522f475SmrgCASE_VMOT, 2708d522f475SmrgCASE_VMOT, 27090bd37d32Smrg/* FF CR SO SI */ 2710d522f475SmrgCASE_VMOT, 2711d522f475SmrgCASE_CR, 2712d522f475SmrgCASE_SO, 2713d522f475SmrgCASE_SI, 2714d522f475Smrg/* DLE DC1 DC2 DC3 */ 2715d522f475SmrgCASE_IGNORE, 2716d522f475SmrgCASE_IGNORE, 2717d522f475SmrgCASE_IGNORE, 2718d522f475SmrgCASE_IGNORE, 2719d522f475Smrg/* DC4 NAK SYN ETB */ 2720d522f475SmrgCASE_IGNORE, 2721d522f475SmrgCASE_IGNORE, 2722d522f475SmrgCASE_IGNORE, 2723d522f475SmrgCASE_IGNORE, 2724d522f475Smrg/* CAN EM SUB ESC */ 2725d522f475SmrgCASE_GROUND_STATE, 2726d522f475SmrgCASE_IGNORE, 27275104ee6eSmrgCASE_SUB, 2728d522f475SmrgCASE_ESC, 2729d522f475Smrg/* FS GS RS US */ 2730d522f475SmrgCASE_IGNORE, 2731d522f475SmrgCASE_IGNORE, 2732d522f475SmrgCASE_IGNORE, 2733d522f475SmrgCASE_IGNORE, 2734d522f475Smrg/* SP ! " # */ 2735d522f475SmrgCASE_CSI_IGNORE, 2736d522f475SmrgCASE_CSI_IGNORE, 2737d522f475SmrgCASE_CSI_IGNORE, 2738d522f475SmrgCASE_CSI_IGNORE, 2739d522f475Smrg/* $ % & ' */ 2740d522f475SmrgCASE_CSI_IGNORE, 2741d522f475SmrgCASE_CSI_IGNORE, 2742d522f475SmrgCASE_CSI_IGNORE, 2743d522f475SmrgCASE_CSI_IGNORE, 2744d522f475Smrg/* ( ) * + */ 2745d522f475SmrgCASE_CSI_IGNORE, 2746d522f475SmrgCASE_CSI_IGNORE, 2747d522f475SmrgCASE_CSI_IGNORE, 2748d522f475SmrgCASE_CSI_IGNORE, 2749d522f475Smrg/* , - . / */ 2750d522f475SmrgCASE_CSI_IGNORE, 2751d522f475SmrgCASE_CSI_IGNORE, 2752d522f475SmrgCASE_CSI_IGNORE, 2753d522f475SmrgCASE_CSI_IGNORE, 2754d522f475Smrg/* 0 1 2 3 */ 2755d522f475SmrgCASE_CSI_IGNORE, 2756d522f475SmrgCASE_CSI_IGNORE, 2757d522f475SmrgCASE_CSI_IGNORE, 2758d522f475SmrgCASE_CSI_IGNORE, 2759d522f475Smrg/* 4 5 6 7 */ 2760d522f475SmrgCASE_CSI_IGNORE, 2761d522f475SmrgCASE_CSI_IGNORE, 2762d522f475SmrgCASE_CSI_IGNORE, 2763d522f475SmrgCASE_CSI_IGNORE, 2764d522f475Smrg/* 8 9 : ; */ 2765d522f475SmrgCASE_CSI_IGNORE, 2766d522f475SmrgCASE_CSI_IGNORE, 2767d522f475SmrgCASE_CSI_IGNORE, 2768d522f475SmrgCASE_CSI_IGNORE, 2769d522f475Smrg/* < = > ? */ 2770d522f475SmrgCASE_CSI_IGNORE, 2771d522f475SmrgCASE_CSI_IGNORE, 2772d522f475SmrgCASE_CSI_IGNORE, 2773d522f475SmrgCASE_CSI_IGNORE, 2774d522f475Smrg/* @ A B C */ 2775d522f475SmrgCASE_GROUND_STATE, 2776d522f475SmrgCASE_GROUND_STATE, 2777d522f475SmrgCASE_GROUND_STATE, 2778d522f475SmrgCASE_GROUND_STATE, 2779d522f475Smrg/* D E F G */ 2780d522f475SmrgCASE_GROUND_STATE, 2781d522f475SmrgCASE_GROUND_STATE, 2782d522f475SmrgCASE_GROUND_STATE, 2783d522f475SmrgCASE_GROUND_STATE, 2784d522f475Smrg/* H I J K */ 2785d522f475SmrgCASE_GROUND_STATE, 2786d522f475SmrgCASE_GROUND_STATE, 2787d522f475SmrgCASE_GROUND_STATE, 2788d522f475SmrgCASE_GROUND_STATE, 2789d522f475Smrg/* L M N O */ 2790d522f475SmrgCASE_GROUND_STATE, 2791d522f475SmrgCASE_GROUND_STATE, 2792d522f475SmrgCASE_GROUND_STATE, 2793d522f475SmrgCASE_GROUND_STATE, 2794d522f475Smrg/* P Q R S */ 2795d522f475SmrgCASE_GROUND_STATE, 2796d522f475SmrgCASE_GROUND_STATE, 2797d522f475SmrgCASE_GROUND_STATE, 2798d522f475SmrgCASE_GROUND_STATE, 2799d522f475Smrg/* T U V W */ 2800d522f475SmrgCASE_GROUND_STATE, 2801d522f475SmrgCASE_GROUND_STATE, 2802d522f475SmrgCASE_GROUND_STATE, 2803d522f475SmrgCASE_GROUND_STATE, 2804d522f475Smrg/* X Y Z [ */ 2805d522f475SmrgCASE_GROUND_STATE, 2806d522f475SmrgCASE_GROUND_STATE, 2807d522f475SmrgCASE_GROUND_STATE, 2808d522f475SmrgCASE_GROUND_STATE, 2809d522f475Smrg/* \ ] ^ _ */ 2810d522f475SmrgCASE_GROUND_STATE, 2811d522f475SmrgCASE_GROUND_STATE, 2812d522f475SmrgCASE_GROUND_STATE, 2813d522f475SmrgCASE_GROUND_STATE, 2814d522f475Smrg/* ` a b c */ 2815d522f475SmrgCASE_GROUND_STATE, 2816d522f475SmrgCASE_GROUND_STATE, 2817d522f475SmrgCASE_GROUND_STATE, 2818d522f475SmrgCASE_GROUND_STATE, 2819d522f475Smrg/* d e f g */ 2820d522f475SmrgCASE_GROUND_STATE, 2821d522f475SmrgCASE_GROUND_STATE, 2822d522f475SmrgCASE_GROUND_STATE, 2823d522f475SmrgCASE_GROUND_STATE, 2824d522f475Smrg/* h i j k */ 2825d522f475SmrgCASE_GROUND_STATE, 2826d522f475SmrgCASE_GROUND_STATE, 2827d522f475SmrgCASE_GROUND_STATE, 2828d522f475SmrgCASE_GROUND_STATE, 2829d522f475Smrg/* l m n o */ 2830d522f475SmrgCASE_GROUND_STATE, 2831d522f475SmrgCASE_GROUND_STATE, 2832d522f475SmrgCASE_GROUND_STATE, 2833d522f475SmrgCASE_GROUND_STATE, 2834d522f475Smrg/* p q r s */ 2835d522f475SmrgCASE_GROUND_STATE, 283604b94745SmrgCASE_GROUND_STATE, 283704b94745SmrgCASE_GROUND_STATE, 2838d522f475SmrgCASE_GROUND_STATE, 2839d522f475Smrg/* t u v w */ 2840d522f475SmrgCASE_GROUND_STATE, 284104b94745SmrgCASE_DECRQUPSS, 284204b94745SmrgCASE_GROUND_STATE, 284304b94745SmrgCASE_GROUND_STATE, 2844d522f475Smrg/* x y z { */ 284504b94745SmrgCASE_GROUND_STATE, /* vt420:Enable Session */ 284604b94745SmrgCASE_GROUND_STATE, 284704b94745SmrgCASE_GROUND_STATE, 2848d522f475SmrgCASE_GROUND_STATE, 2849d522f475Smrg/* | } ~ DEL */ 285004b94745SmrgCASE_GROUND_STATE, 285104b94745SmrgCASE_GROUND_STATE, 285204b94745SmrgCASE_GROUND_STATE, 2853d522f475SmrgCASE_IGNORE, 2854d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 2855d522f475SmrgCASE_GROUND_STATE, 2856d522f475SmrgCASE_GROUND_STATE, 2857d522f475SmrgCASE_GROUND_STATE, 2858d522f475SmrgCASE_GROUND_STATE, 2859d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 2860d522f475SmrgCASE_IND, 2861d522f475SmrgCASE_NEL, 2862d522f475SmrgCASE_GROUND_STATE, 2863d522f475SmrgCASE_GROUND_STATE, 2864d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 2865d522f475SmrgCASE_HTS, 2866d522f475SmrgCASE_GROUND_STATE, 2867d522f475SmrgCASE_GROUND_STATE, 2868d522f475SmrgCASE_GROUND_STATE, 2869d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 2870d522f475SmrgCASE_GROUND_STATE, 2871d522f475SmrgCASE_RI, 2872d522f475SmrgCASE_SS2, 2873d522f475SmrgCASE_SS3, 2874d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 2875d522f475SmrgCASE_DCS, 2876d522f475SmrgCASE_GROUND_STATE, 2877d522f475SmrgCASE_GROUND_STATE, 2878d522f475SmrgCASE_GROUND_STATE, 2879d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 2880d522f475SmrgCASE_GROUND_STATE, 2881d522f475SmrgCASE_GROUND_STATE, 2882d522f475SmrgCASE_SPA, 2883d522f475SmrgCASE_EPA, 2884d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 2885d522f475SmrgCASE_SOS, 2886d522f475SmrgCASE_GROUND_STATE, 2887d522f475SmrgCASE_DECID, 2888d522f475SmrgCASE_CSI_STATE, 2889d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 2890d522f475SmrgCASE_ST, 2891d522f475SmrgCASE_OSC, 2892d522f475SmrgCASE_PM, 2893d522f475SmrgCASE_APC, 2894d522f475Smrg/* nobreakspace exclamdown cent sterling */ 2895d522f475SmrgCASE_CSI_IGNORE, 2896d522f475SmrgCASE_CSI_IGNORE, 2897d522f475SmrgCASE_CSI_IGNORE, 2898d522f475SmrgCASE_CSI_IGNORE, 2899d522f475Smrg/* currency yen brokenbar section */ 2900d522f475SmrgCASE_CSI_IGNORE, 2901d522f475SmrgCASE_CSI_IGNORE, 2902d522f475SmrgCASE_CSI_IGNORE, 2903d522f475SmrgCASE_CSI_IGNORE, 2904d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 2905d522f475SmrgCASE_CSI_IGNORE, 2906d522f475SmrgCASE_CSI_IGNORE, 2907d522f475SmrgCASE_CSI_IGNORE, 2908d522f475SmrgCASE_CSI_IGNORE, 2909d522f475Smrg/* notsign hyphen registered macron */ 2910d522f475SmrgCASE_CSI_IGNORE, 2911d522f475SmrgCASE_CSI_IGNORE, 2912d522f475SmrgCASE_CSI_IGNORE, 2913d522f475SmrgCASE_CSI_IGNORE, 2914d522f475Smrg/* degree plusminus twosuperior threesuperior */ 2915d522f475SmrgCASE_CSI_IGNORE, 2916d522f475SmrgCASE_CSI_IGNORE, 2917d522f475SmrgCASE_CSI_IGNORE, 2918d522f475SmrgCASE_CSI_IGNORE, 2919d522f475Smrg/* acute mu paragraph periodcentered */ 2920d522f475SmrgCASE_CSI_IGNORE, 2921d522f475SmrgCASE_CSI_IGNORE, 2922d522f475SmrgCASE_CSI_IGNORE, 2923d522f475SmrgCASE_CSI_IGNORE, 2924d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 2925d522f475SmrgCASE_CSI_IGNORE, 2926d522f475SmrgCASE_CSI_IGNORE, 2927d522f475SmrgCASE_CSI_IGNORE, 2928d522f475SmrgCASE_CSI_IGNORE, 2929d522f475Smrg/* onequarter onehalf threequarters questiondown */ 2930d522f475SmrgCASE_CSI_IGNORE, 2931d522f475SmrgCASE_CSI_IGNORE, 2932d522f475SmrgCASE_CSI_IGNORE, 2933d522f475SmrgCASE_CSI_IGNORE, 2934d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 2935d522f475SmrgCASE_GROUND_STATE, 2936d522f475SmrgCASE_GROUND_STATE, 2937d522f475SmrgCASE_GROUND_STATE, 2938d522f475SmrgCASE_GROUND_STATE, 2939d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 2940d522f475SmrgCASE_GROUND_STATE, 2941d522f475SmrgCASE_GROUND_STATE, 2942d522f475SmrgCASE_GROUND_STATE, 2943d522f475SmrgCASE_GROUND_STATE, 2944d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 2945d522f475SmrgCASE_GROUND_STATE, 2946d522f475SmrgCASE_GROUND_STATE, 2947d522f475SmrgCASE_GROUND_STATE, 2948d522f475SmrgCASE_GROUND_STATE, 2949d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 2950d522f475SmrgCASE_GROUND_STATE, 2951d522f475SmrgCASE_GROUND_STATE, 2952d522f475SmrgCASE_GROUND_STATE, 2953d522f475SmrgCASE_GROUND_STATE, 2954d522f475Smrg/* Eth Ntilde Ograve Oacute */ 2955d522f475SmrgCASE_GROUND_STATE, 2956d522f475SmrgCASE_GROUND_STATE, 2957d522f475SmrgCASE_GROUND_STATE, 2958d522f475SmrgCASE_GROUND_STATE, 2959d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 2960d522f475SmrgCASE_GROUND_STATE, 2961d522f475SmrgCASE_GROUND_STATE, 2962d522f475SmrgCASE_GROUND_STATE, 2963d522f475SmrgCASE_GROUND_STATE, 2964d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 2965d522f475SmrgCASE_GROUND_STATE, 2966d522f475SmrgCASE_GROUND_STATE, 2967d522f475SmrgCASE_GROUND_STATE, 2968d522f475SmrgCASE_GROUND_STATE, 2969d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 2970d522f475SmrgCASE_GROUND_STATE, 2971d522f475SmrgCASE_GROUND_STATE, 2972d522f475SmrgCASE_GROUND_STATE, 2973d522f475SmrgCASE_GROUND_STATE, 2974d522f475Smrg/* agrave aacute acircumflex atilde */ 2975d522f475SmrgCASE_GROUND_STATE, 2976d522f475SmrgCASE_GROUND_STATE, 2977d522f475SmrgCASE_GROUND_STATE, 2978d522f475SmrgCASE_GROUND_STATE, 2979d522f475Smrg/* adiaeresis aring ae ccedilla */ 2980d522f475SmrgCASE_GROUND_STATE, 2981d522f475SmrgCASE_GROUND_STATE, 2982d522f475SmrgCASE_GROUND_STATE, 2983d522f475SmrgCASE_GROUND_STATE, 2984d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 2985d522f475SmrgCASE_GROUND_STATE, 2986d522f475SmrgCASE_GROUND_STATE, 2987d522f475SmrgCASE_GROUND_STATE, 2988d522f475SmrgCASE_GROUND_STATE, 2989d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 2990d522f475SmrgCASE_GROUND_STATE, 2991d522f475SmrgCASE_GROUND_STATE, 2992d522f475SmrgCASE_GROUND_STATE, 2993d522f475SmrgCASE_GROUND_STATE, 2994d522f475Smrg/* eth ntilde ograve oacute */ 2995d522f475SmrgCASE_GROUND_STATE, 299604b94745SmrgCASE_GROUND_STATE, 299704b94745SmrgCASE_GROUND_STATE, 2998d522f475SmrgCASE_GROUND_STATE, 2999d522f475Smrg/* ocircumflex otilde odiaeresis division */ 3000d522f475SmrgCASE_GROUND_STATE, 300104b94745SmrgCASE_DECRQUPSS, 300204b94745SmrgCASE_GROUND_STATE, 300304b94745SmrgCASE_GROUND_STATE, 3004d522f475Smrg/* oslash ugrave uacute ucircumflex */ 3005d522f475SmrgCASE_GROUND_STATE, 300604b94745SmrgCASE_GROUND_STATE, 300704b94745SmrgCASE_GROUND_STATE, 300804b94745SmrgCASE_GROUND_STATE, 3009d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 301004b94745SmrgCASE_GROUND_STATE, 301104b94745SmrgCASE_GROUND_STATE, 301204b94745SmrgCASE_GROUND_STATE, 3013d522f475SmrgCASE_GROUND_STATE, 3014d522f475Smrg}; 3015d522f475Smrg 301604b94745Smrg#if OPT_DEC_RECTOPS 30175104ee6eSmrgconst PARSE_T csi_dollar_table[] = /* CSI ... $ */ 3018d522f475Smrg{ 3019d522f475Smrg/* NUL SOH STX ETX */ 3020d522f475SmrgCASE_IGNORE, 3021d522f475SmrgCASE_IGNORE, 3022d522f475SmrgCASE_IGNORE, 3023d522f475SmrgCASE_IGNORE, 3024d522f475Smrg/* EOT ENQ ACK BEL */ 3025d522f475SmrgCASE_IGNORE, 3026d522f475SmrgCASE_ENQ, 3027d522f475SmrgCASE_IGNORE, 3028d522f475SmrgCASE_BELL, 3029d522f475Smrg/* BS HT NL VT */ 3030d522f475SmrgCASE_BS, 3031d522f475SmrgCASE_TAB, 3032d522f475SmrgCASE_VMOT, 3033d522f475SmrgCASE_VMOT, 30340bd37d32Smrg/* FF CR SO SI */ 3035d522f475SmrgCASE_VMOT, 3036d522f475SmrgCASE_CR, 3037d522f475SmrgCASE_SO, 3038d522f475SmrgCASE_SI, 3039d522f475Smrg/* DLE DC1 DC2 DC3 */ 3040d522f475SmrgCASE_IGNORE, 3041d522f475SmrgCASE_IGNORE, 3042d522f475SmrgCASE_IGNORE, 3043d522f475SmrgCASE_IGNORE, 3044d522f475Smrg/* DC4 NAK SYN ETB */ 3045d522f475SmrgCASE_IGNORE, 3046d522f475SmrgCASE_IGNORE, 3047d522f475SmrgCASE_IGNORE, 3048d522f475SmrgCASE_IGNORE, 3049d522f475Smrg/* CAN EM SUB ESC */ 3050d522f475SmrgCASE_GROUND_STATE, 3051d522f475SmrgCASE_IGNORE, 30525104ee6eSmrgCASE_SUB, 3053d522f475SmrgCASE_ESC, 3054d522f475Smrg/* FS GS RS US */ 3055d522f475SmrgCASE_IGNORE, 3056d522f475SmrgCASE_IGNORE, 3057d522f475SmrgCASE_IGNORE, 3058d522f475SmrgCASE_IGNORE, 3059d522f475Smrg/* SP ! " # */ 3060d522f475SmrgCASE_CSI_IGNORE, 3061d522f475SmrgCASE_CSI_IGNORE, 3062d522f475SmrgCASE_CSI_IGNORE, 3063d522f475SmrgCASE_CSI_IGNORE, 3064d522f475Smrg/* $ % & ' */ 3065f2e35a3aSmrgCASE_CSI_IGNORE, 3066d522f475SmrgCASE_CSI_IGNORE, 3067d522f475SmrgCASE_CSI_IGNORE, 3068d522f475SmrgCASE_CSI_IGNORE, 3069d522f475Smrg/* ( ) * + */ 3070d522f475SmrgCASE_CSI_IGNORE, 3071d522f475SmrgCASE_CSI_IGNORE, 3072d522f475SmrgCASE_CSI_IGNORE, 3073d522f475SmrgCASE_CSI_IGNORE, 3074d522f475Smrg/* , - . / */ 3075d522f475SmrgCASE_CSI_IGNORE, 3076d522f475SmrgCASE_CSI_IGNORE, 3077d522f475SmrgCASE_CSI_IGNORE, 3078d522f475SmrgCASE_CSI_IGNORE, 3079d522f475Smrg/* 0 1 2 3 */ 3080f2e35a3aSmrgCASE_CSI_IGNORE, 3081f2e35a3aSmrgCASE_CSI_IGNORE, 3082f2e35a3aSmrgCASE_CSI_IGNORE, 3083f2e35a3aSmrgCASE_CSI_IGNORE, 3084d522f475Smrg/* 4 5 6 7 */ 3085f2e35a3aSmrgCASE_CSI_IGNORE, 3086f2e35a3aSmrgCASE_CSI_IGNORE, 3087f2e35a3aSmrgCASE_CSI_IGNORE, 3088f2e35a3aSmrgCASE_CSI_IGNORE, 3089d522f475Smrg/* 8 9 : ; */ 3090f2e35a3aSmrgCASE_CSI_IGNORE, 3091f2e35a3aSmrgCASE_CSI_IGNORE, 3092f2e35a3aSmrgCASE_CSI_IGNORE, 3093f2e35a3aSmrgCASE_CSI_IGNORE, 3094d522f475Smrg/* < = > ? */ 3095d522f475SmrgCASE_CSI_IGNORE, 3096d522f475SmrgCASE_CSI_IGNORE, 3097d522f475SmrgCASE_CSI_IGNORE, 3098d522f475SmrgCASE_CSI_IGNORE, 3099d522f475Smrg/* @ A B C */ 3100d522f475SmrgCASE_GROUND_STATE, 3101d522f475SmrgCASE_GROUND_STATE, 3102d522f475SmrgCASE_GROUND_STATE, 3103d522f475SmrgCASE_GROUND_STATE, 3104d522f475Smrg/* D E F G */ 3105d522f475SmrgCASE_GROUND_STATE, 3106d522f475SmrgCASE_GROUND_STATE, 3107d522f475SmrgCASE_GROUND_STATE, 3108d522f475SmrgCASE_GROUND_STATE, 3109d522f475Smrg/* H I J K */ 3110d522f475SmrgCASE_GROUND_STATE, 3111d522f475SmrgCASE_GROUND_STATE, 3112f2e35a3aSmrgCASE_GROUND_STATE, 3113f2e35a3aSmrgCASE_GROUND_STATE, 3114d522f475Smrg/* L M N O */ 3115d522f475SmrgCASE_GROUND_STATE, 3116d522f475SmrgCASE_GROUND_STATE, 3117d522f475SmrgCASE_GROUND_STATE, 3118d522f475SmrgCASE_GROUND_STATE, 3119d522f475Smrg/* P Q R S */ 3120d522f475SmrgCASE_GROUND_STATE, 3121d522f475SmrgCASE_GROUND_STATE, 3122d522f475SmrgCASE_GROUND_STATE, 3123f2e35a3aSmrgCASE_GROUND_STATE, 3124d522f475Smrg/* T U V W */ 3125d522f475SmrgCASE_GROUND_STATE, 3126d522f475SmrgCASE_GROUND_STATE, 3127d522f475SmrgCASE_GROUND_STATE, 3128d522f475SmrgCASE_GROUND_STATE, 3129d522f475Smrg/* X Y Z [ */ 3130d522f475SmrgCASE_GROUND_STATE, 3131d522f475SmrgCASE_GROUND_STATE, 3132d522f475SmrgCASE_GROUND_STATE, 3133d522f475SmrgCASE_GROUND_STATE, 3134d522f475Smrg/* \ ] ^ _ */ 3135d522f475SmrgCASE_GROUND_STATE, 3136d522f475SmrgCASE_GROUND_STATE, 3137d522f475SmrgCASE_GROUND_STATE, 3138d522f475SmrgCASE_GROUND_STATE, 3139d522f475Smrg/* ` a b c */ 3140d522f475SmrgCASE_GROUND_STATE, 3141d522f475SmrgCASE_GROUND_STATE, 3142d522f475SmrgCASE_GROUND_STATE, 3143d522f475SmrgCASE_GROUND_STATE, 3144d522f475Smrg/* d e f g */ 3145d522f475SmrgCASE_GROUND_STATE, 3146d522f475SmrgCASE_GROUND_STATE, 3147d522f475SmrgCASE_GROUND_STATE, 3148d522f475SmrgCASE_GROUND_STATE, 3149d522f475Smrg/* h i j k */ 3150f2e35a3aSmrgCASE_GROUND_STATE, 3151f2e35a3aSmrgCASE_GROUND_STATE, 3152d522f475SmrgCASE_GROUND_STATE, 3153d522f475SmrgCASE_GROUND_STATE, 3154d522f475Smrg/* l m n o */ 3155d522f475SmrgCASE_GROUND_STATE, 3156f2e35a3aSmrgCASE_GROUND_STATE, 3157f2e35a3aSmrgCASE_GROUND_STATE, 3158d522f475SmrgCASE_GROUND_STATE, 3159d522f475Smrg/* p q r s */ 316004b94745SmrgCASE_RQM, 3161d522f475SmrgCASE_GROUND_STATE, 316204b94745SmrgCASE_DECCARA, 3163d522f475SmrgCASE_GROUND_STATE, 3164f2e35a3aSmrg/* t u v w */ 316504b94745SmrgCASE_DECRARA, 316604b94745SmrgCASE_GROUND_STATE, /* vt420:DECRQTSR */ 316704b94745SmrgCASE_DECCRA, 316804b94745SmrgCASE_DECRQPSR, 3169f2e35a3aSmrg/* x y z { */ 317004b94745SmrgCASE_DECFRA, 317104b94745SmrgCASE_GROUND_STATE, /* vt420:DECRPM */ 317204b94745SmrgCASE_DECERA, 317304b94745SmrgCASE_DECSERA, 3174d522f475Smrg/* | } ~ DEL */ 317504b94745SmrgCASE_DECSCPP, 317604b94745SmrgCASE_DECSASD, 317704b94745SmrgCASE_DECSSDT, 3178d522f475SmrgCASE_IGNORE, 3179d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 3180d522f475SmrgCASE_GROUND_STATE, 3181d522f475SmrgCASE_GROUND_STATE, 3182d522f475SmrgCASE_GROUND_STATE, 3183d522f475SmrgCASE_GROUND_STATE, 3184d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 3185d522f475SmrgCASE_IND, 3186d522f475SmrgCASE_NEL, 3187d522f475SmrgCASE_GROUND_STATE, 3188d522f475SmrgCASE_GROUND_STATE, 3189d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 3190d522f475SmrgCASE_HTS, 3191d522f475SmrgCASE_GROUND_STATE, 3192d522f475SmrgCASE_GROUND_STATE, 3193d522f475SmrgCASE_GROUND_STATE, 3194d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 3195d522f475SmrgCASE_GROUND_STATE, 3196d522f475SmrgCASE_RI, 3197d522f475SmrgCASE_SS2, 3198d522f475SmrgCASE_SS3, 3199d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 3200d522f475SmrgCASE_DCS, 3201d522f475SmrgCASE_GROUND_STATE, 3202d522f475SmrgCASE_GROUND_STATE, 3203d522f475SmrgCASE_GROUND_STATE, 3204d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 3205d522f475SmrgCASE_GROUND_STATE, 3206d522f475SmrgCASE_GROUND_STATE, 3207d522f475SmrgCASE_SPA, 3208d522f475SmrgCASE_EPA, 3209d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 3210d522f475SmrgCASE_SOS, 3211d522f475SmrgCASE_GROUND_STATE, 3212d522f475SmrgCASE_DECID, 3213d522f475SmrgCASE_CSI_STATE, 3214d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 3215d522f475SmrgCASE_ST, 3216d522f475SmrgCASE_OSC, 3217d522f475SmrgCASE_PM, 3218d522f475SmrgCASE_APC, 3219f2e35a3aSmrg/* nobreakspace exclamdown cent sterling */ 3220d522f475SmrgCASE_CSI_IGNORE, 3221d522f475SmrgCASE_CSI_IGNORE, 3222d522f475SmrgCASE_CSI_IGNORE, 3223d522f475SmrgCASE_CSI_IGNORE, 3224f2e35a3aSmrg/* currency yen brokenbar section */ 3225d522f475SmrgCASE_CSI_IGNORE, 3226d522f475SmrgCASE_CSI_IGNORE, 3227d522f475SmrgCASE_CSI_IGNORE, 3228d522f475SmrgCASE_CSI_IGNORE, 3229f2e35a3aSmrg/* diaeresis copyright ordfeminine guillemotleft */ 3230d522f475SmrgCASE_CSI_IGNORE, 3231d522f475SmrgCASE_CSI_IGNORE, 3232d522f475SmrgCASE_CSI_IGNORE, 3233d522f475SmrgCASE_CSI_IGNORE, 3234f2e35a3aSmrg/* notsign hyphen registered macron */ 3235d522f475SmrgCASE_CSI_IGNORE, 3236d522f475SmrgCASE_CSI_IGNORE, 3237d522f475SmrgCASE_CSI_IGNORE, 3238f2e35a3aSmrgCASE_CSI_IGNORE, 3239f2e35a3aSmrg/* degree plusminus twosuperior threesuperior */ 3240d522f475SmrgCASE_CSI_IGNORE, 3241d522f475SmrgCASE_CSI_IGNORE, 3242d522f475SmrgCASE_CSI_IGNORE, 3243d522f475SmrgCASE_CSI_IGNORE, 3244f2e35a3aSmrg/* acute mu paragraph periodcentered */ 3245f2e35a3aSmrgCASE_CSI_IGNORE, 3246f2e35a3aSmrgCASE_CSI_IGNORE, 3247f2e35a3aSmrgCASE_CSI_IGNORE, 3248f2e35a3aSmrgCASE_CSI_IGNORE, 3249f2e35a3aSmrg/* cedilla onesuperior masculine guillemotright */ 3250f2e35a3aSmrgCASE_CSI_IGNORE, 3251f2e35a3aSmrgCASE_CSI_IGNORE, 3252f2e35a3aSmrgCASE_CSI_IGNORE, 3253f2e35a3aSmrgCASE_CSI_IGNORE, 3254f2e35a3aSmrg/* onequarter onehalf threequarters questiondown */ 3255f2e35a3aSmrgCASE_CSI_IGNORE, 3256f2e35a3aSmrgCASE_CSI_IGNORE, 3257f2e35a3aSmrgCASE_CSI_IGNORE, 3258f2e35a3aSmrgCASE_CSI_IGNORE, 3259f2e35a3aSmrg/* Agrave Aacute Acircumflex Atilde */ 3260d522f475SmrgCASE_GROUND_STATE, 3261d522f475SmrgCASE_GROUND_STATE, 3262d522f475SmrgCASE_GROUND_STATE, 3263d522f475SmrgCASE_GROUND_STATE, 3264f2e35a3aSmrg/* Adiaeresis Aring AE Ccedilla */ 3265d522f475SmrgCASE_GROUND_STATE, 3266d522f475SmrgCASE_GROUND_STATE, 3267d522f475SmrgCASE_GROUND_STATE, 3268d522f475SmrgCASE_GROUND_STATE, 3269f2e35a3aSmrg/* Egrave Eacute Ecircumflex Ediaeresis */ 3270d522f475SmrgCASE_GROUND_STATE, 3271d522f475SmrgCASE_GROUND_STATE, 3272d522f475SmrgCASE_GROUND_STATE, 3273d522f475SmrgCASE_GROUND_STATE, 3274f2e35a3aSmrg/* Igrave Iacute Icircumflex Idiaeresis */ 3275d522f475SmrgCASE_GROUND_STATE, 3276d522f475SmrgCASE_GROUND_STATE, 3277d522f475SmrgCASE_GROUND_STATE, 3278d522f475SmrgCASE_GROUND_STATE, 3279f2e35a3aSmrg/* Eth Ntilde Ograve Oacute */ 3280d522f475SmrgCASE_GROUND_STATE, 3281d522f475SmrgCASE_GROUND_STATE, 3282d522f475SmrgCASE_GROUND_STATE, 3283d522f475SmrgCASE_GROUND_STATE, 3284f2e35a3aSmrg/* Ocircumflex Otilde Odiaeresis multiply */ 3285d522f475SmrgCASE_GROUND_STATE, 3286d522f475SmrgCASE_GROUND_STATE, 3287d522f475SmrgCASE_GROUND_STATE, 3288d522f475SmrgCASE_GROUND_STATE, 3289f2e35a3aSmrg/* Ooblique Ugrave Uacute Ucircumflex */ 3290d522f475SmrgCASE_GROUND_STATE, 3291d522f475SmrgCASE_GROUND_STATE, 3292d522f475SmrgCASE_GROUND_STATE, 3293d522f475SmrgCASE_GROUND_STATE, 3294f2e35a3aSmrg/* Udiaeresis Yacute Thorn ssharp */ 3295d522f475SmrgCASE_GROUND_STATE, 3296d522f475SmrgCASE_GROUND_STATE, 3297d522f475SmrgCASE_GROUND_STATE, 3298d522f475SmrgCASE_GROUND_STATE, 3299f2e35a3aSmrg/* agrave aacute acircumflex atilde */ 3300d522f475SmrgCASE_GROUND_STATE, 3301d522f475SmrgCASE_GROUND_STATE, 3302d522f475SmrgCASE_GROUND_STATE, 3303d522f475SmrgCASE_GROUND_STATE, 3304f2e35a3aSmrg/* adiaeresis aring ae ccedilla */ 3305d522f475SmrgCASE_GROUND_STATE, 3306d522f475SmrgCASE_GROUND_STATE, 3307d522f475SmrgCASE_GROUND_STATE, 3308d522f475SmrgCASE_GROUND_STATE, 3309f2e35a3aSmrg/* egrave eacute ecircumflex ediaeresis */ 3310d522f475SmrgCASE_GROUND_STATE, 3311d522f475SmrgCASE_GROUND_STATE, 3312d522f475SmrgCASE_GROUND_STATE, 3313d522f475SmrgCASE_GROUND_STATE, 3314f2e35a3aSmrg/* igrave iacute icircumflex idiaeresis */ 3315d522f475SmrgCASE_GROUND_STATE, 3316d522f475SmrgCASE_GROUND_STATE, 3317d522f475SmrgCASE_GROUND_STATE, 3318d522f475SmrgCASE_GROUND_STATE, 3319f2e35a3aSmrg/* eth ntilde ograve oacute */ 332004b94745SmrgCASE_RQM, 3321d522f475SmrgCASE_GROUND_STATE, 332204b94745SmrgCASE_DECCARA, 3323f2e35a3aSmrgCASE_GROUND_STATE, 3324f2e35a3aSmrg/* ocircumflex otilde odiaeresis division */ 332504b94745SmrgCASE_DECRARA, 3326f2e35a3aSmrgCASE_GROUND_STATE, 332704b94745SmrgCASE_DECCRA, 332804b94745SmrgCASE_DECRQPSR, 3329f2e35a3aSmrg/* oslash ugrave uacute ucircumflex */ 333004b94745SmrgCASE_DECFRA, 3331f2e35a3aSmrgCASE_GROUND_STATE, 333204b94745SmrgCASE_DECERA, 333304b94745SmrgCASE_DECSERA, 3334f2e35a3aSmrg/* udiaeresis yacute thorn ydiaeresis */ 333504b94745SmrgCASE_DECSCPP, 333604b94745SmrgCASE_DECSASD, 333704b94745SmrgCASE_DECSSDT, 3338d522f475SmrgCASE_GROUND_STATE, 3339d522f475Smrg}; 3340d522f475Smrg 33415104ee6eSmrgconst PARSE_T csi_star_table[] = /* CSI ... * */ 3342492d43a5Smrg{ 3343492d43a5Smrg/* NUL SOH STX ETX */ 3344492d43a5SmrgCASE_IGNORE, 3345492d43a5SmrgCASE_IGNORE, 3346492d43a5SmrgCASE_IGNORE, 3347492d43a5SmrgCASE_IGNORE, 3348492d43a5Smrg/* EOT ENQ ACK BEL */ 3349492d43a5SmrgCASE_IGNORE, 3350492d43a5SmrgCASE_ENQ, 3351492d43a5SmrgCASE_IGNORE, 3352492d43a5SmrgCASE_BELL, 3353492d43a5Smrg/* BS HT NL VT */ 3354492d43a5SmrgCASE_BS, 3355492d43a5SmrgCASE_TAB, 3356492d43a5SmrgCASE_VMOT, 3357492d43a5SmrgCASE_VMOT, 33580bd37d32Smrg/* FF CR SO SI */ 3359492d43a5SmrgCASE_VMOT, 3360492d43a5SmrgCASE_CR, 3361492d43a5SmrgCASE_SO, 3362492d43a5SmrgCASE_SI, 3363492d43a5Smrg/* DLE DC1 DC2 DC3 */ 3364492d43a5SmrgCASE_IGNORE, 3365492d43a5SmrgCASE_IGNORE, 3366492d43a5SmrgCASE_IGNORE, 3367492d43a5SmrgCASE_IGNORE, 3368492d43a5Smrg/* DC4 NAK SYN ETB */ 3369492d43a5SmrgCASE_IGNORE, 3370492d43a5SmrgCASE_IGNORE, 3371492d43a5SmrgCASE_IGNORE, 3372492d43a5SmrgCASE_IGNORE, 3373492d43a5Smrg/* CAN EM SUB ESC */ 3374492d43a5SmrgCASE_GROUND_STATE, 3375492d43a5SmrgCASE_IGNORE, 33765104ee6eSmrgCASE_SUB, 3377492d43a5SmrgCASE_ESC, 3378492d43a5Smrg/* FS GS RS US */ 3379492d43a5SmrgCASE_IGNORE, 3380492d43a5SmrgCASE_IGNORE, 3381492d43a5SmrgCASE_IGNORE, 3382492d43a5SmrgCASE_IGNORE, 3383492d43a5Smrg/* SP ! " # */ 3384492d43a5SmrgCASE_CSI_IGNORE, 3385492d43a5SmrgCASE_CSI_IGNORE, 3386492d43a5SmrgCASE_CSI_IGNORE, 3387492d43a5SmrgCASE_CSI_IGNORE, 3388492d43a5Smrg/* $ % & ' */ 338904b94745SmrgCASE_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/* , - . / */ 3399492d43a5SmrgCASE_CSI_IGNORE, 3400492d43a5SmrgCASE_CSI_IGNORE, 3401492d43a5SmrgCASE_CSI_IGNORE, 3402492d43a5SmrgCASE_CSI_IGNORE, 3403492d43a5Smrg/* 0 1 2 3 */ 340404b94745SmrgCASE_CSI_IGNORE, 340504b94745SmrgCASE_CSI_IGNORE, 340604b94745SmrgCASE_CSI_IGNORE, 340704b94745SmrgCASE_CSI_IGNORE, 3408492d43a5Smrg/* 4 5 6 7 */ 340904b94745SmrgCASE_CSI_IGNORE, 341004b94745SmrgCASE_CSI_IGNORE, 341104b94745SmrgCASE_CSI_IGNORE, 341204b94745SmrgCASE_CSI_IGNORE, 3413492d43a5Smrg/* 8 9 : ; */ 341404b94745SmrgCASE_CSI_IGNORE, 341504b94745SmrgCASE_CSI_IGNORE, 341604b94745SmrgCASE_CSI_IGNORE, 341704b94745SmrgCASE_CSI_IGNORE, 3418492d43a5Smrg/* < = > ? */ 3419492d43a5SmrgCASE_CSI_IGNORE, 3420492d43a5SmrgCASE_CSI_IGNORE, 3421492d43a5SmrgCASE_CSI_IGNORE, 3422492d43a5SmrgCASE_CSI_IGNORE, 3423492d43a5Smrg/* @ A B C */ 3424492d43a5SmrgCASE_GROUND_STATE, 3425492d43a5SmrgCASE_GROUND_STATE, 3426492d43a5SmrgCASE_GROUND_STATE, 3427492d43a5SmrgCASE_GROUND_STATE, 3428492d43a5Smrg/* D E F G */ 3429492d43a5SmrgCASE_GROUND_STATE, 3430492d43a5SmrgCASE_GROUND_STATE, 3431492d43a5SmrgCASE_GROUND_STATE, 3432492d43a5SmrgCASE_GROUND_STATE, 3433492d43a5Smrg/* H I J K */ 3434492d43a5SmrgCASE_GROUND_STATE, 3435492d43a5SmrgCASE_GROUND_STATE, 343604b94745SmrgCASE_GROUND_STATE, 343704b94745SmrgCASE_GROUND_STATE, 3438492d43a5Smrg/* L M N O */ 3439492d43a5SmrgCASE_GROUND_STATE, 3440492d43a5SmrgCASE_GROUND_STATE, 3441492d43a5SmrgCASE_GROUND_STATE, 3442492d43a5SmrgCASE_GROUND_STATE, 3443492d43a5Smrg/* P Q R S */ 3444492d43a5SmrgCASE_GROUND_STATE, 3445492d43a5SmrgCASE_GROUND_STATE, 3446492d43a5SmrgCASE_GROUND_STATE, 344704b94745SmrgCASE_GROUND_STATE, 3448492d43a5Smrg/* T U V W */ 3449492d43a5SmrgCASE_GROUND_STATE, 3450492d43a5SmrgCASE_GROUND_STATE, 3451492d43a5SmrgCASE_GROUND_STATE, 3452492d43a5SmrgCASE_GROUND_STATE, 3453492d43a5Smrg/* X Y Z [ */ 3454492d43a5SmrgCASE_GROUND_STATE, 3455492d43a5SmrgCASE_GROUND_STATE, 3456492d43a5SmrgCASE_GROUND_STATE, 3457492d43a5SmrgCASE_GROUND_STATE, 3458492d43a5Smrg/* \ ] ^ _ */ 3459492d43a5SmrgCASE_GROUND_STATE, 3460492d43a5SmrgCASE_GROUND_STATE, 3461492d43a5SmrgCASE_GROUND_STATE, 3462492d43a5SmrgCASE_GROUND_STATE, 3463492d43a5Smrg/* ` a b c */ 3464492d43a5SmrgCASE_GROUND_STATE, 3465492d43a5SmrgCASE_GROUND_STATE, 3466492d43a5SmrgCASE_GROUND_STATE, 3467492d43a5SmrgCASE_GROUND_STATE, 3468492d43a5Smrg/* d e f g */ 3469492d43a5SmrgCASE_GROUND_STATE, 3470492d43a5SmrgCASE_GROUND_STATE, 3471492d43a5SmrgCASE_GROUND_STATE, 3472492d43a5SmrgCASE_GROUND_STATE, 3473492d43a5Smrg/* h i j k */ 3474492d43a5SmrgCASE_GROUND_STATE, 3475492d43a5SmrgCASE_GROUND_STATE, 3476492d43a5SmrgCASE_GROUND_STATE, 3477492d43a5SmrgCASE_GROUND_STATE, 347804b94745Smrg/* l m n o */ 3479492d43a5SmrgCASE_GROUND_STATE, 3480492d43a5SmrgCASE_GROUND_STATE, 3481492d43a5SmrgCASE_GROUND_STATE, 3482492d43a5SmrgCASE_GROUND_STATE, 348304b94745Smrg/* p q r s */ 348404b94745SmrgCASE_GROUND_STATE, /* vt510:DECSPPCS */ 348504b94745SmrgCASE_GROUND_STATE, /* vt420:DECSRC */ 348604b94745SmrgCASE_GROUND_STATE, /* vt510:DECSCS */ 348704b94745SmrgCASE_GROUND_STATE, /* vt510:DECSFC */ 348804b94745Smrg/* t u v w */ 3489492d43a5SmrgCASE_GROUND_STATE, 349004b94745SmrgCASE_GROUND_STATE, /* vt510:DECSCP */ 3491492d43a5SmrgCASE_GROUND_STATE, 3492492d43a5SmrgCASE_GROUND_STATE, 349304b94745Smrg/* x y z { */ 349404b94745SmrgCASE_DECSACE, 349504b94745SmrgCASE_DECRQCRA, 349604b94745SmrgCASE_GROUND_STATE, /* vt420:DECINVM */ 3497492d43a5SmrgCASE_GROUND_STATE, 3498492d43a5Smrg/* | } ~ DEL */ 349904b94745SmrgCASE_DECSNLS, 350004b94745SmrgCASE_GROUND_STATE, /* vt420:DECLFKC */ 3501492d43a5SmrgCASE_GROUND_STATE, 3502492d43a5SmrgCASE_IGNORE, 3503492d43a5Smrg/* 0x80 0x81 0x82 0x83 */ 3504492d43a5SmrgCASE_GROUND_STATE, 3505492d43a5SmrgCASE_GROUND_STATE, 3506492d43a5SmrgCASE_GROUND_STATE, 3507492d43a5SmrgCASE_GROUND_STATE, 3508492d43a5Smrg/* 0x84 0x85 0x86 0x87 */ 3509492d43a5SmrgCASE_IND, 3510492d43a5SmrgCASE_NEL, 3511492d43a5SmrgCASE_GROUND_STATE, 3512492d43a5SmrgCASE_GROUND_STATE, 3513492d43a5Smrg/* 0x88 0x89 0x8a 0x8b */ 3514492d43a5SmrgCASE_HTS, 3515492d43a5SmrgCASE_GROUND_STATE, 3516492d43a5SmrgCASE_GROUND_STATE, 3517492d43a5SmrgCASE_GROUND_STATE, 3518492d43a5Smrg/* 0x8c 0x8d 0x8e 0x8f */ 3519492d43a5SmrgCASE_GROUND_STATE, 3520492d43a5SmrgCASE_RI, 3521492d43a5SmrgCASE_SS2, 3522492d43a5SmrgCASE_SS3, 3523492d43a5Smrg/* 0x90 0x91 0x92 0x93 */ 3524492d43a5SmrgCASE_DCS, 3525492d43a5SmrgCASE_GROUND_STATE, 3526492d43a5SmrgCASE_GROUND_STATE, 3527492d43a5SmrgCASE_GROUND_STATE, 3528492d43a5Smrg/* 0x94 0x95 0x96 0x97 */ 3529492d43a5SmrgCASE_GROUND_STATE, 3530492d43a5SmrgCASE_GROUND_STATE, 3531492d43a5SmrgCASE_SPA, 3532492d43a5SmrgCASE_EPA, 3533492d43a5Smrg/* 0x98 0x99 0x9a 0x9b */ 3534492d43a5SmrgCASE_SOS, 3535492d43a5SmrgCASE_GROUND_STATE, 3536492d43a5SmrgCASE_DECID, 3537492d43a5SmrgCASE_CSI_STATE, 3538492d43a5Smrg/* 0x9c 0x9d 0x9e 0x9f */ 3539492d43a5SmrgCASE_ST, 3540492d43a5SmrgCASE_OSC, 3541492d43a5SmrgCASE_PM, 3542492d43a5SmrgCASE_APC, 354304b94745Smrg/* nobreakspace exclamdown cent sterling */ 3544492d43a5SmrgCASE_CSI_IGNORE, 3545492d43a5SmrgCASE_CSI_IGNORE, 3546492d43a5SmrgCASE_CSI_IGNORE, 3547492d43a5SmrgCASE_CSI_IGNORE, 354804b94745Smrg/* currency yen brokenbar section */ 3549492d43a5SmrgCASE_CSI_IGNORE, 3550492d43a5SmrgCASE_CSI_IGNORE, 3551492d43a5SmrgCASE_CSI_IGNORE, 3552492d43a5SmrgCASE_CSI_IGNORE, 355304b94745Smrg/* diaeresis copyright ordfeminine guillemotleft */ 3554492d43a5SmrgCASE_CSI_IGNORE, 3555492d43a5SmrgCASE_CSI_IGNORE, 3556492d43a5SmrgCASE_CSI_IGNORE, 3557492d43a5SmrgCASE_CSI_IGNORE, 355804b94745Smrg/* notsign hyphen registered macron */ 3559492d43a5SmrgCASE_CSI_IGNORE, 3560492d43a5SmrgCASE_CSI_IGNORE, 3561492d43a5SmrgCASE_CSI_IGNORE, 3562492d43a5SmrgCASE_CSI_IGNORE, 356304b94745Smrg/* degree plusminus twosuperior threesuperior */ 3564492d43a5SmrgCASE_CSI_IGNORE, 3565492d43a5SmrgCASE_CSI_IGNORE, 3566492d43a5SmrgCASE_CSI_IGNORE, 356704b94745SmrgCASE_CSI_IGNORE, 356804b94745Smrg/* acute mu paragraph periodcentered */ 356904b94745SmrgCASE_CSI_IGNORE, 357004b94745SmrgCASE_CSI_IGNORE, 357104b94745SmrgCASE_CSI_IGNORE, 357204b94745SmrgCASE_CSI_IGNORE, 357304b94745Smrg/* cedilla onesuperior masculine guillemotright */ 357404b94745SmrgCASE_CSI_IGNORE, 357504b94745SmrgCASE_CSI_IGNORE, 357604b94745SmrgCASE_CSI_IGNORE, 357704b94745SmrgCASE_CSI_IGNORE, 357804b94745Smrg/* onequarter onehalf threequarters questiondown */ 357904b94745SmrgCASE_CSI_IGNORE, 358004b94745SmrgCASE_CSI_IGNORE, 358104b94745SmrgCASE_CSI_IGNORE, 358204b94745SmrgCASE_CSI_IGNORE, 358304b94745Smrg/* Agrave Aacute Acircumflex Atilde */ 3584492d43a5SmrgCASE_GROUND_STATE, 3585492d43a5SmrgCASE_GROUND_STATE, 3586492d43a5SmrgCASE_GROUND_STATE, 3587492d43a5SmrgCASE_GROUND_STATE, 358804b94745Smrg/* Adiaeresis Aring AE Ccedilla */ 3589492d43a5SmrgCASE_GROUND_STATE, 3590492d43a5SmrgCASE_GROUND_STATE, 3591492d43a5SmrgCASE_GROUND_STATE, 3592492d43a5SmrgCASE_GROUND_STATE, 359304b94745Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 3594492d43a5SmrgCASE_GROUND_STATE, 3595492d43a5SmrgCASE_GROUND_STATE, 3596492d43a5SmrgCASE_GROUND_STATE, 3597492d43a5SmrgCASE_GROUND_STATE, 359804b94745Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 3599492d43a5SmrgCASE_GROUND_STATE, 3600492d43a5SmrgCASE_GROUND_STATE, 3601492d43a5SmrgCASE_GROUND_STATE, 3602492d43a5SmrgCASE_GROUND_STATE, 360304b94745Smrg/* Eth Ntilde Ograve Oacute */ 360404b94745SmrgCASE_GROUND_STATE, 360504b94745SmrgCASE_GROUND_STATE, 360604b94745SmrgCASE_GROUND_STATE, 360704b94745SmrgCASE_GROUND_STATE, 360804b94745Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 360904b94745SmrgCASE_GROUND_STATE, 361004b94745SmrgCASE_GROUND_STATE, 361104b94745SmrgCASE_GROUND_STATE, 361204b94745SmrgCASE_GROUND_STATE, 361304b94745Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 361404b94745SmrgCASE_GROUND_STATE, 361504b94745SmrgCASE_GROUND_STATE, 361604b94745SmrgCASE_GROUND_STATE, 361704b94745SmrgCASE_GROUND_STATE, 361804b94745Smrg/* Udiaeresis Yacute Thorn ssharp */ 361904b94745SmrgCASE_GROUND_STATE, 362004b94745SmrgCASE_GROUND_STATE, 362104b94745SmrgCASE_GROUND_STATE, 362204b94745SmrgCASE_GROUND_STATE, 362304b94745Smrg/* agrave aacute acircumflex atilde */ 362404b94745SmrgCASE_GROUND_STATE, 362504b94745SmrgCASE_GROUND_STATE, 362604b94745SmrgCASE_GROUND_STATE, 362704b94745SmrgCASE_GROUND_STATE, 362804b94745Smrg/* adiaeresis aring ae ccedilla */ 3629492d43a5SmrgCASE_GROUND_STATE, 3630492d43a5SmrgCASE_GROUND_STATE, 3631492d43a5SmrgCASE_GROUND_STATE, 3632492d43a5SmrgCASE_GROUND_STATE, 363304b94745Smrg/* egrave eacute ecircumflex ediaeresis */ 363404b94745SmrgCASE_GROUND_STATE, 363504b94745SmrgCASE_GROUND_STATE, 363604b94745SmrgCASE_GROUND_STATE, 363704b94745SmrgCASE_GROUND_STATE, 363804b94745Smrg/* igrave iacute icircumflex idiaeresis */ 363904b94745SmrgCASE_GROUND_STATE, 364004b94745SmrgCASE_GROUND_STATE, 364104b94745SmrgCASE_GROUND_STATE, 364204b94745SmrgCASE_GROUND_STATE, 364304b94745Smrg/* eth ntilde ograve oacute */ 364404b94745SmrgCASE_GROUND_STATE, 364504b94745SmrgCASE_GROUND_STATE, 364604b94745SmrgCASE_GROUND_STATE, 364704b94745SmrgCASE_GROUND_STATE, 364804b94745Smrg/* ocircumflex otilde odiaeresis division */ 364904b94745SmrgCASE_GROUND_STATE, 365004b94745SmrgCASE_GROUND_STATE, 365104b94745SmrgCASE_GROUND_STATE, 365204b94745SmrgCASE_GROUND_STATE, 365304b94745Smrg/* oslash ugrave uacute ucircumflex */ 365404b94745SmrgCASE_DECSACE, 365504b94745SmrgCASE_DECRQCRA, 365604b94745SmrgCASE_GROUND_STATE, 365704b94745SmrgCASE_GROUND_STATE, 365804b94745Smrg/* udiaeresis yacute thorn ydiaeresis */ 365904b94745SmrgCASE_DECSNLS, 366004b94745SmrgCASE_GROUND_STATE, 366104b94745SmrgCASE_GROUND_STATE, 366204b94745SmrgCASE_GROUND_STATE, 366304b94745Smrg}; 366404b94745Smrg#endif /* OPT_DEC_RECTOPS */ 366504b94745Smrg 366604b94745Smrg#if OPT_VT525_COLORS 36675104ee6eSmrgconst PARSE_T csi_comma_table[] = /* CSI ... , */ 366804b94745Smrg{ 366904b94745Smrg/* NUL SOH STX ETX */ 367004b94745SmrgCASE_IGNORE, 367104b94745SmrgCASE_IGNORE, 367204b94745SmrgCASE_IGNORE, 367304b94745SmrgCASE_IGNORE, 367404b94745Smrg/* EOT ENQ ACK BEL */ 367504b94745SmrgCASE_IGNORE, 367604b94745SmrgCASE_ENQ, 367704b94745SmrgCASE_IGNORE, 367804b94745SmrgCASE_BELL, 367904b94745Smrg/* BS HT NL VT */ 368004b94745SmrgCASE_BS, 368104b94745SmrgCASE_TAB, 368204b94745SmrgCASE_VMOT, 368304b94745SmrgCASE_VMOT, 368404b94745Smrg/* FF CR SO SI */ 368504b94745SmrgCASE_VMOT, 368604b94745SmrgCASE_CR, 368704b94745SmrgCASE_SO, 368804b94745SmrgCASE_SI, 368904b94745Smrg/* DLE DC1 DC2 DC3 */ 369004b94745SmrgCASE_IGNORE, 369104b94745SmrgCASE_IGNORE, 369204b94745SmrgCASE_IGNORE, 369304b94745SmrgCASE_IGNORE, 369404b94745Smrg/* DC4 NAK SYN ETB */ 369504b94745SmrgCASE_IGNORE, 369604b94745SmrgCASE_IGNORE, 369704b94745SmrgCASE_IGNORE, 369804b94745SmrgCASE_IGNORE, 369904b94745Smrg/* CAN EM SUB ESC */ 370004b94745SmrgCASE_GROUND_STATE, 370104b94745SmrgCASE_IGNORE, 37025104ee6eSmrgCASE_SUB, 370304b94745SmrgCASE_ESC, 370404b94745Smrg/* FS GS RS US */ 370504b94745SmrgCASE_IGNORE, 370604b94745SmrgCASE_IGNORE, 370704b94745SmrgCASE_IGNORE, 370804b94745SmrgCASE_IGNORE, 370904b94745Smrg/* SP ! " # */ 371004b94745SmrgCASE_CSI_IGNORE, 371104b94745SmrgCASE_CSI_IGNORE, 371204b94745SmrgCASE_CSI_IGNORE, 371304b94745SmrgCASE_CSI_IGNORE, 371404b94745Smrg/* $ % & ' */ 371504b94745SmrgCASE_CSI_IGNORE, 371604b94745SmrgCASE_CSI_IGNORE, 371704b94745SmrgCASE_CSI_IGNORE, 371804b94745SmrgCASE_CSI_IGNORE, 371904b94745Smrg/* ( ) * + */ 372004b94745SmrgCASE_CSI_IGNORE, 372104b94745SmrgCASE_CSI_IGNORE, 372204b94745SmrgCASE_CSI_IGNORE, 372304b94745SmrgCASE_CSI_IGNORE, 372404b94745Smrg/* , - . / */ 372504b94745SmrgCASE_CSI_IGNORE, 372604b94745SmrgCASE_CSI_IGNORE, 372704b94745SmrgCASE_CSI_IGNORE, 372804b94745SmrgCASE_CSI_IGNORE, 372904b94745Smrg/* 0 1 2 3 */ 373004b94745SmrgCASE_CSI_IGNORE, 373104b94745SmrgCASE_CSI_IGNORE, 373204b94745SmrgCASE_CSI_IGNORE, 373304b94745SmrgCASE_CSI_IGNORE, 373404b94745Smrg/* 4 5 6 7 */ 373504b94745SmrgCASE_CSI_IGNORE, 373604b94745SmrgCASE_CSI_IGNORE, 373704b94745SmrgCASE_CSI_IGNORE, 373804b94745SmrgCASE_CSI_IGNORE, 373904b94745Smrg/* 8 9 : ; */ 374004b94745SmrgCASE_CSI_IGNORE, 374104b94745SmrgCASE_CSI_IGNORE, 374204b94745SmrgCASE_CSI_IGNORE, 374304b94745SmrgCASE_CSI_IGNORE, 374404b94745Smrg/* < = > ? */ 374504b94745SmrgCASE_CSI_IGNORE, 374604b94745SmrgCASE_CSI_IGNORE, 374704b94745SmrgCASE_CSI_IGNORE, 374804b94745SmrgCASE_CSI_IGNORE, 374904b94745Smrg/* @ A B C */ 375004b94745SmrgCASE_GROUND_STATE, 375104b94745SmrgCASE_GROUND_STATE, 375204b94745SmrgCASE_GROUND_STATE, 375304b94745SmrgCASE_GROUND_STATE, 375404b94745Smrg/* D E F G */ 375504b94745SmrgCASE_GROUND_STATE, 375604b94745SmrgCASE_GROUND_STATE, 375704b94745SmrgCASE_GROUND_STATE, 375804b94745SmrgCASE_GROUND_STATE, 375904b94745Smrg/* H I J K */ 376004b94745SmrgCASE_GROUND_STATE, 376104b94745SmrgCASE_GROUND_STATE, 376204b94745SmrgCASE_GROUND_STATE, 376304b94745SmrgCASE_GROUND_STATE, 376404b94745Smrg/* L M N O */ 376504b94745SmrgCASE_GROUND_STATE, 376604b94745SmrgCASE_GROUND_STATE, 376704b94745SmrgCASE_GROUND_STATE, 376804b94745SmrgCASE_GROUND_STATE, 376904b94745Smrg/* P Q R S */ 377004b94745SmrgCASE_GROUND_STATE, 377104b94745SmrgCASE_GROUND_STATE, 377204b94745SmrgCASE_GROUND_STATE, 377304b94745SmrgCASE_GROUND_STATE, 377404b94745Smrg/* T U V W */ 377504b94745SmrgCASE_GROUND_STATE, 377604b94745SmrgCASE_GROUND_STATE, 377704b94745SmrgCASE_GROUND_STATE, 377804b94745SmrgCASE_GROUND_STATE, 377904b94745Smrg/* X Y Z [ */ 378004b94745SmrgCASE_GROUND_STATE, 378104b94745SmrgCASE_GROUND_STATE, 378204b94745SmrgCASE_GROUND_STATE, 378304b94745SmrgCASE_GROUND_STATE, 378404b94745Smrg/* \ ] ^ _ */ 378504b94745SmrgCASE_GROUND_STATE, 378604b94745SmrgCASE_GROUND_STATE, 378704b94745SmrgCASE_GROUND_STATE, 378804b94745SmrgCASE_GROUND_STATE, 378904b94745Smrg/* ` a b c */ 379004b94745SmrgCASE_GROUND_STATE, 379104b94745SmrgCASE_GROUND_STATE, 379204b94745SmrgCASE_GROUND_STATE, 379304b94745SmrgCASE_GROUND_STATE, 379404b94745Smrg/* d e f g */ 379504b94745SmrgCASE_GROUND_STATE, 379604b94745SmrgCASE_GROUND_STATE, 379704b94745SmrgCASE_GROUND_STATE, 379804b94745SmrgCASE_GROUND_STATE, 379904b94745Smrg/* h i j k */ 380004b94745SmrgCASE_GROUND_STATE, 380104b94745SmrgCASE_GROUND_STATE, 380204b94745SmrgCASE_GROUND_STATE, 380304b94745SmrgCASE_GROUND_STATE, 380404b94745Smrg/* l m n o */ 380504b94745SmrgCASE_GROUND_STATE, 380604b94745SmrgCASE_GROUND_STATE, 380704b94745SmrgCASE_GROUND_STATE, 380804b94745SmrgCASE_GROUND_STATE, 380904b94745Smrg/* p q r s */ 381004b94745SmrgCASE_GROUND_STATE, /* vt520:DECLTOD */ 381104b94745SmrgCASE_DECTID, 381204b94745SmrgCASE_GROUND_STATE, 381304b94745SmrgCASE_GROUND_STATE, 381404b94745Smrg/* t u v w */ 381504b94745SmrgCASE_GROUND_STATE, 381604b94745SmrgCASE_GROUND_STATE, /* vt520:DECRQKT */ 381704b94745SmrgCASE_GROUND_STATE, /* vt520:DECRPKT */ 381804b94745SmrgCASE_GROUND_STATE, /* vt520:DECRQKD */ 381904b94745Smrg/* x y z { */ 382004b94745SmrgCASE_GROUND_STATE, /* vt520:DECSPMA */ 382104b94745SmrgCASE_GROUND_STATE, /* vt520:DECUS */ 382204b94745SmrgCASE_GROUND_STATE, /* vt520:DECDLDA */ 382304b94745SmrgCASE_GROUND_STATE, /* vt520:DECSZS */ 382404b94745Smrg/* | } ~ DEL */ 382504b94745SmrgCASE_DECAC, 382604b94745SmrgCASE_DECATC, 382704b94745SmrgCASE_GROUND_STATE, /* vt520:DECPS */ 382804b94745SmrgCASE_GROUND_STATE, 382904b94745Smrg/* 0x80 0x81 0x82 0x83 */ 383004b94745SmrgCASE_GROUND_STATE, 383104b94745SmrgCASE_GROUND_STATE, 383204b94745SmrgCASE_GROUND_STATE, 383304b94745SmrgCASE_GROUND_STATE, 383404b94745Smrg/* 0x84 0x85 0x86 0x87 */ 383504b94745SmrgCASE_IND, 383604b94745SmrgCASE_NEL, 383704b94745SmrgCASE_GROUND_STATE, 383804b94745SmrgCASE_GROUND_STATE, 383904b94745Smrg/* 0x88 0x89 0x8a 0x8b */ 384004b94745SmrgCASE_HTS, 384104b94745SmrgCASE_GROUND_STATE, 384204b94745SmrgCASE_GROUND_STATE, 384304b94745SmrgCASE_GROUND_STATE, 384404b94745Smrg/* 0x8c 0x8d 0x8e 0x8f */ 384504b94745SmrgCASE_GROUND_STATE, 384604b94745SmrgCASE_RI, 384704b94745SmrgCASE_SS2, 384804b94745SmrgCASE_SS3, 384904b94745Smrg/* 0x90 0x91 0x92 0x93 */ 385004b94745SmrgCASE_DCS, 385104b94745SmrgCASE_GROUND_STATE, 385204b94745SmrgCASE_GROUND_STATE, 385304b94745SmrgCASE_GROUND_STATE, 385404b94745Smrg/* 0x94 0x95 0x96 0x97 */ 385504b94745SmrgCASE_GROUND_STATE, 385604b94745SmrgCASE_GROUND_STATE, 385704b94745SmrgCASE_SPA, 385804b94745SmrgCASE_EPA, 385904b94745Smrg/* 0x98 0x99 0x9a 0x9b */ 386004b94745SmrgCASE_SOS, 386104b94745SmrgCASE_GROUND_STATE, 386204b94745SmrgCASE_DECID, 386304b94745SmrgCASE_CSI_STATE, 386404b94745Smrg/* 0x9c 0x9d 0x9e 0x9f */ 386504b94745SmrgCASE_ST, 386604b94745SmrgCASE_OSC, 386704b94745SmrgCASE_PM, 386804b94745SmrgCASE_APC, 386904b94745Smrg/* nobreakspace exclamdown cent sterling */ 387004b94745SmrgCASE_CSI_IGNORE, 387104b94745SmrgCASE_CSI_IGNORE, 387204b94745SmrgCASE_CSI_IGNORE, 387304b94745SmrgCASE_CSI_IGNORE, 387404b94745Smrg/* currency yen brokenbar section */ 387504b94745SmrgCASE_CSI_IGNORE, 387604b94745SmrgCASE_CSI_IGNORE, 387704b94745SmrgCASE_CSI_IGNORE, 387804b94745SmrgCASE_CSI_IGNORE, 387904b94745Smrg/* diaeresis copyright ordfeminine guillemotleft */ 388004b94745SmrgCASE_CSI_IGNORE, 388104b94745SmrgCASE_CSI_IGNORE, 388204b94745SmrgCASE_CSI_IGNORE, 388304b94745SmrgCASE_CSI_IGNORE, 388404b94745Smrg/* notsign hyphen registered macron */ 388504b94745SmrgCASE_CSI_IGNORE, 388604b94745SmrgCASE_CSI_IGNORE, 388704b94745SmrgCASE_CSI_IGNORE, 388804b94745SmrgCASE_CSI_IGNORE, 388904b94745Smrg/* degree plusminus twosuperior threesuperior */ 389004b94745SmrgCASE_CSI_IGNORE, 389104b94745SmrgCASE_CSI_IGNORE, 389204b94745SmrgCASE_CSI_IGNORE, 389304b94745SmrgCASE_CSI_IGNORE, 389404b94745Smrg/* acute mu paragraph periodcentered */ 389504b94745SmrgCASE_CSI_IGNORE, 389604b94745SmrgCASE_CSI_IGNORE, 389704b94745SmrgCASE_CSI_IGNORE, 389804b94745SmrgCASE_CSI_IGNORE, 389904b94745Smrg/* cedilla onesuperior masculine guillemotright */ 390004b94745SmrgCASE_CSI_IGNORE, 390104b94745SmrgCASE_CSI_IGNORE, 390204b94745SmrgCASE_CSI_IGNORE, 390304b94745SmrgCASE_CSI_IGNORE, 390404b94745Smrg/* onequarter onehalf threequarters questiondown */ 390504b94745SmrgCASE_CSI_IGNORE, 390604b94745SmrgCASE_CSI_IGNORE, 390704b94745SmrgCASE_CSI_IGNORE, 390804b94745SmrgCASE_CSI_IGNORE, 390904b94745Smrg/* Agrave Aacute Acircumflex Atilde */ 391004b94745SmrgCASE_GROUND_STATE, 391104b94745SmrgCASE_GROUND_STATE, 391204b94745SmrgCASE_GROUND_STATE, 391304b94745SmrgCASE_GROUND_STATE, 391404b94745Smrg/* Adiaeresis Aring AE Ccedilla */ 391504b94745SmrgCASE_GROUND_STATE, 391604b94745SmrgCASE_GROUND_STATE, 391704b94745SmrgCASE_GROUND_STATE, 391804b94745SmrgCASE_GROUND_STATE, 391904b94745Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 392004b94745SmrgCASE_GROUND_STATE, 392104b94745SmrgCASE_GROUND_STATE, 392204b94745SmrgCASE_GROUND_STATE, 392304b94745SmrgCASE_GROUND_STATE, 392404b94745Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 392504b94745SmrgCASE_GROUND_STATE, 392604b94745SmrgCASE_GROUND_STATE, 392704b94745SmrgCASE_GROUND_STATE, 392804b94745SmrgCASE_GROUND_STATE, 392904b94745Smrg/* Eth Ntilde Ograve Oacute */ 393004b94745SmrgCASE_GROUND_STATE, 393104b94745SmrgCASE_GROUND_STATE, 393204b94745SmrgCASE_GROUND_STATE, 393304b94745SmrgCASE_GROUND_STATE, 393404b94745Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 393504b94745SmrgCASE_GROUND_STATE, 393604b94745SmrgCASE_GROUND_STATE, 393704b94745SmrgCASE_GROUND_STATE, 393804b94745SmrgCASE_GROUND_STATE, 393904b94745Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 394004b94745SmrgCASE_GROUND_STATE, 394104b94745SmrgCASE_GROUND_STATE, 394204b94745SmrgCASE_GROUND_STATE, 394304b94745SmrgCASE_GROUND_STATE, 394404b94745Smrg/* Udiaeresis Yacute Thorn ssharp */ 394504b94745SmrgCASE_GROUND_STATE, 394604b94745SmrgCASE_GROUND_STATE, 394704b94745SmrgCASE_GROUND_STATE, 394804b94745SmrgCASE_GROUND_STATE, 394904b94745Smrg/* agrave aacute acircumflex atilde */ 395004b94745SmrgCASE_GROUND_STATE, 395104b94745SmrgCASE_GROUND_STATE, 395204b94745SmrgCASE_GROUND_STATE, 395304b94745SmrgCASE_GROUND_STATE, 395404b94745Smrg/* adiaeresis aring ae ccedilla */ 395504b94745SmrgCASE_GROUND_STATE, 395604b94745SmrgCASE_GROUND_STATE, 395704b94745SmrgCASE_GROUND_STATE, 395804b94745SmrgCASE_GROUND_STATE, 395904b94745Smrg/* egrave eacute ecircumflex ediaeresis */ 396004b94745SmrgCASE_GROUND_STATE, 396104b94745SmrgCASE_GROUND_STATE, 396204b94745SmrgCASE_GROUND_STATE, 396304b94745SmrgCASE_GROUND_STATE, 396404b94745Smrg/* igrave iacute icircumflex idiaeresis */ 396504b94745SmrgCASE_GROUND_STATE, 396604b94745SmrgCASE_GROUND_STATE, 396704b94745SmrgCASE_GROUND_STATE, 396804b94745SmrgCASE_GROUND_STATE, 396904b94745Smrg/* eth ntilde ograve oacute */ 397004b94745SmrgCASE_GROUND_STATE, 397104b94745SmrgCASE_DECTID, 397204b94745SmrgCASE_GROUND_STATE, 397304b94745SmrgCASE_GROUND_STATE, 397404b94745Smrg/* ocircumflex otilde odiaeresis division */ 397504b94745SmrgCASE_GROUND_STATE, 397604b94745SmrgCASE_GROUND_STATE, 397704b94745SmrgCASE_GROUND_STATE, 397804b94745SmrgCASE_GROUND_STATE, 397904b94745Smrg/* oslash ugrave uacute ucircumflex */ 398004b94745SmrgCASE_GROUND_STATE, 398104b94745SmrgCASE_GROUND_STATE, 398204b94745SmrgCASE_GROUND_STATE, 398304b94745SmrgCASE_GROUND_STATE, 398404b94745Smrg/* udiaeresis yacute thorn ydiaeresis */ 398504b94745SmrgCASE_DECAC, 398604b94745SmrgCASE_DECATC, 398704b94745SmrgCASE_GROUND_STATE, 398804b94745SmrgCASE_GROUND_STATE, 398904b94745Smrg}; 399004b94745Smrg#endif /* OPT_VT525_COLORS */ 399104b94745Smrg 39925104ee6eSmrgconst PARSE_T dec_table[] = /* CSI ? */ 399304b94745Smrg{ 399404b94745Smrg/* NUL SOH STX ETX */ 399504b94745SmrgCASE_IGNORE, 399604b94745SmrgCASE_IGNORE, 399704b94745SmrgCASE_IGNORE, 399804b94745SmrgCASE_IGNORE, 399904b94745Smrg/* EOT ENQ ACK BEL */ 400004b94745SmrgCASE_IGNORE, 400104b94745SmrgCASE_ENQ, 400204b94745SmrgCASE_IGNORE, 400304b94745SmrgCASE_BELL, 400404b94745Smrg/* BS HT NL VT */ 400504b94745SmrgCASE_BS, 400604b94745SmrgCASE_TAB, 400704b94745SmrgCASE_VMOT, 400804b94745SmrgCASE_VMOT, 400904b94745Smrg/* FF CR SO SI */ 401004b94745SmrgCASE_VMOT, 401104b94745SmrgCASE_CR, 401204b94745SmrgCASE_SO, 401304b94745SmrgCASE_SI, 401404b94745Smrg/* DLE DC1 DC2 DC3 */ 401504b94745SmrgCASE_IGNORE, 401604b94745SmrgCASE_IGNORE, 401704b94745SmrgCASE_IGNORE, 401804b94745SmrgCASE_IGNORE, 401904b94745Smrg/* DC4 NAK SYN ETB */ 402004b94745SmrgCASE_IGNORE, 402104b94745SmrgCASE_IGNORE, 402204b94745SmrgCASE_IGNORE, 402304b94745SmrgCASE_IGNORE, 402404b94745Smrg/* CAN EM SUB ESC */ 402504b94745SmrgCASE_GROUND_STATE, 402604b94745SmrgCASE_IGNORE, 40275104ee6eSmrgCASE_SUB, 402804b94745SmrgCASE_ESC, 402904b94745Smrg/* FS GS RS US */ 403004b94745SmrgCASE_IGNORE, 403104b94745SmrgCASE_IGNORE, 403204b94745SmrgCASE_IGNORE, 403304b94745SmrgCASE_IGNORE, 403404b94745Smrg/* SP ! " # */ 403504b94745SmrgCASE_CSI_IGNORE, 403604b94745SmrgCASE_CSI_IGNORE, 403704b94745SmrgCASE_CSI_IGNORE, 403804b94745SmrgCASE_CSI_IGNORE, 403904b94745Smrg/* $ % & ' */ 404004b94745SmrgCASE_CSI_DEC_DOLLAR_STATE, 404104b94745SmrgCASE_CSI_IGNORE, 404204b94745SmrgCASE_CSI_IGNORE, 404304b94745SmrgCASE_CSI_IGNORE, 404404b94745Smrg/* ( ) * + */ 404504b94745SmrgCASE_CSI_IGNORE, 404604b94745SmrgCASE_CSI_IGNORE, 404704b94745SmrgCASE_CSI_IGNORE, 404804b94745SmrgCASE_CSI_IGNORE, 404904b94745Smrg/* , - . / */ 405004b94745SmrgCASE_CSI_IGNORE, 405104b94745SmrgCASE_CSI_IGNORE, 405204b94745SmrgCASE_CSI_IGNORE, 405304b94745SmrgCASE_CSI_IGNORE, 405404b94745Smrg/* 0 1 2 3 */ 405504b94745SmrgCASE_ESC_DIGIT, 405604b94745SmrgCASE_ESC_DIGIT, 405704b94745SmrgCASE_ESC_DIGIT, 405804b94745SmrgCASE_ESC_DIGIT, 405904b94745Smrg/* 4 5 6 7 */ 406004b94745SmrgCASE_ESC_DIGIT, 406104b94745SmrgCASE_ESC_DIGIT, 406204b94745SmrgCASE_ESC_DIGIT, 406304b94745SmrgCASE_ESC_DIGIT, 406404b94745Smrg/* 8 9 : ; */ 406504b94745SmrgCASE_ESC_DIGIT, 406604b94745SmrgCASE_ESC_DIGIT, 406704b94745SmrgCASE_ESC_COLON, 406804b94745SmrgCASE_ESC_SEMI, 406904b94745Smrg/* < = > ? */ 407004b94745SmrgCASE_CSI_IGNORE, 407104b94745SmrgCASE_CSI_IGNORE, 407204b94745SmrgCASE_CSI_IGNORE, 407304b94745SmrgCASE_CSI_IGNORE, 407404b94745Smrg/* @ A B C */ 407504b94745SmrgCASE_GROUND_STATE, 407604b94745SmrgCASE_GROUND_STATE, 407704b94745SmrgCASE_GROUND_STATE, 407804b94745SmrgCASE_GROUND_STATE, 407904b94745Smrg/* D E F G */ 408004b94745SmrgCASE_GROUND_STATE, 408104b94745SmrgCASE_GROUND_STATE, 408204b94745SmrgCASE_GROUND_STATE, 408304b94745SmrgCASE_GROUND_STATE, 408404b94745Smrg/* H I J K */ 408504b94745SmrgCASE_GROUND_STATE, 408604b94745SmrgCASE_GROUND_STATE, 408704b94745SmrgCASE_DECSED, 408804b94745SmrgCASE_DECSEL, 408904b94745Smrg/* L M N O */ 409004b94745SmrgCASE_GROUND_STATE, 409104b94745SmrgCASE_GROUND_STATE, 409204b94745SmrgCASE_GROUND_STATE, 409304b94745SmrgCASE_GROUND_STATE, 409404b94745Smrg/* P Q R S */ 409504b94745SmrgCASE_GROUND_STATE, 409604b94745SmrgCASE_GROUND_STATE, 409704b94745SmrgCASE_GROUND_STATE, 409804b94745SmrgCASE_GRAPHICS_ATTRIBUTES, 409904b94745Smrg/* T U V W */ 410004b94745SmrgCASE_GROUND_STATE, 410104b94745SmrgCASE_GROUND_STATE, 410204b94745SmrgCASE_GROUND_STATE, 410304b94745SmrgCASE_DECST8C, 410404b94745Smrg/* X Y Z [ */ 410504b94745SmrgCASE_GROUND_STATE, 410604b94745SmrgCASE_GROUND_STATE, 410704b94745SmrgCASE_GROUND_STATE, 410804b94745SmrgCASE_GROUND_STATE, 410904b94745Smrg/* \ ] ^ _ */ 411004b94745SmrgCASE_GROUND_STATE, 411104b94745SmrgCASE_GROUND_STATE, 411204b94745SmrgCASE_GROUND_STATE, 411304b94745SmrgCASE_GROUND_STATE, 411404b94745Smrg/* ` a b c */ 411504b94745SmrgCASE_GROUND_STATE, 411604b94745SmrgCASE_GROUND_STATE, 411704b94745SmrgCASE_GROUND_STATE, 411804b94745SmrgCASE_GROUND_STATE, 411904b94745Smrg/* d e f g */ 412004b94745SmrgCASE_GROUND_STATE, 412104b94745SmrgCASE_GROUND_STATE, 412204b94745SmrgCASE_GROUND_STATE, 412304b94745SmrgCASE_GROUND_STATE, 412404b94745Smrg/* h i j k */ 412504b94745SmrgCASE_DECSET, 412604b94745SmrgCASE_DEC_MC, 412704b94745SmrgCASE_GROUND_STATE, 412804b94745SmrgCASE_GROUND_STATE, 412904b94745Smrg/* l m n o */ 413004b94745SmrgCASE_DECRST, 413104b94745SmrgCASE_XTERM_REPORT_MOD_FKEYS, 413204b94745SmrgCASE_DSR, 413304b94745SmrgCASE_GROUND_STATE, 413404b94745Smrg/* p q r s */ 413504b94745SmrgCASE_GROUND_STATE, 413604b94745SmrgCASE_GROUND_STATE, 413704b94745SmrgCASE_XTERM_RESTORE, 413804b94745SmrgCASE_XTERM_SAVE, 413904b94745Smrg/* t u v w */ 414004b94745SmrgCASE_GROUND_STATE, 414104b94745SmrgCASE_GROUND_STATE, 414204b94745SmrgCASE_GROUND_STATE, 414304b94745SmrgCASE_GROUND_STATE, 414404b94745Smrg/* x y z { */ 414504b94745SmrgCASE_GROUND_STATE, 414604b94745SmrgCASE_GROUND_STATE, 414704b94745SmrgCASE_GROUND_STATE, 414804b94745SmrgCASE_GROUND_STATE, 414904b94745Smrg/* | } ~ DEL */ 415004b94745SmrgCASE_GROUND_STATE, 415104b94745SmrgCASE_GROUND_STATE, 415204b94745SmrgCASE_GROUND_STATE, 415304b94745SmrgCASE_IGNORE, 415404b94745Smrg/* 0x80 0x81 0x82 0x83 */ 415504b94745SmrgCASE_GROUND_STATE, 415604b94745SmrgCASE_GROUND_STATE, 415704b94745SmrgCASE_GROUND_STATE, 415804b94745SmrgCASE_GROUND_STATE, 415904b94745Smrg/* 0x84 0x85 0x86 0x87 */ 416004b94745SmrgCASE_IND, 416104b94745SmrgCASE_NEL, 416204b94745SmrgCASE_GROUND_STATE, 416304b94745SmrgCASE_GROUND_STATE, 416404b94745Smrg/* 0x88 0x89 0x8a 0x8b */ 416504b94745SmrgCASE_HTS, 416604b94745SmrgCASE_GROUND_STATE, 416704b94745SmrgCASE_GROUND_STATE, 416804b94745SmrgCASE_GROUND_STATE, 416904b94745Smrg/* 0x8c 0x8d 0x8e 0x8f */ 417004b94745SmrgCASE_GROUND_STATE, 417104b94745SmrgCASE_RI, 417204b94745SmrgCASE_SS2, 417304b94745SmrgCASE_SS3, 417404b94745Smrg/* 0x90 0x91 0x92 0x93 */ 417504b94745SmrgCASE_DCS, 417604b94745SmrgCASE_GROUND_STATE, 417704b94745SmrgCASE_GROUND_STATE, 417804b94745SmrgCASE_GROUND_STATE, 417904b94745Smrg/* 0x94 0x95 0x96 0x97 */ 418004b94745SmrgCASE_GROUND_STATE, 418104b94745SmrgCASE_GROUND_STATE, 418204b94745SmrgCASE_SPA, 418304b94745SmrgCASE_EPA, 418404b94745Smrg/* 0x98 0x99 0x9a 0x9b */ 418504b94745SmrgCASE_SOS, 418604b94745SmrgCASE_GROUND_STATE, 418704b94745SmrgCASE_DECID, 418804b94745SmrgCASE_CSI_STATE, 418904b94745Smrg/* 0x9c 0x9d 0x9e 0x9f */ 419004b94745SmrgCASE_ST, 419104b94745SmrgCASE_OSC, 419204b94745SmrgCASE_PM, 419304b94745SmrgCASE_APC, 419404b94745Smrg/* nobreakspace exclamdown cent sterling */ 419504b94745SmrgCASE_CSI_IGNORE, 419604b94745SmrgCASE_CSI_IGNORE, 419704b94745SmrgCASE_CSI_IGNORE, 419804b94745SmrgCASE_CSI_IGNORE, 419904b94745Smrg/* currency yen brokenbar section */ 420004b94745SmrgCASE_CSI_DEC_DOLLAR_STATE, 420104b94745SmrgCASE_CSI_IGNORE, 420204b94745SmrgCASE_CSI_IGNORE, 420304b94745SmrgCASE_CSI_IGNORE, 420404b94745Smrg/* diaeresis copyright ordfeminine guillemotleft */ 420504b94745SmrgCASE_CSI_IGNORE, 420604b94745SmrgCASE_CSI_IGNORE, 420704b94745SmrgCASE_CSI_IGNORE, 420804b94745SmrgCASE_CSI_IGNORE, 420904b94745Smrg/* notsign hyphen registered macron */ 421004b94745SmrgCASE_CSI_IGNORE, 421104b94745SmrgCASE_CSI_IGNORE, 421204b94745SmrgCASE_CSI_IGNORE, 421304b94745SmrgCASE_CSI_IGNORE, 421404b94745Smrg/* degree plusminus twosuperior threesuperior */ 421504b94745SmrgCASE_ESC_DIGIT, 421604b94745SmrgCASE_ESC_DIGIT, 421704b94745SmrgCASE_ESC_DIGIT, 421804b94745SmrgCASE_ESC_DIGIT, 421904b94745Smrg/* acute mu paragraph periodcentered */ 422004b94745SmrgCASE_ESC_DIGIT, 422104b94745SmrgCASE_ESC_DIGIT, 422204b94745SmrgCASE_ESC_DIGIT, 422304b94745SmrgCASE_ESC_DIGIT, 422404b94745Smrg/* cedilla onesuperior masculine guillemotright */ 422504b94745SmrgCASE_ESC_DIGIT, 422604b94745SmrgCASE_ESC_DIGIT, 422704b94745SmrgCASE_ESC_COLON, 422804b94745SmrgCASE_ESC_SEMI, 422904b94745Smrg/* onequarter onehalf threequarters questiondown */ 423004b94745SmrgCASE_CSI_IGNORE, 423104b94745SmrgCASE_CSI_IGNORE, 423204b94745SmrgCASE_CSI_IGNORE, 423304b94745SmrgCASE_CSI_IGNORE, 423404b94745Smrg/* Agrave Aacute Acircumflex Atilde */ 423504b94745SmrgCASE_GROUND_STATE, 423604b94745SmrgCASE_GROUND_STATE, 423704b94745SmrgCASE_GROUND_STATE, 423804b94745SmrgCASE_GROUND_STATE, 423904b94745Smrg/* Adiaeresis Aring AE Ccedilla */ 424004b94745SmrgCASE_GROUND_STATE, 424104b94745SmrgCASE_GROUND_STATE, 424204b94745SmrgCASE_GROUND_STATE, 424304b94745SmrgCASE_GROUND_STATE, 424404b94745Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 424504b94745SmrgCASE_GROUND_STATE, 424604b94745SmrgCASE_GROUND_STATE, 424704b94745SmrgCASE_DECSED, 424804b94745SmrgCASE_DECSEL, 424904b94745Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 425004b94745SmrgCASE_GROUND_STATE, 425104b94745SmrgCASE_GROUND_STATE, 425204b94745SmrgCASE_GROUND_STATE, 425304b94745SmrgCASE_GROUND_STATE, 425404b94745Smrg/* Eth Ntilde Ograve Oacute */ 425504b94745SmrgCASE_GROUND_STATE, 425604b94745SmrgCASE_GROUND_STATE, 425704b94745SmrgCASE_GROUND_STATE, 425804b94745SmrgCASE_GRAPHICS_ATTRIBUTES, 425904b94745Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 426004b94745SmrgCASE_GROUND_STATE, 426104b94745SmrgCASE_GROUND_STATE, 4262492d43a5SmrgCASE_GROUND_STATE, 426304b94745SmrgCASE_DECST8C, 4264f2e35a3aSmrg/* Ooblique Ugrave Uacute Ucircumflex */ 4265492d43a5SmrgCASE_GROUND_STATE, 4266492d43a5SmrgCASE_GROUND_STATE, 4267492d43a5SmrgCASE_GROUND_STATE, 4268492d43a5SmrgCASE_GROUND_STATE, 4269f2e35a3aSmrg/* Udiaeresis Yacute Thorn ssharp */ 4270492d43a5SmrgCASE_GROUND_STATE, 4271492d43a5SmrgCASE_GROUND_STATE, 4272492d43a5SmrgCASE_GROUND_STATE, 4273492d43a5SmrgCASE_GROUND_STATE, 4274f2e35a3aSmrg/* agrave aacute acircumflex atilde */ 4275492d43a5SmrgCASE_GROUND_STATE, 4276492d43a5SmrgCASE_GROUND_STATE, 4277492d43a5SmrgCASE_GROUND_STATE, 4278492d43a5SmrgCASE_GROUND_STATE, 4279f2e35a3aSmrg/* adiaeresis aring ae ccedilla */ 4280492d43a5SmrgCASE_GROUND_STATE, 4281492d43a5SmrgCASE_GROUND_STATE, 4282492d43a5SmrgCASE_GROUND_STATE, 4283492d43a5SmrgCASE_GROUND_STATE, 4284f2e35a3aSmrg/* egrave eacute ecircumflex ediaeresis */ 4285f2e35a3aSmrgCASE_DECSET, 4286f2e35a3aSmrgCASE_DEC_MC, 4287492d43a5SmrgCASE_GROUND_STATE, 4288492d43a5SmrgCASE_GROUND_STATE, 4289f2e35a3aSmrg/* igrave iacute icircumflex idiaeresis */ 4290f2e35a3aSmrgCASE_DECRST, 42915307cd1aSmrgCASE_XTERM_REPORT_MOD_FKEYS, 4292f2e35a3aSmrgCASE_DSR, 4293492d43a5SmrgCASE_GROUND_STATE, 4294f2e35a3aSmrg/* eth ntilde ograve oacute */ 4295492d43a5SmrgCASE_GROUND_STATE, 4296492d43a5SmrgCASE_GROUND_STATE, 4297f2e35a3aSmrgCASE_XTERM_RESTORE, 4298f2e35a3aSmrgCASE_XTERM_SAVE, 4299f2e35a3aSmrg/* ocircumflex otilde odiaeresis division */ 4300492d43a5SmrgCASE_GROUND_STATE, 4301492d43a5SmrgCASE_GROUND_STATE, 4302492d43a5SmrgCASE_GROUND_STATE, 4303492d43a5SmrgCASE_GROUND_STATE, 4304f2e35a3aSmrg/* oslash ugrave uacute ucircumflex */ 4305492d43a5SmrgCASE_GROUND_STATE, 4306492d43a5SmrgCASE_GROUND_STATE, 4307492d43a5SmrgCASE_GROUND_STATE, 4308492d43a5SmrgCASE_GROUND_STATE, 4309f2e35a3aSmrg/* udiaeresis yacute thorn ydiaeresis */ 4310492d43a5SmrgCASE_GROUND_STATE, 4311492d43a5SmrgCASE_GROUND_STATE, 4312492d43a5SmrgCASE_GROUND_STATE, 4313f2e35a3aSmrgCASE_IGNORE, 4314492d43a5Smrg}; 4315492d43a5Smrg 4316f2e35a3aSmrg#if OPT_DEC_RECTOPS 43175104ee6eSmrgconst PARSE_T csi_dec_dollar_table[] = /* CSI ?... $ */ 4318d522f475Smrg{ 4319d522f475Smrg/* NUL SOH STX ETX */ 4320d522f475SmrgCASE_IGNORE, 4321d522f475SmrgCASE_IGNORE, 4322d522f475SmrgCASE_IGNORE, 4323d522f475SmrgCASE_IGNORE, 4324d522f475Smrg/* EOT ENQ ACK BEL */ 4325d522f475SmrgCASE_IGNORE, 4326d522f475SmrgCASE_ENQ, 4327d522f475SmrgCASE_IGNORE, 4328d522f475SmrgCASE_BELL, 4329d522f475Smrg/* BS HT NL VT */ 4330d522f475SmrgCASE_BS, 4331d522f475SmrgCASE_TAB, 4332d522f475SmrgCASE_VMOT, 4333d522f475SmrgCASE_VMOT, 43340bd37d32Smrg/* FF CR SO SI */ 4335d522f475SmrgCASE_VMOT, 4336d522f475SmrgCASE_CR, 4337d522f475SmrgCASE_SO, 4338d522f475SmrgCASE_SI, 4339d522f475Smrg/* DLE DC1 DC2 DC3 */ 4340d522f475SmrgCASE_IGNORE, 4341d522f475SmrgCASE_IGNORE, 4342d522f475SmrgCASE_IGNORE, 4343d522f475SmrgCASE_IGNORE, 4344d522f475Smrg/* DC4 NAK SYN ETB */ 4345d522f475SmrgCASE_IGNORE, 4346d522f475SmrgCASE_IGNORE, 4347d522f475SmrgCASE_IGNORE, 4348d522f475SmrgCASE_IGNORE, 4349d522f475Smrg/* CAN EM SUB ESC */ 4350d522f475SmrgCASE_GROUND_STATE, 4351d522f475SmrgCASE_IGNORE, 43525104ee6eSmrgCASE_SUB, 4353d522f475SmrgCASE_ESC, 4354d522f475Smrg/* FS GS RS US */ 4355d522f475SmrgCASE_IGNORE, 4356d522f475SmrgCASE_IGNORE, 4357d522f475SmrgCASE_IGNORE, 4358d522f475SmrgCASE_IGNORE, 4359d522f475Smrg/* SP ! " # */ 4360d522f475SmrgCASE_CSI_IGNORE, 4361d522f475SmrgCASE_CSI_IGNORE, 4362d522f475SmrgCASE_CSI_IGNORE, 4363d522f475SmrgCASE_CSI_IGNORE, 4364d522f475Smrg/* $ % & ' */ 4365d522f475SmrgCASE_CSI_IGNORE, 4366d522f475SmrgCASE_CSI_IGNORE, 4367d522f475SmrgCASE_CSI_IGNORE, 4368d522f475SmrgCASE_CSI_IGNORE, 4369d522f475Smrg/* ( ) * + */ 4370d522f475SmrgCASE_CSI_IGNORE, 4371d522f475SmrgCASE_CSI_IGNORE, 4372d522f475SmrgCASE_CSI_IGNORE, 4373d522f475SmrgCASE_CSI_IGNORE, 4374d522f475Smrg/* , - . / */ 4375d522f475SmrgCASE_CSI_IGNORE, 4376d522f475SmrgCASE_CSI_IGNORE, 4377d522f475SmrgCASE_CSI_IGNORE, 4378d522f475SmrgCASE_CSI_IGNORE, 4379d522f475Smrg/* 0 1 2 3 */ 4380f2e35a3aSmrgCASE_CSI_IGNORE, 4381f2e35a3aSmrgCASE_CSI_IGNORE, 4382f2e35a3aSmrgCASE_CSI_IGNORE, 4383f2e35a3aSmrgCASE_CSI_IGNORE, 4384d522f475Smrg/* 4 5 6 7 */ 4385f2e35a3aSmrgCASE_CSI_IGNORE, 4386f2e35a3aSmrgCASE_CSI_IGNORE, 4387f2e35a3aSmrgCASE_CSI_IGNORE, 4388f2e35a3aSmrgCASE_CSI_IGNORE, 4389d522f475Smrg/* 8 9 : ; */ 4390f2e35a3aSmrgCASE_CSI_IGNORE, 4391f2e35a3aSmrgCASE_CSI_IGNORE, 4392f2e35a3aSmrgCASE_CSI_IGNORE, 4393f2e35a3aSmrgCASE_CSI_IGNORE, 4394d522f475Smrg/* < = > ? */ 4395d522f475SmrgCASE_CSI_IGNORE, 4396d522f475SmrgCASE_CSI_IGNORE, 4397d522f475SmrgCASE_CSI_IGNORE, 4398d522f475SmrgCASE_CSI_IGNORE, 4399d522f475Smrg/* @ A B C */ 4400d522f475SmrgCASE_GROUND_STATE, 4401d522f475SmrgCASE_GROUND_STATE, 4402d522f475SmrgCASE_GROUND_STATE, 4403d522f475SmrgCASE_GROUND_STATE, 4404d522f475Smrg/* D E F G */ 4405d522f475SmrgCASE_GROUND_STATE, 4406d522f475SmrgCASE_GROUND_STATE, 4407d522f475SmrgCASE_GROUND_STATE, 4408d522f475SmrgCASE_GROUND_STATE, 4409d522f475Smrg/* H I J K */ 4410d522f475SmrgCASE_GROUND_STATE, 4411d522f475SmrgCASE_GROUND_STATE, 4412d522f475SmrgCASE_GROUND_STATE, 4413d522f475SmrgCASE_GROUND_STATE, 4414d522f475Smrg/* L M N O */ 4415d522f475SmrgCASE_GROUND_STATE, 4416d522f475SmrgCASE_GROUND_STATE, 4417d522f475SmrgCASE_GROUND_STATE, 4418d522f475SmrgCASE_GROUND_STATE, 4419d522f475Smrg/* P Q R S */ 4420d522f475SmrgCASE_GROUND_STATE, 4421d522f475SmrgCASE_GROUND_STATE, 4422d522f475SmrgCASE_GROUND_STATE, 4423d522f475SmrgCASE_GROUND_STATE, 4424d522f475Smrg/* T U V W */ 4425f2e35a3aSmrgCASE_GROUND_STATE, 4426d522f475SmrgCASE_GROUND_STATE, 4427d522f475SmrgCASE_GROUND_STATE, 4428d522f475SmrgCASE_GROUND_STATE, 4429d522f475Smrg/* X Y Z [ */ 4430d522f475SmrgCASE_GROUND_STATE, 4431d522f475SmrgCASE_GROUND_STATE, 4432d522f475SmrgCASE_GROUND_STATE, 4433d522f475SmrgCASE_GROUND_STATE, 4434d522f475Smrg/* \ ] ^ _ */ 4435d522f475SmrgCASE_GROUND_STATE, 4436d522f475SmrgCASE_GROUND_STATE, 4437d522f475SmrgCASE_GROUND_STATE, 4438d522f475SmrgCASE_GROUND_STATE, 4439d522f475Smrg/* ` a b c */ 4440d522f475SmrgCASE_GROUND_STATE, 4441d522f475SmrgCASE_GROUND_STATE, 4442d522f475SmrgCASE_GROUND_STATE, 4443f2e35a3aSmrgCASE_GROUND_STATE, 4444d522f475Smrg/* d e f g */ 4445d522f475SmrgCASE_GROUND_STATE, 4446d522f475SmrgCASE_GROUND_STATE, 4447d522f475SmrgCASE_GROUND_STATE, 4448d522f475SmrgCASE_GROUND_STATE, 4449d522f475Smrg/* h i j k */ 4450d522f475SmrgCASE_GROUND_STATE, 4451d522f475SmrgCASE_GROUND_STATE, 4452d522f475SmrgCASE_GROUND_STATE, 4453d522f475SmrgCASE_GROUND_STATE, 4454d522f475Smrg/* l m n o */ 4455d522f475SmrgCASE_GROUND_STATE, 4456f2e35a3aSmrgCASE_GROUND_STATE, 4457f2e35a3aSmrgCASE_GROUND_STATE, 4458d522f475SmrgCASE_GROUND_STATE, 4459d522f475Smrg/* p q r s */ 4460f2e35a3aSmrgCASE_DECRQM, 4461d522f475SmrgCASE_GROUND_STATE, 4462d522f475SmrgCASE_GROUND_STATE, 4463d522f475SmrgCASE_GROUND_STATE, 4464d522f475Smrg/* t u v w */ 4465f2e35a3aSmrgCASE_GROUND_STATE, 4466d522f475SmrgCASE_GROUND_STATE, 4467d522f475SmrgCASE_GROUND_STATE, 4468d522f475SmrgCASE_GROUND_STATE, 4469d522f475Smrg/* x y z { */ 4470d522f475SmrgCASE_GROUND_STATE, 4471d522f475SmrgCASE_GROUND_STATE, 4472d522f475SmrgCASE_GROUND_STATE, 4473d522f475SmrgCASE_GROUND_STATE, 4474d522f475Smrg/* | } ~ DEL */ 4475d522f475SmrgCASE_GROUND_STATE, 4476d522f475SmrgCASE_GROUND_STATE, 4477d522f475SmrgCASE_GROUND_STATE, 4478d522f475SmrgCASE_IGNORE, 4479d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 4480d522f475SmrgCASE_GROUND_STATE, 4481d522f475SmrgCASE_GROUND_STATE, 4482d522f475SmrgCASE_GROUND_STATE, 4483d522f475SmrgCASE_GROUND_STATE, 4484d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 4485d522f475SmrgCASE_IND, 4486d522f475SmrgCASE_NEL, 4487d522f475SmrgCASE_GROUND_STATE, 4488d522f475SmrgCASE_GROUND_STATE, 4489d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 4490d522f475SmrgCASE_HTS, 4491d522f475SmrgCASE_GROUND_STATE, 4492d522f475SmrgCASE_GROUND_STATE, 4493d522f475SmrgCASE_GROUND_STATE, 4494d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 4495d522f475SmrgCASE_GROUND_STATE, 4496d522f475SmrgCASE_RI, 4497d522f475SmrgCASE_SS2, 4498d522f475SmrgCASE_SS3, 4499d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 4500d522f475SmrgCASE_DCS, 4501d522f475SmrgCASE_GROUND_STATE, 4502d522f475SmrgCASE_GROUND_STATE, 4503d522f475SmrgCASE_GROUND_STATE, 4504d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 4505d522f475SmrgCASE_GROUND_STATE, 4506d522f475SmrgCASE_GROUND_STATE, 4507d522f475SmrgCASE_SPA, 4508d522f475SmrgCASE_EPA, 4509d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 4510d522f475SmrgCASE_SOS, 4511d522f475SmrgCASE_GROUND_STATE, 4512d522f475SmrgCASE_DECID, 4513d522f475SmrgCASE_CSI_STATE, 4514d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 4515d522f475SmrgCASE_ST, 4516d522f475SmrgCASE_OSC, 4517d522f475SmrgCASE_PM, 4518d522f475SmrgCASE_APC, 4519f2e35a3aSmrg/* nobreakspace exclamdown cent sterling */ 4520d522f475SmrgCASE_CSI_IGNORE, 4521d522f475SmrgCASE_CSI_IGNORE, 4522d522f475SmrgCASE_CSI_IGNORE, 4523d522f475SmrgCASE_CSI_IGNORE, 4524f2e35a3aSmrg/* currency yen brokenbar section */ 4525d522f475SmrgCASE_CSI_IGNORE, 4526d522f475SmrgCASE_CSI_IGNORE, 4527d522f475SmrgCASE_CSI_IGNORE, 4528d522f475SmrgCASE_CSI_IGNORE, 4529f2e35a3aSmrg/* diaeresis copyright ordfeminine guillemotleft */ 4530d522f475SmrgCASE_CSI_IGNORE, 4531d522f475SmrgCASE_CSI_IGNORE, 4532d522f475SmrgCASE_CSI_IGNORE, 4533d522f475SmrgCASE_CSI_IGNORE, 4534f2e35a3aSmrg/* notsign hyphen registered macron */ 4535d522f475SmrgCASE_CSI_IGNORE, 4536d522f475SmrgCASE_CSI_IGNORE, 4537d522f475SmrgCASE_CSI_IGNORE, 4538d522f475SmrgCASE_CSI_IGNORE, 4539f2e35a3aSmrg/* degree plusminus twosuperior threesuperior */ 4540d522f475SmrgCASE_CSI_IGNORE, 4541d522f475SmrgCASE_CSI_IGNORE, 4542d522f475SmrgCASE_CSI_IGNORE, 4543d522f475SmrgCASE_CSI_IGNORE, 4544f2e35a3aSmrg/* acute mu paragraph periodcentered */ 4545f2e35a3aSmrgCASE_CSI_IGNORE, 4546f2e35a3aSmrgCASE_CSI_IGNORE, 4547f2e35a3aSmrgCASE_CSI_IGNORE, 4548f2e35a3aSmrgCASE_CSI_IGNORE, 4549f2e35a3aSmrg/* cedilla onesuperior masculine guillemotright */ 4550f2e35a3aSmrgCASE_CSI_IGNORE, 4551f2e35a3aSmrgCASE_CSI_IGNORE, 4552f2e35a3aSmrgCASE_CSI_IGNORE, 4553f2e35a3aSmrgCASE_CSI_IGNORE, 4554f2e35a3aSmrg/* onequarter onehalf threequarters questiondown */ 4555f2e35a3aSmrgCASE_CSI_IGNORE, 4556f2e35a3aSmrgCASE_CSI_IGNORE, 4557f2e35a3aSmrgCASE_CSI_IGNORE, 4558f2e35a3aSmrgCASE_CSI_IGNORE, 4559f2e35a3aSmrg/* Agrave Aacute Acircumflex Atilde */ 4560d522f475SmrgCASE_GROUND_STATE, 4561d522f475SmrgCASE_GROUND_STATE, 4562d522f475SmrgCASE_GROUND_STATE, 4563d522f475SmrgCASE_GROUND_STATE, 4564f2e35a3aSmrg/* Adiaeresis Aring AE Ccedilla */ 4565d522f475SmrgCASE_GROUND_STATE, 4566d522f475SmrgCASE_GROUND_STATE, 4567d522f475SmrgCASE_GROUND_STATE, 4568d522f475SmrgCASE_GROUND_STATE, 4569f2e35a3aSmrg/* Egrave Eacute Ecircumflex Ediaeresis */ 4570d522f475SmrgCASE_GROUND_STATE, 4571d522f475SmrgCASE_GROUND_STATE, 4572d522f475SmrgCASE_GROUND_STATE, 4573d522f475SmrgCASE_GROUND_STATE, 4574f2e35a3aSmrg/* Igrave Iacute Icircumflex Idiaeresis */ 4575d522f475SmrgCASE_GROUND_STATE, 4576d522f475SmrgCASE_GROUND_STATE, 4577d522f475SmrgCASE_GROUND_STATE, 4578d522f475SmrgCASE_GROUND_STATE, 4579f2e35a3aSmrg/* Eth Ntilde Ograve Oacute */ 4580d522f475SmrgCASE_GROUND_STATE, 4581d522f475SmrgCASE_GROUND_STATE, 4582d522f475SmrgCASE_GROUND_STATE, 4583d522f475SmrgCASE_GROUND_STATE, 4584f2e35a3aSmrg/* Ocircumflex Otilde Odiaeresis multiply */ 4585d522f475SmrgCASE_GROUND_STATE, 4586d522f475SmrgCASE_GROUND_STATE, 4587d522f475SmrgCASE_GROUND_STATE, 4588d522f475SmrgCASE_GROUND_STATE, 4589f2e35a3aSmrg/* Ooblique Ugrave Uacute Ucircumflex */ 4590d522f475SmrgCASE_GROUND_STATE, 4591d522f475SmrgCASE_GROUND_STATE, 4592d522f475SmrgCASE_GROUND_STATE, 4593d522f475SmrgCASE_GROUND_STATE, 4594f2e35a3aSmrg/* Udiaeresis Yacute Thorn ssharp */ 4595d522f475SmrgCASE_GROUND_STATE, 4596d522f475SmrgCASE_GROUND_STATE, 4597d522f475SmrgCASE_GROUND_STATE, 4598d522f475SmrgCASE_GROUND_STATE, 4599f2e35a3aSmrg/* agrave aacute acircumflex atilde */ 4600d522f475SmrgCASE_GROUND_STATE, 4601d522f475SmrgCASE_GROUND_STATE, 4602d522f475SmrgCASE_GROUND_STATE, 4603d522f475SmrgCASE_GROUND_STATE, 4604f2e35a3aSmrg/* adiaeresis aring ae ccedilla */ 4605d522f475SmrgCASE_GROUND_STATE, 4606d522f475SmrgCASE_GROUND_STATE, 4607d522f475SmrgCASE_GROUND_STATE, 4608d522f475SmrgCASE_GROUND_STATE, 4609f2e35a3aSmrg/* egrave eacute ecircumflex ediaeresis */ 4610d522f475SmrgCASE_GROUND_STATE, 4611d522f475SmrgCASE_GROUND_STATE, 4612d522f475SmrgCASE_GROUND_STATE, 4613d522f475SmrgCASE_GROUND_STATE, 4614f2e35a3aSmrg/* igrave iacute icircumflex idiaeresis */ 4615d522f475SmrgCASE_GROUND_STATE, 4616d522f475SmrgCASE_GROUND_STATE, 4617d522f475SmrgCASE_GROUND_STATE, 4618d522f475SmrgCASE_GROUND_STATE, 4619f2e35a3aSmrg/* eth ntilde ograve oacute */ 4620f2e35a3aSmrgCASE_DECRQM, 4621d522f475SmrgCASE_GROUND_STATE, 4622d522f475SmrgCASE_GROUND_STATE, 4623d522f475SmrgCASE_GROUND_STATE, 4624f2e35a3aSmrg/* ocircumflex otilde odiaeresis division */ 4625d522f475SmrgCASE_GROUND_STATE, 4626d522f475SmrgCASE_GROUND_STATE, 4627d522f475SmrgCASE_GROUND_STATE, 4628f2e35a3aSmrgCASE_GROUND_STATE, 4629f2e35a3aSmrg/* oslash ugrave uacute ucircumflex */ 4630f2e35a3aSmrgCASE_GROUND_STATE, 4631f2e35a3aSmrgCASE_GROUND_STATE, 4632f2e35a3aSmrgCASE_GROUND_STATE, 4633f2e35a3aSmrgCASE_GROUND_STATE, 4634f2e35a3aSmrg/* udiaeresis yacute thorn ydiaeresis */ 4635f2e35a3aSmrgCASE_GROUND_STATE, 4636d522f475SmrgCASE_GROUND_STATE, 4637d522f475SmrgCASE_GROUND_STATE, 4638d522f475SmrgCASE_GROUND_STATE, 4639d522f475Smrg}; 4640f2e35a3aSmrg#endif /* OPT_DEC_RECTOPS */ 4641d522f475Smrg 46425104ee6eSmrgconst PARSE_T dec2_table[] = /* CSI > */ 4643d522f475Smrg{ 4644d522f475Smrg/* NUL SOH STX ETX */ 4645d522f475SmrgCASE_IGNORE, 4646d522f475SmrgCASE_IGNORE, 4647d522f475SmrgCASE_IGNORE, 4648d522f475SmrgCASE_IGNORE, 4649d522f475Smrg/* EOT ENQ ACK BEL */ 4650d522f475SmrgCASE_IGNORE, 4651d522f475SmrgCASE_ENQ, 4652d522f475SmrgCASE_IGNORE, 4653d522f475SmrgCASE_BELL, 4654d522f475Smrg/* BS HT NL VT */ 4655d522f475SmrgCASE_BS, 4656d522f475SmrgCASE_TAB, 4657d522f475SmrgCASE_VMOT, 4658d522f475SmrgCASE_VMOT, 46590bd37d32Smrg/* FF CR SO SI */ 4660d522f475SmrgCASE_VMOT, 4661d522f475SmrgCASE_CR, 4662d522f475SmrgCASE_SO, 4663d522f475SmrgCASE_SI, 4664d522f475Smrg/* DLE DC1 DC2 DC3 */ 4665d522f475SmrgCASE_IGNORE, 4666d522f475SmrgCASE_IGNORE, 4667d522f475SmrgCASE_IGNORE, 4668d522f475SmrgCASE_IGNORE, 4669d522f475Smrg/* DC4 NAK SYN ETB */ 4670d522f475SmrgCASE_IGNORE, 4671d522f475SmrgCASE_IGNORE, 4672d522f475SmrgCASE_IGNORE, 4673d522f475SmrgCASE_IGNORE, 4674d522f475Smrg/* CAN EM SUB ESC */ 4675d522f475SmrgCASE_GROUND_STATE, 4676d522f475SmrgCASE_IGNORE, 46775104ee6eSmrgCASE_SUB, 4678d522f475SmrgCASE_ESC, 4679d522f475Smrg/* FS GS RS US */ 4680d522f475SmrgCASE_IGNORE, 4681d522f475SmrgCASE_IGNORE, 4682d522f475SmrgCASE_IGNORE, 4683d522f475SmrgCASE_IGNORE, 4684d522f475Smrg/* SP ! " # */ 4685d522f475SmrgCASE_CSI_IGNORE, 4686d522f475SmrgCASE_CSI_IGNORE, 4687d522f475SmrgCASE_CSI_IGNORE, 4688d522f475SmrgCASE_CSI_IGNORE, 4689d522f475Smrg/* $ % & ' */ 4690d522f475SmrgCASE_CSI_IGNORE, 4691d522f475SmrgCASE_CSI_IGNORE, 4692d522f475SmrgCASE_CSI_IGNORE, 4693d522f475SmrgCASE_CSI_IGNORE, 4694d522f475Smrg/* ( ) * + */ 4695d522f475SmrgCASE_CSI_IGNORE, 4696d522f475SmrgCASE_CSI_IGNORE, 4697d522f475SmrgCASE_CSI_IGNORE, 4698d522f475SmrgCASE_CSI_IGNORE, 4699d522f475Smrg/* , - . / */ 4700d522f475SmrgCASE_CSI_IGNORE, 4701d522f475SmrgCASE_CSI_IGNORE, 4702d522f475SmrgCASE_CSI_IGNORE, 4703d522f475SmrgCASE_CSI_IGNORE, 4704d522f475Smrg/* 0 1 2 3 */ 4705d522f475SmrgCASE_ESC_DIGIT, 4706d522f475SmrgCASE_ESC_DIGIT, 4707d522f475SmrgCASE_ESC_DIGIT, 4708d522f475SmrgCASE_ESC_DIGIT, 4709d522f475Smrg/* 4 5 6 7 */ 4710d522f475SmrgCASE_ESC_DIGIT, 4711d522f475SmrgCASE_ESC_DIGIT, 4712d522f475SmrgCASE_ESC_DIGIT, 4713d522f475SmrgCASE_ESC_DIGIT, 4714d522f475Smrg/* 8 9 : ; */ 4715d522f475SmrgCASE_ESC_DIGIT, 4716d522f475SmrgCASE_ESC_DIGIT, 47170bd37d32SmrgCASE_ESC_COLON, 4718d522f475SmrgCASE_ESC_SEMI, 4719d522f475Smrg/* < = > ? */ 4720d522f475SmrgCASE_CSI_IGNORE, 4721d522f475SmrgCASE_CSI_IGNORE, 4722d522f475SmrgCASE_CSI_IGNORE, 4723d522f475SmrgCASE_CSI_IGNORE, 4724d522f475Smrg/* @ A B C */ 4725d522f475SmrgCASE_GROUND_STATE, 4726d522f475SmrgCASE_GROUND_STATE, 4727d522f475SmrgCASE_GROUND_STATE, 4728d522f475SmrgCASE_GROUND_STATE, 4729d522f475Smrg/* D E F G */ 4730d522f475SmrgCASE_GROUND_STATE, 4731d522f475SmrgCASE_GROUND_STATE, 4732d522f475SmrgCASE_GROUND_STATE, 4733d522f475SmrgCASE_GROUND_STATE, 4734d522f475Smrg/* H I J K */ 4735d522f475SmrgCASE_GROUND_STATE, 4736d522f475SmrgCASE_GROUND_STATE, 4737d522f475SmrgCASE_GROUND_STATE, 4738d522f475SmrgCASE_GROUND_STATE, 4739d522f475Smrg/* L M N O */ 4740d522f475SmrgCASE_GROUND_STATE, 4741d522f475SmrgCASE_GROUND_STATE, 4742d522f475SmrgCASE_GROUND_STATE, 4743d522f475SmrgCASE_GROUND_STATE, 4744d522f475Smrg/* P Q R S */ 4745d522f475SmrgCASE_GROUND_STATE, 4746d522f475SmrgCASE_GROUND_STATE, 4747d522f475SmrgCASE_GROUND_STATE, 4748d522f475SmrgCASE_GROUND_STATE, 4749d522f475Smrg/* T U V W */ 4750f2e35a3aSmrgCASE_XTERM_RM_TITLE, 4751d522f475SmrgCASE_GROUND_STATE, 4752d522f475SmrgCASE_GROUND_STATE, 4753d522f475SmrgCASE_GROUND_STATE, 4754d522f475Smrg/* X Y Z [ */ 4755d522f475SmrgCASE_GROUND_STATE, 4756d522f475SmrgCASE_GROUND_STATE, 4757d522f475SmrgCASE_GROUND_STATE, 4758d522f475SmrgCASE_GROUND_STATE, 4759d522f475Smrg/* \ ] ^ _ */ 4760d522f475SmrgCASE_GROUND_STATE, 4761d522f475SmrgCASE_GROUND_STATE, 4762d522f475SmrgCASE_GROUND_STATE, 4763d522f475SmrgCASE_GROUND_STATE, 4764d522f475Smrg/* ` a b c */ 4765d522f475SmrgCASE_GROUND_STATE, 4766d522f475SmrgCASE_GROUND_STATE, 4767d522f475SmrgCASE_GROUND_STATE, 4768f2e35a3aSmrgCASE_DA2, 4769d522f475Smrg/* d e f g */ 4770d522f475SmrgCASE_GROUND_STATE, 4771d522f475SmrgCASE_GROUND_STATE, 4772d522f475SmrgCASE_GROUND_STATE, 4773d522f475SmrgCASE_GROUND_STATE, 4774d522f475Smrg/* h i j k */ 4775d522f475SmrgCASE_GROUND_STATE, 4776d522f475SmrgCASE_GROUND_STATE, 4777d522f475SmrgCASE_GROUND_STATE, 4778d522f475SmrgCASE_GROUND_STATE, 4779d522f475Smrg/* l m n o */ 4780d522f475SmrgCASE_GROUND_STATE, 4781f2e35a3aSmrgCASE_SET_MOD_FKEYS, 4782f2e35a3aSmrgCASE_SET_MOD_FKEYS0, 4783d522f475SmrgCASE_GROUND_STATE, 4784d522f475Smrg/* p q r s */ 4785f2e35a3aSmrgCASE_HIDE_POINTER, 4786f2e35a3aSmrgCASE_REPORT_VERSION, 4787d522f475SmrgCASE_GROUND_STATE, 4788f2e35a3aSmrgCASE_XTERM_SHIFT_ESCAPE, 4789d522f475Smrg/* t u v w */ 4790f2e35a3aSmrgCASE_XTERM_SM_TITLE, 4791d522f475SmrgCASE_GROUND_STATE, 4792d522f475SmrgCASE_GROUND_STATE, 4793d522f475SmrgCASE_GROUND_STATE, 4794d522f475Smrg/* x y z { */ 4795d522f475SmrgCASE_GROUND_STATE, 4796d522f475SmrgCASE_GROUND_STATE, 4797d522f475SmrgCASE_GROUND_STATE, 4798d522f475SmrgCASE_GROUND_STATE, 4799d522f475Smrg/* | } ~ DEL */ 4800d522f475SmrgCASE_GROUND_STATE, 4801d522f475SmrgCASE_GROUND_STATE, 4802d522f475SmrgCASE_GROUND_STATE, 4803d522f475SmrgCASE_IGNORE, 4804d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 4805d522f475SmrgCASE_GROUND_STATE, 4806d522f475SmrgCASE_GROUND_STATE, 4807d522f475SmrgCASE_GROUND_STATE, 4808d522f475SmrgCASE_GROUND_STATE, 4809d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 4810d522f475SmrgCASE_IND, 4811d522f475SmrgCASE_NEL, 4812d522f475SmrgCASE_GROUND_STATE, 4813d522f475SmrgCASE_GROUND_STATE, 4814d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 4815d522f475SmrgCASE_HTS, 4816d522f475SmrgCASE_GROUND_STATE, 4817d522f475SmrgCASE_GROUND_STATE, 4818d522f475SmrgCASE_GROUND_STATE, 4819d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 4820d522f475SmrgCASE_GROUND_STATE, 4821d522f475SmrgCASE_RI, 4822d522f475SmrgCASE_SS2, 4823d522f475SmrgCASE_SS3, 4824d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 4825d522f475SmrgCASE_DCS, 4826d522f475SmrgCASE_GROUND_STATE, 4827d522f475SmrgCASE_GROUND_STATE, 4828d522f475SmrgCASE_GROUND_STATE, 4829d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 4830d522f475SmrgCASE_GROUND_STATE, 4831d522f475SmrgCASE_GROUND_STATE, 4832d522f475SmrgCASE_SPA, 4833d522f475SmrgCASE_EPA, 4834d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 4835d522f475SmrgCASE_SOS, 4836d522f475SmrgCASE_GROUND_STATE, 4837d522f475SmrgCASE_DECID, 4838d522f475SmrgCASE_CSI_STATE, 4839d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 4840d522f475SmrgCASE_ST, 4841d522f475SmrgCASE_OSC, 4842d522f475SmrgCASE_PM, 4843d522f475SmrgCASE_APC, 4844d522f475Smrg/* nobreakspace exclamdown cent sterling */ 4845d522f475SmrgCASE_CSI_IGNORE, 4846d522f475SmrgCASE_CSI_IGNORE, 4847d522f475SmrgCASE_CSI_IGNORE, 4848d522f475SmrgCASE_CSI_IGNORE, 4849d522f475Smrg/* currency yen brokenbar section */ 4850d522f475SmrgCASE_CSI_IGNORE, 4851d522f475SmrgCASE_CSI_IGNORE, 4852d522f475SmrgCASE_CSI_IGNORE, 4853d522f475SmrgCASE_CSI_IGNORE, 4854d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 4855d522f475SmrgCASE_CSI_IGNORE, 4856d522f475SmrgCASE_CSI_IGNORE, 4857d522f475SmrgCASE_CSI_IGNORE, 4858d522f475SmrgCASE_CSI_IGNORE, 4859d522f475Smrg/* notsign hyphen registered macron */ 4860d522f475SmrgCASE_CSI_IGNORE, 4861d522f475SmrgCASE_CSI_IGNORE, 4862d522f475SmrgCASE_CSI_IGNORE, 4863d522f475SmrgCASE_CSI_IGNORE, 4864d522f475Smrg/* degree plusminus twosuperior threesuperior */ 4865d522f475SmrgCASE_ESC_DIGIT, 4866d522f475SmrgCASE_ESC_DIGIT, 4867d522f475SmrgCASE_ESC_DIGIT, 4868d522f475SmrgCASE_ESC_DIGIT, 4869d522f475Smrg/* acute mu paragraph periodcentered */ 4870d522f475SmrgCASE_ESC_DIGIT, 4871d522f475SmrgCASE_ESC_DIGIT, 4872d522f475SmrgCASE_ESC_DIGIT, 4873d522f475SmrgCASE_ESC_DIGIT, 4874d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 4875d522f475SmrgCASE_ESC_DIGIT, 4876d522f475SmrgCASE_ESC_DIGIT, 48770bd37d32SmrgCASE_ESC_COLON, 4878d522f475SmrgCASE_ESC_SEMI, 4879d522f475Smrg/* onequarter onehalf threequarters questiondown */ 4880d522f475SmrgCASE_CSI_IGNORE, 4881d522f475SmrgCASE_CSI_IGNORE, 4882d522f475SmrgCASE_CSI_IGNORE, 4883d522f475SmrgCASE_CSI_IGNORE, 4884d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 4885d522f475SmrgCASE_GROUND_STATE, 4886d522f475SmrgCASE_GROUND_STATE, 4887d522f475SmrgCASE_GROUND_STATE, 4888d522f475SmrgCASE_GROUND_STATE, 4889d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 4890d522f475SmrgCASE_GROUND_STATE, 4891d522f475SmrgCASE_GROUND_STATE, 4892d522f475SmrgCASE_GROUND_STATE, 4893d522f475SmrgCASE_GROUND_STATE, 4894d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 4895d522f475SmrgCASE_GROUND_STATE, 4896d522f475SmrgCASE_GROUND_STATE, 4897d522f475SmrgCASE_GROUND_STATE, 4898d522f475SmrgCASE_GROUND_STATE, 4899d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 4900d522f475SmrgCASE_GROUND_STATE, 4901d522f475SmrgCASE_GROUND_STATE, 4902d522f475SmrgCASE_GROUND_STATE, 4903d522f475SmrgCASE_GROUND_STATE, 4904d522f475Smrg/* Eth Ntilde Ograve Oacute */ 4905d522f475SmrgCASE_GROUND_STATE, 4906d522f475SmrgCASE_GROUND_STATE, 4907d522f475SmrgCASE_GROUND_STATE, 4908d522f475SmrgCASE_GROUND_STATE, 4909d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 4910f2e35a3aSmrgCASE_XTERM_RM_TITLE, 4911d522f475SmrgCASE_GROUND_STATE, 4912d522f475SmrgCASE_GROUND_STATE, 4913d522f475SmrgCASE_GROUND_STATE, 4914d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 4915d522f475SmrgCASE_GROUND_STATE, 4916d522f475SmrgCASE_GROUND_STATE, 4917d522f475SmrgCASE_GROUND_STATE, 4918d522f475SmrgCASE_GROUND_STATE, 4919d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 4920d522f475SmrgCASE_GROUND_STATE, 4921d522f475SmrgCASE_GROUND_STATE, 4922d522f475SmrgCASE_GROUND_STATE, 4923d522f475SmrgCASE_GROUND_STATE, 4924d522f475Smrg/* agrave aacute acircumflex atilde */ 4925d522f475SmrgCASE_GROUND_STATE, 4926d522f475SmrgCASE_GROUND_STATE, 4927d522f475SmrgCASE_GROUND_STATE, 4928f2e35a3aSmrgCASE_DA2, 4929d522f475Smrg/* adiaeresis aring ae ccedilla */ 4930d522f475SmrgCASE_GROUND_STATE, 4931d522f475SmrgCASE_GROUND_STATE, 4932d522f475SmrgCASE_GROUND_STATE, 4933d522f475SmrgCASE_GROUND_STATE, 4934d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 4935d522f475SmrgCASE_GROUND_STATE, 4936d522f475SmrgCASE_GROUND_STATE, 4937d522f475SmrgCASE_GROUND_STATE, 4938d522f475SmrgCASE_GROUND_STATE, 4939d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 4940d522f475SmrgCASE_GROUND_STATE, 4941f2e35a3aSmrgCASE_SET_MOD_FKEYS, 4942f2e35a3aSmrgCASE_SET_MOD_FKEYS0, 4943d522f475SmrgCASE_GROUND_STATE, 4944d522f475Smrg/* eth ntilde ograve oacute */ 4945f2e35a3aSmrgCASE_HIDE_POINTER, 4946f2e35a3aSmrgCASE_REPORT_VERSION, 4947d522f475SmrgCASE_GROUND_STATE, 4948f2e35a3aSmrgCASE_XTERM_SHIFT_ESCAPE, 4949d522f475Smrg/* ocircumflex otilde odiaeresis division */ 4950f2e35a3aSmrgCASE_XTERM_SM_TITLE, 4951d522f475SmrgCASE_GROUND_STATE, 4952d522f475SmrgCASE_GROUND_STATE, 4953d522f475SmrgCASE_GROUND_STATE, 4954d522f475Smrg/* oslash ugrave uacute ucircumflex */ 4955d522f475SmrgCASE_GROUND_STATE, 4956d522f475SmrgCASE_GROUND_STATE, 4957d522f475SmrgCASE_GROUND_STATE, 4958d522f475SmrgCASE_GROUND_STATE, 4959d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 4960d522f475SmrgCASE_GROUND_STATE, 4961d522f475SmrgCASE_GROUND_STATE, 4962d522f475SmrgCASE_GROUND_STATE, 4963d522f475SmrgCASE_IGNORE, 4964d522f475Smrg}; 4965d522f475Smrg 49665104ee6eSmrgconst PARSE_T dec3_table[] = /* CSI = */ 4967d522f475Smrg{ 4968d522f475Smrg/* NUL SOH STX ETX */ 4969d522f475SmrgCASE_IGNORE, 4970d522f475SmrgCASE_IGNORE, 4971d522f475SmrgCASE_IGNORE, 4972d522f475SmrgCASE_IGNORE, 4973d522f475Smrg/* EOT ENQ ACK BEL */ 4974d522f475SmrgCASE_IGNORE, 4975d522f475SmrgCASE_ENQ, 4976d522f475SmrgCASE_IGNORE, 4977d522f475SmrgCASE_BELL, 4978d522f475Smrg/* BS HT NL VT */ 4979d522f475SmrgCASE_BS, 4980d522f475SmrgCASE_TAB, 4981d522f475SmrgCASE_VMOT, 4982d522f475SmrgCASE_VMOT, 49830bd37d32Smrg/* FF CR SO SI */ 4984d522f475SmrgCASE_VMOT, 4985d522f475SmrgCASE_CR, 4986d522f475SmrgCASE_SO, 4987d522f475SmrgCASE_SI, 4988d522f475Smrg/* DLE DC1 DC2 DC3 */ 4989d522f475SmrgCASE_IGNORE, 4990d522f475SmrgCASE_IGNORE, 4991d522f475SmrgCASE_IGNORE, 4992d522f475SmrgCASE_IGNORE, 4993d522f475Smrg/* DC4 NAK SYN ETB */ 4994d522f475SmrgCASE_IGNORE, 4995d522f475SmrgCASE_IGNORE, 4996d522f475SmrgCASE_IGNORE, 4997d522f475SmrgCASE_IGNORE, 4998d522f475Smrg/* CAN EM SUB ESC */ 4999d522f475SmrgCASE_GROUND_STATE, 5000d522f475SmrgCASE_IGNORE, 50015104ee6eSmrgCASE_SUB, 5002d522f475SmrgCASE_ESC, 5003d522f475Smrg/* FS GS RS US */ 5004d522f475SmrgCASE_IGNORE, 5005d522f475SmrgCASE_IGNORE, 5006d522f475SmrgCASE_IGNORE, 5007d522f475SmrgCASE_IGNORE, 5008d522f475Smrg/* SP ! " # */ 5009f2e35a3aSmrgCASE_CSI_IGNORE, 5010f2e35a3aSmrgCASE_CSI_IGNORE, 5011f2e35a3aSmrgCASE_CSI_IGNORE, 5012f2e35a3aSmrgCASE_CSI_IGNORE, 5013d522f475Smrg/* $ % & ' */ 5014f2e35a3aSmrgCASE_CSI_IGNORE, 5015f2e35a3aSmrgCASE_CSI_IGNORE, 5016f2e35a3aSmrgCASE_CSI_IGNORE, 5017f2e35a3aSmrgCASE_CSI_IGNORE, 5018d522f475Smrg/* ( ) * + */ 5019f2e35a3aSmrgCASE_CSI_IGNORE, 5020f2e35a3aSmrgCASE_CSI_IGNORE, 5021f2e35a3aSmrgCASE_CSI_IGNORE, 5022f2e35a3aSmrgCASE_CSI_IGNORE, 5023d522f475Smrg/* , - . / */ 5024f2e35a3aSmrgCASE_CSI_IGNORE, 5025f2e35a3aSmrgCASE_CSI_IGNORE, 5026f2e35a3aSmrgCASE_CSI_IGNORE, 5027f2e35a3aSmrgCASE_CSI_IGNORE, 5028d522f475Smrg/* 0 1 2 3 */ 5029f2e35a3aSmrgCASE_ESC_DIGIT, 5030f2e35a3aSmrgCASE_ESC_DIGIT, 5031f2e35a3aSmrgCASE_ESC_DIGIT, 5032f2e35a3aSmrgCASE_ESC_DIGIT, 5033d522f475Smrg/* 4 5 6 7 */ 5034f2e35a3aSmrgCASE_ESC_DIGIT, 5035f2e35a3aSmrgCASE_ESC_DIGIT, 5036f2e35a3aSmrgCASE_ESC_DIGIT, 5037f2e35a3aSmrgCASE_ESC_DIGIT, 5038d522f475Smrg/* 8 9 : ; */ 5039f2e35a3aSmrgCASE_ESC_DIGIT, 5040f2e35a3aSmrgCASE_ESC_DIGIT, 5041f2e35a3aSmrgCASE_ESC_COLON, 5042f2e35a3aSmrgCASE_ESC_SEMI, 5043d522f475Smrg/* < = > ? */ 5044f2e35a3aSmrgCASE_CSI_IGNORE, 5045f2e35a3aSmrgCASE_CSI_IGNORE, 5046f2e35a3aSmrgCASE_CSI_IGNORE, 5047f2e35a3aSmrgCASE_CSI_IGNORE, 5048d522f475Smrg/* @ A B C */ 5049d522f475SmrgCASE_GROUND_STATE, 5050d522f475SmrgCASE_GROUND_STATE, 5051d522f475SmrgCASE_GROUND_STATE, 5052d522f475SmrgCASE_GROUND_STATE, 5053d522f475Smrg/* D E F G */ 5054d522f475SmrgCASE_GROUND_STATE, 5055d522f475SmrgCASE_GROUND_STATE, 5056d522f475SmrgCASE_GROUND_STATE, 5057d522f475SmrgCASE_GROUND_STATE, 5058d522f475Smrg/* H I J K */ 5059d522f475SmrgCASE_GROUND_STATE, 5060d522f475SmrgCASE_GROUND_STATE, 5061d522f475SmrgCASE_GROUND_STATE, 5062d522f475SmrgCASE_GROUND_STATE, 5063d522f475Smrg/* L M N O */ 5064d522f475SmrgCASE_GROUND_STATE, 5065d522f475SmrgCASE_GROUND_STATE, 5066d522f475SmrgCASE_GROUND_STATE, 5067d522f475SmrgCASE_GROUND_STATE, 5068d522f475Smrg/* P Q R S */ 5069d522f475SmrgCASE_GROUND_STATE, 5070d522f475SmrgCASE_GROUND_STATE, 5071d522f475SmrgCASE_GROUND_STATE, 5072d522f475SmrgCASE_GROUND_STATE, 5073d522f475Smrg/* T U V W */ 5074d522f475SmrgCASE_GROUND_STATE, 5075d522f475SmrgCASE_GROUND_STATE, 5076d522f475SmrgCASE_GROUND_STATE, 5077d522f475SmrgCASE_GROUND_STATE, 5078d522f475Smrg/* X Y Z [ */ 5079d522f475SmrgCASE_GROUND_STATE, 5080d522f475SmrgCASE_GROUND_STATE, 5081d522f475SmrgCASE_GROUND_STATE, 5082d522f475SmrgCASE_GROUND_STATE, 5083d522f475Smrg/* \ ] ^ _ */ 5084d522f475SmrgCASE_GROUND_STATE, 5085d522f475SmrgCASE_GROUND_STATE, 5086d522f475SmrgCASE_GROUND_STATE, 5087d522f475SmrgCASE_GROUND_STATE, 5088d522f475Smrg/* ` a b c */ 5089d522f475SmrgCASE_GROUND_STATE, 5090d522f475SmrgCASE_GROUND_STATE, 5091d522f475SmrgCASE_GROUND_STATE, 5092f2e35a3aSmrgCASE_DECRPTUI, 5093d522f475Smrg/* d e f g */ 5094d522f475SmrgCASE_GROUND_STATE, 5095d522f475SmrgCASE_GROUND_STATE, 5096d522f475SmrgCASE_GROUND_STATE, 5097d522f475SmrgCASE_GROUND_STATE, 5098d522f475Smrg/* h i j k */ 5099d522f475SmrgCASE_GROUND_STATE, 5100d522f475SmrgCASE_GROUND_STATE, 5101d522f475SmrgCASE_GROUND_STATE, 5102d522f475SmrgCASE_GROUND_STATE, 5103d522f475Smrg/* l m n o */ 5104d522f475SmrgCASE_GROUND_STATE, 5105d522f475SmrgCASE_GROUND_STATE, 5106d522f475SmrgCASE_GROUND_STATE, 5107d522f475SmrgCASE_GROUND_STATE, 5108d522f475Smrg/* p q r s */ 5109d522f475SmrgCASE_GROUND_STATE, 5110d522f475SmrgCASE_GROUND_STATE, 5111d522f475SmrgCASE_GROUND_STATE, 5112d522f475SmrgCASE_GROUND_STATE, 5113d522f475Smrg/* t u v w */ 5114d522f475SmrgCASE_GROUND_STATE, 5115d522f475SmrgCASE_GROUND_STATE, 5116d522f475SmrgCASE_GROUND_STATE, 5117d522f475SmrgCASE_GROUND_STATE, 5118d522f475Smrg/* x y z { */ 5119d522f475SmrgCASE_GROUND_STATE, 5120d522f475SmrgCASE_GROUND_STATE, 5121d522f475SmrgCASE_GROUND_STATE, 5122d522f475SmrgCASE_GROUND_STATE, 5123d522f475Smrg/* | } ~ DEL */ 5124d522f475SmrgCASE_GROUND_STATE, 5125d522f475SmrgCASE_GROUND_STATE, 5126d522f475SmrgCASE_GROUND_STATE, 5127d522f475SmrgCASE_IGNORE, 5128d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 5129d522f475SmrgCASE_GROUND_STATE, 5130d522f475SmrgCASE_GROUND_STATE, 5131d522f475SmrgCASE_GROUND_STATE, 5132d522f475SmrgCASE_GROUND_STATE, 5133d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 5134d522f475SmrgCASE_IND, 5135d522f475SmrgCASE_NEL, 5136d522f475SmrgCASE_GROUND_STATE, 5137d522f475SmrgCASE_GROUND_STATE, 5138d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 5139d522f475SmrgCASE_HTS, 5140d522f475SmrgCASE_GROUND_STATE, 5141d522f475SmrgCASE_GROUND_STATE, 5142d522f475SmrgCASE_GROUND_STATE, 5143d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 5144d522f475SmrgCASE_GROUND_STATE, 5145d522f475SmrgCASE_RI, 5146d522f475SmrgCASE_SS2, 5147d522f475SmrgCASE_SS3, 5148d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 5149d522f475SmrgCASE_DCS, 5150d522f475SmrgCASE_GROUND_STATE, 5151d522f475SmrgCASE_GROUND_STATE, 5152d522f475SmrgCASE_GROUND_STATE, 5153d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 5154d522f475SmrgCASE_GROUND_STATE, 5155d522f475SmrgCASE_GROUND_STATE, 5156d522f475SmrgCASE_SPA, 5157d522f475SmrgCASE_EPA, 5158d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 5159d522f475SmrgCASE_SOS, 5160d522f475SmrgCASE_GROUND_STATE, 5161d522f475SmrgCASE_DECID, 5162d522f475SmrgCASE_CSI_STATE, 5163d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 5164d522f475SmrgCASE_ST, 5165d522f475SmrgCASE_OSC, 5166d522f475SmrgCASE_PM, 5167d522f475SmrgCASE_APC, 5168d522f475Smrg/* nobreakspace exclamdown cent sterling */ 5169f2e35a3aSmrgCASE_CSI_IGNORE, 5170f2e35a3aSmrgCASE_CSI_IGNORE, 5171f2e35a3aSmrgCASE_CSI_IGNORE, 5172f2e35a3aSmrgCASE_CSI_IGNORE, 5173d522f475Smrg/* currency yen brokenbar section */ 5174f2e35a3aSmrgCASE_CSI_IGNORE, 5175f2e35a3aSmrgCASE_CSI_IGNORE, 5176f2e35a3aSmrgCASE_CSI_IGNORE, 5177f2e35a3aSmrgCASE_CSI_IGNORE, 5178d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 5179f2e35a3aSmrgCASE_CSI_IGNORE, 5180f2e35a3aSmrgCASE_CSI_IGNORE, 5181f2e35a3aSmrgCASE_CSI_IGNORE, 5182f2e35a3aSmrgCASE_CSI_IGNORE, 5183d522f475Smrg/* notsign hyphen registered macron */ 5184f2e35a3aSmrgCASE_CSI_IGNORE, 5185f2e35a3aSmrgCASE_CSI_IGNORE, 5186f2e35a3aSmrgCASE_CSI_IGNORE, 5187f2e35a3aSmrgCASE_CSI_IGNORE, 5188d522f475Smrg/* degree plusminus twosuperior threesuperior */ 5189f2e35a3aSmrgCASE_ESC_DIGIT, 5190f2e35a3aSmrgCASE_ESC_DIGIT, 5191f2e35a3aSmrgCASE_ESC_DIGIT, 5192f2e35a3aSmrgCASE_ESC_DIGIT, 5193d522f475Smrg/* acute mu paragraph periodcentered */ 5194f2e35a3aSmrgCASE_ESC_DIGIT, 5195f2e35a3aSmrgCASE_ESC_DIGIT, 5196f2e35a3aSmrgCASE_ESC_DIGIT, 5197f2e35a3aSmrgCASE_ESC_DIGIT, 5198d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 5199f2e35a3aSmrgCASE_ESC_DIGIT, 5200f2e35a3aSmrgCASE_ESC_DIGIT, 5201f2e35a3aSmrgCASE_ESC_COLON, 5202f2e35a3aSmrgCASE_ESC_SEMI, 5203d522f475Smrg/* onequarter onehalf threequarters questiondown */ 5204f2e35a3aSmrgCASE_CSI_IGNORE, 5205f2e35a3aSmrgCASE_CSI_IGNORE, 5206f2e35a3aSmrgCASE_CSI_IGNORE, 5207f2e35a3aSmrgCASE_CSI_IGNORE, 5208d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 5209d522f475SmrgCASE_GROUND_STATE, 5210d522f475SmrgCASE_GROUND_STATE, 5211d522f475SmrgCASE_GROUND_STATE, 5212d522f475SmrgCASE_GROUND_STATE, 5213d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 5214d522f475SmrgCASE_GROUND_STATE, 5215d522f475SmrgCASE_GROUND_STATE, 5216d522f475SmrgCASE_GROUND_STATE, 5217d522f475SmrgCASE_GROUND_STATE, 5218d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 5219d522f475SmrgCASE_GROUND_STATE, 5220d522f475SmrgCASE_GROUND_STATE, 5221d522f475SmrgCASE_GROUND_STATE, 5222d522f475SmrgCASE_GROUND_STATE, 5223d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 5224d522f475SmrgCASE_GROUND_STATE, 5225d522f475SmrgCASE_GROUND_STATE, 5226d522f475SmrgCASE_GROUND_STATE, 5227d522f475SmrgCASE_GROUND_STATE, 5228d522f475Smrg/* Eth Ntilde Ograve Oacute */ 5229d522f475SmrgCASE_GROUND_STATE, 5230d522f475SmrgCASE_GROUND_STATE, 5231d522f475SmrgCASE_GROUND_STATE, 5232d522f475SmrgCASE_GROUND_STATE, 5233d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 5234d522f475SmrgCASE_GROUND_STATE, 5235d522f475SmrgCASE_GROUND_STATE, 5236d522f475SmrgCASE_GROUND_STATE, 5237d522f475SmrgCASE_GROUND_STATE, 5238d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 5239d522f475SmrgCASE_GROUND_STATE, 5240d522f475SmrgCASE_GROUND_STATE, 5241d522f475SmrgCASE_GROUND_STATE, 5242d522f475SmrgCASE_GROUND_STATE, 5243d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 5244d522f475SmrgCASE_GROUND_STATE, 5245d522f475SmrgCASE_GROUND_STATE, 5246d522f475SmrgCASE_GROUND_STATE, 5247d522f475SmrgCASE_GROUND_STATE, 5248d522f475Smrg/* agrave aacute acircumflex atilde */ 5249d522f475SmrgCASE_GROUND_STATE, 5250d522f475SmrgCASE_GROUND_STATE, 5251d522f475SmrgCASE_GROUND_STATE, 5252f2e35a3aSmrgCASE_DECRPTUI, 5253d522f475Smrg/* adiaeresis aring ae ccedilla */ 5254d522f475SmrgCASE_GROUND_STATE, 5255d522f475SmrgCASE_GROUND_STATE, 5256d522f475SmrgCASE_GROUND_STATE, 5257d522f475SmrgCASE_GROUND_STATE, 5258d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 5259d522f475SmrgCASE_GROUND_STATE, 5260d522f475SmrgCASE_GROUND_STATE, 5261d522f475SmrgCASE_GROUND_STATE, 5262d522f475SmrgCASE_GROUND_STATE, 5263d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 5264d522f475SmrgCASE_GROUND_STATE, 5265d522f475SmrgCASE_GROUND_STATE, 5266d522f475SmrgCASE_GROUND_STATE, 5267d522f475SmrgCASE_GROUND_STATE, 5268d522f475Smrg/* eth ntilde ograve oacute */ 5269d522f475SmrgCASE_GROUND_STATE, 5270d522f475SmrgCASE_GROUND_STATE, 5271d522f475SmrgCASE_GROUND_STATE, 5272d522f475SmrgCASE_GROUND_STATE, 5273d522f475Smrg/* ocircumflex otilde odiaeresis division */ 5274d522f475SmrgCASE_GROUND_STATE, 5275d522f475SmrgCASE_GROUND_STATE, 5276d522f475SmrgCASE_GROUND_STATE, 5277d522f475SmrgCASE_GROUND_STATE, 5278d522f475Smrg/* oslash ugrave uacute ucircumflex */ 5279d522f475SmrgCASE_GROUND_STATE, 5280d522f475SmrgCASE_GROUND_STATE, 5281d522f475SmrgCASE_GROUND_STATE, 5282d522f475SmrgCASE_GROUND_STATE, 5283d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 5284d522f475SmrgCASE_GROUND_STATE, 5285d522f475SmrgCASE_GROUND_STATE, 5286d522f475SmrgCASE_GROUND_STATE, 5287d522f475SmrgCASE_IGNORE, 5288d522f475Smrg}; 5289d522f475Smrg 52905104ee6eSmrgconst PARSE_T cigtable[] = /* CASE_CSI_IGNORE */ 5291d522f475Smrg{ 5292d522f475Smrg/* NUL SOH STX ETX */ 5293d522f475SmrgCASE_IGNORE, 5294d522f475SmrgCASE_IGNORE, 5295d522f475SmrgCASE_IGNORE, 5296d522f475SmrgCASE_IGNORE, 5297d522f475Smrg/* EOT ENQ ACK BEL */ 5298d522f475SmrgCASE_IGNORE, 5299d522f475SmrgCASE_ENQ, 5300d522f475SmrgCASE_IGNORE, 5301d522f475SmrgCASE_BELL, 5302d522f475Smrg/* BS HT NL VT */ 5303d522f475SmrgCASE_BS, 5304d522f475SmrgCASE_TAB, 5305d522f475SmrgCASE_VMOT, 5306d522f475SmrgCASE_VMOT, 53070bd37d32Smrg/* FF CR SO SI */ 5308d522f475SmrgCASE_VMOT, 5309d522f475SmrgCASE_CR, 5310d522f475SmrgCASE_SO, 5311d522f475SmrgCASE_SI, 5312d522f475Smrg/* DLE DC1 DC2 DC3 */ 5313d522f475SmrgCASE_IGNORE, 5314d522f475SmrgCASE_IGNORE, 5315d522f475SmrgCASE_IGNORE, 5316d522f475SmrgCASE_IGNORE, 5317d522f475Smrg/* DC4 NAK SYN ETB */ 5318d522f475SmrgCASE_IGNORE, 5319d522f475SmrgCASE_IGNORE, 5320d522f475SmrgCASE_IGNORE, 5321d522f475SmrgCASE_IGNORE, 5322d522f475Smrg/* CAN EM SUB ESC */ 5323d522f475SmrgCASE_GROUND_STATE, 5324d522f475SmrgCASE_IGNORE, 53255104ee6eSmrgCASE_SUB, 5326d522f475SmrgCASE_ESC, 5327d522f475Smrg/* FS GS RS US */ 5328d522f475SmrgCASE_IGNORE, 5329d522f475SmrgCASE_IGNORE, 5330d522f475SmrgCASE_IGNORE, 5331d522f475SmrgCASE_IGNORE, 5332d522f475Smrg/* SP ! " # */ 5333d522f475SmrgCASE_IGNORE, 5334d522f475SmrgCASE_IGNORE, 5335d522f475SmrgCASE_IGNORE, 5336d522f475SmrgCASE_IGNORE, 5337d522f475Smrg/* $ % & ' */ 5338d522f475SmrgCASE_IGNORE, 5339d522f475SmrgCASE_IGNORE, 5340d522f475SmrgCASE_IGNORE, 5341d522f475SmrgCASE_IGNORE, 5342d522f475Smrg/* ( ) * + */ 5343d522f475SmrgCASE_IGNORE, 5344d522f475SmrgCASE_IGNORE, 5345d522f475SmrgCASE_IGNORE, 5346d522f475SmrgCASE_IGNORE, 5347d522f475Smrg/* , - . / */ 5348d522f475SmrgCASE_IGNORE, 5349d522f475SmrgCASE_IGNORE, 5350d522f475SmrgCASE_IGNORE, 5351d522f475SmrgCASE_IGNORE, 5352d522f475Smrg/* 0 1 2 3 */ 5353f2e35a3aSmrgCASE_IGNORE, 5354f2e35a3aSmrgCASE_IGNORE, 5355f2e35a3aSmrgCASE_IGNORE, 5356f2e35a3aSmrgCASE_IGNORE, 5357d522f475Smrg/* 4 5 6 7 */ 5358f2e35a3aSmrgCASE_IGNORE, 5359f2e35a3aSmrgCASE_IGNORE, 5360f2e35a3aSmrgCASE_IGNORE, 5361f2e35a3aSmrgCASE_IGNORE, 5362d522f475Smrg/* 8 9 : ; */ 5363f2e35a3aSmrgCASE_IGNORE, 5364f2e35a3aSmrgCASE_IGNORE, 5365f2e35a3aSmrgCASE_IGNORE, 5366f2e35a3aSmrgCASE_IGNORE, 5367d522f475Smrg/* < = > ? */ 5368f2e35a3aSmrgCASE_IGNORE, 5369f2e35a3aSmrgCASE_IGNORE, 5370f2e35a3aSmrgCASE_IGNORE, 5371f2e35a3aSmrgCASE_IGNORE, 5372d522f475Smrg/* @ A B C */ 5373d522f475SmrgCASE_GROUND_STATE, 5374d522f475SmrgCASE_GROUND_STATE, 5375d522f475SmrgCASE_GROUND_STATE, 5376d522f475SmrgCASE_GROUND_STATE, 5377d522f475Smrg/* D E F G */ 5378d522f475SmrgCASE_GROUND_STATE, 5379d522f475SmrgCASE_GROUND_STATE, 5380d522f475SmrgCASE_GROUND_STATE, 5381d522f475SmrgCASE_GROUND_STATE, 5382d522f475Smrg/* H I J K */ 5383d522f475SmrgCASE_GROUND_STATE, 5384d522f475SmrgCASE_GROUND_STATE, 5385d522f475SmrgCASE_GROUND_STATE, 5386d522f475SmrgCASE_GROUND_STATE, 5387d522f475Smrg/* L M N O */ 5388d522f475SmrgCASE_GROUND_STATE, 5389d522f475SmrgCASE_GROUND_STATE, 5390d522f475SmrgCASE_GROUND_STATE, 5391d522f475SmrgCASE_GROUND_STATE, 5392d522f475Smrg/* P Q R S */ 5393d522f475SmrgCASE_GROUND_STATE, 5394d522f475SmrgCASE_GROUND_STATE, 5395d522f475SmrgCASE_GROUND_STATE, 5396d522f475SmrgCASE_GROUND_STATE, 5397d522f475Smrg/* T U V W */ 5398d522f475SmrgCASE_GROUND_STATE, 5399d522f475SmrgCASE_GROUND_STATE, 5400d522f475SmrgCASE_GROUND_STATE, 5401d522f475SmrgCASE_GROUND_STATE, 5402d522f475Smrg/* X Y Z [ */ 5403d522f475SmrgCASE_GROUND_STATE, 5404d522f475SmrgCASE_GROUND_STATE, 5405d522f475SmrgCASE_GROUND_STATE, 5406d522f475SmrgCASE_GROUND_STATE, 5407d522f475Smrg/* \ ] ^ _ */ 5408d522f475SmrgCASE_GROUND_STATE, 5409d522f475SmrgCASE_GROUND_STATE, 5410d522f475SmrgCASE_GROUND_STATE, 5411d522f475SmrgCASE_GROUND_STATE, 5412d522f475Smrg/* ` a b c */ 5413d522f475SmrgCASE_GROUND_STATE, 5414d522f475SmrgCASE_GROUND_STATE, 5415d522f475SmrgCASE_GROUND_STATE, 5416d522f475SmrgCASE_GROUND_STATE, 5417d522f475Smrg/* d e f g */ 5418d522f475SmrgCASE_GROUND_STATE, 5419d522f475SmrgCASE_GROUND_STATE, 5420d522f475SmrgCASE_GROUND_STATE, 5421d522f475SmrgCASE_GROUND_STATE, 5422d522f475Smrg/* h i j k */ 5423d522f475SmrgCASE_GROUND_STATE, 5424d522f475SmrgCASE_GROUND_STATE, 5425d522f475SmrgCASE_GROUND_STATE, 5426d522f475SmrgCASE_GROUND_STATE, 5427d522f475Smrg/* l m n o */ 5428d522f475SmrgCASE_GROUND_STATE, 5429d522f475SmrgCASE_GROUND_STATE, 5430d522f475SmrgCASE_GROUND_STATE, 5431d522f475SmrgCASE_GROUND_STATE, 5432d522f475Smrg/* p q r s */ 5433d522f475SmrgCASE_GROUND_STATE, 5434d522f475SmrgCASE_GROUND_STATE, 5435d522f475SmrgCASE_GROUND_STATE, 5436d522f475SmrgCASE_GROUND_STATE, 5437d522f475Smrg/* t u v w */ 5438d522f475SmrgCASE_GROUND_STATE, 5439d522f475SmrgCASE_GROUND_STATE, 5440d522f475SmrgCASE_GROUND_STATE, 5441d522f475SmrgCASE_GROUND_STATE, 5442d522f475Smrg/* x y z { */ 5443d522f475SmrgCASE_GROUND_STATE, 5444d522f475SmrgCASE_GROUND_STATE, 5445d522f475SmrgCASE_GROUND_STATE, 5446d522f475SmrgCASE_GROUND_STATE, 5447d522f475Smrg/* | } ~ DEL */ 5448d522f475SmrgCASE_GROUND_STATE, 5449d522f475SmrgCASE_GROUND_STATE, 5450d522f475SmrgCASE_GROUND_STATE, 5451d522f475SmrgCASE_IGNORE, 5452d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 5453d522f475SmrgCASE_GROUND_STATE, 5454d522f475SmrgCASE_GROUND_STATE, 5455d522f475SmrgCASE_GROUND_STATE, 5456d522f475SmrgCASE_GROUND_STATE, 5457d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 5458d522f475SmrgCASE_IND, 5459d522f475SmrgCASE_NEL, 5460d522f475SmrgCASE_GROUND_STATE, 5461d522f475SmrgCASE_GROUND_STATE, 5462d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 5463d522f475SmrgCASE_HTS, 5464d522f475SmrgCASE_GROUND_STATE, 5465d522f475SmrgCASE_GROUND_STATE, 5466d522f475SmrgCASE_GROUND_STATE, 5467d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 5468d522f475SmrgCASE_GROUND_STATE, 5469d522f475SmrgCASE_RI, 5470d522f475SmrgCASE_SS2, 5471d522f475SmrgCASE_SS3, 5472d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 5473d522f475SmrgCASE_DCS, 5474d522f475SmrgCASE_GROUND_STATE, 5475d522f475SmrgCASE_GROUND_STATE, 5476d522f475SmrgCASE_GROUND_STATE, 5477d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 5478d522f475SmrgCASE_GROUND_STATE, 5479d522f475SmrgCASE_GROUND_STATE, 5480d522f475SmrgCASE_SPA, 5481d522f475SmrgCASE_EPA, 5482d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 5483d522f475SmrgCASE_SOS, 5484d522f475SmrgCASE_GROUND_STATE, 5485d522f475SmrgCASE_DECID, 5486d522f475SmrgCASE_CSI_STATE, 5487d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 5488d522f475SmrgCASE_ST, 5489d522f475SmrgCASE_OSC, 5490d522f475SmrgCASE_PM, 5491d522f475SmrgCASE_APC, 5492d522f475Smrg/* nobreakspace exclamdown cent sterling */ 5493d522f475SmrgCASE_IGNORE, 5494d522f475SmrgCASE_IGNORE, 5495d522f475SmrgCASE_IGNORE, 5496d522f475SmrgCASE_IGNORE, 5497d522f475Smrg/* currency yen brokenbar section */ 5498d522f475SmrgCASE_IGNORE, 5499d522f475SmrgCASE_IGNORE, 5500d522f475SmrgCASE_IGNORE, 5501d522f475SmrgCASE_IGNORE, 5502d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 5503d522f475SmrgCASE_IGNORE, 5504d522f475SmrgCASE_IGNORE, 5505d522f475SmrgCASE_IGNORE, 5506d522f475SmrgCASE_IGNORE, 5507d522f475Smrg/* notsign hyphen registered macron */ 5508d522f475SmrgCASE_IGNORE, 5509d522f475SmrgCASE_IGNORE, 5510d522f475SmrgCASE_IGNORE, 5511d522f475SmrgCASE_IGNORE, 5512d522f475Smrg/* degree plusminus twosuperior threesuperior */ 5513f2e35a3aSmrgCASE_IGNORE, 5514f2e35a3aSmrgCASE_IGNORE, 5515f2e35a3aSmrgCASE_IGNORE, 5516f2e35a3aSmrgCASE_IGNORE, 5517d522f475Smrg/* acute mu paragraph periodcentered */ 5518f2e35a3aSmrgCASE_IGNORE, 5519f2e35a3aSmrgCASE_IGNORE, 5520f2e35a3aSmrgCASE_IGNORE, 5521f2e35a3aSmrgCASE_IGNORE, 5522d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 5523f2e35a3aSmrgCASE_IGNORE, 5524f2e35a3aSmrgCASE_IGNORE, 5525f2e35a3aSmrgCASE_IGNORE, 5526f2e35a3aSmrgCASE_IGNORE, 5527d522f475Smrg/* onequarter onehalf threequarters questiondown */ 5528f2e35a3aSmrgCASE_IGNORE, 5529f2e35a3aSmrgCASE_IGNORE, 5530f2e35a3aSmrgCASE_IGNORE, 5531f2e35a3aSmrgCASE_IGNORE, 5532d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 5533d522f475SmrgCASE_GROUND_STATE, 5534d522f475SmrgCASE_GROUND_STATE, 5535d522f475SmrgCASE_GROUND_STATE, 5536d522f475SmrgCASE_GROUND_STATE, 5537d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 5538d522f475SmrgCASE_GROUND_STATE, 5539d522f475SmrgCASE_GROUND_STATE, 5540d522f475SmrgCASE_GROUND_STATE, 5541d522f475SmrgCASE_GROUND_STATE, 5542d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 5543d522f475SmrgCASE_GROUND_STATE, 5544d522f475SmrgCASE_GROUND_STATE, 5545d522f475SmrgCASE_GROUND_STATE, 5546d522f475SmrgCASE_GROUND_STATE, 5547d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 5548d522f475SmrgCASE_GROUND_STATE, 5549d522f475SmrgCASE_GROUND_STATE, 5550d522f475SmrgCASE_GROUND_STATE, 5551d522f475SmrgCASE_GROUND_STATE, 5552d522f475Smrg/* Eth Ntilde Ograve Oacute */ 5553d522f475SmrgCASE_GROUND_STATE, 5554d522f475SmrgCASE_GROUND_STATE, 5555d522f475SmrgCASE_GROUND_STATE, 5556d522f475SmrgCASE_GROUND_STATE, 5557d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 5558d522f475SmrgCASE_GROUND_STATE, 5559d522f475SmrgCASE_GROUND_STATE, 5560d522f475SmrgCASE_GROUND_STATE, 5561d522f475SmrgCASE_GROUND_STATE, 5562d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 5563d522f475SmrgCASE_GROUND_STATE, 5564d522f475SmrgCASE_GROUND_STATE, 5565d522f475SmrgCASE_GROUND_STATE, 5566d522f475SmrgCASE_GROUND_STATE, 5567d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 5568d522f475SmrgCASE_GROUND_STATE, 5569d522f475SmrgCASE_GROUND_STATE, 5570d522f475SmrgCASE_GROUND_STATE, 5571d522f475SmrgCASE_GROUND_STATE, 5572d522f475Smrg/* agrave aacute acircumflex atilde */ 5573d522f475SmrgCASE_GROUND_STATE, 5574d522f475SmrgCASE_GROUND_STATE, 5575d522f475SmrgCASE_GROUND_STATE, 5576d522f475SmrgCASE_GROUND_STATE, 5577d522f475Smrg/* adiaeresis aring ae ccedilla */ 5578d522f475SmrgCASE_GROUND_STATE, 5579d522f475SmrgCASE_GROUND_STATE, 5580d522f475SmrgCASE_GROUND_STATE, 5581d522f475SmrgCASE_GROUND_STATE, 5582d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 5583d522f475SmrgCASE_GROUND_STATE, 5584d522f475SmrgCASE_GROUND_STATE, 5585d522f475SmrgCASE_GROUND_STATE, 5586d522f475SmrgCASE_GROUND_STATE, 5587d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 5588d522f475SmrgCASE_GROUND_STATE, 5589d522f475SmrgCASE_GROUND_STATE, 5590d522f475SmrgCASE_GROUND_STATE, 5591d522f475SmrgCASE_GROUND_STATE, 5592d522f475Smrg/* eth ntilde ograve oacute */ 5593d522f475SmrgCASE_GROUND_STATE, 5594d522f475SmrgCASE_GROUND_STATE, 5595d522f475SmrgCASE_GROUND_STATE, 5596d522f475SmrgCASE_GROUND_STATE, 5597d522f475Smrg/* ocircumflex otilde odiaeresis division */ 5598d522f475SmrgCASE_GROUND_STATE, 5599d522f475SmrgCASE_GROUND_STATE, 5600d522f475SmrgCASE_GROUND_STATE, 5601d522f475SmrgCASE_GROUND_STATE, 5602d522f475Smrg/* oslash ugrave uacute ucircumflex */ 5603d522f475SmrgCASE_GROUND_STATE, 5604d522f475SmrgCASE_GROUND_STATE, 5605d522f475SmrgCASE_GROUND_STATE, 5606d522f475SmrgCASE_GROUND_STATE, 5607d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 5608d522f475SmrgCASE_GROUND_STATE, 5609d522f475SmrgCASE_GROUND_STATE, 5610d522f475SmrgCASE_GROUND_STATE, 5611d522f475SmrgCASE_IGNORE, 5612d522f475Smrg}; 5613d522f475Smrg 56145104ee6eSmrgconst PARSE_T eigtable[] = /* CASE_ESC_IGNORE */ 5615d522f475Smrg{ 5616d522f475Smrg/* NUL SOH STX ETX */ 5617d522f475SmrgCASE_IGNORE, 5618d522f475SmrgCASE_IGNORE, 5619d522f475SmrgCASE_IGNORE, 5620d522f475SmrgCASE_IGNORE, 5621d522f475Smrg/* EOT ENQ ACK BEL */ 5622d522f475SmrgCASE_IGNORE, 5623d522f475SmrgCASE_ENQ, 5624d522f475SmrgCASE_IGNORE, 5625d522f475SmrgCASE_BELL, 5626d522f475Smrg/* BS HT NL VT */ 5627d522f475SmrgCASE_BS, 5628d522f475SmrgCASE_TAB, 5629d522f475SmrgCASE_VMOT, 5630d522f475SmrgCASE_VMOT, 56310bd37d32Smrg/* FF CR SO SI */ 5632d522f475SmrgCASE_VMOT, 5633d522f475SmrgCASE_CR, 5634d522f475SmrgCASE_SO, 5635d522f475SmrgCASE_SI, 5636d522f475Smrg/* DLE DC1 DC2 DC3 */ 5637d522f475SmrgCASE_IGNORE, 5638d522f475SmrgCASE_IGNORE, 5639d522f475SmrgCASE_IGNORE, 5640d522f475SmrgCASE_IGNORE, 5641d522f475Smrg/* DC4 NAK SYN ETB */ 5642d522f475SmrgCASE_IGNORE, 5643d522f475SmrgCASE_IGNORE, 5644d522f475SmrgCASE_IGNORE, 5645d522f475SmrgCASE_IGNORE, 5646d522f475Smrg/* CAN EM SUB ESC */ 5647d522f475SmrgCASE_GROUND_STATE, 5648d522f475SmrgCASE_IGNORE, 56495104ee6eSmrgCASE_SUB, 5650d522f475SmrgCASE_ESC, 5651d522f475Smrg/* FS GS RS US */ 5652d522f475SmrgCASE_IGNORE, 5653d522f475SmrgCASE_IGNORE, 5654d522f475SmrgCASE_IGNORE, 5655d522f475SmrgCASE_IGNORE, 5656d522f475Smrg/* SP ! " # */ 5657f2e35a3aSmrgCASE_IGNORE, 5658f2e35a3aSmrgCASE_IGNORE, 5659f2e35a3aSmrgCASE_IGNORE, 5660f2e35a3aSmrgCASE_IGNORE, 5661d522f475Smrg/* $ % & ' */ 5662f2e35a3aSmrgCASE_IGNORE, 5663f2e35a3aSmrgCASE_IGNORE, 5664f2e35a3aSmrgCASE_IGNORE, 5665f2e35a3aSmrgCASE_IGNORE, 5666d522f475Smrg/* ( ) * + */ 5667f2e35a3aSmrgCASE_IGNORE, 5668f2e35a3aSmrgCASE_IGNORE, 5669f2e35a3aSmrgCASE_IGNORE, 5670f2e35a3aSmrgCASE_IGNORE, 5671d522f475Smrg/* , - . / */ 5672f2e35a3aSmrgCASE_IGNORE, 5673f2e35a3aSmrgCASE_IGNORE, 5674f2e35a3aSmrgCASE_IGNORE, 5675f2e35a3aSmrgCASE_IGNORE, 5676d522f475Smrg/* 0 1 2 3 */ 5677d522f475SmrgCASE_GROUND_STATE, 5678d522f475SmrgCASE_GROUND_STATE, 5679d522f475SmrgCASE_GROUND_STATE, 5680d522f475SmrgCASE_GROUND_STATE, 5681d522f475Smrg/* 4 5 6 7 */ 5682d522f475SmrgCASE_GROUND_STATE, 5683d522f475SmrgCASE_GROUND_STATE, 5684f2e35a3aSmrgCASE_GROUND_STATE, 5685f2e35a3aSmrgCASE_GROUND_STATE, 5686d522f475Smrg/* 8 9 : ; */ 5687f2e35a3aSmrgCASE_GROUND_STATE, 5688f2e35a3aSmrgCASE_GROUND_STATE, 5689d522f475SmrgCASE_GROUND_STATE, 5690d522f475SmrgCASE_GROUND_STATE, 5691d522f475Smrg/* < = > ? */ 5692d522f475SmrgCASE_GROUND_STATE, 5693f2e35a3aSmrgCASE_GROUND_STATE, 5694f2e35a3aSmrgCASE_GROUND_STATE, 5695d522f475SmrgCASE_GROUND_STATE, 5696d522f475Smrg/* @ A B C */ 5697d522f475SmrgCASE_GROUND_STATE, 5698d522f475SmrgCASE_GROUND_STATE, 5699d522f475SmrgCASE_GROUND_STATE, 5700d522f475SmrgCASE_GROUND_STATE, 5701d522f475Smrg/* D E F G */ 5702f2e35a3aSmrgCASE_GROUND_STATE, 5703f2e35a3aSmrgCASE_GROUND_STATE, 5704f2e35a3aSmrgCASE_GROUND_STATE, 5705d522f475SmrgCASE_GROUND_STATE, 5706d522f475Smrg/* H I J K */ 5707f2e35a3aSmrgCASE_GROUND_STATE, 5708d522f475SmrgCASE_GROUND_STATE, 5709d522f475SmrgCASE_GROUND_STATE, 5710d522f475SmrgCASE_GROUND_STATE, 5711d522f475Smrg/* L M N O */ 5712d522f475SmrgCASE_GROUND_STATE, 5713f2e35a3aSmrgCASE_GROUND_STATE, 5714f2e35a3aSmrgCASE_GROUND_STATE, 5715f2e35a3aSmrgCASE_GROUND_STATE, 5716d522f475Smrg/* P Q R S */ 5717f2e35a3aSmrgCASE_GROUND_STATE, 5718d522f475SmrgCASE_GROUND_STATE, 5719d522f475SmrgCASE_GROUND_STATE, 5720d522f475SmrgCASE_GROUND_STATE, 5721d522f475Smrg/* T U V W */ 5722d522f475SmrgCASE_GROUND_STATE, 5723f2e35a3aSmrgCASE_GROUND_STATE, 5724f2e35a3aSmrgCASE_GROUND_STATE, 5725f2e35a3aSmrgCASE_GROUND_STATE, 5726d522f475Smrg/* X Y Z [ */ 5727d522f475SmrgCASE_GROUND_STATE, 5728f2e35a3aSmrgCASE_GROUND_STATE, 5729f2e35a3aSmrgCASE_GROUND_STATE, 5730f2e35a3aSmrgCASE_GROUND_STATE, 5731d522f475Smrg/* \ ] ^ _ */ 5732f2e35a3aSmrgCASE_GROUND_STATE, 5733f2e35a3aSmrgCASE_GROUND_STATE, 5734f2e35a3aSmrgCASE_GROUND_STATE, 5735f2e35a3aSmrgCASE_GROUND_STATE, 5736d522f475Smrg/* ` a b c */ 5737d522f475SmrgCASE_GROUND_STATE, 5738d522f475SmrgCASE_GROUND_STATE, 5739d522f475SmrgCASE_GROUND_STATE, 5740f2e35a3aSmrgCASE_GROUND_STATE, 5741d522f475Smrg/* d e f g */ 5742d522f475SmrgCASE_GROUND_STATE, 5743d522f475SmrgCASE_GROUND_STATE, 5744d522f475SmrgCASE_GROUND_STATE, 5745d522f475SmrgCASE_GROUND_STATE, 5746d522f475Smrg/* h i j k */ 5747d522f475SmrgCASE_GROUND_STATE, 5748d522f475SmrgCASE_GROUND_STATE, 5749d522f475SmrgCASE_GROUND_STATE, 5750d522f475SmrgCASE_GROUND_STATE, 5751d522f475Smrg/* l m n o */ 5752f2e35a3aSmrgCASE_GROUND_STATE, 5753f2e35a3aSmrgCASE_GROUND_STATE, 5754f2e35a3aSmrgCASE_GROUND_STATE, 5755f2e35a3aSmrgCASE_GROUND_STATE, 5756d522f475Smrg/* p q r s */ 5757d522f475SmrgCASE_GROUND_STATE, 5758d522f475SmrgCASE_GROUND_STATE, 5759d522f475SmrgCASE_GROUND_STATE, 5760d522f475SmrgCASE_GROUND_STATE, 5761d522f475Smrg/* t u v w */ 5762d522f475SmrgCASE_GROUND_STATE, 5763d522f475SmrgCASE_GROUND_STATE, 5764d522f475SmrgCASE_GROUND_STATE, 5765d522f475SmrgCASE_GROUND_STATE, 5766d522f475Smrg/* x y z { */ 5767d522f475SmrgCASE_GROUND_STATE, 5768d522f475SmrgCASE_GROUND_STATE, 5769d522f475SmrgCASE_GROUND_STATE, 5770d522f475SmrgCASE_GROUND_STATE, 5771d522f475Smrg/* | } ~ DEL */ 5772f2e35a3aSmrgCASE_GROUND_STATE, 5773f2e35a3aSmrgCASE_GROUND_STATE, 5774f2e35a3aSmrgCASE_GROUND_STATE, 5775d522f475SmrgCASE_IGNORE, 5776d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 5777d522f475SmrgCASE_GROUND_STATE, 5778d522f475SmrgCASE_GROUND_STATE, 5779d522f475SmrgCASE_GROUND_STATE, 5780d522f475SmrgCASE_GROUND_STATE, 5781d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 5782d522f475SmrgCASE_IND, 5783d522f475SmrgCASE_NEL, 5784d522f475SmrgCASE_GROUND_STATE, 5785d522f475SmrgCASE_GROUND_STATE, 5786d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 5787d522f475SmrgCASE_HTS, 5788d522f475SmrgCASE_GROUND_STATE, 5789d522f475SmrgCASE_GROUND_STATE, 5790d522f475SmrgCASE_GROUND_STATE, 5791d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 5792d522f475SmrgCASE_GROUND_STATE, 5793d522f475SmrgCASE_RI, 5794d522f475SmrgCASE_SS2, 5795d522f475SmrgCASE_SS3, 5796d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 5797d522f475SmrgCASE_DCS, 5798d522f475SmrgCASE_GROUND_STATE, 5799d522f475SmrgCASE_GROUND_STATE, 5800d522f475SmrgCASE_GROUND_STATE, 5801d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 5802d522f475SmrgCASE_GROUND_STATE, 5803d522f475SmrgCASE_GROUND_STATE, 5804d522f475SmrgCASE_SPA, 5805d522f475SmrgCASE_EPA, 5806d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 5807d522f475SmrgCASE_SOS, 5808d522f475SmrgCASE_GROUND_STATE, 5809d522f475SmrgCASE_DECID, 5810d522f475SmrgCASE_CSI_STATE, 5811d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 5812d522f475SmrgCASE_ST, 5813d522f475SmrgCASE_OSC, 5814d522f475SmrgCASE_PM, 5815d522f475SmrgCASE_APC, 5816d522f475Smrg/* nobreakspace exclamdown cent sterling */ 5817f2e35a3aSmrgCASE_IGNORE, 5818f2e35a3aSmrgCASE_IGNORE, 5819f2e35a3aSmrgCASE_IGNORE, 5820f2e35a3aSmrgCASE_IGNORE, 5821d522f475Smrg/* currency yen brokenbar section */ 5822f2e35a3aSmrgCASE_IGNORE, 5823f2e35a3aSmrgCASE_IGNORE, 5824f2e35a3aSmrgCASE_IGNORE, 5825f2e35a3aSmrgCASE_IGNORE, 5826d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 5827f2e35a3aSmrgCASE_IGNORE, 5828f2e35a3aSmrgCASE_IGNORE, 5829f2e35a3aSmrgCASE_IGNORE, 5830f2e35a3aSmrgCASE_IGNORE, 5831d522f475Smrg/* notsign hyphen registered macron */ 5832f2e35a3aSmrgCASE_IGNORE, 5833f2e35a3aSmrgCASE_IGNORE, 5834f2e35a3aSmrgCASE_IGNORE, 5835f2e35a3aSmrgCASE_IGNORE, 5836d522f475Smrg/* degree plusminus twosuperior threesuperior */ 5837d522f475SmrgCASE_GROUND_STATE, 5838d522f475SmrgCASE_GROUND_STATE, 5839d522f475SmrgCASE_GROUND_STATE, 5840d522f475SmrgCASE_GROUND_STATE, 5841d522f475Smrg/* acute mu paragraph periodcentered */ 5842d522f475SmrgCASE_GROUND_STATE, 5843d522f475SmrgCASE_GROUND_STATE, 5844f2e35a3aSmrgCASE_GROUND_STATE, 5845f2e35a3aSmrgCASE_GROUND_STATE, 5846d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 5847f2e35a3aSmrgCASE_GROUND_STATE, 5848f2e35a3aSmrgCASE_GROUND_STATE, 5849d522f475SmrgCASE_GROUND_STATE, 5850d522f475SmrgCASE_GROUND_STATE, 5851d522f475Smrg/* onequarter onehalf threequarters questiondown */ 5852d522f475SmrgCASE_GROUND_STATE, 5853f2e35a3aSmrgCASE_GROUND_STATE, 5854f2e35a3aSmrgCASE_GROUND_STATE, 5855d522f475SmrgCASE_GROUND_STATE, 5856d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 5857d522f475SmrgCASE_GROUND_STATE, 5858d522f475SmrgCASE_GROUND_STATE, 5859d522f475SmrgCASE_GROUND_STATE, 5860d522f475SmrgCASE_GROUND_STATE, 5861d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 5862f2e35a3aSmrgCASE_GROUND_STATE, 5863f2e35a3aSmrgCASE_GROUND_STATE, 5864f2e35a3aSmrgCASE_GROUND_STATE, 5865d522f475SmrgCASE_GROUND_STATE, 5866d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 5867f2e35a3aSmrgCASE_GROUND_STATE, 5868d522f475SmrgCASE_GROUND_STATE, 5869d522f475SmrgCASE_GROUND_STATE, 5870d522f475SmrgCASE_GROUND_STATE, 5871d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 5872d522f475SmrgCASE_GROUND_STATE, 5873f2e35a3aSmrgCASE_GROUND_STATE, 5874f2e35a3aSmrgCASE_GROUND_STATE, 5875f2e35a3aSmrgCASE_GROUND_STATE, 5876d522f475Smrg/* Eth Ntilde Ograve Oacute */ 5877f2e35a3aSmrgCASE_GROUND_STATE, 5878d522f475SmrgCASE_GROUND_STATE, 5879d522f475SmrgCASE_GROUND_STATE, 5880d522f475SmrgCASE_GROUND_STATE, 5881d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 5882d522f475SmrgCASE_GROUND_STATE, 5883f2e35a3aSmrgCASE_GROUND_STATE, 5884f2e35a3aSmrgCASE_GROUND_STATE, 5885f2e35a3aSmrgCASE_GROUND_STATE, 5886d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 5887d522f475SmrgCASE_GROUND_STATE, 5888f2e35a3aSmrgCASE_GROUND_STATE, 5889f2e35a3aSmrgCASE_GROUND_STATE, 5890f2e35a3aSmrgCASE_GROUND_STATE, 5891d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 5892f2e35a3aSmrgCASE_GROUND_STATE, 5893f2e35a3aSmrgCASE_GROUND_STATE, 5894f2e35a3aSmrgCASE_GROUND_STATE, 5895f2e35a3aSmrgCASE_GROUND_STATE, 5896d522f475Smrg/* agrave aacute acircumflex atilde */ 5897d522f475SmrgCASE_GROUND_STATE, 5898d522f475SmrgCASE_GROUND_STATE, 5899d522f475SmrgCASE_GROUND_STATE, 5900f2e35a3aSmrgCASE_GROUND_STATE, 5901d522f475Smrg/* adiaeresis aring ae ccedilla */ 5902d522f475SmrgCASE_GROUND_STATE, 5903d522f475SmrgCASE_GROUND_STATE, 5904d522f475SmrgCASE_GROUND_STATE, 5905d522f475SmrgCASE_GROUND_STATE, 5906d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 5907d522f475SmrgCASE_GROUND_STATE, 5908d522f475SmrgCASE_GROUND_STATE, 5909d522f475SmrgCASE_GROUND_STATE, 5910d522f475SmrgCASE_GROUND_STATE, 5911d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 5912f2e35a3aSmrgCASE_GROUND_STATE, 5913f2e35a3aSmrgCASE_GROUND_STATE, 5914f2e35a3aSmrgCASE_GROUND_STATE, 5915f2e35a3aSmrgCASE_GROUND_STATE, 5916d522f475Smrg/* eth ntilde ograve oacute */ 5917d522f475SmrgCASE_GROUND_STATE, 5918d522f475SmrgCASE_GROUND_STATE, 5919d522f475SmrgCASE_GROUND_STATE, 5920d522f475SmrgCASE_GROUND_STATE, 5921d522f475Smrg/* ocircumflex otilde odiaeresis division */ 5922d522f475SmrgCASE_GROUND_STATE, 5923d522f475SmrgCASE_GROUND_STATE, 5924d522f475SmrgCASE_GROUND_STATE, 5925d522f475SmrgCASE_GROUND_STATE, 5926d522f475Smrg/* oslash ugrave uacute ucircumflex */ 5927d522f475SmrgCASE_GROUND_STATE, 5928d522f475SmrgCASE_GROUND_STATE, 5929d522f475SmrgCASE_GROUND_STATE, 5930d522f475SmrgCASE_GROUND_STATE, 5931d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 5932f2e35a3aSmrgCASE_GROUND_STATE, 5933f2e35a3aSmrgCASE_GROUND_STATE, 5934f2e35a3aSmrgCASE_GROUND_STATE, 5935d522f475SmrgCASE_IGNORE, 5936d522f475Smrg}; 5937d522f475Smrg 59385104ee6eSmrgconst PARSE_T esc_table[] = /* ESC */ 5939d522f475Smrg{ 5940d522f475Smrg/* NUL SOH STX ETX */ 5941d522f475SmrgCASE_IGNORE, 5942d522f475SmrgCASE_IGNORE, 5943d522f475SmrgCASE_IGNORE, 5944d522f475SmrgCASE_IGNORE, 5945d522f475Smrg/* EOT ENQ ACK BEL */ 5946d522f475SmrgCASE_IGNORE, 5947d522f475SmrgCASE_ENQ, 5948d522f475SmrgCASE_IGNORE, 5949d522f475SmrgCASE_BELL, 5950d522f475Smrg/* BS HT NL VT */ 5951d522f475SmrgCASE_BS, 5952d522f475SmrgCASE_TAB, 5953d522f475SmrgCASE_VMOT, 5954d522f475SmrgCASE_VMOT, 59550bd37d32Smrg/* FF CR SO SI */ 5956d522f475SmrgCASE_VMOT, 5957d522f475SmrgCASE_CR, 5958d522f475SmrgCASE_SO, 5959d522f475SmrgCASE_SI, 5960d522f475Smrg/* DLE DC1 DC2 DC3 */ 5961d522f475SmrgCASE_IGNORE, 5962d522f475SmrgCASE_IGNORE, 5963d522f475SmrgCASE_IGNORE, 5964d522f475SmrgCASE_IGNORE, 5965d522f475Smrg/* DC4 NAK SYN ETB */ 5966d522f475SmrgCASE_IGNORE, 5967d522f475SmrgCASE_IGNORE, 5968d522f475SmrgCASE_IGNORE, 5969d522f475SmrgCASE_IGNORE, 5970d522f475Smrg/* CAN EM SUB ESC */ 5971d522f475SmrgCASE_GROUND_STATE, 5972d522f475SmrgCASE_IGNORE, 59735104ee6eSmrgCASE_SUB, 5974d522f475SmrgCASE_ESC, 5975d522f475Smrg/* FS GS RS US */ 5976d522f475SmrgCASE_IGNORE, 5977d522f475SmrgCASE_IGNORE, 5978d522f475SmrgCASE_IGNORE, 5979d522f475SmrgCASE_IGNORE, 5980d522f475Smrg/* SP ! " # */ 5981f2e35a3aSmrgCASE_ESC_SP_STATE, 5982d522f475SmrgCASE_ESC_IGNORE, 5983d522f475SmrgCASE_ESC_IGNORE, 5984f2e35a3aSmrgCASE_SCR_STATE, 5985d522f475Smrg/* $ % & ' */ 5986d522f475SmrgCASE_ESC_IGNORE, 5987f2e35a3aSmrgCASE_ESC_PERCENT, 5988d522f475SmrgCASE_ESC_IGNORE, 5989d522f475SmrgCASE_ESC_IGNORE, 5990d522f475Smrg/* ( ) * + */ 5991f2e35a3aSmrgCASE_SCS0_STATE, 5992f2e35a3aSmrgCASE_SCS1_STATE, 5993f2e35a3aSmrgCASE_SCS2_STATE, 5994f2e35a3aSmrgCASE_SCS3_STATE, 5995d522f475Smrg/* , - . / */ 5996d522f475SmrgCASE_ESC_IGNORE, 5997f2e35a3aSmrgCASE_SCS1A_STATE, 5998f2e35a3aSmrgCASE_SCS2A_STATE, 5999f2e35a3aSmrgCASE_SCS3A_STATE, 6000d522f475Smrg/* 0 1 2 3 */ 6001d522f475SmrgCASE_GROUND_STATE, 6002d522f475SmrgCASE_GROUND_STATE, 6003d522f475SmrgCASE_GROUND_STATE, 6004d522f475SmrgCASE_GROUND_STATE, 6005d522f475Smrg/* 4 5 6 7 */ 6006d522f475SmrgCASE_GROUND_STATE, 6007d522f475SmrgCASE_GROUND_STATE, 6008f2e35a3aSmrgCASE_DECBI, 6009f2e35a3aSmrgCASE_DECSC, 6010d522f475Smrg/* 8 9 : ; */ 6011f2e35a3aSmrgCASE_DECRC, 6012f2e35a3aSmrgCASE_DECFI, 6013d522f475SmrgCASE_GROUND_STATE, 6014d522f475SmrgCASE_GROUND_STATE, 6015d522f475Smrg/* < = > ? */ 6016d522f475SmrgCASE_GROUND_STATE, 6017f2e35a3aSmrgCASE_DECKPAM, 6018f2e35a3aSmrgCASE_DECKPNM, 6019d522f475SmrgCASE_GROUND_STATE, 6020d522f475Smrg/* @ A B C */ 6021d522f475SmrgCASE_GROUND_STATE, 6022d522f475SmrgCASE_GROUND_STATE, 6023d522f475SmrgCASE_GROUND_STATE, 6024d522f475SmrgCASE_GROUND_STATE, 6025d522f475Smrg/* D E F G */ 6026f2e35a3aSmrgCASE_IND, 6027f2e35a3aSmrgCASE_NEL, 6028f2e35a3aSmrgCASE_HP_BUGGY_LL, 6029d522f475SmrgCASE_GROUND_STATE, 6030d522f475Smrg/* H I J K */ 6031f2e35a3aSmrgCASE_HTS, 6032d522f475SmrgCASE_GROUND_STATE, 6033d522f475SmrgCASE_GROUND_STATE, 6034d522f475SmrgCASE_GROUND_STATE, 6035d522f475Smrg/* L M N O */ 6036d522f475SmrgCASE_GROUND_STATE, 6037f2e35a3aSmrgCASE_RI, 6038f2e35a3aSmrgCASE_SS2, 6039f2e35a3aSmrgCASE_SS3, 6040d522f475Smrg/* P Q R S */ 6041f2e35a3aSmrgCASE_DCS, 6042d522f475SmrgCASE_GROUND_STATE, 6043d522f475SmrgCASE_GROUND_STATE, 6044d522f475SmrgCASE_GROUND_STATE, 6045d522f475Smrg/* T U V W */ 6046d522f475SmrgCASE_GROUND_STATE, 6047d522f475SmrgCASE_GROUND_STATE, 6048f2e35a3aSmrgCASE_SPA, 6049f2e35a3aSmrgCASE_EPA, 6050d522f475Smrg/* X Y Z [ */ 6051f2e35a3aSmrgCASE_SOS, 6052d522f475SmrgCASE_GROUND_STATE, 6053f2e35a3aSmrgCASE_DECID, 6054f2e35a3aSmrgCASE_CSI_STATE, 6055d522f475Smrg/* \ ] ^ _ */ 6056f2e35a3aSmrgCASE_ST, 6057f2e35a3aSmrgCASE_OSC, 6058f2e35a3aSmrgCASE_PM, 6059f2e35a3aSmrgCASE_APC, 6060d522f475Smrg/* ` a b c */ 6061d522f475SmrgCASE_GROUND_STATE, 6062d522f475SmrgCASE_GROUND_STATE, 6063d522f475SmrgCASE_GROUND_STATE, 6064f2e35a3aSmrgCASE_RIS, 6065d522f475Smrg/* d e f g */ 6066d522f475SmrgCASE_GROUND_STATE, 6067d522f475SmrgCASE_GROUND_STATE, 6068d522f475SmrgCASE_GROUND_STATE, 6069d522f475SmrgCASE_GROUND_STATE, 6070d522f475Smrg/* h i j k */ 6071d522f475SmrgCASE_GROUND_STATE, 6072d522f475SmrgCASE_GROUND_STATE, 6073d522f475SmrgCASE_GROUND_STATE, 6074d522f475SmrgCASE_GROUND_STATE, 6075d522f475Smrg/* l m n o */ 6076f2e35a3aSmrgCASE_HP_MEM_LOCK, 6077f2e35a3aSmrgCASE_HP_MEM_UNLOCK, 6078f2e35a3aSmrgCASE_LS2, 6079f2e35a3aSmrgCASE_LS3, 6080d522f475Smrg/* p q r s */ 6081d522f475SmrgCASE_GROUND_STATE, 6082d522f475SmrgCASE_GROUND_STATE, 6083d522f475SmrgCASE_GROUND_STATE, 6084d522f475SmrgCASE_GROUND_STATE, 6085d522f475Smrg/* t u v w */ 6086d522f475SmrgCASE_GROUND_STATE, 6087d522f475SmrgCASE_GROUND_STATE, 6088d522f475SmrgCASE_GROUND_STATE, 6089d522f475SmrgCASE_GROUND_STATE, 6090d522f475Smrg/* x y z { */ 6091d522f475SmrgCASE_GROUND_STATE, 6092d522f475SmrgCASE_GROUND_STATE, 6093d522f475SmrgCASE_GROUND_STATE, 6094d522f475SmrgCASE_GROUND_STATE, 6095d522f475Smrg/* | } ~ DEL */ 6096f2e35a3aSmrgCASE_LS3R, 6097f2e35a3aSmrgCASE_LS2R, 6098f2e35a3aSmrgCASE_LS1R, 6099d522f475SmrgCASE_IGNORE, 6100d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 6101d522f475SmrgCASE_GROUND_STATE, 6102d522f475SmrgCASE_GROUND_STATE, 6103d522f475SmrgCASE_GROUND_STATE, 6104d522f475SmrgCASE_GROUND_STATE, 6105d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 6106d522f475SmrgCASE_IND, 6107d522f475SmrgCASE_NEL, 6108d522f475SmrgCASE_GROUND_STATE, 6109d522f475SmrgCASE_GROUND_STATE, 6110d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 6111d522f475SmrgCASE_HTS, 6112d522f475SmrgCASE_GROUND_STATE, 6113d522f475SmrgCASE_GROUND_STATE, 6114d522f475SmrgCASE_GROUND_STATE, 6115d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 6116d522f475SmrgCASE_GROUND_STATE, 6117d522f475SmrgCASE_RI, 6118d522f475SmrgCASE_SS2, 6119d522f475SmrgCASE_SS3, 6120d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 6121d522f475SmrgCASE_DCS, 6122d522f475SmrgCASE_GROUND_STATE, 6123d522f475SmrgCASE_GROUND_STATE, 6124d522f475SmrgCASE_GROUND_STATE, 6125d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 6126d522f475SmrgCASE_GROUND_STATE, 6127d522f475SmrgCASE_GROUND_STATE, 6128d522f475SmrgCASE_SPA, 6129d522f475SmrgCASE_EPA, 6130d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 6131d522f475SmrgCASE_SOS, 6132d522f475SmrgCASE_GROUND_STATE, 6133d522f475SmrgCASE_DECID, 6134d522f475SmrgCASE_CSI_STATE, 6135d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 6136d522f475SmrgCASE_ST, 6137d522f475SmrgCASE_OSC, 6138d522f475SmrgCASE_PM, 6139d522f475SmrgCASE_APC, 6140d522f475Smrg/* nobreakspace exclamdown cent sterling */ 6141f2e35a3aSmrgCASE_ESC_SP_STATE, 6142d522f475SmrgCASE_ESC_IGNORE, 6143d522f475SmrgCASE_ESC_IGNORE, 6144f2e35a3aSmrgCASE_SCR_STATE, 6145d522f475Smrg/* currency yen brokenbar section */ 6146d522f475SmrgCASE_ESC_IGNORE, 6147f2e35a3aSmrgCASE_ESC_PERCENT, 6148d522f475SmrgCASE_ESC_IGNORE, 6149d522f475SmrgCASE_ESC_IGNORE, 6150d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 6151f2e35a3aSmrgCASE_SCS0_STATE, 6152f2e35a3aSmrgCASE_SCS1_STATE, 6153f2e35a3aSmrgCASE_SCS2_STATE, 6154f2e35a3aSmrgCASE_SCS3_STATE, 6155d522f475Smrg/* notsign hyphen registered macron */ 6156d522f475SmrgCASE_ESC_IGNORE, 6157f2e35a3aSmrgCASE_SCS1A_STATE, 6158f2e35a3aSmrgCASE_SCS2A_STATE, 6159f2e35a3aSmrgCASE_SCS3A_STATE, 6160d522f475Smrg/* degree plusminus twosuperior threesuperior */ 6161d522f475SmrgCASE_GROUND_STATE, 6162d522f475SmrgCASE_GROUND_STATE, 6163d522f475SmrgCASE_GROUND_STATE, 6164d522f475SmrgCASE_GROUND_STATE, 6165d522f475Smrg/* acute mu paragraph periodcentered */ 6166d522f475SmrgCASE_GROUND_STATE, 6167d522f475SmrgCASE_GROUND_STATE, 6168f2e35a3aSmrgCASE_DECBI, 6169f2e35a3aSmrgCASE_DECSC, 6170d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 6171f2e35a3aSmrgCASE_DECRC, 6172f2e35a3aSmrgCASE_DECFI, 6173d522f475SmrgCASE_GROUND_STATE, 6174d522f475SmrgCASE_GROUND_STATE, 6175d522f475Smrg/* onequarter onehalf threequarters questiondown */ 6176d522f475SmrgCASE_GROUND_STATE, 6177f2e35a3aSmrgCASE_DECKPAM, 6178f2e35a3aSmrgCASE_DECKPNM, 6179d522f475SmrgCASE_GROUND_STATE, 6180d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 6181d522f475SmrgCASE_GROUND_STATE, 6182d522f475SmrgCASE_GROUND_STATE, 6183d522f475SmrgCASE_GROUND_STATE, 6184d522f475SmrgCASE_GROUND_STATE, 6185d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 6186f2e35a3aSmrgCASE_IND, 6187f2e35a3aSmrgCASE_NEL, 6188f2e35a3aSmrgCASE_HP_BUGGY_LL, 6189d522f475SmrgCASE_GROUND_STATE, 6190d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 6191f2e35a3aSmrgCASE_HTS, 6192d522f475SmrgCASE_GROUND_STATE, 6193d522f475SmrgCASE_GROUND_STATE, 6194d522f475SmrgCASE_GROUND_STATE, 6195d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 6196d522f475SmrgCASE_GROUND_STATE, 6197f2e35a3aSmrgCASE_RI, 6198f2e35a3aSmrgCASE_SS2, 6199f2e35a3aSmrgCASE_SS3, 6200d522f475Smrg/* Eth Ntilde Ograve Oacute */ 6201f2e35a3aSmrgCASE_DCS, 6202d522f475SmrgCASE_GROUND_STATE, 6203d522f475SmrgCASE_GROUND_STATE, 6204d522f475SmrgCASE_GROUND_STATE, 6205d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 6206d522f475SmrgCASE_GROUND_STATE, 6207d522f475SmrgCASE_GROUND_STATE, 6208f2e35a3aSmrgCASE_SPA, 6209f2e35a3aSmrgCASE_EPA, 6210d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 6211f2e35a3aSmrgCASE_SOS, 6212d522f475SmrgCASE_GROUND_STATE, 6213f2e35a3aSmrgCASE_DECID, 6214f2e35a3aSmrgCASE_CSI_STATE, 6215d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 6216f2e35a3aSmrgCASE_ST, 6217f2e35a3aSmrgCASE_OSC, 6218f2e35a3aSmrgCASE_PM, 6219f2e35a3aSmrgCASE_APC, 6220d522f475Smrg/* agrave aacute acircumflex atilde */ 6221d522f475SmrgCASE_GROUND_STATE, 6222d522f475SmrgCASE_GROUND_STATE, 6223d522f475SmrgCASE_GROUND_STATE, 6224f2e35a3aSmrgCASE_RIS, 6225d522f475Smrg/* adiaeresis aring ae ccedilla */ 6226d522f475SmrgCASE_GROUND_STATE, 6227d522f475SmrgCASE_GROUND_STATE, 6228d522f475SmrgCASE_GROUND_STATE, 6229d522f475SmrgCASE_GROUND_STATE, 6230d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 6231d522f475SmrgCASE_GROUND_STATE, 6232d522f475SmrgCASE_GROUND_STATE, 6233d522f475SmrgCASE_GROUND_STATE, 6234d522f475SmrgCASE_GROUND_STATE, 6235d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 6236f2e35a3aSmrgCASE_HP_MEM_LOCK, 6237f2e35a3aSmrgCASE_HP_MEM_UNLOCK, 6238f2e35a3aSmrgCASE_LS2, 6239f2e35a3aSmrgCASE_LS3, 6240d522f475Smrg/* eth ntilde ograve oacute */ 6241d522f475SmrgCASE_GROUND_STATE, 6242d522f475SmrgCASE_GROUND_STATE, 6243d522f475SmrgCASE_GROUND_STATE, 6244d522f475SmrgCASE_GROUND_STATE, 6245d522f475Smrg/* ocircumflex otilde odiaeresis division */ 6246d522f475SmrgCASE_GROUND_STATE, 6247d522f475SmrgCASE_GROUND_STATE, 6248d522f475SmrgCASE_GROUND_STATE, 6249d522f475SmrgCASE_GROUND_STATE, 6250d522f475Smrg/* oslash ugrave uacute ucircumflex */ 6251d522f475SmrgCASE_GROUND_STATE, 6252d522f475SmrgCASE_GROUND_STATE, 6253d522f475SmrgCASE_GROUND_STATE, 6254d522f475SmrgCASE_GROUND_STATE, 6255d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 6256f2e35a3aSmrgCASE_LS3R, 6257f2e35a3aSmrgCASE_LS2R, 6258f2e35a3aSmrgCASE_LS1R, 6259d522f475SmrgCASE_IGNORE, 6260d522f475Smrg}; 6261d522f475Smrg 62625104ee6eSmrgconst PARSE_T esc_sp_table[] = /* ESC SP */ 6263d522f475Smrg{ 6264d522f475Smrg/* NUL SOH STX ETX */ 6265d522f475SmrgCASE_IGNORE, 6266d522f475SmrgCASE_IGNORE, 6267d522f475SmrgCASE_IGNORE, 6268d522f475SmrgCASE_IGNORE, 6269d522f475Smrg/* EOT ENQ ACK BEL */ 6270d522f475SmrgCASE_IGNORE, 6271d522f475SmrgCASE_ENQ, 6272d522f475SmrgCASE_IGNORE, 6273d522f475SmrgCASE_BELL, 6274d522f475Smrg/* BS HT NL VT */ 6275d522f475SmrgCASE_BS, 6276d522f475SmrgCASE_TAB, 6277d522f475SmrgCASE_VMOT, 6278d522f475SmrgCASE_VMOT, 62790bd37d32Smrg/* FF CR SO SI */ 6280d522f475SmrgCASE_VMOT, 6281d522f475SmrgCASE_CR, 6282d522f475SmrgCASE_SO, 6283d522f475SmrgCASE_SI, 6284d522f475Smrg/* DLE DC1 DC2 DC3 */ 6285d522f475SmrgCASE_IGNORE, 6286d522f475SmrgCASE_IGNORE, 6287d522f475SmrgCASE_IGNORE, 6288d522f475SmrgCASE_IGNORE, 6289d522f475Smrg/* DC4 NAK SYN ETB */ 6290d522f475SmrgCASE_IGNORE, 6291d522f475SmrgCASE_IGNORE, 6292d522f475SmrgCASE_IGNORE, 6293d522f475SmrgCASE_IGNORE, 6294d522f475Smrg/* CAN EM SUB ESC */ 6295d522f475SmrgCASE_GROUND_STATE, 6296d522f475SmrgCASE_IGNORE, 62975104ee6eSmrgCASE_SUB, 6298d522f475SmrgCASE_ESC, 6299d522f475Smrg/* FS GS RS US */ 6300d522f475SmrgCASE_IGNORE, 6301d522f475SmrgCASE_IGNORE, 6302d522f475SmrgCASE_IGNORE, 6303d522f475SmrgCASE_IGNORE, 6304d522f475Smrg/* SP ! " # */ 6305d522f475SmrgCASE_ESC_IGNORE, 6306d522f475SmrgCASE_ESC_IGNORE, 6307d522f475SmrgCASE_ESC_IGNORE, 6308d522f475SmrgCASE_ESC_IGNORE, 6309d522f475Smrg/* $ % & ' */ 6310d522f475SmrgCASE_ESC_IGNORE, 6311d522f475SmrgCASE_ESC_IGNORE, 6312d522f475SmrgCASE_ESC_IGNORE, 6313d522f475SmrgCASE_ESC_IGNORE, 6314d522f475Smrg/* ( ) * + */ 6315d522f475SmrgCASE_ESC_IGNORE, 6316d522f475SmrgCASE_ESC_IGNORE, 6317d522f475SmrgCASE_ESC_IGNORE, 6318d522f475SmrgCASE_ESC_IGNORE, 6319d522f475Smrg/* , - . / */ 6320d522f475SmrgCASE_ESC_IGNORE, 6321d522f475SmrgCASE_ESC_IGNORE, 6322d522f475SmrgCASE_ESC_IGNORE, 6323d522f475SmrgCASE_ESC_IGNORE, 6324d522f475Smrg/* 0 1 2 3 */ 6325d522f475SmrgCASE_GROUND_STATE, 6326d522f475SmrgCASE_GROUND_STATE, 6327d522f475SmrgCASE_GROUND_STATE, 6328f2e35a3aSmrgCASE_GROUND_STATE, 6329d522f475Smrg/* 4 5 6 7 */ 6330f2e35a3aSmrgCASE_GROUND_STATE, 6331f2e35a3aSmrgCASE_GROUND_STATE, 6332f2e35a3aSmrgCASE_GROUND_STATE, 6333d522f475SmrgCASE_GROUND_STATE, 6334d522f475Smrg/* 8 9 : ; */ 6335f2e35a3aSmrgCASE_GROUND_STATE, 6336d522f475SmrgCASE_GROUND_STATE, 6337d522f475SmrgCASE_GROUND_STATE, 6338d522f475SmrgCASE_GROUND_STATE, 6339d522f475Smrg/* < = > ? */ 6340d522f475SmrgCASE_GROUND_STATE, 6341d522f475SmrgCASE_GROUND_STATE, 6342d522f475SmrgCASE_GROUND_STATE, 6343d522f475SmrgCASE_GROUND_STATE, 6344d522f475Smrg/* @ A B C */ 6345d522f475SmrgCASE_GROUND_STATE, 6346d522f475SmrgCASE_GROUND_STATE, 6347d522f475SmrgCASE_GROUND_STATE, 6348d522f475SmrgCASE_GROUND_STATE, 6349d522f475Smrg/* D E F G */ 6350d522f475SmrgCASE_GROUND_STATE, 6351d522f475SmrgCASE_GROUND_STATE, 6352f2e35a3aSmrgCASE_S7C1T, 6353f2e35a3aSmrgCASE_S8C1T, 6354d522f475Smrg/* H I J K */ 6355d522f475SmrgCASE_GROUND_STATE, 6356d522f475SmrgCASE_GROUND_STATE, 6357d522f475SmrgCASE_GROUND_STATE, 6358d522f475SmrgCASE_GROUND_STATE, 6359d522f475Smrg/* L M N O */ 6360f2e35a3aSmrgCASE_ANSI_LEVEL_1, 6361f2e35a3aSmrgCASE_ANSI_LEVEL_2, 6362f2e35a3aSmrgCASE_ANSI_LEVEL_3, 6363d522f475SmrgCASE_GROUND_STATE, 6364d522f475Smrg/* P Q R S */ 6365d522f475SmrgCASE_GROUND_STATE, 6366d522f475SmrgCASE_GROUND_STATE, 6367d522f475SmrgCASE_GROUND_STATE, 6368d522f475SmrgCASE_GROUND_STATE, 6369d522f475Smrg/* T U V W */ 6370d522f475SmrgCASE_GROUND_STATE, 6371d522f475SmrgCASE_GROUND_STATE, 6372d522f475SmrgCASE_GROUND_STATE, 6373d522f475SmrgCASE_GROUND_STATE, 6374d522f475Smrg/* X Y Z [ */ 6375d522f475SmrgCASE_GROUND_STATE, 6376d522f475SmrgCASE_GROUND_STATE, 6377d522f475SmrgCASE_GROUND_STATE, 6378d522f475SmrgCASE_GROUND_STATE, 6379d522f475Smrg/* \ ] ^ _ */ 6380d522f475SmrgCASE_GROUND_STATE, 6381d522f475SmrgCASE_GROUND_STATE, 6382d522f475SmrgCASE_GROUND_STATE, 6383d522f475SmrgCASE_GROUND_STATE, 6384d522f475Smrg/* ` a b c */ 6385d522f475SmrgCASE_GROUND_STATE, 6386d522f475SmrgCASE_GROUND_STATE, 6387d522f475SmrgCASE_GROUND_STATE, 6388d522f475SmrgCASE_GROUND_STATE, 6389d522f475Smrg/* d e f g */ 6390d522f475SmrgCASE_GROUND_STATE, 6391d522f475SmrgCASE_GROUND_STATE, 6392d522f475SmrgCASE_GROUND_STATE, 6393d522f475SmrgCASE_GROUND_STATE, 6394d522f475Smrg/* h i j k */ 6395d522f475SmrgCASE_GROUND_STATE, 6396d522f475SmrgCASE_GROUND_STATE, 6397d522f475SmrgCASE_GROUND_STATE, 6398d522f475SmrgCASE_GROUND_STATE, 6399d522f475Smrg/* l m n o */ 6400d522f475SmrgCASE_GROUND_STATE, 6401d522f475SmrgCASE_GROUND_STATE, 6402d522f475SmrgCASE_GROUND_STATE, 6403d522f475SmrgCASE_GROUND_STATE, 6404d522f475Smrg/* p q r s */ 6405d522f475SmrgCASE_GROUND_STATE, 6406d522f475SmrgCASE_GROUND_STATE, 6407d522f475SmrgCASE_GROUND_STATE, 6408d522f475SmrgCASE_GROUND_STATE, 6409d522f475Smrg/* t u v w */ 6410d522f475SmrgCASE_GROUND_STATE, 6411d522f475SmrgCASE_GROUND_STATE, 6412d522f475SmrgCASE_GROUND_STATE, 6413d522f475SmrgCASE_GROUND_STATE, 6414d522f475Smrg/* x y z { */ 6415d522f475SmrgCASE_GROUND_STATE, 6416d522f475SmrgCASE_GROUND_STATE, 6417d522f475SmrgCASE_GROUND_STATE, 6418d522f475SmrgCASE_GROUND_STATE, 6419d522f475Smrg/* | } ~ DEL */ 6420d522f475SmrgCASE_GROUND_STATE, 6421d522f475SmrgCASE_GROUND_STATE, 6422d522f475SmrgCASE_GROUND_STATE, 6423d522f475SmrgCASE_IGNORE, 6424d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 6425d522f475SmrgCASE_GROUND_STATE, 6426d522f475SmrgCASE_GROUND_STATE, 6427d522f475SmrgCASE_GROUND_STATE, 6428d522f475SmrgCASE_GROUND_STATE, 6429d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 6430d522f475SmrgCASE_IND, 6431d522f475SmrgCASE_NEL, 6432d522f475SmrgCASE_GROUND_STATE, 6433d522f475SmrgCASE_GROUND_STATE, 6434d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 6435d522f475SmrgCASE_HTS, 6436d522f475SmrgCASE_GROUND_STATE, 6437d522f475SmrgCASE_GROUND_STATE, 6438d522f475SmrgCASE_GROUND_STATE, 6439d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 6440d522f475SmrgCASE_GROUND_STATE, 6441d522f475SmrgCASE_RI, 6442d522f475SmrgCASE_SS2, 6443d522f475SmrgCASE_SS3, 6444d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 6445d522f475SmrgCASE_DCS, 6446d522f475SmrgCASE_GROUND_STATE, 6447d522f475SmrgCASE_GROUND_STATE, 6448d522f475SmrgCASE_GROUND_STATE, 6449d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 6450d522f475SmrgCASE_GROUND_STATE, 6451d522f475SmrgCASE_GROUND_STATE, 6452d522f475SmrgCASE_SPA, 6453d522f475SmrgCASE_EPA, 6454d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 6455d522f475SmrgCASE_SOS, 6456d522f475SmrgCASE_GROUND_STATE, 6457d522f475SmrgCASE_DECID, 6458d522f475SmrgCASE_CSI_STATE, 6459d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 6460d522f475SmrgCASE_ST, 6461d522f475SmrgCASE_OSC, 6462d522f475SmrgCASE_PM, 6463d522f475SmrgCASE_APC, 6464d522f475Smrg/* nobreakspace exclamdown cent sterling */ 6465d522f475SmrgCASE_ESC_IGNORE, 6466d522f475SmrgCASE_ESC_IGNORE, 6467d522f475SmrgCASE_ESC_IGNORE, 6468d522f475SmrgCASE_ESC_IGNORE, 6469d522f475Smrg/* currency yen brokenbar section */ 6470d522f475SmrgCASE_ESC_IGNORE, 6471d522f475SmrgCASE_ESC_IGNORE, 6472d522f475SmrgCASE_ESC_IGNORE, 6473d522f475SmrgCASE_ESC_IGNORE, 6474d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 6475d522f475SmrgCASE_ESC_IGNORE, 6476d522f475SmrgCASE_ESC_IGNORE, 6477d522f475SmrgCASE_ESC_IGNORE, 6478d522f475SmrgCASE_ESC_IGNORE, 6479d522f475Smrg/* notsign hyphen registered macron */ 6480d522f475SmrgCASE_ESC_IGNORE, 6481d522f475SmrgCASE_ESC_IGNORE, 6482d522f475SmrgCASE_ESC_IGNORE, 6483d522f475SmrgCASE_ESC_IGNORE, 6484d522f475Smrg/* degree plusminus twosuperior threesuperior */ 6485d522f475SmrgCASE_GROUND_STATE, 6486d522f475SmrgCASE_GROUND_STATE, 6487d522f475SmrgCASE_GROUND_STATE, 6488f2e35a3aSmrgCASE_GROUND_STATE, 6489d522f475Smrg/* acute mu paragraph periodcentered */ 6490f2e35a3aSmrgCASE_GROUND_STATE, 6491f2e35a3aSmrgCASE_GROUND_STATE, 6492f2e35a3aSmrgCASE_GROUND_STATE, 6493d522f475SmrgCASE_GROUND_STATE, 6494d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 6495f2e35a3aSmrgCASE_GROUND_STATE, 6496d522f475SmrgCASE_GROUND_STATE, 6497d522f475SmrgCASE_GROUND_STATE, 6498d522f475SmrgCASE_GROUND_STATE, 6499d522f475Smrg/* onequarter onehalf threequarters questiondown */ 6500d522f475SmrgCASE_GROUND_STATE, 6501d522f475SmrgCASE_GROUND_STATE, 6502d522f475SmrgCASE_GROUND_STATE, 6503d522f475SmrgCASE_GROUND_STATE, 6504d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 6505d522f475SmrgCASE_GROUND_STATE, 6506d522f475SmrgCASE_GROUND_STATE, 6507d522f475SmrgCASE_GROUND_STATE, 6508d522f475SmrgCASE_GROUND_STATE, 6509d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 6510d522f475SmrgCASE_GROUND_STATE, 6511d522f475SmrgCASE_GROUND_STATE, 6512f2e35a3aSmrgCASE_S7C1T, 6513f2e35a3aSmrgCASE_S8C1T, 6514d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 6515d522f475SmrgCASE_GROUND_STATE, 6516d522f475SmrgCASE_GROUND_STATE, 6517d522f475SmrgCASE_GROUND_STATE, 6518d522f475SmrgCASE_GROUND_STATE, 6519d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 6520f2e35a3aSmrgCASE_ANSI_LEVEL_1, 6521f2e35a3aSmrgCASE_ANSI_LEVEL_2, 6522f2e35a3aSmrgCASE_ANSI_LEVEL_3, 6523d522f475SmrgCASE_GROUND_STATE, 6524d522f475Smrg/* Eth Ntilde Ograve Oacute */ 6525d522f475SmrgCASE_GROUND_STATE, 6526d522f475SmrgCASE_GROUND_STATE, 6527d522f475SmrgCASE_GROUND_STATE, 6528d522f475SmrgCASE_GROUND_STATE, 6529d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 6530d522f475SmrgCASE_GROUND_STATE, 6531d522f475SmrgCASE_GROUND_STATE, 6532d522f475SmrgCASE_GROUND_STATE, 6533d522f475SmrgCASE_GROUND_STATE, 6534d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 6535d522f475SmrgCASE_GROUND_STATE, 6536d522f475SmrgCASE_GROUND_STATE, 6537d522f475SmrgCASE_GROUND_STATE, 6538d522f475SmrgCASE_GROUND_STATE, 6539d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 6540d522f475SmrgCASE_GROUND_STATE, 6541d522f475SmrgCASE_GROUND_STATE, 6542d522f475SmrgCASE_GROUND_STATE, 6543d522f475SmrgCASE_GROUND_STATE, 6544d522f475Smrg/* agrave aacute acircumflex atilde */ 6545d522f475SmrgCASE_GROUND_STATE, 6546d522f475SmrgCASE_GROUND_STATE, 6547d522f475SmrgCASE_GROUND_STATE, 6548d522f475SmrgCASE_GROUND_STATE, 6549d522f475Smrg/* adiaeresis aring ae ccedilla */ 6550d522f475SmrgCASE_GROUND_STATE, 6551d522f475SmrgCASE_GROUND_STATE, 6552d522f475SmrgCASE_GROUND_STATE, 6553d522f475SmrgCASE_GROUND_STATE, 6554d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 6555d522f475SmrgCASE_GROUND_STATE, 6556d522f475SmrgCASE_GROUND_STATE, 6557d522f475SmrgCASE_GROUND_STATE, 6558d522f475SmrgCASE_GROUND_STATE, 6559d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 6560d522f475SmrgCASE_GROUND_STATE, 6561d522f475SmrgCASE_GROUND_STATE, 6562d522f475SmrgCASE_GROUND_STATE, 6563d522f475SmrgCASE_GROUND_STATE, 6564d522f475Smrg/* eth ntilde ograve oacute */ 6565d522f475SmrgCASE_GROUND_STATE, 6566d522f475SmrgCASE_GROUND_STATE, 6567d522f475SmrgCASE_GROUND_STATE, 6568d522f475SmrgCASE_GROUND_STATE, 6569d522f475Smrg/* ocircumflex otilde odiaeresis division */ 6570d522f475SmrgCASE_GROUND_STATE, 6571d522f475SmrgCASE_GROUND_STATE, 6572d522f475SmrgCASE_GROUND_STATE, 6573d522f475SmrgCASE_GROUND_STATE, 6574d522f475Smrg/* oslash ugrave uacute ucircumflex */ 6575d522f475SmrgCASE_GROUND_STATE, 6576d522f475SmrgCASE_GROUND_STATE, 6577d522f475SmrgCASE_GROUND_STATE, 6578d522f475SmrgCASE_GROUND_STATE, 6579d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 6580d522f475SmrgCASE_GROUND_STATE, 6581d522f475SmrgCASE_GROUND_STATE, 6582d522f475SmrgCASE_GROUND_STATE, 6583d522f475SmrgCASE_IGNORE, 6584d522f475Smrg}; 6585d522f475Smrg 65865104ee6eSmrgconst PARSE_T scrtable[] = /* ESC # */ 6587d522f475Smrg{ 6588d522f475Smrg/* NUL SOH STX ETX */ 6589d522f475SmrgCASE_IGNORE, 6590d522f475SmrgCASE_IGNORE, 6591d522f475SmrgCASE_IGNORE, 6592d522f475SmrgCASE_IGNORE, 6593d522f475Smrg/* EOT ENQ ACK BEL */ 6594d522f475SmrgCASE_IGNORE, 6595d522f475SmrgCASE_ENQ, 6596d522f475SmrgCASE_IGNORE, 6597d522f475SmrgCASE_BELL, 6598d522f475Smrg/* BS HT NL VT */ 6599d522f475SmrgCASE_BS, 6600d522f475SmrgCASE_TAB, 6601d522f475SmrgCASE_VMOT, 6602d522f475SmrgCASE_VMOT, 66030bd37d32Smrg/* FF CR SO SI */ 6604d522f475SmrgCASE_VMOT, 6605d522f475SmrgCASE_CR, 6606d522f475SmrgCASE_SO, 6607d522f475SmrgCASE_SI, 6608d522f475Smrg/* DLE DC1 DC2 DC3 */ 6609d522f475SmrgCASE_IGNORE, 6610d522f475SmrgCASE_IGNORE, 6611d522f475SmrgCASE_IGNORE, 6612d522f475SmrgCASE_IGNORE, 6613d522f475Smrg/* DC4 NAK SYN ETB */ 6614d522f475SmrgCASE_IGNORE, 6615d522f475SmrgCASE_IGNORE, 6616d522f475SmrgCASE_IGNORE, 6617d522f475SmrgCASE_IGNORE, 6618d522f475Smrg/* CAN EM SUB ESC */ 6619d522f475SmrgCASE_GROUND_STATE, 6620d522f475SmrgCASE_IGNORE, 66215104ee6eSmrgCASE_SUB, 6622d522f475SmrgCASE_ESC, 6623d522f475Smrg/* FS GS RS US */ 6624d522f475SmrgCASE_IGNORE, 6625d522f475SmrgCASE_IGNORE, 6626d522f475SmrgCASE_IGNORE, 6627d522f475SmrgCASE_IGNORE, 6628d522f475Smrg/* SP ! " # */ 6629d522f475SmrgCASE_ESC_IGNORE, 6630d522f475SmrgCASE_ESC_IGNORE, 6631d522f475SmrgCASE_ESC_IGNORE, 6632d522f475SmrgCASE_ESC_IGNORE, 6633d522f475Smrg/* $ % & ' */ 6634d522f475SmrgCASE_ESC_IGNORE, 6635f2e35a3aSmrgCASE_ESC_IGNORE, 6636d522f475SmrgCASE_ESC_IGNORE, 6637d522f475SmrgCASE_ESC_IGNORE, 6638d522f475Smrg/* ( ) * + */ 6639d522f475SmrgCASE_ESC_IGNORE, 6640d522f475SmrgCASE_ESC_IGNORE, 6641d522f475SmrgCASE_ESC_IGNORE, 6642d522f475SmrgCASE_ESC_IGNORE, 6643d522f475Smrg/* , - . / */ 6644d522f475SmrgCASE_ESC_IGNORE, 6645d522f475SmrgCASE_ESC_IGNORE, 6646d522f475SmrgCASE_ESC_IGNORE, 6647d522f475SmrgCASE_ESC_IGNORE, 6648d522f475Smrg/* 0 1 2 3 */ 6649d522f475SmrgCASE_GROUND_STATE, 6650f2e35a3aSmrgCASE_GROUND_STATE, 6651f2e35a3aSmrgCASE_GROUND_STATE, 6652f2e35a3aSmrgCASE_DECDHL, 6653d522f475Smrg/* 4 5 6 7 */ 6654f2e35a3aSmrgCASE_DECDHL, 6655f2e35a3aSmrgCASE_DECSWL, 6656f2e35a3aSmrgCASE_DECDWL, 6657d522f475SmrgCASE_GROUND_STATE, 6658f2e35a3aSmrg/* 8 9 : ; */ 6659f2e35a3aSmrgCASE_DECALN, 6660d522f475SmrgCASE_GROUND_STATE, 6661d522f475SmrgCASE_GROUND_STATE, 6662d522f475SmrgCASE_GROUND_STATE, 6663d522f475Smrg/* < = > ? */ 6664f2e35a3aSmrgCASE_GROUND_STATE, 6665f2e35a3aSmrgCASE_GROUND_STATE, 6666f2e35a3aSmrgCASE_GROUND_STATE, 6667d522f475SmrgCASE_GROUND_STATE, 6668d522f475Smrg/* @ A B C */ 6669d522f475SmrgCASE_GROUND_STATE, 6670f2e35a3aSmrgCASE_GROUND_STATE, 6671f2e35a3aSmrgCASE_GROUND_STATE, 6672f2e35a3aSmrgCASE_GROUND_STATE, 6673d522f475Smrg/* D E F G */ 6674d522f475SmrgCASE_GROUND_STATE, 6675f2e35a3aSmrgCASE_GROUND_STATE, 6676d522f475SmrgCASE_GROUND_STATE, 6677d522f475SmrgCASE_GROUND_STATE, 6678d522f475Smrg/* H I J K */ 6679d522f475SmrgCASE_GROUND_STATE, 6680d522f475SmrgCASE_GROUND_STATE, 6681f2e35a3aSmrgCASE_GROUND_STATE, 6682f2e35a3aSmrgCASE_GROUND_STATE, 6683d522f475Smrg/* L M N O */ 6684d522f475SmrgCASE_GROUND_STATE, 6685d522f475SmrgCASE_GROUND_STATE, 6686d522f475SmrgCASE_GROUND_STATE, 6687d522f475SmrgCASE_GROUND_STATE, 6688d522f475Smrg/* P Q R S */ 6689d522f475SmrgCASE_GROUND_STATE, 6690f2e35a3aSmrgCASE_GROUND_STATE, 6691f2e35a3aSmrgCASE_GROUND_STATE, 6692d522f475SmrgCASE_GROUND_STATE, 6693d522f475Smrg/* T U V W */ 6694d522f475SmrgCASE_GROUND_STATE, 6695d522f475SmrgCASE_GROUND_STATE, 6696d522f475SmrgCASE_GROUND_STATE, 6697d522f475SmrgCASE_GROUND_STATE, 6698d522f475Smrg/* X Y Z [ */ 6699d522f475SmrgCASE_GROUND_STATE, 6700f2e35a3aSmrgCASE_GROUND_STATE, 6701f2e35a3aSmrgCASE_GROUND_STATE, 6702d522f475SmrgCASE_GROUND_STATE, 6703d522f475Smrg/* \ ] ^ _ */ 6704d522f475SmrgCASE_GROUND_STATE, 6705d522f475SmrgCASE_GROUND_STATE, 6706d522f475SmrgCASE_GROUND_STATE, 6707d522f475SmrgCASE_GROUND_STATE, 6708d522f475Smrg/* ` a b c */ 6709f2e35a3aSmrgCASE_GROUND_STATE, 6710d522f475SmrgCASE_GROUND_STATE, 6711d522f475SmrgCASE_GROUND_STATE, 6712d522f475SmrgCASE_GROUND_STATE, 6713d522f475Smrg/* d e f g */ 6714d522f475SmrgCASE_GROUND_STATE, 6715d522f475SmrgCASE_GROUND_STATE, 6716d522f475SmrgCASE_GROUND_STATE, 6717d522f475SmrgCASE_GROUND_STATE, 6718d522f475Smrg/* h i j k */ 6719d522f475SmrgCASE_GROUND_STATE, 6720d522f475SmrgCASE_GROUND_STATE, 6721d522f475SmrgCASE_GROUND_STATE, 6722d522f475SmrgCASE_GROUND_STATE, 6723d522f475Smrg/* l m n o */ 6724d522f475SmrgCASE_GROUND_STATE, 6725d522f475SmrgCASE_GROUND_STATE, 6726d522f475SmrgCASE_GROUND_STATE, 6727d522f475SmrgCASE_GROUND_STATE, 6728d522f475Smrg/* p q r s */ 6729d522f475SmrgCASE_GROUND_STATE, 6730d522f475SmrgCASE_GROUND_STATE, 6731d522f475SmrgCASE_GROUND_STATE, 6732d522f475SmrgCASE_GROUND_STATE, 6733d522f475Smrg/* t u v w */ 6734d522f475SmrgCASE_GROUND_STATE, 6735d522f475SmrgCASE_GROUND_STATE, 6736d522f475SmrgCASE_GROUND_STATE, 6737d522f475SmrgCASE_GROUND_STATE, 6738d522f475Smrg/* x y z { */ 6739d522f475SmrgCASE_GROUND_STATE, 6740d522f475SmrgCASE_GROUND_STATE, 6741d522f475SmrgCASE_GROUND_STATE, 6742d522f475SmrgCASE_GROUND_STATE, 6743d522f475Smrg/* | } ~ DEL */ 6744d522f475SmrgCASE_GROUND_STATE, 6745d522f475SmrgCASE_GROUND_STATE, 6746d522f475SmrgCASE_GROUND_STATE, 6747d522f475SmrgCASE_IGNORE, 6748d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 6749d522f475SmrgCASE_GROUND_STATE, 6750d522f475SmrgCASE_GROUND_STATE, 6751d522f475SmrgCASE_GROUND_STATE, 6752d522f475SmrgCASE_GROUND_STATE, 6753d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 6754d522f475SmrgCASE_IND, 6755d522f475SmrgCASE_NEL, 6756d522f475SmrgCASE_GROUND_STATE, 6757d522f475SmrgCASE_GROUND_STATE, 6758d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 6759d522f475SmrgCASE_HTS, 6760d522f475SmrgCASE_GROUND_STATE, 6761d522f475SmrgCASE_GROUND_STATE, 6762d522f475SmrgCASE_GROUND_STATE, 6763d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 6764d522f475SmrgCASE_GROUND_STATE, 6765d522f475SmrgCASE_RI, 6766d522f475SmrgCASE_SS2, 6767d522f475SmrgCASE_SS3, 6768d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 6769d522f475SmrgCASE_DCS, 6770d522f475SmrgCASE_GROUND_STATE, 6771d522f475SmrgCASE_GROUND_STATE, 6772d522f475SmrgCASE_GROUND_STATE, 6773d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 6774d522f475SmrgCASE_GROUND_STATE, 6775d522f475SmrgCASE_GROUND_STATE, 6776d522f475SmrgCASE_SPA, 6777d522f475SmrgCASE_EPA, 6778d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 6779d522f475SmrgCASE_SOS, 6780d522f475SmrgCASE_GROUND_STATE, 6781d522f475SmrgCASE_DECID, 6782d522f475SmrgCASE_CSI_STATE, 6783d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 6784d522f475SmrgCASE_ST, 6785d522f475SmrgCASE_OSC, 6786d522f475SmrgCASE_PM, 6787d522f475SmrgCASE_APC, 6788d522f475Smrg/* nobreakspace exclamdown cent sterling */ 6789d522f475SmrgCASE_ESC_IGNORE, 6790d522f475SmrgCASE_ESC_IGNORE, 6791d522f475SmrgCASE_ESC_IGNORE, 6792d522f475SmrgCASE_ESC_IGNORE, 6793d522f475Smrg/* currency yen brokenbar section */ 6794d522f475SmrgCASE_ESC_IGNORE, 6795f2e35a3aSmrgCASE_ESC_IGNORE, 6796d522f475SmrgCASE_ESC_IGNORE, 6797d522f475SmrgCASE_ESC_IGNORE, 6798d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 6799d522f475SmrgCASE_ESC_IGNORE, 6800d522f475SmrgCASE_ESC_IGNORE, 6801d522f475SmrgCASE_ESC_IGNORE, 6802d522f475SmrgCASE_ESC_IGNORE, 6803d522f475Smrg/* notsign hyphen registered macron */ 6804d522f475SmrgCASE_ESC_IGNORE, 6805d522f475SmrgCASE_ESC_IGNORE, 6806d522f475SmrgCASE_ESC_IGNORE, 6807d522f475SmrgCASE_ESC_IGNORE, 6808d522f475Smrg/* degree plusminus twosuperior threesuperior */ 6809d522f475SmrgCASE_GROUND_STATE, 6810f2e35a3aSmrgCASE_GROUND_STATE, 6811f2e35a3aSmrgCASE_GROUND_STATE, 6812f2e35a3aSmrgCASE_DECDHL, 6813d522f475Smrg/* acute mu paragraph periodcentered */ 6814f2e35a3aSmrgCASE_DECDHL, 6815f2e35a3aSmrgCASE_DECSWL, 6816f2e35a3aSmrgCASE_DECDWL, 6817d522f475SmrgCASE_GROUND_STATE, 6818f2e35a3aSmrg/* cedilla onesuperior masculine guillemotright */ 6819f2e35a3aSmrgCASE_DECALN, 6820d522f475SmrgCASE_GROUND_STATE, 6821d522f475SmrgCASE_GROUND_STATE, 6822d522f475SmrgCASE_GROUND_STATE, 6823d522f475Smrg/* onequarter onehalf threequarters questiondown */ 6824f2e35a3aSmrgCASE_GROUND_STATE, 6825f2e35a3aSmrgCASE_GROUND_STATE, 6826f2e35a3aSmrgCASE_GROUND_STATE, 6827d522f475SmrgCASE_GROUND_STATE, 6828d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 6829d522f475SmrgCASE_GROUND_STATE, 6830f2e35a3aSmrgCASE_GROUND_STATE, 6831f2e35a3aSmrgCASE_GROUND_STATE, 6832f2e35a3aSmrgCASE_GROUND_STATE, 6833d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 6834d522f475SmrgCASE_GROUND_STATE, 6835f2e35a3aSmrgCASE_GROUND_STATE, 6836d522f475SmrgCASE_GROUND_STATE, 6837d522f475SmrgCASE_GROUND_STATE, 6838d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 6839d522f475SmrgCASE_GROUND_STATE, 6840d522f475SmrgCASE_GROUND_STATE, 6841f2e35a3aSmrgCASE_GROUND_STATE, 6842f2e35a3aSmrgCASE_GROUND_STATE, 6843d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 6844d522f475SmrgCASE_GROUND_STATE, 6845d522f475SmrgCASE_GROUND_STATE, 6846d522f475SmrgCASE_GROUND_STATE, 6847d522f475SmrgCASE_GROUND_STATE, 6848d522f475Smrg/* Eth Ntilde Ograve Oacute */ 6849d522f475SmrgCASE_GROUND_STATE, 6850d522f475SmrgCASE_GROUND_STATE, 6851f2e35a3aSmrgCASE_GROUND_STATE, 6852f2e35a3aSmrgCASE_GROUND_STATE, 6853f2e35a3aSmrg/* Ocircumflex Otilde Odiaeresis multiply */ 6854f2e35a3aSmrgCASE_GROUND_STATE, 6855f2e35a3aSmrgCASE_GROUND_STATE, 6856f2e35a3aSmrgCASE_GROUND_STATE, 6857f2e35a3aSmrgCASE_GROUND_STATE, 6858f2e35a3aSmrg/* Ooblique Ugrave Uacute Ucircumflex */ 6859f2e35a3aSmrgCASE_GROUND_STATE, 6860f2e35a3aSmrgCASE_GROUND_STATE, 6861f2e35a3aSmrgCASE_GROUND_STATE, 6862f2e35a3aSmrgCASE_GROUND_STATE, 6863f2e35a3aSmrg/* Udiaeresis Yacute Thorn ssharp */ 6864f2e35a3aSmrgCASE_GROUND_STATE, 6865f2e35a3aSmrgCASE_GROUND_STATE, 6866f2e35a3aSmrgCASE_GROUND_STATE, 6867f2e35a3aSmrgCASE_GROUND_STATE, 6868f2e35a3aSmrg/* agrave aacute acircumflex atilde */ 6869f2e35a3aSmrgCASE_GROUND_STATE, 6870f2e35a3aSmrgCASE_GROUND_STATE, 6871f2e35a3aSmrgCASE_GROUND_STATE, 6872f2e35a3aSmrgCASE_GROUND_STATE, 6873f2e35a3aSmrg/* adiaeresis aring ae ccedilla */ 6874f2e35a3aSmrgCASE_GROUND_STATE, 6875f2e35a3aSmrgCASE_GROUND_STATE, 6876f2e35a3aSmrgCASE_GROUND_STATE, 6877f2e35a3aSmrgCASE_GROUND_STATE, 6878f2e35a3aSmrg/* egrave eacute ecircumflex ediaeresis */ 6879f2e35a3aSmrgCASE_GROUND_STATE, 6880f2e35a3aSmrgCASE_GROUND_STATE, 6881f2e35a3aSmrgCASE_GROUND_STATE, 6882f2e35a3aSmrgCASE_GROUND_STATE, 6883f2e35a3aSmrg/* igrave iacute icircumflex idiaeresis */ 6884f2e35a3aSmrgCASE_GROUND_STATE, 6885f2e35a3aSmrgCASE_GROUND_STATE, 6886f2e35a3aSmrgCASE_GROUND_STATE, 6887f2e35a3aSmrgCASE_GROUND_STATE, 6888f2e35a3aSmrg/* eth ntilde ograve oacute */ 6889f2e35a3aSmrgCASE_GROUND_STATE, 6890f2e35a3aSmrgCASE_GROUND_STATE, 6891f2e35a3aSmrgCASE_GROUND_STATE, 6892f2e35a3aSmrgCASE_GROUND_STATE, 6893f2e35a3aSmrg/* ocircumflex otilde odiaeresis division */ 6894f2e35a3aSmrgCASE_GROUND_STATE, 6895f2e35a3aSmrgCASE_GROUND_STATE, 6896f2e35a3aSmrgCASE_GROUND_STATE, 6897f2e35a3aSmrgCASE_GROUND_STATE, 6898f2e35a3aSmrg/* oslash ugrave uacute ucircumflex */ 6899f2e35a3aSmrgCASE_GROUND_STATE, 6900f2e35a3aSmrgCASE_GROUND_STATE, 6901f2e35a3aSmrgCASE_GROUND_STATE, 6902f2e35a3aSmrgCASE_GROUND_STATE, 6903f2e35a3aSmrg/* udiaeresis yacute thorn ydiaeresis */ 6904f2e35a3aSmrgCASE_GROUND_STATE, 6905f2e35a3aSmrgCASE_GROUND_STATE, 6906f2e35a3aSmrgCASE_GROUND_STATE, 6907f2e35a3aSmrgCASE_IGNORE, 6908f2e35a3aSmrg}; 6909f2e35a3aSmrg 69105104ee6eSmrgconst PARSE_T scstable[] = /* ESC ( etc. */ 6911f2e35a3aSmrg{ 6912f2e35a3aSmrg/* NUL SOH STX ETX */ 6913f2e35a3aSmrgCASE_IGNORE, 6914f2e35a3aSmrgCASE_IGNORE, 6915f2e35a3aSmrgCASE_IGNORE, 6916f2e35a3aSmrgCASE_IGNORE, 6917f2e35a3aSmrg/* EOT ENQ ACK BEL */ 6918f2e35a3aSmrgCASE_IGNORE, 6919f2e35a3aSmrgCASE_ENQ, 6920f2e35a3aSmrgCASE_IGNORE, 6921f2e35a3aSmrgCASE_BELL, 6922f2e35a3aSmrg/* BS HT NL VT */ 6923f2e35a3aSmrgCASE_BS, 6924f2e35a3aSmrgCASE_TAB, 6925f2e35a3aSmrgCASE_VMOT, 6926f2e35a3aSmrgCASE_VMOT, 6927f2e35a3aSmrg/* FF CR SO SI */ 6928f2e35a3aSmrgCASE_VMOT, 6929f2e35a3aSmrgCASE_CR, 6930f2e35a3aSmrgCASE_SO, 6931f2e35a3aSmrgCASE_SI, 6932f2e35a3aSmrg/* DLE DC1 DC2 DC3 */ 6933f2e35a3aSmrgCASE_IGNORE, 6934f2e35a3aSmrgCASE_IGNORE, 6935f2e35a3aSmrgCASE_IGNORE, 6936f2e35a3aSmrgCASE_IGNORE, 6937f2e35a3aSmrg/* DC4 NAK SYN ETB */ 6938f2e35a3aSmrgCASE_IGNORE, 6939f2e35a3aSmrgCASE_IGNORE, 6940f2e35a3aSmrgCASE_IGNORE, 6941f2e35a3aSmrgCASE_IGNORE, 6942f2e35a3aSmrg/* CAN EM SUB ESC */ 6943f2e35a3aSmrgCASE_GROUND_STATE, 6944f2e35a3aSmrgCASE_IGNORE, 69455104ee6eSmrgCASE_SUB, 6946f2e35a3aSmrgCASE_ESC, 6947f2e35a3aSmrg/* FS GS RS US */ 6948f2e35a3aSmrgCASE_IGNORE, 6949f2e35a3aSmrgCASE_IGNORE, 6950f2e35a3aSmrgCASE_IGNORE, 6951f2e35a3aSmrgCASE_IGNORE, 6952f2e35a3aSmrg/* SP ! " # */ 6953f2e35a3aSmrgCASE_ESC_IGNORE, 6954f2e35a3aSmrgCASE_ESC_IGNORE, 6955f2e35a3aSmrgCASE_SCS_DQUOTE, 6956f2e35a3aSmrgCASE_ESC_IGNORE, 6957f2e35a3aSmrg/* $ % & ' */ 6958f2e35a3aSmrgCASE_ESC_IGNORE, 6959f2e35a3aSmrgCASE_SCS_PERCENT, 6960f2e35a3aSmrgCASE_SCS_AMPRSND, 6961f2e35a3aSmrgCASE_ESC_IGNORE, 6962f2e35a3aSmrg/* ( ) * + */ 6963f2e35a3aSmrgCASE_ESC_IGNORE, 6964f2e35a3aSmrgCASE_ESC_IGNORE, 6965f2e35a3aSmrgCASE_ESC_IGNORE, 6966f2e35a3aSmrgCASE_ESC_IGNORE, 6967f2e35a3aSmrg/* , - . / */ 6968f2e35a3aSmrgCASE_ESC_IGNORE, 6969f2e35a3aSmrgCASE_ESC_IGNORE, 6970f2e35a3aSmrgCASE_ESC_IGNORE, 6971f2e35a3aSmrgCASE_ESC_IGNORE, 6972f2e35a3aSmrg/* 0 1 2 3 */ 6973f2e35a3aSmrgCASE_GSETS, 6974f2e35a3aSmrgCASE_GSETS, 6975f2e35a3aSmrgCASE_GSETS, 6976f2e35a3aSmrgCASE_GROUND_STATE, 6977f2e35a3aSmrg/* 4 5 6 7 */ 6978f2e35a3aSmrgCASE_GSETS, 6979f2e35a3aSmrgCASE_GSETS, 6980f2e35a3aSmrgCASE_GSETS, 6981f2e35a3aSmrgCASE_GSETS, 6982f2e35a3aSmrg/* 8 9 : ; */ 6983f2e35a3aSmrgCASE_GROUND_STATE, 6984f2e35a3aSmrgCASE_GSETS3, 6985f2e35a3aSmrgCASE_GROUND_STATE, 6986f2e35a3aSmrgCASE_GROUND_STATE, 6987f2e35a3aSmrg/* < = > ? */ 6988f2e35a3aSmrgCASE_GSETS, 6989f2e35a3aSmrgCASE_GSETS, 6990f2e35a3aSmrgCASE_GSETS3, 6991f2e35a3aSmrgCASE_GROUND_STATE, 6992f2e35a3aSmrg/* @ A B C */ 6993f2e35a3aSmrgCASE_GROUND_STATE, 6994f2e35a3aSmrgCASE_GSETS, 6995f2e35a3aSmrgCASE_GSETS, 6996f2e35a3aSmrgCASE_GSETS, 6997f2e35a3aSmrg/* D E F G */ 6998f2e35a3aSmrgCASE_GROUND_STATE, 6999f2e35a3aSmrgCASE_GSETS, 7000f2e35a3aSmrgCASE_GROUND_STATE, 7001f2e35a3aSmrgCASE_GROUND_STATE, 7002f2e35a3aSmrg/* H I J K */ 7003f2e35a3aSmrgCASE_GSETS, 70045104ee6eSmrgCASE_GSETS, 70055104ee6eSmrgCASE_GSETS, 7006f2e35a3aSmrgCASE_GSETS, 7007f2e35a3aSmrg/* L M N O */ 7008f2e35a3aSmrgCASE_GROUND_STATE, 7009f2e35a3aSmrgCASE_GROUND_STATE, 7010f2e35a3aSmrgCASE_GROUND_STATE, 7011f2e35a3aSmrgCASE_GROUND_STATE, 7012f2e35a3aSmrg/* P Q R S */ 7013f2e35a3aSmrgCASE_GROUND_STATE, 7014f2e35a3aSmrgCASE_GSETS, 7015f2e35a3aSmrgCASE_GSETS, 7016f2e35a3aSmrgCASE_GROUND_STATE, 7017f2e35a3aSmrg/* T U V W */ 7018f2e35a3aSmrgCASE_GROUND_STATE, 7019f2e35a3aSmrgCASE_GROUND_STATE, 7020f2e35a3aSmrgCASE_GROUND_STATE, 7021f2e35a3aSmrgCASE_GROUND_STATE, 7022f2e35a3aSmrg/* X Y Z [ */ 7023f2e35a3aSmrgCASE_GROUND_STATE, 7024f2e35a3aSmrgCASE_GSETS, 7025f2e35a3aSmrgCASE_GSETS, 7026f2e35a3aSmrgCASE_GROUND_STATE, 7027f2e35a3aSmrg/* \ ] ^ _ */ 7028f2e35a3aSmrgCASE_GROUND_STATE, 7029f2e35a3aSmrgCASE_GROUND_STATE, 7030f2e35a3aSmrgCASE_GROUND_STATE, 7031f2e35a3aSmrgCASE_GROUND_STATE, 7032f2e35a3aSmrg/* ` a b c */ 7033f2e35a3aSmrgCASE_GSETS3, 7034f2e35a3aSmrgCASE_GROUND_STATE, 7035f2e35a3aSmrgCASE_GROUND_STATE, 7036f2e35a3aSmrgCASE_GROUND_STATE, 7037f2e35a3aSmrg/* d e f g */ 7038f2e35a3aSmrgCASE_GROUND_STATE, 7039f2e35a3aSmrgCASE_GROUND_STATE, 7040f2e35a3aSmrgCASE_GSETS, 7041f2e35a3aSmrgCASE_GROUND_STATE, 7042f2e35a3aSmrg/* h i j k */ 7043f2e35a3aSmrgCASE_GROUND_STATE, 7044f2e35a3aSmrgCASE_GROUND_STATE, 7045f2e35a3aSmrgCASE_GROUND_STATE, 7046f2e35a3aSmrgCASE_GROUND_STATE, 7047f2e35a3aSmrg/* l m n o */ 7048f2e35a3aSmrgCASE_GROUND_STATE, 7049f2e35a3aSmrgCASE_GROUND_STATE, 7050f2e35a3aSmrgCASE_GROUND_STATE, 7051f2e35a3aSmrgCASE_GROUND_STATE, 7052f2e35a3aSmrg/* p q r s */ 7053f2e35a3aSmrgCASE_GROUND_STATE, 7054f2e35a3aSmrgCASE_GROUND_STATE, 7055f2e35a3aSmrgCASE_GROUND_STATE, 7056f2e35a3aSmrgCASE_GROUND_STATE, 7057f2e35a3aSmrg/* t u v w */ 7058f2e35a3aSmrgCASE_GROUND_STATE, 7059f2e35a3aSmrgCASE_GROUND_STATE, 7060f2e35a3aSmrgCASE_GROUND_STATE, 7061f2e35a3aSmrgCASE_GROUND_STATE, 7062f2e35a3aSmrg/* x y z { */ 7063f2e35a3aSmrgCASE_GROUND_STATE, 7064f2e35a3aSmrgCASE_GROUND_STATE, 7065f2e35a3aSmrgCASE_GROUND_STATE, 7066f2e35a3aSmrgCASE_GROUND_STATE, 7067f2e35a3aSmrg/* | } ~ DEL */ 7068f2e35a3aSmrgCASE_GROUND_STATE, 7069f2e35a3aSmrgCASE_GROUND_STATE, 7070f2e35a3aSmrgCASE_GROUND_STATE, 7071f2e35a3aSmrgCASE_IGNORE, 7072f2e35a3aSmrg/* 0x80 0x81 0x82 0x83 */ 7073f2e35a3aSmrgCASE_GROUND_STATE, 7074f2e35a3aSmrgCASE_GROUND_STATE, 7075f2e35a3aSmrgCASE_GROUND_STATE, 7076f2e35a3aSmrgCASE_GROUND_STATE, 7077f2e35a3aSmrg/* 0x84 0x85 0x86 0x87 */ 7078f2e35a3aSmrgCASE_IND, 7079f2e35a3aSmrgCASE_NEL, 7080f2e35a3aSmrgCASE_GROUND_STATE, 7081f2e35a3aSmrgCASE_GROUND_STATE, 7082f2e35a3aSmrg/* 0x88 0x89 0x8a 0x8b */ 7083f2e35a3aSmrgCASE_HTS, 7084f2e35a3aSmrgCASE_GROUND_STATE, 7085f2e35a3aSmrgCASE_GROUND_STATE, 7086f2e35a3aSmrgCASE_GROUND_STATE, 7087f2e35a3aSmrg/* 0x8c 0x8d 0x8e 0x8f */ 7088f2e35a3aSmrgCASE_GROUND_STATE, 7089f2e35a3aSmrgCASE_RI, 7090f2e35a3aSmrgCASE_SS2, 7091f2e35a3aSmrgCASE_SS3, 7092f2e35a3aSmrg/* 0x90 0x91 0x92 0x93 */ 7093f2e35a3aSmrgCASE_DCS, 7094f2e35a3aSmrgCASE_GROUND_STATE, 7095f2e35a3aSmrgCASE_GROUND_STATE, 7096f2e35a3aSmrgCASE_GROUND_STATE, 7097f2e35a3aSmrg/* 0x94 0x95 0x96 0x97 */ 7098f2e35a3aSmrgCASE_GROUND_STATE, 7099f2e35a3aSmrgCASE_GROUND_STATE, 7100f2e35a3aSmrgCASE_SPA, 7101f2e35a3aSmrgCASE_EPA, 7102f2e35a3aSmrg/* 0x98 0x99 0x9a 0x9b */ 7103f2e35a3aSmrgCASE_SOS, 7104f2e35a3aSmrgCASE_GROUND_STATE, 7105f2e35a3aSmrgCASE_DECID, 7106f2e35a3aSmrgCASE_CSI_STATE, 7107f2e35a3aSmrg/* 0x9c 0x9d 0x9e 0x9f */ 7108f2e35a3aSmrgCASE_ST, 7109f2e35a3aSmrgCASE_OSC, 7110f2e35a3aSmrgCASE_PM, 7111f2e35a3aSmrgCASE_APC, 7112f2e35a3aSmrg/* nobreakspace exclamdown cent sterling */ 7113f2e35a3aSmrgCASE_ESC_IGNORE, 7114f2e35a3aSmrgCASE_ESC_IGNORE, 7115f2e35a3aSmrgCASE_SCS_DQUOTE, 7116f2e35a3aSmrgCASE_ESC_IGNORE, 7117f2e35a3aSmrg/* currency yen brokenbar section */ 7118f2e35a3aSmrgCASE_ESC_IGNORE, 7119f2e35a3aSmrgCASE_SCS_PERCENT, 7120f2e35a3aSmrgCASE_SCS_AMPRSND, 7121f2e35a3aSmrgCASE_ESC_IGNORE, 7122f2e35a3aSmrg/* diaeresis copyright ordfeminine guillemotleft */ 7123f2e35a3aSmrgCASE_ESC_IGNORE, 7124f2e35a3aSmrgCASE_ESC_IGNORE, 7125f2e35a3aSmrgCASE_ESC_IGNORE, 7126f2e35a3aSmrgCASE_ESC_IGNORE, 7127f2e35a3aSmrg/* notsign hyphen registered macron */ 7128f2e35a3aSmrgCASE_ESC_IGNORE, 7129f2e35a3aSmrgCASE_ESC_IGNORE, 7130f2e35a3aSmrgCASE_ESC_IGNORE, 7131f2e35a3aSmrgCASE_ESC_IGNORE, 7132f2e35a3aSmrg/* degree plusminus twosuperior threesuperior */ 7133f2e35a3aSmrgCASE_GSETS, 7134f2e35a3aSmrgCASE_GSETS, 7135f2e35a3aSmrgCASE_GSETS, 7136f2e35a3aSmrgCASE_GROUND_STATE, 7137f2e35a3aSmrg/* acute mu paragraph periodcentered */ 7138f2e35a3aSmrgCASE_GSETS, 7139f2e35a3aSmrgCASE_GSETS, 7140f2e35a3aSmrgCASE_GSETS, 7141f2e35a3aSmrgCASE_GSETS, 7142f2e35a3aSmrg/* cedilla onesuperior masculine guillemotright */ 7143f2e35a3aSmrgCASE_GROUND_STATE, 7144f2e35a3aSmrgCASE_GSETS3, 7145f2e35a3aSmrgCASE_GROUND_STATE, 7146f2e35a3aSmrgCASE_GROUND_STATE, 7147f2e35a3aSmrg/* onequarter onehalf threequarters questiondown */ 7148f2e35a3aSmrgCASE_GSETS, 7149f2e35a3aSmrgCASE_GSETS, 7150f2e35a3aSmrgCASE_GSETS3, 7151f2e35a3aSmrgCASE_GROUND_STATE, 7152f2e35a3aSmrg/* Agrave Aacute Acircumflex Atilde */ 7153f2e35a3aSmrgCASE_GROUND_STATE, 7154f2e35a3aSmrgCASE_GSETS, 7155f2e35a3aSmrgCASE_GSETS, 7156f2e35a3aSmrgCASE_GSETS, 7157f2e35a3aSmrg/* Adiaeresis Aring AE Ccedilla */ 7158f2e35a3aSmrgCASE_GROUND_STATE, 7159f2e35a3aSmrgCASE_GSETS, 7160f2e35a3aSmrgCASE_GROUND_STATE, 7161f2e35a3aSmrgCASE_GROUND_STATE, 7162f2e35a3aSmrg/* Egrave Eacute Ecircumflex Ediaeresis */ 7163f2e35a3aSmrgCASE_GSETS, 71645104ee6eSmrgCASE_GSETS, 71655104ee6eSmrgCASE_GSETS, 7166f2e35a3aSmrgCASE_GSETS, 7167f2e35a3aSmrg/* Igrave Iacute Icircumflex Idiaeresis */ 7168f2e35a3aSmrgCASE_GROUND_STATE, 7169f2e35a3aSmrgCASE_GROUND_STATE, 7170f2e35a3aSmrgCASE_GROUND_STATE, 7171f2e35a3aSmrgCASE_GROUND_STATE, 7172f2e35a3aSmrg/* Eth Ntilde Ograve Oacute */ 7173f2e35a3aSmrgCASE_GROUND_STATE, 7174f2e35a3aSmrgCASE_GSETS, 7175f2e35a3aSmrgCASE_GSETS, 7176f2e35a3aSmrgCASE_GROUND_STATE, 7177f2e35a3aSmrg/* Ocircumflex Otilde Odiaeresis multiply */ 7178f2e35a3aSmrgCASE_GROUND_STATE, 7179f2e35a3aSmrgCASE_GROUND_STATE, 7180f2e35a3aSmrgCASE_GROUND_STATE, 7181f2e35a3aSmrgCASE_GROUND_STATE, 7182f2e35a3aSmrg/* Ooblique Ugrave Uacute Ucircumflex */ 7183f2e35a3aSmrgCASE_GROUND_STATE, 7184f2e35a3aSmrgCASE_GSETS, 7185f2e35a3aSmrgCASE_GSETS, 7186f2e35a3aSmrgCASE_GROUND_STATE, 7187f2e35a3aSmrg/* Udiaeresis Yacute Thorn ssharp */ 7188f2e35a3aSmrgCASE_GROUND_STATE, 7189f2e35a3aSmrgCASE_GROUND_STATE, 7190f2e35a3aSmrgCASE_GROUND_STATE, 7191f2e35a3aSmrgCASE_GROUND_STATE, 7192f2e35a3aSmrg/* agrave aacute acircumflex atilde */ 7193f2e35a3aSmrgCASE_GSETS3, 7194f2e35a3aSmrgCASE_GROUND_STATE, 7195f2e35a3aSmrgCASE_GROUND_STATE, 7196f2e35a3aSmrgCASE_GROUND_STATE, 7197f2e35a3aSmrg/* adiaeresis aring ae ccedilla */ 7198f2e35a3aSmrgCASE_GROUND_STATE, 7199f2e35a3aSmrgCASE_GROUND_STATE, 7200f2e35a3aSmrgCASE_GSETS, 7201f2e35a3aSmrgCASE_GROUND_STATE, 7202f2e35a3aSmrg/* egrave eacute ecircumflex ediaeresis */ 7203f2e35a3aSmrgCASE_GROUND_STATE, 7204f2e35a3aSmrgCASE_GROUND_STATE, 7205f2e35a3aSmrgCASE_GROUND_STATE, 7206f2e35a3aSmrgCASE_GROUND_STATE, 7207f2e35a3aSmrg/* igrave iacute icircumflex idiaeresis */ 7208f2e35a3aSmrgCASE_GROUND_STATE, 7209f2e35a3aSmrgCASE_GROUND_STATE, 7210f2e35a3aSmrgCASE_GROUND_STATE, 7211f2e35a3aSmrgCASE_GROUND_STATE, 7212f2e35a3aSmrg/* eth ntilde ograve oacute */ 7213f2e35a3aSmrgCASE_GROUND_STATE, 7214f2e35a3aSmrgCASE_GROUND_STATE, 7215f2e35a3aSmrgCASE_GROUND_STATE, 7216f2e35a3aSmrgCASE_GROUND_STATE, 7217f2e35a3aSmrg/* ocircumflex otilde odiaeresis division */ 7218f2e35a3aSmrgCASE_GROUND_STATE, 7219f2e35a3aSmrgCASE_GROUND_STATE, 7220f2e35a3aSmrgCASE_GROUND_STATE, 7221f2e35a3aSmrgCASE_GROUND_STATE, 7222f2e35a3aSmrg/* oslash ugrave uacute ucircumflex */ 7223f2e35a3aSmrgCASE_GROUND_STATE, 7224f2e35a3aSmrgCASE_GROUND_STATE, 7225f2e35a3aSmrgCASE_GROUND_STATE, 7226f2e35a3aSmrgCASE_GROUND_STATE, 7227f2e35a3aSmrg/* udiaeresis yacute thorn ydiaeresis */ 7228f2e35a3aSmrgCASE_GROUND_STATE, 7229f2e35a3aSmrgCASE_GROUND_STATE, 7230f2e35a3aSmrgCASE_GROUND_STATE, 7231f2e35a3aSmrgCASE_IGNORE, 7232f2e35a3aSmrg}; 7233f2e35a3aSmrg 72345104ee6eSmrgconst PARSE_T scs96table[] = /* ESC - etc. */ 7235f2e35a3aSmrg{ 7236f2e35a3aSmrg/* NUL SOH STX ETX */ 7237f2e35a3aSmrgCASE_IGNORE, 7238f2e35a3aSmrgCASE_IGNORE, 7239f2e35a3aSmrgCASE_IGNORE, 7240f2e35a3aSmrgCASE_IGNORE, 7241f2e35a3aSmrg/* EOT ENQ ACK BEL */ 7242f2e35a3aSmrgCASE_IGNORE, 7243f2e35a3aSmrgCASE_ENQ, 7244f2e35a3aSmrgCASE_IGNORE, 7245f2e35a3aSmrgCASE_BELL, 7246f2e35a3aSmrg/* BS HT NL VT */ 7247f2e35a3aSmrgCASE_BS, 7248f2e35a3aSmrgCASE_TAB, 7249f2e35a3aSmrgCASE_VMOT, 7250f2e35a3aSmrgCASE_VMOT, 7251f2e35a3aSmrg/* FF CR SO SI */ 7252f2e35a3aSmrgCASE_VMOT, 7253f2e35a3aSmrgCASE_CR, 7254f2e35a3aSmrgCASE_SO, 7255f2e35a3aSmrgCASE_SI, 7256f2e35a3aSmrg/* DLE DC1 DC2 DC3 */ 7257f2e35a3aSmrgCASE_IGNORE, 7258f2e35a3aSmrgCASE_IGNORE, 7259f2e35a3aSmrgCASE_IGNORE, 7260f2e35a3aSmrgCASE_IGNORE, 7261f2e35a3aSmrg/* DC4 NAK SYN ETB */ 7262f2e35a3aSmrgCASE_IGNORE, 7263f2e35a3aSmrgCASE_IGNORE, 7264f2e35a3aSmrgCASE_IGNORE, 7265f2e35a3aSmrgCASE_IGNORE, 7266f2e35a3aSmrg/* CAN EM SUB ESC */ 7267f2e35a3aSmrgCASE_GROUND_STATE, 7268f2e35a3aSmrgCASE_IGNORE, 72695104ee6eSmrgCASE_SUB, 7270f2e35a3aSmrgCASE_ESC, 7271f2e35a3aSmrg/* FS GS RS US */ 7272f2e35a3aSmrgCASE_IGNORE, 7273f2e35a3aSmrgCASE_IGNORE, 7274f2e35a3aSmrgCASE_IGNORE, 7275f2e35a3aSmrgCASE_IGNORE, 7276f2e35a3aSmrg/* SP ! " # */ 7277f2e35a3aSmrgCASE_ESC_IGNORE, 7278f2e35a3aSmrgCASE_ESC_IGNORE, 7279f2e35a3aSmrgCASE_ESC_IGNORE, 7280f2e35a3aSmrgCASE_ESC_IGNORE, 7281f2e35a3aSmrg/* $ % & ' */ 7282f2e35a3aSmrgCASE_ESC_IGNORE, 7283f2e35a3aSmrgCASE_ESC_IGNORE, 7284f2e35a3aSmrgCASE_ESC_IGNORE, 7285f2e35a3aSmrgCASE_ESC_IGNORE, 7286f2e35a3aSmrg/* ( ) * + */ 7287f2e35a3aSmrgCASE_ESC_IGNORE, 7288f2e35a3aSmrgCASE_ESC_IGNORE, 7289f2e35a3aSmrgCASE_ESC_IGNORE, 7290f2e35a3aSmrgCASE_ESC_IGNORE, 7291f2e35a3aSmrg/* , - . / */ 7292f2e35a3aSmrgCASE_ESC_IGNORE, 7293f2e35a3aSmrgCASE_ESC_IGNORE, 7294f2e35a3aSmrgCASE_ESC_IGNORE, 7295f2e35a3aSmrgCASE_ESC_IGNORE, 7296f2e35a3aSmrg/* 0 1 2 3 */ 7297f2e35a3aSmrgCASE_GROUND_STATE, 7298f2e35a3aSmrgCASE_GROUND_STATE, 7299f2e35a3aSmrgCASE_GROUND_STATE, 7300f2e35a3aSmrgCASE_GROUND_STATE, 7301f2e35a3aSmrg/* 4 5 6 7 */ 7302f2e35a3aSmrgCASE_GROUND_STATE, 7303f2e35a3aSmrgCASE_GROUND_STATE, 7304f2e35a3aSmrgCASE_GROUND_STATE, 7305f2e35a3aSmrgCASE_GROUND_STATE, 7306f2e35a3aSmrg/* 8 9 : ; */ 7307f2e35a3aSmrgCASE_GROUND_STATE, 7308f2e35a3aSmrgCASE_GROUND_STATE, 7309f2e35a3aSmrgCASE_GROUND_STATE, 7310f2e35a3aSmrgCASE_GROUND_STATE, 7311f2e35a3aSmrg/* < = > ? */ 7312f2e35a3aSmrgCASE_GROUND_STATE, 7313f2e35a3aSmrgCASE_GROUND_STATE, 7314f2e35a3aSmrgCASE_GROUND_STATE, 7315f2e35a3aSmrgCASE_GROUND_STATE, 7316f2e35a3aSmrg/* @ A B C */ 7317f2e35a3aSmrgCASE_GROUND_STATE, 7318f2e35a3aSmrgCASE_GSETS3, 7319f2e35a3aSmrgCASE_GSETS5, 7320f2e35a3aSmrgCASE_GROUND_STATE, 7321f2e35a3aSmrg/* D E F G */ 7322f2e35a3aSmrgCASE_GROUND_STATE, 7323f2e35a3aSmrgCASE_GROUND_STATE, 7324f2e35a3aSmrgCASE_GSETS5, 7325f2e35a3aSmrgCASE_GROUND_STATE, 7326f2e35a3aSmrg/* H I J K */ 7327f2e35a3aSmrgCASE_GSETS5, 7328f2e35a3aSmrgCASE_GROUND_STATE, 7329f2e35a3aSmrgCASE_GROUND_STATE, 7330f2e35a3aSmrgCASE_GROUND_STATE, 7331f2e35a3aSmrg/* L M N O */ 7332f2e35a3aSmrgCASE_GSETS5, 7333f2e35a3aSmrgCASE_GSETS5, 7334f2e35a3aSmrgCASE_GROUND_STATE, 7335f2e35a3aSmrgCASE_GROUND_STATE, 7336f2e35a3aSmrg/* P Q R S */ 7337f2e35a3aSmrgCASE_GROUND_STATE, 7338f2e35a3aSmrgCASE_GROUND_STATE, 7339f2e35a3aSmrgCASE_GROUND_STATE, 7340f2e35a3aSmrgCASE_GROUND_STATE, 7341f2e35a3aSmrg/* T U V W */ 7342f2e35a3aSmrgCASE_GROUND_STATE, 7343f2e35a3aSmrgCASE_GROUND_STATE, 7344f2e35a3aSmrgCASE_GROUND_STATE, 7345f2e35a3aSmrgCASE_GROUND_STATE, 7346f2e35a3aSmrg/* X Y Z [ */ 7347f2e35a3aSmrgCASE_GROUND_STATE, 7348f2e35a3aSmrgCASE_GROUND_STATE, 7349f2e35a3aSmrgCASE_GROUND_STATE, 7350f2e35a3aSmrgCASE_GROUND_STATE, 7351f2e35a3aSmrg/* \ ] ^ _ */ 7352f2e35a3aSmrgCASE_GROUND_STATE, 7353f2e35a3aSmrgCASE_GROUND_STATE, 7354f2e35a3aSmrgCASE_GROUND_STATE, 7355f2e35a3aSmrgCASE_GROUND_STATE, 7356f2e35a3aSmrg/* ` a b c */ 7357f2e35a3aSmrgCASE_GROUND_STATE, 7358f2e35a3aSmrgCASE_GROUND_STATE, 7359f2e35a3aSmrgCASE_GROUND_STATE, 7360f2e35a3aSmrgCASE_GROUND_STATE, 7361f2e35a3aSmrg/* d e f g */ 7362f2e35a3aSmrgCASE_GROUND_STATE, 7363f2e35a3aSmrgCASE_GROUND_STATE, 7364f2e35a3aSmrgCASE_GROUND_STATE, 7365f2e35a3aSmrgCASE_GROUND_STATE, 7366f2e35a3aSmrg/* h i j k */ 7367f2e35a3aSmrgCASE_GROUND_STATE, 7368f2e35a3aSmrgCASE_GROUND_STATE, 7369f2e35a3aSmrgCASE_GROUND_STATE, 7370f2e35a3aSmrgCASE_GROUND_STATE, 7371f2e35a3aSmrg/* l m n o */ 7372f2e35a3aSmrgCASE_GROUND_STATE, 7373f2e35a3aSmrgCASE_GROUND_STATE, 7374f2e35a3aSmrgCASE_GROUND_STATE, 7375f2e35a3aSmrgCASE_GROUND_STATE, 7376f2e35a3aSmrg/* p q r s */ 7377f2e35a3aSmrgCASE_GROUND_STATE, 7378f2e35a3aSmrgCASE_GROUND_STATE, 7379f2e35a3aSmrgCASE_GROUND_STATE, 7380f2e35a3aSmrgCASE_GROUND_STATE, 7381f2e35a3aSmrg/* t u v w */ 7382f2e35a3aSmrgCASE_GROUND_STATE, 7383f2e35a3aSmrgCASE_GROUND_STATE, 7384f2e35a3aSmrgCASE_GROUND_STATE, 7385f2e35a3aSmrgCASE_GROUND_STATE, 7386f2e35a3aSmrg/* x y z { */ 7387f2e35a3aSmrgCASE_GROUND_STATE, 7388f2e35a3aSmrgCASE_GROUND_STATE, 7389f2e35a3aSmrgCASE_GROUND_STATE, 7390f2e35a3aSmrgCASE_GROUND_STATE, 7391f2e35a3aSmrg/* | } ~ DEL */ 7392f2e35a3aSmrgCASE_GROUND_STATE, 7393f2e35a3aSmrgCASE_GROUND_STATE, 7394f2e35a3aSmrgCASE_GROUND_STATE, 7395f2e35a3aSmrgCASE_IGNORE, 7396f2e35a3aSmrg/* 0x80 0x81 0x82 0x83 */ 7397f2e35a3aSmrgCASE_GROUND_STATE, 7398f2e35a3aSmrgCASE_GROUND_STATE, 7399f2e35a3aSmrgCASE_GROUND_STATE, 7400f2e35a3aSmrgCASE_GROUND_STATE, 7401f2e35a3aSmrg/* 0x84 0x85 0x86 0x87 */ 7402f2e35a3aSmrgCASE_IND, 7403f2e35a3aSmrgCASE_NEL, 7404f2e35a3aSmrgCASE_GROUND_STATE, 7405f2e35a3aSmrgCASE_GROUND_STATE, 7406f2e35a3aSmrg/* 0x88 0x89 0x8a 0x8b */ 7407f2e35a3aSmrgCASE_HTS, 7408f2e35a3aSmrgCASE_GROUND_STATE, 7409f2e35a3aSmrgCASE_GROUND_STATE, 7410f2e35a3aSmrgCASE_GROUND_STATE, 7411f2e35a3aSmrg/* 0x8c 0x8d 0x8e 0x8f */ 7412f2e35a3aSmrgCASE_GROUND_STATE, 7413f2e35a3aSmrgCASE_RI, 7414f2e35a3aSmrgCASE_SS2, 7415f2e35a3aSmrgCASE_SS3, 7416f2e35a3aSmrg/* 0x90 0x91 0x92 0x93 */ 7417f2e35a3aSmrgCASE_DCS, 7418f2e35a3aSmrgCASE_GROUND_STATE, 7419f2e35a3aSmrgCASE_GROUND_STATE, 7420f2e35a3aSmrgCASE_GROUND_STATE, 7421f2e35a3aSmrg/* 0x94 0x95 0x96 0x97 */ 7422f2e35a3aSmrgCASE_GROUND_STATE, 7423f2e35a3aSmrgCASE_GROUND_STATE, 7424f2e35a3aSmrgCASE_SPA, 7425f2e35a3aSmrgCASE_EPA, 7426f2e35a3aSmrg/* 0x98 0x99 0x9a 0x9b */ 7427f2e35a3aSmrgCASE_SOS, 7428f2e35a3aSmrgCASE_GROUND_STATE, 7429f2e35a3aSmrgCASE_DECID, 7430f2e35a3aSmrgCASE_CSI_STATE, 7431f2e35a3aSmrg/* 0x9c 0x9d 0x9e 0x9f */ 7432f2e35a3aSmrgCASE_ST, 7433f2e35a3aSmrgCASE_OSC, 7434f2e35a3aSmrgCASE_PM, 7435f2e35a3aSmrgCASE_APC, 7436f2e35a3aSmrg/* nobreakspace exclamdown cent sterling */ 7437f2e35a3aSmrgCASE_ESC_IGNORE, 7438f2e35a3aSmrgCASE_ESC_IGNORE, 7439f2e35a3aSmrgCASE_ESC_IGNORE, 7440f2e35a3aSmrgCASE_ESC_IGNORE, 7441f2e35a3aSmrg/* currency yen brokenbar section */ 7442f2e35a3aSmrgCASE_ESC_IGNORE, 7443f2e35a3aSmrgCASE_ESC_IGNORE, 7444f2e35a3aSmrgCASE_ESC_IGNORE, 7445f2e35a3aSmrgCASE_ESC_IGNORE, 7446f2e35a3aSmrg/* diaeresis copyright ordfeminine guillemotleft */ 7447f2e35a3aSmrgCASE_ESC_IGNORE, 7448f2e35a3aSmrgCASE_ESC_IGNORE, 7449f2e35a3aSmrgCASE_ESC_IGNORE, 7450f2e35a3aSmrgCASE_ESC_IGNORE, 7451f2e35a3aSmrg/* notsign hyphen registered macron */ 7452f2e35a3aSmrgCASE_ESC_IGNORE, 7453f2e35a3aSmrgCASE_ESC_IGNORE, 7454f2e35a3aSmrgCASE_ESC_IGNORE, 7455f2e35a3aSmrgCASE_ESC_IGNORE, 7456f2e35a3aSmrg/* degree plusminus twosuperior threesuperior */ 7457f2e35a3aSmrgCASE_GROUND_STATE, 7458f2e35a3aSmrgCASE_GROUND_STATE, 7459f2e35a3aSmrgCASE_GROUND_STATE, 7460f2e35a3aSmrgCASE_GROUND_STATE, 7461f2e35a3aSmrg/* acute mu paragraph periodcentered */ 7462f2e35a3aSmrgCASE_GROUND_STATE, 7463f2e35a3aSmrgCASE_GROUND_STATE, 7464f2e35a3aSmrgCASE_GROUND_STATE, 7465f2e35a3aSmrgCASE_GROUND_STATE, 7466f2e35a3aSmrg/* cedilla onesuperior masculine guillemotright */ 7467f2e35a3aSmrgCASE_GROUND_STATE, 7468f2e35a3aSmrgCASE_GROUND_STATE, 7469f2e35a3aSmrgCASE_GROUND_STATE, 7470f2e35a3aSmrgCASE_GROUND_STATE, 7471f2e35a3aSmrg/* onequarter onehalf threequarters questiondown */ 7472f2e35a3aSmrgCASE_GROUND_STATE, 7473f2e35a3aSmrgCASE_GROUND_STATE, 7474f2e35a3aSmrgCASE_GROUND_STATE, 7475f2e35a3aSmrgCASE_GROUND_STATE, 7476f2e35a3aSmrg/* Agrave Aacute Acircumflex Atilde */ 7477f2e35a3aSmrgCASE_GROUND_STATE, 7478f2e35a3aSmrgCASE_GSETS3, 7479f2e35a3aSmrgCASE_GSETS5, 7480f2e35a3aSmrgCASE_GROUND_STATE, 7481f2e35a3aSmrg/* Adiaeresis Aring AE Ccedilla */ 7482f2e35a3aSmrgCASE_GROUND_STATE, 7483f2e35a3aSmrgCASE_GROUND_STATE, 7484f2e35a3aSmrgCASE_GSETS5, 7485f2e35a3aSmrgCASE_GROUND_STATE, 7486f2e35a3aSmrg/* Egrave Eacute Ecircumflex Ediaeresis */ 7487f2e35a3aSmrgCASE_GSETS5, 7488f2e35a3aSmrgCASE_GROUND_STATE, 7489f2e35a3aSmrgCASE_GROUND_STATE, 7490f2e35a3aSmrgCASE_GROUND_STATE, 7491f2e35a3aSmrg/* Igrave Iacute Icircumflex Idiaeresis */ 7492f2e35a3aSmrgCASE_GSETS5, 7493f2e35a3aSmrgCASE_GSETS5, 7494f2e35a3aSmrgCASE_GROUND_STATE, 7495f2e35a3aSmrgCASE_GROUND_STATE, 7496f2e35a3aSmrg/* Eth Ntilde Ograve Oacute */ 7497f2e35a3aSmrgCASE_GROUND_STATE, 7498f2e35a3aSmrgCASE_GROUND_STATE, 7499f2e35a3aSmrgCASE_GROUND_STATE, 7500f2e35a3aSmrgCASE_GROUND_STATE, 7501f2e35a3aSmrg/* Ocircumflex Otilde Odiaeresis multiply */ 7502f2e35a3aSmrgCASE_GROUND_STATE, 7503f2e35a3aSmrgCASE_GROUND_STATE, 7504f2e35a3aSmrgCASE_GROUND_STATE, 7505f2e35a3aSmrgCASE_GROUND_STATE, 7506f2e35a3aSmrg/* Ooblique Ugrave Uacute Ucircumflex */ 7507f2e35a3aSmrgCASE_GROUND_STATE, 7508f2e35a3aSmrgCASE_GROUND_STATE, 7509f2e35a3aSmrgCASE_GROUND_STATE, 7510f2e35a3aSmrgCASE_GROUND_STATE, 7511f2e35a3aSmrg/* Udiaeresis Yacute Thorn ssharp */ 7512f2e35a3aSmrgCASE_GROUND_STATE, 7513f2e35a3aSmrgCASE_GROUND_STATE, 7514f2e35a3aSmrgCASE_GROUND_STATE, 7515f2e35a3aSmrgCASE_GROUND_STATE, 7516f2e35a3aSmrg/* agrave aacute acircumflex atilde */ 7517f2e35a3aSmrgCASE_GROUND_STATE, 7518f2e35a3aSmrgCASE_GROUND_STATE, 7519f2e35a3aSmrgCASE_GROUND_STATE, 7520f2e35a3aSmrgCASE_GROUND_STATE, 7521f2e35a3aSmrg/* adiaeresis aring ae ccedilla */ 7522f2e35a3aSmrgCASE_GROUND_STATE, 7523f2e35a3aSmrgCASE_GROUND_STATE, 7524f2e35a3aSmrgCASE_GROUND_STATE, 7525f2e35a3aSmrgCASE_GROUND_STATE, 7526f2e35a3aSmrg/* egrave eacute ecircumflex ediaeresis */ 7527f2e35a3aSmrgCASE_GROUND_STATE, 7528f2e35a3aSmrgCASE_GROUND_STATE, 7529f2e35a3aSmrgCASE_GROUND_STATE, 7530f2e35a3aSmrgCASE_GROUND_STATE, 7531f2e35a3aSmrg/* igrave iacute icircumflex idiaeresis */ 7532f2e35a3aSmrgCASE_GROUND_STATE, 7533f2e35a3aSmrgCASE_GROUND_STATE, 7534f2e35a3aSmrgCASE_GROUND_STATE, 7535f2e35a3aSmrgCASE_GROUND_STATE, 7536f2e35a3aSmrg/* eth ntilde ograve oacute */ 7537f2e35a3aSmrgCASE_GROUND_STATE, 7538f2e35a3aSmrgCASE_GROUND_STATE, 7539f2e35a3aSmrgCASE_GROUND_STATE, 7540f2e35a3aSmrgCASE_GROUND_STATE, 7541f2e35a3aSmrg/* ocircumflex otilde odiaeresis division */ 7542f2e35a3aSmrgCASE_GROUND_STATE, 7543f2e35a3aSmrgCASE_GROUND_STATE, 7544f2e35a3aSmrgCASE_GROUND_STATE, 7545f2e35a3aSmrgCASE_GROUND_STATE, 7546f2e35a3aSmrg/* oslash ugrave uacute ucircumflex */ 7547f2e35a3aSmrgCASE_GROUND_STATE, 7548f2e35a3aSmrgCASE_GROUND_STATE, 7549f2e35a3aSmrgCASE_GROUND_STATE, 7550f2e35a3aSmrgCASE_GROUND_STATE, 7551f2e35a3aSmrg/* udiaeresis yacute thorn ydiaeresis */ 7552f2e35a3aSmrgCASE_GROUND_STATE, 7553f2e35a3aSmrgCASE_GROUND_STATE, 7554f2e35a3aSmrgCASE_GROUND_STATE, 7555f2e35a3aSmrgCASE_IGNORE, 7556f2e35a3aSmrg}; 7557f2e35a3aSmrg 7558f2e35a3aSmrg/* 7559f2e35a3aSmrg * This table is treated specially. The CASE_IGNORE entries correspond to the 7560f2e35a3aSmrg * characters that can be accumulated for the string function (e.g., OSC). 7561f2e35a3aSmrg */ 75625104ee6eSmrgconst PARSE_T sos_table[] = /* OSC, DCS, etc. */ 7563f2e35a3aSmrg{ 7564f2e35a3aSmrg/* NUL SOH STX ETX */ 7565f2e35a3aSmrgCASE_IGNORE, 7566f2e35a3aSmrgCASE_IGNORE, 7567f2e35a3aSmrgCASE_IGNORE, 7568f2e35a3aSmrgCASE_IGNORE, 7569f2e35a3aSmrg/* EOT ENQ ACK BEL */ 7570f2e35a3aSmrgCASE_IGNORE, 7571f2e35a3aSmrgCASE_IGNORE, 7572f2e35a3aSmrgCASE_IGNORE, 7573f2e35a3aSmrgCASE_BELL, 7574f2e35a3aSmrg/* BS HT NL VT */ 7575f2e35a3aSmrgCASE_IGNORE, 7576f2e35a3aSmrgCASE_IGNORE, 7577f2e35a3aSmrgCASE_IGNORE, 7578f2e35a3aSmrgCASE_IGNORE, 7579f2e35a3aSmrg/* FF CR SO SI */ 7580f2e35a3aSmrgCASE_IGNORE, 7581f2e35a3aSmrgCASE_IGNORE, 7582f2e35a3aSmrgCASE_IGNORE, 7583f2e35a3aSmrgCASE_IGNORE, 7584f2e35a3aSmrg/* DLE DC1 DC2 DC3 */ 7585f2e35a3aSmrgCASE_IGNORE, 7586f2e35a3aSmrgCASE_IGNORE, 7587f2e35a3aSmrgCASE_IGNORE, 7588f2e35a3aSmrgCASE_IGNORE, 7589f2e35a3aSmrg/* DC4 NAK SYN ETB */ 7590f2e35a3aSmrgCASE_IGNORE, 7591f2e35a3aSmrgCASE_IGNORE, 7592f2e35a3aSmrgCASE_IGNORE, 7593f2e35a3aSmrgCASE_IGNORE, 7594f2e35a3aSmrg/* CAN EM SUB ESC */ 7595f2e35a3aSmrgCASE_GROUND_STATE, 7596f2e35a3aSmrgCASE_IGNORE, 75975104ee6eSmrgCASE_SUB, 7598f2e35a3aSmrgCASE_ESC, 7599f2e35a3aSmrg/* FS GS RS US */ 7600f2e35a3aSmrgCASE_IGNORE, 7601f2e35a3aSmrgCASE_IGNORE, 7602f2e35a3aSmrgCASE_IGNORE, 7603f2e35a3aSmrgCASE_IGNORE, 7604f2e35a3aSmrg/* SP ! " # */ 7605f2e35a3aSmrgCASE_IGNORE, 7606f2e35a3aSmrgCASE_IGNORE, 7607f2e35a3aSmrgCASE_IGNORE, 7608f2e35a3aSmrgCASE_IGNORE, 7609f2e35a3aSmrg/* $ % & ' */ 7610f2e35a3aSmrgCASE_IGNORE, 7611f2e35a3aSmrgCASE_IGNORE, 7612f2e35a3aSmrgCASE_IGNORE, 7613f2e35a3aSmrgCASE_IGNORE, 7614f2e35a3aSmrg/* ( ) * + */ 7615f2e35a3aSmrgCASE_IGNORE, 7616f2e35a3aSmrgCASE_IGNORE, 7617f2e35a3aSmrgCASE_IGNORE, 7618f2e35a3aSmrgCASE_IGNORE, 7619f2e35a3aSmrg/* , - . / */ 7620f2e35a3aSmrgCASE_IGNORE, 7621f2e35a3aSmrgCASE_IGNORE, 7622f2e35a3aSmrgCASE_IGNORE, 7623f2e35a3aSmrgCASE_IGNORE, 7624f2e35a3aSmrg/* 0 1 2 3 */ 7625f2e35a3aSmrgCASE_IGNORE, 7626f2e35a3aSmrgCASE_IGNORE, 7627f2e35a3aSmrgCASE_IGNORE, 7628f2e35a3aSmrgCASE_IGNORE, 7629f2e35a3aSmrg/* 4 5 6 7 */ 7630f2e35a3aSmrgCASE_IGNORE, 7631f2e35a3aSmrgCASE_IGNORE, 7632f2e35a3aSmrgCASE_IGNORE, 7633f2e35a3aSmrgCASE_IGNORE, 7634f2e35a3aSmrg/* 8 9 : ; */ 7635f2e35a3aSmrgCASE_IGNORE, 7636f2e35a3aSmrgCASE_IGNORE, 7637f2e35a3aSmrgCASE_IGNORE, 7638f2e35a3aSmrgCASE_IGNORE, 7639f2e35a3aSmrg/* < = > ? */ 7640f2e35a3aSmrgCASE_IGNORE, 7641f2e35a3aSmrgCASE_IGNORE, 7642f2e35a3aSmrgCASE_IGNORE, 7643f2e35a3aSmrgCASE_IGNORE, 7644f2e35a3aSmrg/* @ A B C */ 7645f2e35a3aSmrgCASE_IGNORE, 7646f2e35a3aSmrgCASE_IGNORE, 7647f2e35a3aSmrgCASE_IGNORE, 7648f2e35a3aSmrgCASE_IGNORE, 7649f2e35a3aSmrg/* D E F G */ 7650f2e35a3aSmrgCASE_IGNORE, 7651f2e35a3aSmrgCASE_IGNORE, 7652f2e35a3aSmrgCASE_IGNORE, 7653f2e35a3aSmrgCASE_IGNORE, 7654f2e35a3aSmrg/* H I J K */ 7655f2e35a3aSmrgCASE_IGNORE, 7656f2e35a3aSmrgCASE_IGNORE, 7657f2e35a3aSmrgCASE_IGNORE, 7658f2e35a3aSmrgCASE_IGNORE, 7659f2e35a3aSmrg/* L M N O */ 7660f2e35a3aSmrgCASE_IGNORE, 7661f2e35a3aSmrgCASE_IGNORE, 7662f2e35a3aSmrgCASE_IGNORE, 7663f2e35a3aSmrgCASE_IGNORE, 7664f2e35a3aSmrg/* P Q R S */ 7665f2e35a3aSmrgCASE_IGNORE, 7666f2e35a3aSmrgCASE_IGNORE, 7667f2e35a3aSmrgCASE_IGNORE, 7668f2e35a3aSmrgCASE_IGNORE, 7669f2e35a3aSmrg/* T U V W */ 7670f2e35a3aSmrgCASE_IGNORE, 7671f2e35a3aSmrgCASE_IGNORE, 7672f2e35a3aSmrgCASE_IGNORE, 7673f2e35a3aSmrgCASE_IGNORE, 7674f2e35a3aSmrg/* X Y Z [ */ 7675f2e35a3aSmrgCASE_IGNORE, 7676f2e35a3aSmrgCASE_IGNORE, 7677f2e35a3aSmrgCASE_IGNORE, 7678f2e35a3aSmrgCASE_IGNORE, 7679f2e35a3aSmrg/* \ ] ^ _ */ 7680f2e35a3aSmrgCASE_IGNORE, 7681f2e35a3aSmrgCASE_IGNORE, 7682f2e35a3aSmrgCASE_IGNORE, 7683f2e35a3aSmrgCASE_IGNORE, 7684f2e35a3aSmrg/* ` a b c */ 7685f2e35a3aSmrgCASE_IGNORE, 7686f2e35a3aSmrgCASE_IGNORE, 7687f2e35a3aSmrgCASE_IGNORE, 7688f2e35a3aSmrgCASE_IGNORE, 7689f2e35a3aSmrg/* d e f g */ 7690f2e35a3aSmrgCASE_IGNORE, 7691f2e35a3aSmrgCASE_IGNORE, 7692f2e35a3aSmrgCASE_IGNORE, 7693f2e35a3aSmrgCASE_IGNORE, 7694f2e35a3aSmrg/* h i j k */ 7695f2e35a3aSmrgCASE_IGNORE, 7696f2e35a3aSmrgCASE_IGNORE, 7697f2e35a3aSmrgCASE_IGNORE, 7698f2e35a3aSmrgCASE_IGNORE, 7699f2e35a3aSmrg/* l m n o */ 7700f2e35a3aSmrgCASE_IGNORE, 7701f2e35a3aSmrgCASE_IGNORE, 7702f2e35a3aSmrgCASE_IGNORE, 7703f2e35a3aSmrgCASE_IGNORE, 7704f2e35a3aSmrg/* p q r s */ 7705f2e35a3aSmrgCASE_IGNORE, 7706f2e35a3aSmrgCASE_IGNORE, 7707f2e35a3aSmrgCASE_IGNORE, 7708f2e35a3aSmrgCASE_IGNORE, 7709f2e35a3aSmrg/* t u v w */ 7710f2e35a3aSmrgCASE_IGNORE, 7711f2e35a3aSmrgCASE_IGNORE, 7712f2e35a3aSmrgCASE_IGNORE, 7713f2e35a3aSmrgCASE_IGNORE, 7714f2e35a3aSmrg/* x y z { */ 7715f2e35a3aSmrgCASE_IGNORE, 7716f2e35a3aSmrgCASE_IGNORE, 7717f2e35a3aSmrgCASE_IGNORE, 7718f2e35a3aSmrgCASE_IGNORE, 7719f2e35a3aSmrg/* | } ~ DEL */ 7720f2e35a3aSmrgCASE_IGNORE, 7721f2e35a3aSmrgCASE_IGNORE, 7722f2e35a3aSmrgCASE_IGNORE, 7723f2e35a3aSmrgCASE_IGNORE, 7724f2e35a3aSmrg/* 0x80 0x81 0x82 0x83 */ 7725f2e35a3aSmrgCASE_GROUND_STATE, 7726f2e35a3aSmrgCASE_GROUND_STATE, 7727f2e35a3aSmrgCASE_GROUND_STATE, 7728f2e35a3aSmrgCASE_GROUND_STATE, 7729f2e35a3aSmrg/* 0x84 0x85 0x86 0x87 */ 7730f2e35a3aSmrgCASE_IND, 7731f2e35a3aSmrgCASE_NEL, 7732f2e35a3aSmrgCASE_GROUND_STATE, 7733f2e35a3aSmrgCASE_GROUND_STATE, 7734f2e35a3aSmrg/* 0x88 0x89 0x8a 0x8b */ 7735f2e35a3aSmrgCASE_HTS, 7736f2e35a3aSmrgCASE_GROUND_STATE, 7737f2e35a3aSmrgCASE_GROUND_STATE, 7738f2e35a3aSmrgCASE_GROUND_STATE, 7739f2e35a3aSmrg/* 0x8c 0x8d 0x8e 0x8f */ 7740f2e35a3aSmrgCASE_GROUND_STATE, 7741f2e35a3aSmrgCASE_RI, 7742f2e35a3aSmrgCASE_SS2, 7743f2e35a3aSmrgCASE_SS3, 7744f2e35a3aSmrg/* 0x90 0x91 0x92 0x93 */ 7745f2e35a3aSmrgCASE_DCS, 7746f2e35a3aSmrgCASE_GROUND_STATE, 7747f2e35a3aSmrgCASE_GROUND_STATE, 7748f2e35a3aSmrgCASE_GROUND_STATE, 7749f2e35a3aSmrg/* 0x94 0x95 0x96 0x97 */ 7750f2e35a3aSmrgCASE_GROUND_STATE, 7751f2e35a3aSmrgCASE_GROUND_STATE, 7752f2e35a3aSmrgCASE_SPA, 7753f2e35a3aSmrgCASE_EPA, 7754f2e35a3aSmrg/* 0x98 0x99 0x9a 0x9b */ 7755f2e35a3aSmrgCASE_SOS, 7756f2e35a3aSmrgCASE_GROUND_STATE, 7757f2e35a3aSmrgCASE_DECID, 7758f2e35a3aSmrgCASE_CSI_STATE, 7759f2e35a3aSmrg/* 0x9c 0x9d 0x9e 0x9f */ 7760f2e35a3aSmrgCASE_ST, 7761f2e35a3aSmrgCASE_OSC, 7762f2e35a3aSmrgCASE_PM, 7763f2e35a3aSmrgCASE_APC, 7764f2e35a3aSmrg/* nobreakspace exclamdown cent sterling */ 7765f2e35a3aSmrgCASE_IGNORE, 7766f2e35a3aSmrgCASE_IGNORE, 7767f2e35a3aSmrgCASE_IGNORE, 7768f2e35a3aSmrgCASE_IGNORE, 7769f2e35a3aSmrg/* currency yen brokenbar section */ 7770f2e35a3aSmrgCASE_IGNORE, 7771f2e35a3aSmrgCASE_IGNORE, 7772f2e35a3aSmrgCASE_IGNORE, 7773f2e35a3aSmrgCASE_IGNORE, 7774f2e35a3aSmrg/* diaeresis copyright ordfeminine guillemotleft */ 7775f2e35a3aSmrgCASE_IGNORE, 7776f2e35a3aSmrgCASE_IGNORE, 7777f2e35a3aSmrgCASE_IGNORE, 7778f2e35a3aSmrgCASE_IGNORE, 7779f2e35a3aSmrg/* notsign hyphen registered macron */ 7780f2e35a3aSmrgCASE_IGNORE, 7781f2e35a3aSmrgCASE_IGNORE, 7782f2e35a3aSmrgCASE_IGNORE, 7783f2e35a3aSmrgCASE_IGNORE, 7784f2e35a3aSmrg/* degree plusminus twosuperior threesuperior */ 7785f2e35a3aSmrgCASE_IGNORE, 7786f2e35a3aSmrgCASE_IGNORE, 7787f2e35a3aSmrgCASE_IGNORE, 7788f2e35a3aSmrgCASE_IGNORE, 7789f2e35a3aSmrg/* acute mu paragraph periodcentered */ 7790f2e35a3aSmrgCASE_IGNORE, 7791f2e35a3aSmrgCASE_IGNORE, 7792f2e35a3aSmrgCASE_IGNORE, 7793f2e35a3aSmrgCASE_IGNORE, 7794f2e35a3aSmrg/* cedilla onesuperior masculine guillemotright */ 7795f2e35a3aSmrgCASE_IGNORE, 7796f2e35a3aSmrgCASE_IGNORE, 7797f2e35a3aSmrgCASE_IGNORE, 7798f2e35a3aSmrgCASE_IGNORE, 7799f2e35a3aSmrg/* onequarter onehalf threequarters questiondown */ 7800f2e35a3aSmrgCASE_IGNORE, 7801f2e35a3aSmrgCASE_IGNORE, 7802f2e35a3aSmrgCASE_IGNORE, 7803f2e35a3aSmrgCASE_IGNORE, 7804f2e35a3aSmrg/* Agrave Aacute Acircumflex Atilde */ 7805f2e35a3aSmrgCASE_IGNORE, 7806f2e35a3aSmrgCASE_IGNORE, 7807f2e35a3aSmrgCASE_IGNORE, 7808f2e35a3aSmrgCASE_IGNORE, 7809f2e35a3aSmrg/* Adiaeresis Aring AE Ccedilla */ 7810f2e35a3aSmrgCASE_IGNORE, 7811f2e35a3aSmrgCASE_IGNORE, 7812f2e35a3aSmrgCASE_IGNORE, 7813f2e35a3aSmrgCASE_IGNORE, 7814f2e35a3aSmrg/* Egrave Eacute Ecircumflex Ediaeresis */ 7815f2e35a3aSmrgCASE_IGNORE, 7816f2e35a3aSmrgCASE_IGNORE, 7817f2e35a3aSmrgCASE_IGNORE, 7818f2e35a3aSmrgCASE_IGNORE, 7819f2e35a3aSmrg/* Igrave Iacute Icircumflex Idiaeresis */ 7820f2e35a3aSmrgCASE_IGNORE, 7821f2e35a3aSmrgCASE_IGNORE, 7822f2e35a3aSmrgCASE_IGNORE, 7823f2e35a3aSmrgCASE_IGNORE, 7824f2e35a3aSmrg/* Eth Ntilde Ograve Oacute */ 7825f2e35a3aSmrgCASE_IGNORE, 7826f2e35a3aSmrgCASE_IGNORE, 7827f2e35a3aSmrgCASE_IGNORE, 7828f2e35a3aSmrgCASE_IGNORE, 7829d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 7830f2e35a3aSmrgCASE_IGNORE, 7831f2e35a3aSmrgCASE_IGNORE, 7832f2e35a3aSmrgCASE_IGNORE, 7833f2e35a3aSmrgCASE_IGNORE, 7834d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 7835f2e35a3aSmrgCASE_IGNORE, 7836f2e35a3aSmrgCASE_IGNORE, 7837f2e35a3aSmrgCASE_IGNORE, 7838f2e35a3aSmrgCASE_IGNORE, 7839d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 7840f2e35a3aSmrgCASE_IGNORE, 7841f2e35a3aSmrgCASE_IGNORE, 7842f2e35a3aSmrgCASE_IGNORE, 7843f2e35a3aSmrgCASE_IGNORE, 7844d522f475Smrg/* agrave aacute acircumflex atilde */ 7845f2e35a3aSmrgCASE_IGNORE, 7846f2e35a3aSmrgCASE_IGNORE, 7847f2e35a3aSmrgCASE_IGNORE, 7848f2e35a3aSmrgCASE_IGNORE, 78492eaa94a1Schristos/* adiaeresis aring ae ccedilla */ 7850f2e35a3aSmrgCASE_IGNORE, 7851f2e35a3aSmrgCASE_IGNORE, 7852f2e35a3aSmrgCASE_IGNORE, 7853f2e35a3aSmrgCASE_IGNORE, 78542eaa94a1Schristos/* egrave eacute ecircumflex ediaeresis */ 7855f2e35a3aSmrgCASE_IGNORE, 7856f2e35a3aSmrgCASE_IGNORE, 7857f2e35a3aSmrgCASE_IGNORE, 7858f2e35a3aSmrgCASE_IGNORE, 78592eaa94a1Schristos/* igrave iacute icircumflex idiaeresis */ 7860f2e35a3aSmrgCASE_IGNORE, 7861f2e35a3aSmrgCASE_IGNORE, 7862f2e35a3aSmrgCASE_IGNORE, 7863f2e35a3aSmrgCASE_IGNORE, 78642eaa94a1Schristos/* eth ntilde ograve oacute */ 7865f2e35a3aSmrgCASE_IGNORE, 7866f2e35a3aSmrgCASE_IGNORE, 7867f2e35a3aSmrgCASE_IGNORE, 7868f2e35a3aSmrgCASE_IGNORE, 78692eaa94a1Schristos/* ocircumflex otilde odiaeresis division */ 7870f2e35a3aSmrgCASE_IGNORE, 7871f2e35a3aSmrgCASE_IGNORE, 7872f2e35a3aSmrgCASE_IGNORE, 7873f2e35a3aSmrgCASE_IGNORE, 78742eaa94a1Schristos/* oslash ugrave uacute ucircumflex */ 7875f2e35a3aSmrgCASE_IGNORE, 7876f2e35a3aSmrgCASE_IGNORE, 7877f2e35a3aSmrgCASE_IGNORE, 7878f2e35a3aSmrgCASE_IGNORE, 78792eaa94a1Schristos/* udiaeresis yacute thorn ydiaeresis */ 7880f2e35a3aSmrgCASE_IGNORE, 7881f2e35a3aSmrgCASE_IGNORE, 7882f2e35a3aSmrgCASE_IGNORE, 78832eaa94a1SchristosCASE_IGNORE, 78842eaa94a1Schristos}; 78852eaa94a1Schristos 7886f2e35a3aSmrg#if OPT_WIDE_CHARS 78875104ee6eSmrgconst PARSE_T esc_pct_table[] = /* ESC % */ 78882eaa94a1Schristos{ 78892eaa94a1Schristos/* NUL SOH STX ETX */ 78902eaa94a1SchristosCASE_IGNORE, 78912eaa94a1SchristosCASE_IGNORE, 78922eaa94a1SchristosCASE_IGNORE, 78932eaa94a1SchristosCASE_IGNORE, 78942eaa94a1Schristos/* EOT ENQ ACK BEL */ 78952eaa94a1SchristosCASE_IGNORE, 78962eaa94a1SchristosCASE_ENQ, 78972eaa94a1SchristosCASE_IGNORE, 78982eaa94a1SchristosCASE_BELL, 78992eaa94a1Schristos/* BS HT NL VT */ 79002eaa94a1SchristosCASE_BS, 79012eaa94a1SchristosCASE_TAB, 79022eaa94a1SchristosCASE_VMOT, 79032eaa94a1SchristosCASE_VMOT, 79040bd37d32Smrg/* FF CR SO SI */ 79052eaa94a1SchristosCASE_VMOT, 79062eaa94a1SchristosCASE_CR, 79072eaa94a1SchristosCASE_SO, 79082eaa94a1SchristosCASE_SI, 79092eaa94a1Schristos/* DLE DC1 DC2 DC3 */ 79102eaa94a1SchristosCASE_IGNORE, 79112eaa94a1SchristosCASE_IGNORE, 79122eaa94a1SchristosCASE_IGNORE, 79132eaa94a1SchristosCASE_IGNORE, 79142eaa94a1Schristos/* DC4 NAK SYN ETB */ 79152eaa94a1SchristosCASE_IGNORE, 79162eaa94a1SchristosCASE_IGNORE, 79172eaa94a1SchristosCASE_IGNORE, 79182eaa94a1SchristosCASE_IGNORE, 79192eaa94a1Schristos/* CAN EM SUB ESC */ 79202eaa94a1SchristosCASE_GROUND_STATE, 79212eaa94a1SchristosCASE_IGNORE, 79225104ee6eSmrgCASE_SUB, 79232eaa94a1SchristosCASE_ESC, 79242eaa94a1Schristos/* FS GS RS US */ 79252eaa94a1SchristosCASE_IGNORE, 79262eaa94a1SchristosCASE_IGNORE, 79272eaa94a1SchristosCASE_IGNORE, 79282eaa94a1SchristosCASE_IGNORE, 79292eaa94a1Schristos/* SP ! " # */ 79302eaa94a1SchristosCASE_ESC_IGNORE, 79312eaa94a1SchristosCASE_ESC_IGNORE, 79322eaa94a1SchristosCASE_ESC_IGNORE, 79332eaa94a1SchristosCASE_ESC_IGNORE, 79342eaa94a1Schristos/* $ % & ' */ 79352eaa94a1SchristosCASE_ESC_IGNORE, 79362eaa94a1SchristosCASE_ESC_IGNORE, 79372eaa94a1SchristosCASE_ESC_IGNORE, 79382eaa94a1SchristosCASE_ESC_IGNORE, 79392eaa94a1Schristos/* ( ) * + */ 79402eaa94a1SchristosCASE_ESC_IGNORE, 79412eaa94a1SchristosCASE_ESC_IGNORE, 79422eaa94a1SchristosCASE_ESC_IGNORE, 79432eaa94a1SchristosCASE_ESC_IGNORE, 79442eaa94a1Schristos/* , - . / */ 79452eaa94a1SchristosCASE_ESC_IGNORE, 79462eaa94a1SchristosCASE_ESC_IGNORE, 79472eaa94a1SchristosCASE_ESC_IGNORE, 79482eaa94a1SchristosCASE_ESC_IGNORE, 79492eaa94a1Schristos/* 0 1 2 3 */ 7950f2e35a3aSmrgCASE_GSETS5, 79512eaa94a1SchristosCASE_GROUND_STATE, 7952f2e35a3aSmrgCASE_GSETS5, 79532eaa94a1SchristosCASE_GROUND_STATE, 79542eaa94a1Schristos/* 4 5 6 7 */ 79552eaa94a1SchristosCASE_GROUND_STATE, 79562eaa94a1SchristosCASE_GROUND_STATE, 79572eaa94a1SchristosCASE_GROUND_STATE, 79582eaa94a1SchristosCASE_GROUND_STATE, 79592eaa94a1Schristos/* 8 9 : ; */ 79602eaa94a1SchristosCASE_GROUND_STATE, 79612eaa94a1SchristosCASE_GROUND_STATE, 79622eaa94a1SchristosCASE_GROUND_STATE, 79632eaa94a1SchristosCASE_GROUND_STATE, 79642eaa94a1Schristos/* < = > ? */ 79652eaa94a1SchristosCASE_GROUND_STATE, 79662eaa94a1SchristosCASE_GROUND_STATE, 79672eaa94a1SchristosCASE_GROUND_STATE, 79682eaa94a1SchristosCASE_GROUND_STATE, 79692eaa94a1Schristos/* @ A B C */ 7970f2e35a3aSmrgCASE_UTF8, 79712eaa94a1SchristosCASE_GROUND_STATE, 79722eaa94a1SchristosCASE_GROUND_STATE, 79732eaa94a1SchristosCASE_GROUND_STATE, 79742eaa94a1Schristos/* D E F G */ 79752eaa94a1SchristosCASE_GROUND_STATE, 79762eaa94a1SchristosCASE_GROUND_STATE, 79772eaa94a1SchristosCASE_GROUND_STATE, 7978f2e35a3aSmrgCASE_UTF8, 79792eaa94a1Schristos/* H I J K */ 79802eaa94a1SchristosCASE_GROUND_STATE, 79812eaa94a1SchristosCASE_GROUND_STATE, 79822eaa94a1SchristosCASE_GROUND_STATE, 79832eaa94a1SchristosCASE_GROUND_STATE, 79842eaa94a1Schristos/* L M N O */ 79852eaa94a1SchristosCASE_GROUND_STATE, 79862eaa94a1SchristosCASE_GROUND_STATE, 79872eaa94a1SchristosCASE_GROUND_STATE, 79882eaa94a1SchristosCASE_GROUND_STATE, 79892eaa94a1Schristos/* P Q R S */ 79902eaa94a1SchristosCASE_GROUND_STATE, 79912eaa94a1SchristosCASE_GROUND_STATE, 79922eaa94a1SchristosCASE_GROUND_STATE, 79932eaa94a1SchristosCASE_GROUND_STATE, 79942eaa94a1Schristos/* T U V W */ 79952eaa94a1SchristosCASE_GROUND_STATE, 79962eaa94a1SchristosCASE_GROUND_STATE, 79972eaa94a1SchristosCASE_GROUND_STATE, 79982eaa94a1SchristosCASE_GROUND_STATE, 79992eaa94a1Schristos/* X Y Z [ */ 80002eaa94a1SchristosCASE_GROUND_STATE, 80012eaa94a1SchristosCASE_GROUND_STATE, 80022eaa94a1SchristosCASE_GROUND_STATE, 80032eaa94a1SchristosCASE_GROUND_STATE, 80042eaa94a1Schristos/* \ ] ^ _ */ 80052eaa94a1SchristosCASE_GROUND_STATE, 80062eaa94a1SchristosCASE_GROUND_STATE, 80072eaa94a1SchristosCASE_GROUND_STATE, 80082eaa94a1SchristosCASE_GROUND_STATE, 80092eaa94a1Schristos/* ` a b c */ 80102eaa94a1SchristosCASE_GROUND_STATE, 80112eaa94a1SchristosCASE_GROUND_STATE, 80122eaa94a1SchristosCASE_GROUND_STATE, 80132eaa94a1SchristosCASE_GROUND_STATE, 80142eaa94a1Schristos/* d e f g */ 80152eaa94a1SchristosCASE_GROUND_STATE, 80162eaa94a1SchristosCASE_GROUND_STATE, 80172eaa94a1SchristosCASE_GROUND_STATE, 80182eaa94a1SchristosCASE_GROUND_STATE, 80192eaa94a1Schristos/* h i j k */ 80202eaa94a1SchristosCASE_GROUND_STATE, 80212eaa94a1SchristosCASE_GROUND_STATE, 80222eaa94a1SchristosCASE_GROUND_STATE, 80232eaa94a1SchristosCASE_GROUND_STATE, 80242eaa94a1Schristos/* l m n o */ 80252eaa94a1SchristosCASE_GROUND_STATE, 80262eaa94a1SchristosCASE_GROUND_STATE, 80272eaa94a1SchristosCASE_GROUND_STATE, 80282eaa94a1SchristosCASE_GROUND_STATE, 80292eaa94a1Schristos/* p q r s */ 80302eaa94a1SchristosCASE_GROUND_STATE, 80312eaa94a1SchristosCASE_GROUND_STATE, 80322eaa94a1SchristosCASE_GROUND_STATE, 80332eaa94a1SchristosCASE_GROUND_STATE, 80342eaa94a1Schristos/* t u v w */ 80352eaa94a1SchristosCASE_GROUND_STATE, 80362eaa94a1SchristosCASE_GROUND_STATE, 80372eaa94a1SchristosCASE_GROUND_STATE, 80382eaa94a1SchristosCASE_GROUND_STATE, 80392eaa94a1Schristos/* x y z { */ 80402eaa94a1SchristosCASE_GROUND_STATE, 80412eaa94a1SchristosCASE_GROUND_STATE, 80422eaa94a1SchristosCASE_GROUND_STATE, 80432eaa94a1SchristosCASE_GROUND_STATE, 80442eaa94a1Schristos/* | } ~ DEL */ 80452eaa94a1SchristosCASE_GROUND_STATE, 80462eaa94a1SchristosCASE_GROUND_STATE, 80472eaa94a1SchristosCASE_GROUND_STATE, 80482eaa94a1SchristosCASE_IGNORE, 80492eaa94a1Schristos/* 0x80 0x81 0x82 0x83 */ 80502eaa94a1SchristosCASE_GROUND_STATE, 80512eaa94a1SchristosCASE_GROUND_STATE, 80522eaa94a1SchristosCASE_GROUND_STATE, 80532eaa94a1SchristosCASE_GROUND_STATE, 80542eaa94a1Schristos/* 0x84 0x85 0x86 0x87 */ 80552eaa94a1SchristosCASE_IND, 80562eaa94a1SchristosCASE_NEL, 80572eaa94a1SchristosCASE_GROUND_STATE, 80582eaa94a1SchristosCASE_GROUND_STATE, 80592eaa94a1Schristos/* 0x88 0x89 0x8a 0x8b */ 80602eaa94a1SchristosCASE_HTS, 80612eaa94a1SchristosCASE_GROUND_STATE, 80622eaa94a1SchristosCASE_GROUND_STATE, 80632eaa94a1SchristosCASE_GROUND_STATE, 80642eaa94a1Schristos/* 0x8c 0x8d 0x8e 0x8f */ 80652eaa94a1SchristosCASE_GROUND_STATE, 80662eaa94a1SchristosCASE_RI, 80672eaa94a1SchristosCASE_SS2, 80682eaa94a1SchristosCASE_SS3, 80692eaa94a1Schristos/* 0x90 0x91 0x92 0x93 */ 80702eaa94a1SchristosCASE_DCS, 80712eaa94a1SchristosCASE_GROUND_STATE, 80722eaa94a1SchristosCASE_GROUND_STATE, 80732eaa94a1SchristosCASE_GROUND_STATE, 80742eaa94a1Schristos/* 0x94 0x95 0x96 0x97 */ 80752eaa94a1SchristosCASE_GROUND_STATE, 80762eaa94a1SchristosCASE_GROUND_STATE, 80772eaa94a1SchristosCASE_SPA, 80782eaa94a1SchristosCASE_EPA, 80792eaa94a1Schristos/* 0x98 0x99 0x9a 0x9b */ 80802eaa94a1SchristosCASE_SOS, 80812eaa94a1SchristosCASE_GROUND_STATE, 80822eaa94a1SchristosCASE_DECID, 80832eaa94a1SchristosCASE_CSI_STATE, 80842eaa94a1Schristos/* 0x9c 0x9d 0x9e 0x9f */ 80852eaa94a1SchristosCASE_ST, 80862eaa94a1SchristosCASE_OSC, 80872eaa94a1SchristosCASE_PM, 80882eaa94a1SchristosCASE_APC, 80892eaa94a1Schristos/* nobreakspace exclamdown cent sterling */ 80902eaa94a1SchristosCASE_ESC_IGNORE, 80912eaa94a1SchristosCASE_ESC_IGNORE, 80922eaa94a1SchristosCASE_ESC_IGNORE, 80932eaa94a1SchristosCASE_ESC_IGNORE, 80942eaa94a1Schristos/* currency yen brokenbar section */ 80952eaa94a1SchristosCASE_ESC_IGNORE, 80962eaa94a1SchristosCASE_ESC_IGNORE, 80972eaa94a1SchristosCASE_ESC_IGNORE, 80982eaa94a1SchristosCASE_ESC_IGNORE, 80992eaa94a1Schristos/* diaeresis copyright ordfeminine guillemotleft */ 81002eaa94a1SchristosCASE_ESC_IGNORE, 81012eaa94a1SchristosCASE_ESC_IGNORE, 81022eaa94a1SchristosCASE_ESC_IGNORE, 81032eaa94a1SchristosCASE_ESC_IGNORE, 81042eaa94a1Schristos/* notsign hyphen registered macron */ 81052eaa94a1SchristosCASE_ESC_IGNORE, 81062eaa94a1SchristosCASE_ESC_IGNORE, 81072eaa94a1SchristosCASE_ESC_IGNORE, 81082eaa94a1SchristosCASE_ESC_IGNORE, 81092eaa94a1Schristos/* degree plusminus twosuperior threesuperior */ 8110f2e35a3aSmrgCASE_GSETS5, 81112eaa94a1SchristosCASE_GROUND_STATE, 8112f2e35a3aSmrgCASE_GSETS5, 81132eaa94a1SchristosCASE_GROUND_STATE, 81142eaa94a1Schristos/* acute mu paragraph periodcentered */ 81152eaa94a1SchristosCASE_GROUND_STATE, 81162eaa94a1SchristosCASE_GROUND_STATE, 81172eaa94a1SchristosCASE_GROUND_STATE, 81182eaa94a1SchristosCASE_GROUND_STATE, 81192eaa94a1Schristos/* cedilla onesuperior masculine guillemotright */ 81202eaa94a1SchristosCASE_GROUND_STATE, 81212eaa94a1SchristosCASE_GROUND_STATE, 81222eaa94a1SchristosCASE_GROUND_STATE, 81232eaa94a1SchristosCASE_GROUND_STATE, 81242eaa94a1Schristos/* onequarter onehalf threequarters questiondown */ 81252eaa94a1SchristosCASE_GROUND_STATE, 81262eaa94a1SchristosCASE_GROUND_STATE, 81272eaa94a1SchristosCASE_GROUND_STATE, 81282eaa94a1SchristosCASE_GROUND_STATE, 81292eaa94a1Schristos/* Agrave Aacute Acircumflex Atilde */ 8130f2e35a3aSmrgCASE_UTF8, 81312eaa94a1SchristosCASE_GROUND_STATE, 81322eaa94a1SchristosCASE_GROUND_STATE, 81332eaa94a1SchristosCASE_GROUND_STATE, 81342eaa94a1Schristos/* Adiaeresis Aring AE Ccedilla */ 81352eaa94a1SchristosCASE_GROUND_STATE, 81362eaa94a1SchristosCASE_GROUND_STATE, 81372eaa94a1SchristosCASE_GROUND_STATE, 8138f2e35a3aSmrgCASE_UTF8, 81392eaa94a1Schristos/* Egrave Eacute Ecircumflex Ediaeresis */ 81402eaa94a1SchristosCASE_GROUND_STATE, 81412eaa94a1SchristosCASE_GROUND_STATE, 81422eaa94a1SchristosCASE_GROUND_STATE, 81432eaa94a1SchristosCASE_GROUND_STATE, 81442eaa94a1Schristos/* Igrave Iacute Icircumflex Idiaeresis */ 81452eaa94a1SchristosCASE_GROUND_STATE, 81462eaa94a1SchristosCASE_GROUND_STATE, 81472eaa94a1SchristosCASE_GROUND_STATE, 81482eaa94a1SchristosCASE_GROUND_STATE, 81492eaa94a1Schristos/* Eth Ntilde Ograve Oacute */ 81502eaa94a1SchristosCASE_GROUND_STATE, 81512eaa94a1SchristosCASE_GROUND_STATE, 81522eaa94a1SchristosCASE_GROUND_STATE, 81532eaa94a1SchristosCASE_GROUND_STATE, 81542eaa94a1Schristos/* Ocircumflex Otilde Odiaeresis multiply */ 81552eaa94a1SchristosCASE_GROUND_STATE, 81562eaa94a1SchristosCASE_GROUND_STATE, 81572eaa94a1SchristosCASE_GROUND_STATE, 81582eaa94a1SchristosCASE_GROUND_STATE, 81592eaa94a1Schristos/* Ooblique Ugrave Uacute Ucircumflex */ 81602eaa94a1SchristosCASE_GROUND_STATE, 81612eaa94a1SchristosCASE_GROUND_STATE, 81622eaa94a1SchristosCASE_GROUND_STATE, 81632eaa94a1SchristosCASE_GROUND_STATE, 81642eaa94a1Schristos/* Udiaeresis Yacute Thorn ssharp */ 81652eaa94a1SchristosCASE_GROUND_STATE, 81662eaa94a1SchristosCASE_GROUND_STATE, 81672eaa94a1SchristosCASE_GROUND_STATE, 81682eaa94a1SchristosCASE_GROUND_STATE, 81692eaa94a1Schristos/* agrave aacute acircumflex atilde */ 81702eaa94a1SchristosCASE_GROUND_STATE, 8171d522f475SmrgCASE_GROUND_STATE, 8172d522f475SmrgCASE_GROUND_STATE, 8173d522f475SmrgCASE_GROUND_STATE, 8174d522f475Smrg/* adiaeresis aring ae ccedilla */ 8175d522f475SmrgCASE_GROUND_STATE, 8176d522f475SmrgCASE_GROUND_STATE, 8177d522f475SmrgCASE_GROUND_STATE, 8178d522f475SmrgCASE_GROUND_STATE, 8179d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 8180d522f475SmrgCASE_GROUND_STATE, 8181d522f475SmrgCASE_GROUND_STATE, 8182d522f475SmrgCASE_GROUND_STATE, 8183d522f475SmrgCASE_GROUND_STATE, 8184d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 8185d522f475SmrgCASE_GROUND_STATE, 8186d522f475SmrgCASE_GROUND_STATE, 8187d522f475SmrgCASE_GROUND_STATE, 8188d522f475SmrgCASE_GROUND_STATE, 8189d522f475Smrg/* eth ntilde ograve oacute */ 8190d522f475SmrgCASE_GROUND_STATE, 8191d522f475SmrgCASE_GROUND_STATE, 8192d522f475SmrgCASE_GROUND_STATE, 8193d522f475SmrgCASE_GROUND_STATE, 8194d522f475Smrg/* ocircumflex otilde odiaeresis division */ 8195d522f475SmrgCASE_GROUND_STATE, 8196d522f475SmrgCASE_GROUND_STATE, 8197d522f475SmrgCASE_GROUND_STATE, 8198d522f475SmrgCASE_GROUND_STATE, 8199d522f475Smrg/* oslash ugrave uacute ucircumflex */ 8200d522f475SmrgCASE_GROUND_STATE, 8201d522f475SmrgCASE_GROUND_STATE, 8202d522f475SmrgCASE_GROUND_STATE, 8203d522f475SmrgCASE_GROUND_STATE, 8204d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 8205d522f475SmrgCASE_GROUND_STATE, 8206d522f475SmrgCASE_GROUND_STATE, 8207d522f475SmrgCASE_GROUND_STATE, 8208d522f475SmrgCASE_IGNORE, 8209d522f475Smrg}; 8210d522f475Smrg 82115104ee6eSmrgconst PARSE_T scs_2qt_table[] = /* SCS " */ 8212d522f475Smrg{ 8213d522f475Smrg/* NUL SOH STX ETX */ 8214d522f475SmrgCASE_IGNORE, 8215d522f475SmrgCASE_IGNORE, 8216d522f475SmrgCASE_IGNORE, 8217d522f475SmrgCASE_IGNORE, 8218d522f475Smrg/* EOT ENQ ACK BEL */ 8219d522f475SmrgCASE_IGNORE, 8220f2e35a3aSmrgCASE_ENQ, 8221d522f475SmrgCASE_IGNORE, 8222d522f475SmrgCASE_BELL, 8223d522f475Smrg/* BS HT NL VT */ 8224f2e35a3aSmrgCASE_BS, 8225f2e35a3aSmrgCASE_TAB, 8226f2e35a3aSmrgCASE_VMOT, 8227f2e35a3aSmrgCASE_VMOT, 82280bd37d32Smrg/* FF CR SO SI */ 8229f2e35a3aSmrgCASE_VMOT, 8230f2e35a3aSmrgCASE_CR, 8231f2e35a3aSmrgCASE_SO, 8232f2e35a3aSmrgCASE_SI, 8233d522f475Smrg/* DLE DC1 DC2 DC3 */ 8234d522f475SmrgCASE_IGNORE, 8235d522f475SmrgCASE_IGNORE, 8236d522f475SmrgCASE_IGNORE, 8237d522f475SmrgCASE_IGNORE, 8238d522f475Smrg/* DC4 NAK SYN ETB */ 8239d522f475SmrgCASE_IGNORE, 8240d522f475SmrgCASE_IGNORE, 8241d522f475SmrgCASE_IGNORE, 8242d522f475SmrgCASE_IGNORE, 8243d522f475Smrg/* CAN EM SUB ESC */ 8244d522f475SmrgCASE_GROUND_STATE, 8245d522f475SmrgCASE_IGNORE, 82465104ee6eSmrgCASE_SUB, 8247d522f475SmrgCASE_ESC, 8248d522f475Smrg/* FS GS RS US */ 8249d522f475SmrgCASE_IGNORE, 8250d522f475SmrgCASE_IGNORE, 8251d522f475SmrgCASE_IGNORE, 8252d522f475SmrgCASE_IGNORE, 8253d522f475Smrg/* SP ! " # */ 8254f2e35a3aSmrgCASE_ESC_IGNORE, 8255f2e35a3aSmrgCASE_ESC_IGNORE, 8256f2e35a3aSmrgCASE_ESC_IGNORE, 8257f2e35a3aSmrgCASE_ESC_IGNORE, 8258d522f475Smrg/* $ % & ' */ 8259f2e35a3aSmrgCASE_ESC_IGNORE, 8260f2e35a3aSmrgCASE_ESC_IGNORE, 8261f2e35a3aSmrgCASE_ESC_IGNORE, 8262f2e35a3aSmrgCASE_ESC_IGNORE, 8263d522f475Smrg/* ( ) * + */ 8264f2e35a3aSmrgCASE_ESC_IGNORE, 8265f2e35a3aSmrgCASE_ESC_IGNORE, 8266f2e35a3aSmrgCASE_ESC_IGNORE, 8267f2e35a3aSmrgCASE_ESC_IGNORE, 8268d522f475Smrg/* , - . / */ 8269f2e35a3aSmrgCASE_ESC_IGNORE, 8270f2e35a3aSmrgCASE_ESC_IGNORE, 8271f2e35a3aSmrgCASE_ESC_IGNORE, 8272f2e35a3aSmrgCASE_ESC_IGNORE, 8273d522f475Smrg/* 0 1 2 3 */ 8274f2e35a3aSmrgCASE_GROUND_STATE, 8275f2e35a3aSmrgCASE_GROUND_STATE, 8276f2e35a3aSmrgCASE_GROUND_STATE, 8277f2e35a3aSmrgCASE_GROUND_STATE, 8278d522f475Smrg/* 4 5 6 7 */ 8279f2e35a3aSmrgCASE_GSETS_DQUOTE, 8280f2e35a3aSmrgCASE_GROUND_STATE, 8281f2e35a3aSmrgCASE_GROUND_STATE, 8282f2e35a3aSmrgCASE_GROUND_STATE, 8283d522f475Smrg/* 8 9 : ; */ 8284f2e35a3aSmrgCASE_GROUND_STATE, 8285f2e35a3aSmrgCASE_GROUND_STATE, 8286f2e35a3aSmrgCASE_GROUND_STATE, 8287f2e35a3aSmrgCASE_GROUND_STATE, 8288d522f475Smrg/* < = > ? */ 8289f2e35a3aSmrgCASE_GROUND_STATE, 8290f2e35a3aSmrgCASE_GROUND_STATE, 8291f2e35a3aSmrgCASE_GSETS_DQUOTE, 8292f2e35a3aSmrgCASE_GSETS_DQUOTE, 8293d522f475Smrg/* @ A B C */ 8294f2e35a3aSmrgCASE_GROUND_STATE, 8295f2e35a3aSmrgCASE_GROUND_STATE, 8296f2e35a3aSmrgCASE_GROUND_STATE, 8297f2e35a3aSmrgCASE_GROUND_STATE, 8298d522f475Smrg/* D E F G */ 8299f2e35a3aSmrgCASE_GROUND_STATE, 8300f2e35a3aSmrgCASE_GROUND_STATE, 8301f2e35a3aSmrgCASE_GROUND_STATE, 8302f2e35a3aSmrgCASE_GROUND_STATE, 8303d522f475Smrg/* H I J K */ 8304f2e35a3aSmrgCASE_GROUND_STATE, 8305f2e35a3aSmrgCASE_GROUND_STATE, 8306f2e35a3aSmrgCASE_GROUND_STATE, 8307f2e35a3aSmrgCASE_GROUND_STATE, 8308d522f475Smrg/* L M N O */ 8309f2e35a3aSmrgCASE_GROUND_STATE, 8310f2e35a3aSmrgCASE_GROUND_STATE, 8311f2e35a3aSmrgCASE_GROUND_STATE, 8312f2e35a3aSmrgCASE_GROUND_STATE, 8313d522f475Smrg/* P Q R S */ 8314f2e35a3aSmrgCASE_GROUND_STATE, 8315f2e35a3aSmrgCASE_GROUND_STATE, 8316f2e35a3aSmrgCASE_GROUND_STATE, 8317f2e35a3aSmrgCASE_GROUND_STATE, 8318d522f475Smrg/* T U V W */ 8319f2e35a3aSmrgCASE_GROUND_STATE, 8320f2e35a3aSmrgCASE_GROUND_STATE, 8321f2e35a3aSmrgCASE_GROUND_STATE, 8322f2e35a3aSmrgCASE_GROUND_STATE, 8323d522f475Smrg/* X Y Z [ */ 8324f2e35a3aSmrgCASE_GROUND_STATE, 8325f2e35a3aSmrgCASE_GROUND_STATE, 8326f2e35a3aSmrgCASE_GROUND_STATE, 8327f2e35a3aSmrgCASE_GROUND_STATE, 8328d522f475Smrg/* \ ] ^ _ */ 8329f2e35a3aSmrgCASE_GROUND_STATE, 8330f2e35a3aSmrgCASE_GROUND_STATE, 8331f2e35a3aSmrgCASE_GROUND_STATE, 8332f2e35a3aSmrgCASE_GROUND_STATE, 8333d522f475Smrg/* ` a b c */ 8334f2e35a3aSmrgCASE_GROUND_STATE, 8335f2e35a3aSmrgCASE_GROUND_STATE, 8336f2e35a3aSmrgCASE_GROUND_STATE, 8337f2e35a3aSmrgCASE_GROUND_STATE, 8338d522f475Smrg/* d e f g */ 8339f2e35a3aSmrgCASE_GROUND_STATE, 8340f2e35a3aSmrgCASE_GROUND_STATE, 8341f2e35a3aSmrgCASE_GROUND_STATE, 8342f2e35a3aSmrgCASE_GROUND_STATE, 8343d522f475Smrg/* h i j k */ 8344f2e35a3aSmrgCASE_GROUND_STATE, 8345f2e35a3aSmrgCASE_GROUND_STATE, 8346f2e35a3aSmrgCASE_GROUND_STATE, 8347f2e35a3aSmrgCASE_GROUND_STATE, 8348d522f475Smrg/* l m n o */ 8349f2e35a3aSmrgCASE_GROUND_STATE, 8350f2e35a3aSmrgCASE_GROUND_STATE, 8351f2e35a3aSmrgCASE_GROUND_STATE, 8352f2e35a3aSmrgCASE_GROUND_STATE, 8353d522f475Smrg/* p q r s */ 8354f2e35a3aSmrgCASE_GROUND_STATE, 8355f2e35a3aSmrgCASE_GROUND_STATE, 8356f2e35a3aSmrgCASE_GROUND_STATE, 8357f2e35a3aSmrgCASE_GROUND_STATE, 8358d522f475Smrg/* t u v w */ 8359f2e35a3aSmrgCASE_GROUND_STATE, 8360f2e35a3aSmrgCASE_GROUND_STATE, 8361f2e35a3aSmrgCASE_GROUND_STATE, 8362f2e35a3aSmrgCASE_GROUND_STATE, 8363d522f475Smrg/* x y z { */ 8364f2e35a3aSmrgCASE_GROUND_STATE, 8365f2e35a3aSmrgCASE_GROUND_STATE, 8366f2e35a3aSmrgCASE_GROUND_STATE, 8367f2e35a3aSmrgCASE_GROUND_STATE, 8368d522f475Smrg/* | } ~ DEL */ 8369f2e35a3aSmrgCASE_GROUND_STATE, 8370f2e35a3aSmrgCASE_GROUND_STATE, 8371f2e35a3aSmrgCASE_GROUND_STATE, 8372d522f475SmrgCASE_IGNORE, 8373d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 8374d522f475SmrgCASE_GROUND_STATE, 8375d522f475SmrgCASE_GROUND_STATE, 8376d522f475SmrgCASE_GROUND_STATE, 8377d522f475SmrgCASE_GROUND_STATE, 8378d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 8379d522f475SmrgCASE_IND, 8380d522f475SmrgCASE_NEL, 8381d522f475SmrgCASE_GROUND_STATE, 8382d522f475SmrgCASE_GROUND_STATE, 8383d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 8384d522f475SmrgCASE_HTS, 8385d522f475SmrgCASE_GROUND_STATE, 8386d522f475SmrgCASE_GROUND_STATE, 8387d522f475SmrgCASE_GROUND_STATE, 8388d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 8389d522f475SmrgCASE_GROUND_STATE, 8390d522f475SmrgCASE_RI, 8391d522f475SmrgCASE_SS2, 8392d522f475SmrgCASE_SS3, 8393d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 8394d522f475SmrgCASE_DCS, 8395d522f475SmrgCASE_GROUND_STATE, 8396d522f475SmrgCASE_GROUND_STATE, 8397d522f475SmrgCASE_GROUND_STATE, 8398d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 8399d522f475SmrgCASE_GROUND_STATE, 8400d522f475SmrgCASE_GROUND_STATE, 8401d522f475SmrgCASE_SPA, 8402d522f475SmrgCASE_EPA, 8403d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 8404d522f475SmrgCASE_SOS, 8405d522f475SmrgCASE_GROUND_STATE, 8406d522f475SmrgCASE_DECID, 8407d522f475SmrgCASE_CSI_STATE, 8408d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 8409d522f475SmrgCASE_ST, 8410d522f475SmrgCASE_OSC, 8411d522f475SmrgCASE_PM, 8412d522f475SmrgCASE_APC, 8413d522f475Smrg/* nobreakspace exclamdown cent sterling */ 8414f2e35a3aSmrgCASE_ESC_IGNORE, 8415f2e35a3aSmrgCASE_ESC_IGNORE, 8416f2e35a3aSmrgCASE_ESC_IGNORE, 8417f2e35a3aSmrgCASE_ESC_IGNORE, 8418d522f475Smrg/* currency yen brokenbar section */ 8419f2e35a3aSmrgCASE_ESC_IGNORE, 8420f2e35a3aSmrgCASE_ESC_IGNORE, 8421f2e35a3aSmrgCASE_ESC_IGNORE, 8422f2e35a3aSmrgCASE_ESC_IGNORE, 8423d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 8424f2e35a3aSmrgCASE_ESC_IGNORE, 8425f2e35a3aSmrgCASE_ESC_IGNORE, 8426f2e35a3aSmrgCASE_ESC_IGNORE, 8427f2e35a3aSmrgCASE_ESC_IGNORE, 8428d522f475Smrg/* notsign hyphen registered macron */ 8429f2e35a3aSmrgCASE_ESC_IGNORE, 8430f2e35a3aSmrgCASE_ESC_IGNORE, 8431f2e35a3aSmrgCASE_ESC_IGNORE, 8432f2e35a3aSmrgCASE_ESC_IGNORE, 8433d522f475Smrg/* degree plusminus twosuperior threesuperior */ 8434f2e35a3aSmrgCASE_GROUND_STATE, 8435f2e35a3aSmrgCASE_GROUND_STATE, 8436f2e35a3aSmrgCASE_GROUND_STATE, 8437f2e35a3aSmrgCASE_GROUND_STATE, 8438d522f475Smrg/* acute mu paragraph periodcentered */ 8439f2e35a3aSmrgCASE_GSETS_DQUOTE, 8440f2e35a3aSmrgCASE_GROUND_STATE, 8441f2e35a3aSmrgCASE_GROUND_STATE, 8442f2e35a3aSmrgCASE_GROUND_STATE, 8443d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 8444f2e35a3aSmrgCASE_GROUND_STATE, 8445f2e35a3aSmrgCASE_GROUND_STATE, 8446f2e35a3aSmrgCASE_GROUND_STATE, 8447f2e35a3aSmrgCASE_GROUND_STATE, 8448d522f475Smrg/* onequarter onehalf threequarters questiondown */ 8449f2e35a3aSmrgCASE_GROUND_STATE, 8450f2e35a3aSmrgCASE_GROUND_STATE, 8451f2e35a3aSmrgCASE_GSETS_DQUOTE, 8452f2e35a3aSmrgCASE_GSETS_DQUOTE, 8453d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 8454f2e35a3aSmrgCASE_GROUND_STATE, 8455f2e35a3aSmrgCASE_GROUND_STATE, 8456f2e35a3aSmrgCASE_GROUND_STATE, 8457f2e35a3aSmrgCASE_GROUND_STATE, 8458d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 8459f2e35a3aSmrgCASE_GROUND_STATE, 8460f2e35a3aSmrgCASE_GROUND_STATE, 8461f2e35a3aSmrgCASE_GROUND_STATE, 8462f2e35a3aSmrgCASE_GROUND_STATE, 8463d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 8464f2e35a3aSmrgCASE_GROUND_STATE, 8465f2e35a3aSmrgCASE_GROUND_STATE, 8466f2e35a3aSmrgCASE_GROUND_STATE, 8467f2e35a3aSmrgCASE_GROUND_STATE, 8468d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 8469f2e35a3aSmrgCASE_GROUND_STATE, 8470f2e35a3aSmrgCASE_GROUND_STATE, 8471f2e35a3aSmrgCASE_GROUND_STATE, 8472f2e35a3aSmrgCASE_GROUND_STATE, 8473d522f475Smrg/* Eth Ntilde Ograve Oacute */ 8474f2e35a3aSmrgCASE_GROUND_STATE, 8475f2e35a3aSmrgCASE_GROUND_STATE, 8476f2e35a3aSmrgCASE_GROUND_STATE, 8477f2e35a3aSmrgCASE_GROUND_STATE, 8478d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 8479f2e35a3aSmrgCASE_GROUND_STATE, 8480f2e35a3aSmrgCASE_GROUND_STATE, 8481f2e35a3aSmrgCASE_GROUND_STATE, 8482f2e35a3aSmrgCASE_GROUND_STATE, 8483d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 8484f2e35a3aSmrgCASE_GROUND_STATE, 8485f2e35a3aSmrgCASE_GROUND_STATE, 8486f2e35a3aSmrgCASE_GROUND_STATE, 8487f2e35a3aSmrgCASE_GROUND_STATE, 8488d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 8489f2e35a3aSmrgCASE_GROUND_STATE, 8490f2e35a3aSmrgCASE_GROUND_STATE, 8491f2e35a3aSmrgCASE_GROUND_STATE, 8492f2e35a3aSmrgCASE_GROUND_STATE, 8493d522f475Smrg/* agrave aacute acircumflex atilde */ 8494f2e35a3aSmrgCASE_GROUND_STATE, 8495f2e35a3aSmrgCASE_GROUND_STATE, 8496f2e35a3aSmrgCASE_GROUND_STATE, 8497f2e35a3aSmrgCASE_GROUND_STATE, 8498d522f475Smrg/* adiaeresis aring ae ccedilla */ 8499f2e35a3aSmrgCASE_GROUND_STATE, 8500f2e35a3aSmrgCASE_GROUND_STATE, 8501f2e35a3aSmrgCASE_GROUND_STATE, 8502f2e35a3aSmrgCASE_GROUND_STATE, 8503d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 8504f2e35a3aSmrgCASE_GROUND_STATE, 8505f2e35a3aSmrgCASE_GROUND_STATE, 8506f2e35a3aSmrgCASE_GROUND_STATE, 8507f2e35a3aSmrgCASE_GROUND_STATE, 8508d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 8509f2e35a3aSmrgCASE_GROUND_STATE, 8510f2e35a3aSmrgCASE_GROUND_STATE, 8511f2e35a3aSmrgCASE_GROUND_STATE, 8512f2e35a3aSmrgCASE_GROUND_STATE, 8513d522f475Smrg/* eth ntilde ograve oacute */ 8514f2e35a3aSmrgCASE_GROUND_STATE, 8515f2e35a3aSmrgCASE_GROUND_STATE, 8516f2e35a3aSmrgCASE_GROUND_STATE, 8517f2e35a3aSmrgCASE_GROUND_STATE, 8518d522f475Smrg/* ocircumflex otilde odiaeresis division */ 8519f2e35a3aSmrgCASE_GROUND_STATE, 8520f2e35a3aSmrgCASE_GROUND_STATE, 8521f2e35a3aSmrgCASE_GROUND_STATE, 8522f2e35a3aSmrgCASE_GROUND_STATE, 8523d522f475Smrg/* oslash ugrave uacute ucircumflex */ 8524f2e35a3aSmrgCASE_GROUND_STATE, 8525f2e35a3aSmrgCASE_GROUND_STATE, 8526f2e35a3aSmrgCASE_GROUND_STATE, 8527f2e35a3aSmrgCASE_GROUND_STATE, 8528d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 8529f2e35a3aSmrgCASE_GROUND_STATE, 8530f2e35a3aSmrgCASE_GROUND_STATE, 8531f2e35a3aSmrgCASE_GROUND_STATE, 8532d522f475SmrgCASE_IGNORE, 8533d522f475Smrg}; 8534d522f475Smrg 85355104ee6eSmrgconst PARSE_T scs_amp_table[] = /* SCS & */ 8536d522f475Smrg{ 8537d522f475Smrg/* NUL SOH STX ETX */ 8538d522f475SmrgCASE_IGNORE, 8539d522f475SmrgCASE_IGNORE, 8540d522f475SmrgCASE_IGNORE, 8541d522f475SmrgCASE_IGNORE, 8542d522f475Smrg/* EOT ENQ ACK BEL */ 8543d522f475SmrgCASE_IGNORE, 8544d522f475SmrgCASE_ENQ, 8545d522f475SmrgCASE_IGNORE, 8546d522f475SmrgCASE_BELL, 8547d522f475Smrg/* BS HT NL VT */ 8548d522f475SmrgCASE_BS, 8549d522f475SmrgCASE_TAB, 8550d522f475SmrgCASE_VMOT, 8551d522f475SmrgCASE_VMOT, 85520bd37d32Smrg/* FF CR SO SI */ 8553d522f475SmrgCASE_VMOT, 8554d522f475SmrgCASE_CR, 8555d522f475SmrgCASE_SO, 8556d522f475SmrgCASE_SI, 8557d522f475Smrg/* DLE DC1 DC2 DC3 */ 8558d522f475SmrgCASE_IGNORE, 8559d522f475SmrgCASE_IGNORE, 8560d522f475SmrgCASE_IGNORE, 8561d522f475SmrgCASE_IGNORE, 8562d522f475Smrg/* DC4 NAK SYN ETB */ 8563d522f475SmrgCASE_IGNORE, 8564d522f475SmrgCASE_IGNORE, 8565d522f475SmrgCASE_IGNORE, 8566d522f475SmrgCASE_IGNORE, 8567d522f475Smrg/* CAN EM SUB ESC */ 8568d522f475SmrgCASE_GROUND_STATE, 8569d522f475SmrgCASE_IGNORE, 85705104ee6eSmrgCASE_SUB, 8571d522f475SmrgCASE_ESC, 8572d522f475Smrg/* FS GS RS US */ 8573d522f475SmrgCASE_IGNORE, 8574d522f475SmrgCASE_IGNORE, 8575d522f475SmrgCASE_IGNORE, 8576d522f475SmrgCASE_IGNORE, 8577d522f475Smrg/* SP ! " # */ 8578d522f475SmrgCASE_ESC_IGNORE, 8579d522f475SmrgCASE_ESC_IGNORE, 8580d522f475SmrgCASE_ESC_IGNORE, 8581d522f475SmrgCASE_ESC_IGNORE, 8582d522f475Smrg/* $ % & ' */ 8583d522f475SmrgCASE_ESC_IGNORE, 8584d522f475SmrgCASE_ESC_IGNORE, 8585d522f475SmrgCASE_ESC_IGNORE, 8586d522f475SmrgCASE_ESC_IGNORE, 8587d522f475Smrg/* ( ) * + */ 8588d522f475SmrgCASE_ESC_IGNORE, 8589d522f475SmrgCASE_ESC_IGNORE, 8590d522f475SmrgCASE_ESC_IGNORE, 8591d522f475SmrgCASE_ESC_IGNORE, 8592d522f475Smrg/* , - . / */ 8593d522f475SmrgCASE_ESC_IGNORE, 8594d522f475SmrgCASE_ESC_IGNORE, 8595d522f475SmrgCASE_ESC_IGNORE, 8596d522f475SmrgCASE_ESC_IGNORE, 8597d522f475Smrg/* 0 1 2 3 */ 8598d522f475SmrgCASE_GROUND_STATE, 8599d522f475SmrgCASE_GROUND_STATE, 8600d522f475SmrgCASE_GROUND_STATE, 8601d522f475SmrgCASE_GROUND_STATE, 8602d522f475Smrg/* 4 5 6 7 */ 8603f2e35a3aSmrgCASE_GSETS_AMPRSND, 86045104ee6eSmrgCASE_GSETS_AMPRSND, 8605d522f475SmrgCASE_GROUND_STATE, 8606d522f475SmrgCASE_GROUND_STATE, 8607d522f475Smrg/* 8 9 : ; */ 8608d522f475SmrgCASE_GROUND_STATE, 8609d522f475SmrgCASE_GROUND_STATE, 8610d522f475SmrgCASE_GROUND_STATE, 8611d522f475SmrgCASE_GROUND_STATE, 8612d522f475Smrg/* < = > ? */ 8613d522f475SmrgCASE_GROUND_STATE, 8614d522f475SmrgCASE_GROUND_STATE, 8615d522f475SmrgCASE_GROUND_STATE, 8616d522f475SmrgCASE_GROUND_STATE, 8617d522f475Smrg/* @ A B C */ 8618f2e35a3aSmrgCASE_GROUND_STATE, 8619d522f475SmrgCASE_GROUND_STATE, 8620d522f475SmrgCASE_GROUND_STATE, 8621d522f475SmrgCASE_GROUND_STATE, 8622d522f475Smrg/* D E F G */ 8623d522f475SmrgCASE_GROUND_STATE, 8624d522f475SmrgCASE_GROUND_STATE, 8625d522f475SmrgCASE_GROUND_STATE, 8626f2e35a3aSmrgCASE_GROUND_STATE, 8627d522f475Smrg/* H I J K */ 8628d522f475SmrgCASE_GROUND_STATE, 8629d522f475SmrgCASE_GROUND_STATE, 8630d522f475SmrgCASE_GROUND_STATE, 8631d522f475SmrgCASE_GROUND_STATE, 8632d522f475Smrg/* L M N O */ 8633d522f475SmrgCASE_GROUND_STATE, 8634d522f475SmrgCASE_GROUND_STATE, 8635d522f475SmrgCASE_GROUND_STATE, 8636d522f475SmrgCASE_GROUND_STATE, 8637d522f475Smrg/* P Q R S */ 8638d522f475SmrgCASE_GROUND_STATE, 8639d522f475SmrgCASE_GROUND_STATE, 8640d522f475SmrgCASE_GROUND_STATE, 8641d522f475SmrgCASE_GROUND_STATE, 8642d522f475Smrg/* T U V W */ 8643d522f475SmrgCASE_GROUND_STATE, 8644d522f475SmrgCASE_GROUND_STATE, 8645d522f475SmrgCASE_GROUND_STATE, 8646d522f475SmrgCASE_GROUND_STATE, 8647d522f475Smrg/* X Y Z [ */ 8648d522f475SmrgCASE_GROUND_STATE, 8649d522f475SmrgCASE_GROUND_STATE, 8650d522f475SmrgCASE_GROUND_STATE, 8651d522f475SmrgCASE_GROUND_STATE, 8652d522f475Smrg/* \ ] ^ _ */ 8653d522f475SmrgCASE_GROUND_STATE, 8654d522f475SmrgCASE_GROUND_STATE, 8655d522f475SmrgCASE_GROUND_STATE, 8656d522f475SmrgCASE_GROUND_STATE, 8657d522f475Smrg/* ` a b c */ 8658d522f475SmrgCASE_GROUND_STATE, 8659d522f475SmrgCASE_GROUND_STATE, 8660d522f475SmrgCASE_GROUND_STATE, 8661d522f475SmrgCASE_GROUND_STATE, 8662d522f475Smrg/* d e f g */ 8663d522f475SmrgCASE_GROUND_STATE, 8664d522f475SmrgCASE_GROUND_STATE, 8665d522f475SmrgCASE_GROUND_STATE, 8666d522f475SmrgCASE_GROUND_STATE, 8667d522f475Smrg/* h i j k */ 8668d522f475SmrgCASE_GROUND_STATE, 8669d522f475SmrgCASE_GROUND_STATE, 8670d522f475SmrgCASE_GROUND_STATE, 8671d522f475SmrgCASE_GROUND_STATE, 8672d522f475Smrg/* l m n o */ 8673d522f475SmrgCASE_GROUND_STATE, 8674d522f475SmrgCASE_GROUND_STATE, 8675d522f475SmrgCASE_GROUND_STATE, 8676d522f475SmrgCASE_GROUND_STATE, 8677d522f475Smrg/* p q r s */ 8678d522f475SmrgCASE_GROUND_STATE, 8679d522f475SmrgCASE_GROUND_STATE, 8680d522f475SmrgCASE_GROUND_STATE, 8681d522f475SmrgCASE_GROUND_STATE, 8682d522f475Smrg/* t u v w */ 8683d522f475SmrgCASE_GROUND_STATE, 8684d522f475SmrgCASE_GROUND_STATE, 8685d522f475SmrgCASE_GROUND_STATE, 8686d522f475SmrgCASE_GROUND_STATE, 8687d522f475Smrg/* x y z { */ 8688d522f475SmrgCASE_GROUND_STATE, 8689d522f475SmrgCASE_GROUND_STATE, 8690d522f475SmrgCASE_GROUND_STATE, 8691d522f475SmrgCASE_GROUND_STATE, 8692d522f475Smrg/* | } ~ DEL */ 8693d522f475SmrgCASE_GROUND_STATE, 8694d522f475SmrgCASE_GROUND_STATE, 8695d522f475SmrgCASE_GROUND_STATE, 8696d522f475SmrgCASE_IGNORE, 8697d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 8698d522f475SmrgCASE_GROUND_STATE, 8699d522f475SmrgCASE_GROUND_STATE, 8700d522f475SmrgCASE_GROUND_STATE, 8701d522f475SmrgCASE_GROUND_STATE, 8702d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 8703d522f475SmrgCASE_IND, 8704d522f475SmrgCASE_NEL, 8705d522f475SmrgCASE_GROUND_STATE, 8706d522f475SmrgCASE_GROUND_STATE, 8707d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 8708d522f475SmrgCASE_HTS, 8709d522f475SmrgCASE_GROUND_STATE, 8710d522f475SmrgCASE_GROUND_STATE, 8711d522f475SmrgCASE_GROUND_STATE, 8712d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 8713d522f475SmrgCASE_GROUND_STATE, 8714d522f475SmrgCASE_RI, 8715d522f475SmrgCASE_SS2, 8716d522f475SmrgCASE_SS3, 8717d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 8718d522f475SmrgCASE_DCS, 8719d522f475SmrgCASE_GROUND_STATE, 8720d522f475SmrgCASE_GROUND_STATE, 8721d522f475SmrgCASE_GROUND_STATE, 8722d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 8723d522f475SmrgCASE_GROUND_STATE, 8724d522f475SmrgCASE_GROUND_STATE, 8725d522f475SmrgCASE_SPA, 8726d522f475SmrgCASE_EPA, 8727d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 8728d522f475SmrgCASE_SOS, 8729d522f475SmrgCASE_GROUND_STATE, 8730d522f475SmrgCASE_DECID, 8731d522f475SmrgCASE_CSI_STATE, 8732d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 8733d522f475SmrgCASE_ST, 8734d522f475SmrgCASE_OSC, 8735d522f475SmrgCASE_PM, 8736d522f475SmrgCASE_APC, 8737d522f475Smrg/* nobreakspace exclamdown cent sterling */ 8738d522f475SmrgCASE_ESC_IGNORE, 8739d522f475SmrgCASE_ESC_IGNORE, 8740d522f475SmrgCASE_ESC_IGNORE, 8741d522f475SmrgCASE_ESC_IGNORE, 8742d522f475Smrg/* currency yen brokenbar section */ 8743d522f475SmrgCASE_ESC_IGNORE, 8744d522f475SmrgCASE_ESC_IGNORE, 8745d522f475SmrgCASE_ESC_IGNORE, 8746d522f475SmrgCASE_ESC_IGNORE, 8747d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 8748d522f475SmrgCASE_ESC_IGNORE, 8749d522f475SmrgCASE_ESC_IGNORE, 8750d522f475SmrgCASE_ESC_IGNORE, 8751d522f475SmrgCASE_ESC_IGNORE, 8752d522f475Smrg/* notsign hyphen registered macron */ 8753d522f475SmrgCASE_ESC_IGNORE, 8754d522f475SmrgCASE_ESC_IGNORE, 8755d522f475SmrgCASE_ESC_IGNORE, 8756d522f475SmrgCASE_ESC_IGNORE, 8757d522f475Smrg/* degree plusminus twosuperior threesuperior */ 8758d522f475SmrgCASE_GROUND_STATE, 8759d522f475SmrgCASE_GROUND_STATE, 8760d522f475SmrgCASE_GROUND_STATE, 8761d522f475SmrgCASE_GROUND_STATE, 8762d522f475Smrg/* acute mu paragraph periodcentered */ 8763f2e35a3aSmrgCASE_GSETS_AMPRSND, 87645104ee6eSmrgCASE_GSETS_AMPRSND, 8765d522f475SmrgCASE_GROUND_STATE, 8766d522f475SmrgCASE_GROUND_STATE, 8767d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 8768d522f475SmrgCASE_GROUND_STATE, 8769d522f475SmrgCASE_GROUND_STATE, 8770d522f475SmrgCASE_GROUND_STATE, 8771d522f475SmrgCASE_GROUND_STATE, 8772d522f475Smrg/* onequarter onehalf threequarters questiondown */ 8773d522f475SmrgCASE_GROUND_STATE, 8774d522f475SmrgCASE_GROUND_STATE, 8775d522f475SmrgCASE_GROUND_STATE, 8776d522f475SmrgCASE_GROUND_STATE, 8777d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 8778f2e35a3aSmrgCASE_GROUND_STATE, 8779d522f475SmrgCASE_GROUND_STATE, 8780d522f475SmrgCASE_GROUND_STATE, 8781d522f475SmrgCASE_GROUND_STATE, 8782d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 8783d522f475SmrgCASE_GROUND_STATE, 8784d522f475SmrgCASE_GROUND_STATE, 8785d522f475SmrgCASE_GROUND_STATE, 8786f2e35a3aSmrgCASE_GROUND_STATE, 8787d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 8788d522f475SmrgCASE_GROUND_STATE, 8789d522f475SmrgCASE_GROUND_STATE, 8790d522f475SmrgCASE_GROUND_STATE, 8791d522f475SmrgCASE_GROUND_STATE, 8792d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 8793d522f475SmrgCASE_GROUND_STATE, 8794d522f475SmrgCASE_GROUND_STATE, 8795d522f475SmrgCASE_GROUND_STATE, 8796d522f475SmrgCASE_GROUND_STATE, 8797d522f475Smrg/* Eth Ntilde Ograve Oacute */ 8798d522f475SmrgCASE_GROUND_STATE, 8799e0a2b6dfSmrgCASE_GROUND_STATE, 8800e0a2b6dfSmrgCASE_GROUND_STATE, 8801e0a2b6dfSmrgCASE_GROUND_STATE, 8802e0a2b6dfSmrg/* Ocircumflex Otilde Odiaeresis multiply */ 8803e0a2b6dfSmrgCASE_GROUND_STATE, 8804e0a2b6dfSmrgCASE_GROUND_STATE, 8805e0a2b6dfSmrgCASE_GROUND_STATE, 8806e0a2b6dfSmrgCASE_GROUND_STATE, 8807e0a2b6dfSmrg/* Ooblique Ugrave Uacute Ucircumflex */ 8808e0a2b6dfSmrgCASE_GROUND_STATE, 8809e0a2b6dfSmrgCASE_GROUND_STATE, 8810e0a2b6dfSmrgCASE_GROUND_STATE, 8811e0a2b6dfSmrgCASE_GROUND_STATE, 8812e0a2b6dfSmrg/* Udiaeresis Yacute Thorn ssharp */ 8813e0a2b6dfSmrgCASE_GROUND_STATE, 8814e0a2b6dfSmrgCASE_GROUND_STATE, 8815e0a2b6dfSmrgCASE_GROUND_STATE, 8816e0a2b6dfSmrgCASE_GROUND_STATE, 8817e0a2b6dfSmrg/* agrave aacute acircumflex atilde */ 8818e0a2b6dfSmrgCASE_GROUND_STATE, 8819e0a2b6dfSmrgCASE_GROUND_STATE, 8820e0a2b6dfSmrgCASE_GROUND_STATE, 8821e0a2b6dfSmrgCASE_GROUND_STATE, 8822e0a2b6dfSmrg/* adiaeresis aring ae ccedilla */ 8823e0a2b6dfSmrgCASE_GROUND_STATE, 8824e0a2b6dfSmrgCASE_GROUND_STATE, 8825e0a2b6dfSmrgCASE_GROUND_STATE, 8826e0a2b6dfSmrgCASE_GROUND_STATE, 8827e0a2b6dfSmrg/* egrave eacute ecircumflex ediaeresis */ 8828e0a2b6dfSmrgCASE_GROUND_STATE, 8829e0a2b6dfSmrgCASE_GROUND_STATE, 8830e0a2b6dfSmrgCASE_GROUND_STATE, 8831e0a2b6dfSmrgCASE_GROUND_STATE, 8832e0a2b6dfSmrg/* igrave iacute icircumflex idiaeresis */ 8833e0a2b6dfSmrgCASE_GROUND_STATE, 8834e0a2b6dfSmrgCASE_GROUND_STATE, 8835e0a2b6dfSmrgCASE_GROUND_STATE, 8836e0a2b6dfSmrgCASE_GROUND_STATE, 8837e0a2b6dfSmrg/* eth ntilde ograve oacute */ 8838e0a2b6dfSmrgCASE_GROUND_STATE, 8839e0a2b6dfSmrgCASE_GROUND_STATE, 8840e0a2b6dfSmrgCASE_GROUND_STATE, 8841e0a2b6dfSmrgCASE_GROUND_STATE, 8842e0a2b6dfSmrg/* ocircumflex otilde odiaeresis division */ 8843e0a2b6dfSmrgCASE_GROUND_STATE, 8844e0a2b6dfSmrgCASE_GROUND_STATE, 8845e0a2b6dfSmrgCASE_GROUND_STATE, 8846e0a2b6dfSmrgCASE_GROUND_STATE, 8847e0a2b6dfSmrg/* oslash ugrave uacute ucircumflex */ 8848e0a2b6dfSmrgCASE_GROUND_STATE, 8849e0a2b6dfSmrgCASE_GROUND_STATE, 8850e0a2b6dfSmrgCASE_GROUND_STATE, 8851e0a2b6dfSmrgCASE_GROUND_STATE, 8852e0a2b6dfSmrg/* udiaeresis yacute thorn ydiaeresis */ 8853e0a2b6dfSmrgCASE_GROUND_STATE, 8854e0a2b6dfSmrgCASE_GROUND_STATE, 8855e0a2b6dfSmrgCASE_GROUND_STATE, 8856e0a2b6dfSmrgCASE_IGNORE, 8857e0a2b6dfSmrg}; 8858e0a2b6dfSmrg 88595104ee6eSmrgconst PARSE_T scs_pct_table[] = /* SCS % */ 8860e0a2b6dfSmrg{ 8861e0a2b6dfSmrg/* NUL SOH STX ETX */ 8862e0a2b6dfSmrgCASE_IGNORE, 8863e0a2b6dfSmrgCASE_IGNORE, 8864e0a2b6dfSmrgCASE_IGNORE, 8865e0a2b6dfSmrgCASE_IGNORE, 8866e0a2b6dfSmrg/* EOT ENQ ACK BEL */ 8867e0a2b6dfSmrgCASE_IGNORE, 8868e0a2b6dfSmrgCASE_ENQ, 8869e0a2b6dfSmrgCASE_IGNORE, 8870e0a2b6dfSmrgCASE_BELL, 8871e0a2b6dfSmrg/* BS HT NL VT */ 8872e0a2b6dfSmrgCASE_BS, 8873e0a2b6dfSmrgCASE_TAB, 8874e0a2b6dfSmrgCASE_VMOT, 8875e0a2b6dfSmrgCASE_VMOT, 8876e0a2b6dfSmrg/* FF CR SO SI */ 8877e0a2b6dfSmrgCASE_VMOT, 8878e0a2b6dfSmrgCASE_CR, 8879e0a2b6dfSmrgCASE_SO, 8880e0a2b6dfSmrgCASE_SI, 8881e0a2b6dfSmrg/* DLE DC1 DC2 DC3 */ 8882e0a2b6dfSmrgCASE_IGNORE, 8883e0a2b6dfSmrgCASE_IGNORE, 8884e0a2b6dfSmrgCASE_IGNORE, 8885e0a2b6dfSmrgCASE_IGNORE, 8886e0a2b6dfSmrg/* DC4 NAK SYN ETB */ 8887e0a2b6dfSmrgCASE_IGNORE, 8888e0a2b6dfSmrgCASE_IGNORE, 8889e0a2b6dfSmrgCASE_IGNORE, 8890e0a2b6dfSmrgCASE_IGNORE, 8891e0a2b6dfSmrg/* CAN EM SUB ESC */ 8892e0a2b6dfSmrgCASE_GROUND_STATE, 8893e0a2b6dfSmrgCASE_IGNORE, 88945104ee6eSmrgCASE_SUB, 8895e0a2b6dfSmrgCASE_ESC, 8896e0a2b6dfSmrg/* FS GS RS US */ 8897e0a2b6dfSmrgCASE_IGNORE, 8898e0a2b6dfSmrgCASE_IGNORE, 8899e0a2b6dfSmrgCASE_IGNORE, 8900e0a2b6dfSmrgCASE_IGNORE, 8901e0a2b6dfSmrg/* SP ! " # */ 8902e0a2b6dfSmrgCASE_ESC_IGNORE, 8903e0a2b6dfSmrgCASE_ESC_IGNORE, 8904e0a2b6dfSmrgCASE_ESC_IGNORE, 8905e0a2b6dfSmrgCASE_ESC_IGNORE, 8906e0a2b6dfSmrg/* $ % & ' */ 8907e0a2b6dfSmrgCASE_ESC_IGNORE, 8908e0a2b6dfSmrgCASE_ESC_IGNORE, 8909e0a2b6dfSmrgCASE_ESC_IGNORE, 8910e0a2b6dfSmrgCASE_ESC_IGNORE, 8911e0a2b6dfSmrg/* ( ) * + */ 8912e0a2b6dfSmrgCASE_ESC_IGNORE, 8913e0a2b6dfSmrgCASE_ESC_IGNORE, 8914e0a2b6dfSmrgCASE_ESC_IGNORE, 8915e0a2b6dfSmrgCASE_ESC_IGNORE, 8916e0a2b6dfSmrg/* , - . / */ 8917e0a2b6dfSmrgCASE_ESC_IGNORE, 8918e0a2b6dfSmrgCASE_ESC_IGNORE, 8919e0a2b6dfSmrgCASE_ESC_IGNORE, 8920e0a2b6dfSmrgCASE_ESC_IGNORE, 8921e0a2b6dfSmrg/* 0 1 2 3 */ 8922e0a2b6dfSmrgCASE_GSETS_PERCENT, 8923e0a2b6dfSmrgCASE_GROUND_STATE, 8924e0a2b6dfSmrgCASE_GSETS_PERCENT, 8925e0a2b6dfSmrgCASE_GSETS_PERCENT, 8926e0a2b6dfSmrg/* 4 5 6 7 */ 8927e0a2b6dfSmrgCASE_GROUND_STATE, 8928e0a2b6dfSmrgCASE_GSETS_PERCENT, 8929e0a2b6dfSmrgCASE_GSETS_PERCENT, 8930e0a2b6dfSmrgCASE_GROUND_STATE, 8931e0a2b6dfSmrg/* 8 9 : ; */ 8932e0a2b6dfSmrgCASE_GROUND_STATE, 8933e0a2b6dfSmrgCASE_GROUND_STATE, 8934e0a2b6dfSmrgCASE_GROUND_STATE, 8935e0a2b6dfSmrgCASE_GROUND_STATE, 8936e0a2b6dfSmrg/* < = > ? */ 8937e0a2b6dfSmrgCASE_GROUND_STATE, 8938e0a2b6dfSmrgCASE_GSETS_PERCENT, 8939e0a2b6dfSmrgCASE_GROUND_STATE, 8940e0a2b6dfSmrgCASE_GROUND_STATE, 8941e0a2b6dfSmrg/* @ A B C */ 8942e0a2b6dfSmrgCASE_GROUND_STATE, 8943e0a2b6dfSmrgCASE_GROUND_STATE, 8944e0a2b6dfSmrgCASE_GROUND_STATE, 8945e0a2b6dfSmrgCASE_GROUND_STATE, 8946e0a2b6dfSmrg/* D E F G */ 8947e0a2b6dfSmrgCASE_GROUND_STATE, 8948e0a2b6dfSmrgCASE_GROUND_STATE, 8949e0a2b6dfSmrgCASE_GROUND_STATE, 8950e0a2b6dfSmrgCASE_GROUND_STATE, 8951e0a2b6dfSmrg/* H I J K */ 8952e0a2b6dfSmrgCASE_GROUND_STATE, 8953e0a2b6dfSmrgCASE_GROUND_STATE, 8954e0a2b6dfSmrgCASE_GROUND_STATE, 8955e0a2b6dfSmrgCASE_GROUND_STATE, 8956e0a2b6dfSmrg/* L M N O */ 8957e0a2b6dfSmrgCASE_GROUND_STATE, 8958e0a2b6dfSmrgCASE_GROUND_STATE, 8959e0a2b6dfSmrgCASE_GROUND_STATE, 8960e0a2b6dfSmrgCASE_GROUND_STATE, 8961e0a2b6dfSmrg/* P Q R S */ 8962e0a2b6dfSmrgCASE_GROUND_STATE, 8963e0a2b6dfSmrgCASE_GROUND_STATE, 8964e0a2b6dfSmrgCASE_GROUND_STATE, 8965e0a2b6dfSmrgCASE_GROUND_STATE, 8966e0a2b6dfSmrg/* T U V W */ 8967e0a2b6dfSmrgCASE_GROUND_STATE, 8968e0a2b6dfSmrgCASE_GROUND_STATE, 8969e0a2b6dfSmrgCASE_GROUND_STATE, 8970e0a2b6dfSmrgCASE_GROUND_STATE, 8971e0a2b6dfSmrg/* X Y Z [ */ 8972e0a2b6dfSmrgCASE_GROUND_STATE, 8973e0a2b6dfSmrgCASE_GROUND_STATE, 8974e0a2b6dfSmrgCASE_GROUND_STATE, 8975e0a2b6dfSmrgCASE_GROUND_STATE, 8976e0a2b6dfSmrg/* \ ] ^ _ */ 8977e0a2b6dfSmrgCASE_GROUND_STATE, 8978e0a2b6dfSmrgCASE_GROUND_STATE, 8979e0a2b6dfSmrgCASE_GROUND_STATE, 8980e0a2b6dfSmrgCASE_GROUND_STATE, 8981e0a2b6dfSmrg/* ` a b c */ 8982e0a2b6dfSmrgCASE_GROUND_STATE, 8983e0a2b6dfSmrgCASE_GROUND_STATE, 8984e0a2b6dfSmrgCASE_GROUND_STATE, 8985e0a2b6dfSmrgCASE_GROUND_STATE, 8986e0a2b6dfSmrg/* d e f g */ 8987e0a2b6dfSmrgCASE_GROUND_STATE, 8988e0a2b6dfSmrgCASE_GROUND_STATE, 8989e0a2b6dfSmrgCASE_GROUND_STATE, 8990e0a2b6dfSmrgCASE_GROUND_STATE, 8991e0a2b6dfSmrg/* h i j k */ 8992e0a2b6dfSmrgCASE_GROUND_STATE, 8993e0a2b6dfSmrgCASE_GROUND_STATE, 8994e0a2b6dfSmrgCASE_GROUND_STATE, 8995e0a2b6dfSmrgCASE_GROUND_STATE, 8996e0a2b6dfSmrg/* l m n o */ 8997e0a2b6dfSmrgCASE_GROUND_STATE, 8998e0a2b6dfSmrgCASE_GROUND_STATE, 8999e0a2b6dfSmrgCASE_GROUND_STATE, 9000e0a2b6dfSmrgCASE_GROUND_STATE, 9001e0a2b6dfSmrg/* p q r s */ 9002e0a2b6dfSmrgCASE_GROUND_STATE, 9003e0a2b6dfSmrgCASE_GROUND_STATE, 9004e0a2b6dfSmrgCASE_GROUND_STATE, 9005e0a2b6dfSmrgCASE_GROUND_STATE, 9006e0a2b6dfSmrg/* t u v w */ 9007e0a2b6dfSmrgCASE_GROUND_STATE, 9008e0a2b6dfSmrgCASE_GROUND_STATE, 9009e0a2b6dfSmrgCASE_GROUND_STATE, 9010e0a2b6dfSmrgCASE_GROUND_STATE, 9011e0a2b6dfSmrg/* x y z { */ 9012e0a2b6dfSmrgCASE_GROUND_STATE, 9013e0a2b6dfSmrgCASE_GROUND_STATE, 9014e0a2b6dfSmrgCASE_GROUND_STATE, 9015e0a2b6dfSmrgCASE_GROUND_STATE, 9016e0a2b6dfSmrg/* | } ~ DEL */ 9017e0a2b6dfSmrgCASE_GROUND_STATE, 9018e0a2b6dfSmrgCASE_GROUND_STATE, 9019e0a2b6dfSmrgCASE_GROUND_STATE, 9020e0a2b6dfSmrgCASE_IGNORE, 9021e0a2b6dfSmrg/* 0x80 0x81 0x82 0x83 */ 9022e0a2b6dfSmrgCASE_GROUND_STATE, 9023e0a2b6dfSmrgCASE_GROUND_STATE, 9024e0a2b6dfSmrgCASE_GROUND_STATE, 9025e0a2b6dfSmrgCASE_GROUND_STATE, 9026e0a2b6dfSmrg/* 0x84 0x85 0x86 0x87 */ 9027e0a2b6dfSmrgCASE_IND, 9028e0a2b6dfSmrgCASE_NEL, 9029e0a2b6dfSmrgCASE_GROUND_STATE, 9030e0a2b6dfSmrgCASE_GROUND_STATE, 9031e0a2b6dfSmrg/* 0x88 0x89 0x8a 0x8b */ 9032e0a2b6dfSmrgCASE_HTS, 9033e0a2b6dfSmrgCASE_GROUND_STATE, 9034e0a2b6dfSmrgCASE_GROUND_STATE, 9035e0a2b6dfSmrgCASE_GROUND_STATE, 9036e0a2b6dfSmrg/* 0x8c 0x8d 0x8e 0x8f */ 9037e0a2b6dfSmrgCASE_GROUND_STATE, 9038e0a2b6dfSmrgCASE_RI, 9039e0a2b6dfSmrgCASE_SS2, 9040e0a2b6dfSmrgCASE_SS3, 9041e0a2b6dfSmrg/* 0x90 0x91 0x92 0x93 */ 9042e0a2b6dfSmrgCASE_DCS, 9043e0a2b6dfSmrgCASE_GROUND_STATE, 9044e0a2b6dfSmrgCASE_GROUND_STATE, 9045e0a2b6dfSmrgCASE_GROUND_STATE, 9046e0a2b6dfSmrg/* 0x94 0x95 0x96 0x97 */ 9047e0a2b6dfSmrgCASE_GROUND_STATE, 9048e0a2b6dfSmrgCASE_GROUND_STATE, 9049e0a2b6dfSmrgCASE_SPA, 9050e0a2b6dfSmrgCASE_EPA, 9051e0a2b6dfSmrg/* 0x98 0x99 0x9a 0x9b */ 9052e0a2b6dfSmrgCASE_SOS, 9053e0a2b6dfSmrgCASE_GROUND_STATE, 9054e0a2b6dfSmrgCASE_DECID, 9055e0a2b6dfSmrgCASE_CSI_STATE, 9056e0a2b6dfSmrg/* 0x9c 0x9d 0x9e 0x9f */ 9057e0a2b6dfSmrgCASE_ST, 9058e0a2b6dfSmrgCASE_OSC, 9059e0a2b6dfSmrgCASE_PM, 9060e0a2b6dfSmrgCASE_APC, 9061e0a2b6dfSmrg/* nobreakspace exclamdown cent sterling */ 9062e0a2b6dfSmrgCASE_ESC_IGNORE, 9063e0a2b6dfSmrgCASE_ESC_IGNORE, 9064e0a2b6dfSmrgCASE_ESC_IGNORE, 9065e0a2b6dfSmrgCASE_ESC_IGNORE, 9066e0a2b6dfSmrg/* currency yen brokenbar section */ 9067e0a2b6dfSmrgCASE_ESC_IGNORE, 9068e0a2b6dfSmrgCASE_ESC_IGNORE, 9069e0a2b6dfSmrgCASE_ESC_IGNORE, 9070e0a2b6dfSmrgCASE_ESC_IGNORE, 9071e0a2b6dfSmrg/* diaeresis copyright ordfeminine guillemotleft */ 9072e0a2b6dfSmrgCASE_ESC_IGNORE, 9073e0a2b6dfSmrgCASE_ESC_IGNORE, 9074e0a2b6dfSmrgCASE_ESC_IGNORE, 9075e0a2b6dfSmrgCASE_ESC_IGNORE, 9076e0a2b6dfSmrg/* notsign hyphen registered macron */ 9077e0a2b6dfSmrgCASE_ESC_IGNORE, 9078e0a2b6dfSmrgCASE_ESC_IGNORE, 9079e0a2b6dfSmrgCASE_ESC_IGNORE, 9080e0a2b6dfSmrgCASE_ESC_IGNORE, 9081e0a2b6dfSmrg/* degree plusminus twosuperior threesuperior */ 9082894e0ac8SmrgCASE_GSETS_PERCENT, 9083e0a2b6dfSmrgCASE_GROUND_STATE, 9084894e0ac8SmrgCASE_GSETS_PERCENT, 9085894e0ac8SmrgCASE_GSETS_PERCENT, 9086e0a2b6dfSmrg/* acute mu paragraph periodcentered */ 9087e0a2b6dfSmrgCASE_GROUND_STATE, 9088894e0ac8SmrgCASE_GSETS_PERCENT, 9089894e0ac8SmrgCASE_GSETS_PERCENT, 9090e0a2b6dfSmrgCASE_GROUND_STATE, 9091e0a2b6dfSmrg/* cedilla onesuperior masculine guillemotright */ 9092e0a2b6dfSmrgCASE_GROUND_STATE, 9093e0a2b6dfSmrgCASE_GROUND_STATE, 9094e0a2b6dfSmrgCASE_GROUND_STATE, 9095e0a2b6dfSmrgCASE_GROUND_STATE, 9096e0a2b6dfSmrg/* onequarter onehalf threequarters questiondown */ 9097e0a2b6dfSmrgCASE_GROUND_STATE, 9098894e0ac8SmrgCASE_GSETS_PERCENT, 9099e0a2b6dfSmrgCASE_GROUND_STATE, 9100e0a2b6dfSmrgCASE_GROUND_STATE, 9101e0a2b6dfSmrg/* Agrave Aacute Acircumflex Atilde */ 9102e0a2b6dfSmrgCASE_GROUND_STATE, 9103894e0ac8SmrgCASE_GROUND_STATE, 9104894e0ac8SmrgCASE_GROUND_STATE, 9105e0a2b6dfSmrgCASE_GROUND_STATE, 9106e0a2b6dfSmrg/* Adiaeresis Aring AE Ccedilla */ 9107e0a2b6dfSmrgCASE_GROUND_STATE, 9108894e0ac8SmrgCASE_GROUND_STATE, 9109894e0ac8SmrgCASE_GROUND_STATE, 9110e0a2b6dfSmrgCASE_GROUND_STATE, 9111e0a2b6dfSmrg/* Egrave Eacute Ecircumflex Ediaeresis */ 9112e0a2b6dfSmrgCASE_GROUND_STATE, 9113e0a2b6dfSmrgCASE_GROUND_STATE, 9114e0a2b6dfSmrgCASE_GROUND_STATE, 9115e0a2b6dfSmrgCASE_GROUND_STATE, 9116e0a2b6dfSmrg/* Igrave Iacute Icircumflex Idiaeresis */ 9117e0a2b6dfSmrgCASE_GROUND_STATE, 9118894e0ac8SmrgCASE_GROUND_STATE, 9119e0a2b6dfSmrgCASE_GROUND_STATE, 9120e0a2b6dfSmrgCASE_GROUND_STATE, 9121e0a2b6dfSmrg/* Eth Ntilde Ograve Oacute */ 9122e0a2b6dfSmrgCASE_GROUND_STATE, 9123d522f475SmrgCASE_GROUND_STATE, 9124d522f475SmrgCASE_GROUND_STATE, 9125d522f475SmrgCASE_GROUND_STATE, 9126d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 9127d522f475SmrgCASE_GROUND_STATE, 9128d522f475SmrgCASE_GROUND_STATE, 9129d522f475SmrgCASE_GROUND_STATE, 9130d522f475SmrgCASE_GROUND_STATE, 9131d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 9132d522f475SmrgCASE_GROUND_STATE, 9133d522f475SmrgCASE_GROUND_STATE, 9134d522f475SmrgCASE_GROUND_STATE, 9135d522f475SmrgCASE_GROUND_STATE, 9136d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 9137d522f475SmrgCASE_GROUND_STATE, 9138d522f475SmrgCASE_GROUND_STATE, 9139d522f475SmrgCASE_GROUND_STATE, 9140d522f475SmrgCASE_GROUND_STATE, 9141d522f475Smrg/* agrave aacute acircumflex atilde */ 9142d522f475SmrgCASE_GROUND_STATE, 9143d522f475SmrgCASE_GROUND_STATE, 9144d522f475SmrgCASE_GROUND_STATE, 9145d522f475SmrgCASE_GROUND_STATE, 9146d522f475Smrg/* adiaeresis aring ae ccedilla */ 9147d522f475SmrgCASE_GROUND_STATE, 9148d522f475SmrgCASE_GROUND_STATE, 9149d522f475SmrgCASE_GROUND_STATE, 9150d522f475SmrgCASE_GROUND_STATE, 9151d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 9152d522f475SmrgCASE_GROUND_STATE, 9153d522f475SmrgCASE_GROUND_STATE, 9154d522f475SmrgCASE_GROUND_STATE, 9155d522f475SmrgCASE_GROUND_STATE, 9156d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 9157d522f475SmrgCASE_GROUND_STATE, 9158d522f475SmrgCASE_GROUND_STATE, 9159d522f475SmrgCASE_GROUND_STATE, 9160d522f475SmrgCASE_GROUND_STATE, 9161d522f475Smrg/* eth ntilde ograve oacute */ 9162d522f475SmrgCASE_GROUND_STATE, 9163d522f475SmrgCASE_GROUND_STATE, 9164d522f475SmrgCASE_GROUND_STATE, 9165d522f475SmrgCASE_GROUND_STATE, 9166d522f475Smrg/* ocircumflex otilde odiaeresis division */ 9167d522f475SmrgCASE_GROUND_STATE, 9168d522f475SmrgCASE_GROUND_STATE, 9169d522f475SmrgCASE_GROUND_STATE, 9170d522f475SmrgCASE_GROUND_STATE, 9171d522f475Smrg/* oslash ugrave uacute ucircumflex */ 9172d522f475SmrgCASE_GROUND_STATE, 9173d522f475SmrgCASE_GROUND_STATE, 9174d522f475SmrgCASE_GROUND_STATE, 9175d522f475SmrgCASE_GROUND_STATE, 9176d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 9177d522f475SmrgCASE_GROUND_STATE, 9178d522f475SmrgCASE_GROUND_STATE, 9179d522f475SmrgCASE_GROUND_STATE, 9180d522f475SmrgCASE_IGNORE, 9181d522f475Smrg}; 9182d522f475Smrg#endif /* OPT_WIDE_CHARS */ 9183d522f475Smrg 9184d522f475Smrg#if OPT_VT52_MODE 91855104ee6eSmrgconst PARSE_T vt52_table[] = 9186d522f475Smrg{ 9187d522f475Smrg/* NUL SOH STX ETX */ 9188d522f475SmrgCASE_IGNORE, 9189d522f475SmrgCASE_IGNORE, 9190d522f475SmrgCASE_IGNORE, 9191d522f475SmrgCASE_IGNORE, 9192d522f475Smrg/* EOT ENQ ACK BEL */ 9193d522f475SmrgCASE_IGNORE, 9194d522f475SmrgCASE_ENQ, 9195d522f475SmrgCASE_IGNORE, 9196d522f475SmrgCASE_BELL, 9197d522f475Smrg/* BS HT NL VT */ 9198d522f475SmrgCASE_BS, 9199d522f475SmrgCASE_TAB, 9200d522f475SmrgCASE_VMOT, 9201d522f475SmrgCASE_VMOT, 92020bd37d32Smrg/* FF CR SO SI */ 9203d522f475SmrgCASE_VMOT, 9204d522f475SmrgCASE_CR, 9205d522f475SmrgCASE_IGNORE, 9206d522f475SmrgCASE_IGNORE, 9207d522f475Smrg/* DLE DC1 DC2 DC3 */ 9208d522f475SmrgCASE_IGNORE, 9209d522f475SmrgCASE_IGNORE, 9210d522f475SmrgCASE_IGNORE, 9211d522f475SmrgCASE_IGNORE, 9212d522f475Smrg/* DC4 NAK SYN ETB */ 9213d522f475SmrgCASE_IGNORE, 9214d522f475SmrgCASE_IGNORE, 9215d522f475SmrgCASE_IGNORE, 9216d522f475SmrgCASE_IGNORE, 9217d522f475Smrg/* CAN EM SUB ESC */ 9218d522f475SmrgCASE_GROUND_STATE, 9219d522f475SmrgCASE_IGNORE, 92205104ee6eSmrgCASE_SUB, 9221d522f475SmrgCASE_ESC, 9222d522f475Smrg/* FS GS RS US */ 9223d522f475SmrgCASE_IGNORE, 9224d522f475SmrgCASE_IGNORE, 9225d522f475SmrgCASE_IGNORE, 9226d522f475SmrgCASE_IGNORE, 9227d522f475Smrg/* SP ! " # */ 9228d522f475SmrgCASE_PRINT, 9229d522f475SmrgCASE_PRINT, 9230d522f475SmrgCASE_PRINT, 9231d522f475SmrgCASE_PRINT, 9232d522f475Smrg/* $ % & ' */ 9233d522f475SmrgCASE_PRINT, 9234d522f475SmrgCASE_PRINT, 9235d522f475SmrgCASE_PRINT, 9236d522f475SmrgCASE_PRINT, 9237d522f475Smrg/* ( ) * + */ 9238d522f475SmrgCASE_PRINT, 9239d522f475SmrgCASE_PRINT, 9240d522f475SmrgCASE_PRINT, 9241d522f475SmrgCASE_PRINT, 9242d522f475Smrg/* , - . / */ 9243d522f475SmrgCASE_PRINT, 9244d522f475SmrgCASE_PRINT, 9245d522f475SmrgCASE_PRINT, 9246d522f475SmrgCASE_PRINT, 9247d522f475Smrg/* 0 1 2 3 */ 9248d522f475SmrgCASE_PRINT, 9249d522f475SmrgCASE_PRINT, 9250d522f475SmrgCASE_PRINT, 9251d522f475SmrgCASE_PRINT, 9252d522f475Smrg/* 4 5 6 7 */ 9253d522f475SmrgCASE_PRINT, 9254d522f475SmrgCASE_PRINT, 9255d522f475SmrgCASE_PRINT, 9256d522f475SmrgCASE_PRINT, 9257d522f475Smrg/* 8 9 : ; */ 9258d522f475SmrgCASE_PRINT, 9259d522f475SmrgCASE_PRINT, 9260d522f475SmrgCASE_PRINT, 9261d522f475SmrgCASE_PRINT, 9262d522f475Smrg/* < = > ? */ 9263d522f475SmrgCASE_PRINT, 9264d522f475SmrgCASE_PRINT, 9265d522f475SmrgCASE_PRINT, 9266d522f475SmrgCASE_PRINT, 9267d522f475Smrg/* @ A B C */ 9268d522f475SmrgCASE_PRINT, 9269d522f475SmrgCASE_PRINT, 9270d522f475SmrgCASE_PRINT, 9271d522f475SmrgCASE_PRINT, 9272d522f475Smrg/* D E F G */ 9273d522f475SmrgCASE_PRINT, 9274d522f475SmrgCASE_PRINT, 9275d522f475SmrgCASE_PRINT, 9276d522f475SmrgCASE_PRINT, 9277d522f475Smrg/* H I J K */ 9278d522f475SmrgCASE_PRINT, 9279d522f475SmrgCASE_PRINT, 9280d522f475SmrgCASE_PRINT, 9281d522f475SmrgCASE_PRINT, 9282d522f475Smrg/* L M N O */ 9283d522f475SmrgCASE_PRINT, 9284d522f475SmrgCASE_PRINT, 9285d522f475SmrgCASE_PRINT, 9286d522f475SmrgCASE_PRINT, 9287d522f475Smrg/* P Q R S */ 9288d522f475SmrgCASE_PRINT, 9289d522f475SmrgCASE_PRINT, 9290d522f475SmrgCASE_PRINT, 9291d522f475SmrgCASE_PRINT, 9292d522f475Smrg/* T U V W */ 9293d522f475SmrgCASE_PRINT, 9294d522f475SmrgCASE_PRINT, 9295d522f475SmrgCASE_PRINT, 9296d522f475SmrgCASE_PRINT, 9297d522f475Smrg/* X Y Z [ */ 9298d522f475SmrgCASE_PRINT, 9299d522f475SmrgCASE_PRINT, 9300d522f475SmrgCASE_PRINT, 9301d522f475SmrgCASE_PRINT, 9302d522f475Smrg/* \ ] ^ _ */ 9303d522f475SmrgCASE_PRINT, 9304d522f475SmrgCASE_PRINT, 9305d522f475SmrgCASE_PRINT, 9306d522f475SmrgCASE_PRINT, 9307d522f475Smrg/* ` a b c */ 9308d522f475SmrgCASE_PRINT, 9309d522f475SmrgCASE_PRINT, 9310d522f475SmrgCASE_PRINT, 9311d522f475SmrgCASE_PRINT, 9312d522f475Smrg/* d e f g */ 9313d522f475SmrgCASE_PRINT, 9314d522f475SmrgCASE_PRINT, 9315d522f475SmrgCASE_PRINT, 9316d522f475SmrgCASE_PRINT, 9317d522f475Smrg/* h i j k */ 9318d522f475SmrgCASE_PRINT, 9319d522f475SmrgCASE_PRINT, 9320d522f475SmrgCASE_PRINT, 9321d522f475SmrgCASE_PRINT, 9322d522f475Smrg/* l m n o */ 9323d522f475SmrgCASE_PRINT, 9324d522f475SmrgCASE_PRINT, 9325d522f475SmrgCASE_PRINT, 9326d522f475SmrgCASE_PRINT, 9327d522f475Smrg/* p q r s */ 9328d522f475SmrgCASE_PRINT, 9329d522f475SmrgCASE_PRINT, 9330d522f475SmrgCASE_PRINT, 9331d522f475SmrgCASE_PRINT, 9332d522f475Smrg/* t u v w */ 9333d522f475SmrgCASE_PRINT, 9334d522f475SmrgCASE_PRINT, 9335d522f475SmrgCASE_PRINT, 9336d522f475SmrgCASE_PRINT, 9337d522f475Smrg/* x y z { */ 9338d522f475SmrgCASE_PRINT, 9339d522f475SmrgCASE_PRINT, 9340d522f475SmrgCASE_PRINT, 9341d522f475SmrgCASE_PRINT, 9342d522f475Smrg/* | } ~ DEL */ 9343d522f475SmrgCASE_PRINT, 9344d522f475SmrgCASE_PRINT, 9345d522f475SmrgCASE_PRINT, 9346d522f475SmrgCASE_IGNORE, 9347d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 9348d522f475SmrgCASE_IGNORE, 9349d522f475SmrgCASE_IGNORE, 9350d522f475SmrgCASE_IGNORE, 9351d522f475SmrgCASE_IGNORE, 9352d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 9353d522f475SmrgCASE_IGNORE, 9354d522f475SmrgCASE_IGNORE, 9355d522f475SmrgCASE_IGNORE, 9356d522f475SmrgCASE_IGNORE, 9357d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 9358d522f475SmrgCASE_IGNORE, 9359d522f475SmrgCASE_IGNORE, 9360d522f475SmrgCASE_IGNORE, 9361d522f475SmrgCASE_IGNORE, 9362d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 9363d522f475SmrgCASE_IGNORE, 9364d522f475SmrgCASE_IGNORE, 9365d522f475SmrgCASE_IGNORE, 9366d522f475SmrgCASE_IGNORE, 9367d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 9368d522f475SmrgCASE_IGNORE, 9369d522f475SmrgCASE_IGNORE, 9370d522f475SmrgCASE_IGNORE, 9371d522f475SmrgCASE_IGNORE, 9372d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 9373d522f475SmrgCASE_IGNORE, 9374d522f475SmrgCASE_IGNORE, 9375d522f475SmrgCASE_IGNORE, 9376d522f475SmrgCASE_IGNORE, 9377d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 9378d522f475SmrgCASE_IGNORE, 9379d522f475SmrgCASE_IGNORE, 9380d522f475SmrgCASE_IGNORE, 9381d522f475SmrgCASE_IGNORE, 9382d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 9383d522f475SmrgCASE_IGNORE, 9384d522f475SmrgCASE_IGNORE, 9385d522f475SmrgCASE_IGNORE, 9386d522f475SmrgCASE_IGNORE, 9387d522f475Smrg/* nobreakspace exclamdown cent sterling */ 9388d522f475SmrgCASE_IGNORE, 9389d522f475SmrgCASE_IGNORE, 9390d522f475SmrgCASE_IGNORE, 9391d522f475SmrgCASE_IGNORE, 9392d522f475Smrg/* currency yen brokenbar section */ 9393d522f475SmrgCASE_IGNORE, 9394d522f475SmrgCASE_IGNORE, 9395d522f475SmrgCASE_IGNORE, 9396d522f475SmrgCASE_IGNORE, 9397d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 9398d522f475SmrgCASE_IGNORE, 9399d522f475SmrgCASE_IGNORE, 9400d522f475SmrgCASE_IGNORE, 9401d522f475SmrgCASE_IGNORE, 9402d522f475Smrg/* notsign hyphen registered macron */ 9403d522f475SmrgCASE_IGNORE, 9404d522f475SmrgCASE_IGNORE, 9405d522f475SmrgCASE_IGNORE, 9406d522f475SmrgCASE_IGNORE, 9407d522f475Smrg/* degree plusminus twosuperior threesuperior */ 9408d522f475SmrgCASE_IGNORE, 9409d522f475SmrgCASE_IGNORE, 9410d522f475SmrgCASE_IGNORE, 9411d522f475SmrgCASE_IGNORE, 9412d522f475Smrg/* acute mu paragraph periodcentered */ 9413d522f475SmrgCASE_IGNORE, 9414d522f475SmrgCASE_IGNORE, 9415d522f475SmrgCASE_IGNORE, 9416d522f475SmrgCASE_IGNORE, 9417d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 9418d522f475SmrgCASE_IGNORE, 9419d522f475SmrgCASE_IGNORE, 9420d522f475SmrgCASE_IGNORE, 9421d522f475SmrgCASE_IGNORE, 9422d522f475Smrg/* onequarter onehalf threequarters questiondown */ 9423d522f475SmrgCASE_IGNORE, 9424d522f475SmrgCASE_IGNORE, 9425d522f475SmrgCASE_IGNORE, 9426d522f475SmrgCASE_IGNORE, 9427d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 9428d522f475SmrgCASE_IGNORE, 9429d522f475SmrgCASE_IGNORE, 9430d522f475SmrgCASE_IGNORE, 9431d522f475SmrgCASE_IGNORE, 9432d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 9433d522f475SmrgCASE_IGNORE, 9434d522f475SmrgCASE_IGNORE, 9435d522f475SmrgCASE_IGNORE, 9436d522f475SmrgCASE_IGNORE, 9437d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 9438d522f475SmrgCASE_IGNORE, 9439d522f475SmrgCASE_IGNORE, 9440d522f475SmrgCASE_IGNORE, 9441d522f475SmrgCASE_IGNORE, 9442d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 9443d522f475SmrgCASE_IGNORE, 9444d522f475SmrgCASE_IGNORE, 9445d522f475SmrgCASE_IGNORE, 9446d522f475SmrgCASE_IGNORE, 9447d522f475Smrg/* Eth Ntilde Ograve Oacute */ 9448d522f475SmrgCASE_IGNORE, 9449d522f475SmrgCASE_IGNORE, 9450d522f475SmrgCASE_IGNORE, 9451d522f475SmrgCASE_IGNORE, 9452d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 9453d522f475SmrgCASE_IGNORE, 9454d522f475SmrgCASE_IGNORE, 9455d522f475SmrgCASE_IGNORE, 9456d522f475SmrgCASE_IGNORE, 9457d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 9458d522f475SmrgCASE_IGNORE, 9459d522f475SmrgCASE_IGNORE, 9460d522f475SmrgCASE_IGNORE, 9461d522f475SmrgCASE_IGNORE, 9462d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 9463d522f475SmrgCASE_IGNORE, 9464d522f475SmrgCASE_IGNORE, 9465d522f475SmrgCASE_IGNORE, 9466d522f475SmrgCASE_IGNORE, 9467d522f475Smrg/* agrave aacute acircumflex atilde */ 9468d522f475SmrgCASE_IGNORE, 9469d522f475SmrgCASE_IGNORE, 9470d522f475SmrgCASE_IGNORE, 9471d522f475SmrgCASE_IGNORE, 9472d522f475Smrg/* adiaeresis aring ae ccedilla */ 9473d522f475SmrgCASE_IGNORE, 9474d522f475SmrgCASE_IGNORE, 9475d522f475SmrgCASE_IGNORE, 9476d522f475SmrgCASE_IGNORE, 9477d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 9478d522f475SmrgCASE_IGNORE, 9479d522f475SmrgCASE_IGNORE, 9480d522f475SmrgCASE_IGNORE, 9481d522f475SmrgCASE_IGNORE, 9482d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 9483d522f475SmrgCASE_IGNORE, 9484d522f475SmrgCASE_IGNORE, 9485d522f475SmrgCASE_IGNORE, 9486d522f475SmrgCASE_IGNORE, 9487d522f475Smrg/* eth ntilde ograve oacute */ 9488d522f475SmrgCASE_IGNORE, 9489d522f475SmrgCASE_IGNORE, 9490d522f475SmrgCASE_IGNORE, 9491d522f475SmrgCASE_IGNORE, 9492d522f475Smrg/* ocircumflex otilde odiaeresis division */ 9493d522f475SmrgCASE_IGNORE, 9494d522f475SmrgCASE_IGNORE, 9495d522f475SmrgCASE_IGNORE, 9496d522f475SmrgCASE_IGNORE, 9497d522f475Smrg/* oslash ugrave uacute ucircumflex */ 9498d522f475SmrgCASE_IGNORE, 9499d522f475SmrgCASE_IGNORE, 9500d522f475SmrgCASE_IGNORE, 9501d522f475SmrgCASE_IGNORE, 9502d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 9503d522f475SmrgCASE_IGNORE, 9504d522f475SmrgCASE_IGNORE, 9505d522f475SmrgCASE_IGNORE, 9506d522f475SmrgCASE_IGNORE, 9507d522f475Smrg}; 9508d522f475Smrg 95095104ee6eSmrgconst PARSE_T vt52_esc_table[] = 9510d522f475Smrg{ 9511d522f475Smrg/* NUL SOH STX ETX */ 9512d522f475SmrgCASE_IGNORE, 9513d522f475SmrgCASE_IGNORE, 9514d522f475SmrgCASE_IGNORE, 9515d522f475SmrgCASE_IGNORE, 9516d522f475Smrg/* EOT ENQ ACK BEL */ 9517d522f475SmrgCASE_IGNORE, 9518d522f475SmrgCASE_ENQ, 9519d522f475SmrgCASE_IGNORE, 9520d522f475SmrgCASE_BELL, 9521d522f475Smrg/* BS HT NL VT */ 9522d522f475SmrgCASE_BS, 9523d522f475SmrgCASE_TAB, 9524d522f475SmrgCASE_VMOT, 9525d522f475SmrgCASE_VMOT, 95260bd37d32Smrg/* FF CR SO SI */ 9527d522f475SmrgCASE_VMOT, 9528d522f475SmrgCASE_CR, 9529d522f475SmrgCASE_IGNORE, 9530d522f475SmrgCASE_IGNORE, 9531d522f475Smrg/* DLE DC1 DC2 DC3 */ 9532d522f475SmrgCASE_IGNORE, 9533d522f475SmrgCASE_IGNORE, 9534d522f475SmrgCASE_IGNORE, 9535d522f475SmrgCASE_IGNORE, 9536d522f475Smrg/* DC4 NAK SYN ETB */ 9537d522f475SmrgCASE_IGNORE, 9538d522f475SmrgCASE_IGNORE, 9539d522f475SmrgCASE_IGNORE, 9540d522f475SmrgCASE_IGNORE, 9541d522f475Smrg/* CAN EM SUB ESC */ 9542d522f475SmrgCASE_GROUND_STATE, 9543d522f475SmrgCASE_IGNORE, 95445104ee6eSmrgCASE_SUB, 9545d522f475SmrgCASE_ESC, 9546d522f475Smrg/* FS GS RS US */ 9547d522f475SmrgCASE_IGNORE, 9548d522f475SmrgCASE_IGNORE, 9549d522f475SmrgCASE_IGNORE, 9550d522f475SmrgCASE_IGNORE, 9551d522f475Smrg/* SP ! " # */ 9552d522f475SmrgCASE_VT52_IGNORE, 9553d522f475SmrgCASE_VT52_IGNORE, 9554d522f475SmrgCASE_VT52_IGNORE, 9555d522f475SmrgCASE_VT52_IGNORE, 9556d522f475Smrg/* $ % & ' */ 9557d522f475SmrgCASE_VT52_IGNORE, 9558d522f475SmrgCASE_VT52_IGNORE, 9559d522f475SmrgCASE_VT52_IGNORE, 9560d522f475SmrgCASE_VT52_IGNORE, 9561d522f475Smrg/* ( ) * + */ 9562d522f475SmrgCASE_VT52_IGNORE, 9563d522f475SmrgCASE_VT52_IGNORE, 9564d522f475SmrgCASE_VT52_IGNORE, 9565d522f475SmrgCASE_VT52_IGNORE, 9566d522f475Smrg/* , - . / */ 9567d522f475SmrgCASE_VT52_IGNORE, 9568d522f475SmrgCASE_VT52_IGNORE, 9569d522f475SmrgCASE_VT52_IGNORE, 9570d522f475SmrgCASE_VT52_IGNORE, 9571d522f475Smrg/* 0 1 2 3 */ 9572d522f475SmrgCASE_GROUND_STATE, 9573d522f475SmrgCASE_GROUND_STATE, 9574d522f475SmrgCASE_GROUND_STATE, 9575d522f475SmrgCASE_GROUND_STATE, 9576d522f475Smrg/* 4 5 6 7 */ 9577d522f475SmrgCASE_GROUND_STATE, 9578d522f475SmrgCASE_GROUND_STATE, 9579d522f475SmrgCASE_GROUND_STATE, 9580d522f475SmrgCASE_GROUND_STATE, 9581d522f475Smrg/* 8 9 : ; */ 9582d522f475SmrgCASE_GROUND_STATE, 9583d522f475SmrgCASE_GROUND_STATE, 9584d522f475SmrgCASE_GROUND_STATE, 9585d522f475SmrgCASE_GROUND_STATE, 9586d522f475Smrg/* < = > ? */ 9587d522f475SmrgCASE_VT52_FINISH, 9588d522f475SmrgCASE_DECKPAM, 9589d522f475SmrgCASE_DECKPNM, 9590d522f475SmrgCASE_GROUND_STATE, 9591d522f475Smrg/* @ A B C */ 9592d522f475SmrgCASE_GROUND_STATE, 9593d522f475SmrgCASE_CUU, 9594d522f475SmrgCASE_CUD, 9595d522f475SmrgCASE_CUF, 9596d522f475Smrg/* D E F G */ 9597d522f475SmrgCASE_CUB, 9598d522f475SmrgCASE_GROUND_STATE, 9599d522f475SmrgCASE_SO, 9600d522f475SmrgCASE_SI, 9601d522f475Smrg/* H I J K */ 9602d522f475SmrgCASE_CUP, 9603d522f475SmrgCASE_RI, 9604d522f475SmrgCASE_ED, 9605d522f475SmrgCASE_EL, 9606d522f475Smrg/* L M N O */ 9607d522f475SmrgCASE_GROUND_STATE, 9608d522f475SmrgCASE_GROUND_STATE, 9609d522f475SmrgCASE_GROUND_STATE, 9610d522f475SmrgCASE_GROUND_STATE, 9611d522f475Smrg/* P Q R S */ 9612d522f475SmrgCASE_GROUND_STATE, 9613d522f475SmrgCASE_GROUND_STATE, 9614d522f475SmrgCASE_GROUND_STATE, 9615d522f475SmrgCASE_GROUND_STATE, 9616d522f475Smrg/* T U V W */ 9617d522f475SmrgCASE_GROUND_STATE, 9618d522f475SmrgCASE_GROUND_STATE, 9619d522f475SmrgCASE_GROUND_STATE, 9620d522f475SmrgCASE_GROUND_STATE, 9621d522f475Smrg/* X Y Z [ */ 9622d522f475SmrgCASE_GROUND_STATE, 9623d522f475SmrgCASE_VT52_CUP, 9624d522f475SmrgCASE_DECID, 9625d522f475SmrgCASE_GROUND_STATE, 9626d522f475Smrg/* \ ] ^ _ */ 9627d522f475SmrgCASE_GROUND_STATE, 9628d522f475SmrgCASE_GROUND_STATE, 9629d522f475SmrgCASE_GROUND_STATE, 9630d522f475SmrgCASE_GROUND_STATE, 9631d522f475Smrg/* ` a b c */ 9632d522f475SmrgCASE_GROUND_STATE, 9633d522f475SmrgCASE_GROUND_STATE, 9634d522f475SmrgCASE_GROUND_STATE, 9635d522f475SmrgCASE_GROUND_STATE, 9636d522f475Smrg/* d e f g */ 9637d522f475SmrgCASE_GROUND_STATE, 9638d522f475SmrgCASE_GROUND_STATE, 9639d522f475SmrgCASE_GROUND_STATE, 9640d522f475SmrgCASE_GROUND_STATE, 9641d522f475Smrg/* h i j k */ 9642d522f475SmrgCASE_GROUND_STATE, 9643d522f475SmrgCASE_GROUND_STATE, 9644d522f475SmrgCASE_GROUND_STATE, 9645d522f475SmrgCASE_GROUND_STATE, 9646d522f475Smrg/* l m n o */ 9647d522f475SmrgCASE_GROUND_STATE, 9648d522f475SmrgCASE_GROUND_STATE, 9649d522f475SmrgCASE_GROUND_STATE, 9650d522f475SmrgCASE_GROUND_STATE, 9651d522f475Smrg/* p q r s */ 9652d522f475SmrgCASE_GROUND_STATE, 9653d522f475SmrgCASE_GROUND_STATE, 9654d522f475SmrgCASE_GROUND_STATE, 9655d522f475SmrgCASE_GROUND_STATE, 9656d522f475Smrg/* t u v w */ 9657d522f475SmrgCASE_GROUND_STATE, 9658d522f475SmrgCASE_GROUND_STATE, 9659d522f475SmrgCASE_GROUND_STATE, 9660d522f475SmrgCASE_GROUND_STATE, 9661d522f475Smrg/* x y z { */ 9662d522f475SmrgCASE_GROUND_STATE, 9663d522f475SmrgCASE_GROUND_STATE, 9664d522f475SmrgCASE_GROUND_STATE, 9665d522f475SmrgCASE_GROUND_STATE, 9666d522f475Smrg/* | } ~ DEL */ 9667d522f475SmrgCASE_GROUND_STATE, 9668d522f475SmrgCASE_GROUND_STATE, 9669d522f475SmrgCASE_GROUND_STATE, 9670d522f475SmrgCASE_IGNORE, 9671d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 9672d522f475SmrgCASE_IGNORE, 9673d522f475SmrgCASE_IGNORE, 9674d522f475SmrgCASE_IGNORE, 9675d522f475SmrgCASE_IGNORE, 9676d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 9677d522f475SmrgCASE_IGNORE, 9678d522f475SmrgCASE_IGNORE, 9679d522f475SmrgCASE_IGNORE, 9680d522f475SmrgCASE_IGNORE, 9681d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 9682d522f475SmrgCASE_IGNORE, 9683d522f475SmrgCASE_IGNORE, 9684d522f475SmrgCASE_IGNORE, 9685d522f475SmrgCASE_IGNORE, 9686d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 9687d522f475SmrgCASE_IGNORE, 9688d522f475SmrgCASE_IGNORE, 9689d522f475SmrgCASE_IGNORE, 9690d522f475SmrgCASE_IGNORE, 9691d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 9692d522f475SmrgCASE_IGNORE, 9693d522f475SmrgCASE_IGNORE, 9694d522f475SmrgCASE_IGNORE, 9695d522f475SmrgCASE_IGNORE, 9696d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 9697d522f475SmrgCASE_IGNORE, 9698d522f475SmrgCASE_IGNORE, 9699d522f475SmrgCASE_IGNORE, 9700d522f475SmrgCASE_IGNORE, 9701d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 9702d522f475SmrgCASE_IGNORE, 9703d522f475SmrgCASE_IGNORE, 9704d522f475SmrgCASE_IGNORE, 9705d522f475SmrgCASE_IGNORE, 9706d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 9707d522f475SmrgCASE_IGNORE, 9708d522f475SmrgCASE_IGNORE, 9709d522f475SmrgCASE_IGNORE, 9710d522f475SmrgCASE_IGNORE, 9711d522f475Smrg/* nobreakspace exclamdown cent sterling */ 9712d522f475SmrgCASE_IGNORE, 9713d522f475SmrgCASE_IGNORE, 9714d522f475SmrgCASE_IGNORE, 9715d522f475SmrgCASE_IGNORE, 9716d522f475Smrg/* currency yen brokenbar section */ 9717d522f475SmrgCASE_IGNORE, 9718d522f475SmrgCASE_IGNORE, 9719d522f475SmrgCASE_IGNORE, 9720d522f475SmrgCASE_IGNORE, 9721d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 9722d522f475SmrgCASE_IGNORE, 9723d522f475SmrgCASE_IGNORE, 9724d522f475SmrgCASE_IGNORE, 9725d522f475SmrgCASE_IGNORE, 9726d522f475Smrg/* notsign hyphen registered macron */ 9727d522f475SmrgCASE_IGNORE, 9728d522f475SmrgCASE_IGNORE, 9729d522f475SmrgCASE_IGNORE, 9730d522f475SmrgCASE_IGNORE, 9731d522f475Smrg/* degree plusminus twosuperior threesuperior */ 9732d522f475SmrgCASE_IGNORE, 9733d522f475SmrgCASE_IGNORE, 9734d522f475SmrgCASE_IGNORE, 9735d522f475SmrgCASE_IGNORE, 9736d522f475Smrg/* acute mu paragraph periodcentered */ 9737d522f475SmrgCASE_IGNORE, 9738d522f475SmrgCASE_IGNORE, 9739d522f475SmrgCASE_IGNORE, 9740d522f475SmrgCASE_IGNORE, 9741d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 9742d522f475SmrgCASE_IGNORE, 9743d522f475SmrgCASE_IGNORE, 9744d522f475SmrgCASE_IGNORE, 9745d522f475SmrgCASE_IGNORE, 9746d522f475Smrg/* onequarter onehalf threequarters questiondown */ 9747d522f475SmrgCASE_IGNORE, 9748d522f475SmrgCASE_IGNORE, 9749d522f475SmrgCASE_IGNORE, 9750d522f475SmrgCASE_IGNORE, 9751d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 9752d522f475SmrgCASE_IGNORE, 9753d522f475SmrgCASE_IGNORE, 9754d522f475SmrgCASE_IGNORE, 9755d522f475SmrgCASE_IGNORE, 9756d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 9757d522f475SmrgCASE_IGNORE, 9758d522f475SmrgCASE_IGNORE, 9759d522f475SmrgCASE_IGNORE, 9760d522f475SmrgCASE_IGNORE, 9761d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 9762d522f475SmrgCASE_IGNORE, 9763d522f475SmrgCASE_IGNORE, 9764d522f475SmrgCASE_IGNORE, 9765d522f475SmrgCASE_IGNORE, 9766d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 9767d522f475SmrgCASE_IGNORE, 9768d522f475SmrgCASE_IGNORE, 9769d522f475SmrgCASE_IGNORE, 9770d522f475SmrgCASE_IGNORE, 9771d522f475Smrg/* Eth Ntilde Ograve Oacute */ 9772d522f475SmrgCASE_IGNORE, 9773d522f475SmrgCASE_IGNORE, 9774d522f475SmrgCASE_IGNORE, 9775d522f475SmrgCASE_IGNORE, 9776d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 9777d522f475SmrgCASE_IGNORE, 9778d522f475SmrgCASE_IGNORE, 9779d522f475SmrgCASE_IGNORE, 9780d522f475SmrgCASE_IGNORE, 9781d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 9782d522f475SmrgCASE_IGNORE, 9783d522f475SmrgCASE_IGNORE, 9784d522f475SmrgCASE_IGNORE, 9785d522f475SmrgCASE_IGNORE, 9786d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 9787d522f475SmrgCASE_IGNORE, 9788d522f475SmrgCASE_IGNORE, 9789d522f475SmrgCASE_IGNORE, 9790d522f475SmrgCASE_IGNORE, 9791d522f475Smrg/* agrave aacute acircumflex atilde */ 9792d522f475SmrgCASE_IGNORE, 9793d522f475SmrgCASE_IGNORE, 9794d522f475SmrgCASE_IGNORE, 9795d522f475SmrgCASE_IGNORE, 9796d522f475Smrg/* adiaeresis aring ae ccedilla */ 9797d522f475SmrgCASE_IGNORE, 9798d522f475SmrgCASE_IGNORE, 9799d522f475SmrgCASE_IGNORE, 9800d522f475SmrgCASE_IGNORE, 9801d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 9802d522f475SmrgCASE_IGNORE, 9803d522f475SmrgCASE_IGNORE, 9804d522f475SmrgCASE_IGNORE, 9805d522f475SmrgCASE_IGNORE, 9806d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 9807d522f475SmrgCASE_IGNORE, 9808d522f475SmrgCASE_IGNORE, 9809d522f475SmrgCASE_IGNORE, 9810d522f475SmrgCASE_IGNORE, 9811d522f475Smrg/* eth ntilde ograve oacute */ 9812d522f475SmrgCASE_IGNORE, 9813d522f475SmrgCASE_IGNORE, 9814d522f475SmrgCASE_IGNORE, 9815d522f475SmrgCASE_IGNORE, 9816d522f475Smrg/* ocircumflex otilde odiaeresis division */ 9817d522f475SmrgCASE_IGNORE, 9818d522f475SmrgCASE_IGNORE, 9819d522f475SmrgCASE_IGNORE, 9820d522f475SmrgCASE_IGNORE, 9821d522f475Smrg/* oslash ugrave uacute ucircumflex */ 9822d522f475SmrgCASE_IGNORE, 9823d522f475SmrgCASE_IGNORE, 9824d522f475SmrgCASE_IGNORE, 9825d522f475SmrgCASE_IGNORE, 9826d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 9827d522f475SmrgCASE_IGNORE, 9828d522f475SmrgCASE_IGNORE, 9829d522f475SmrgCASE_IGNORE, 9830d522f475SmrgCASE_IGNORE, 9831d522f475Smrg}; 9832d522f475Smrg 98335104ee6eSmrgconst PARSE_T vt52_ignore_table[] = 9834d522f475Smrg{ 9835d522f475Smrg/* NUL SOH STX ETX */ 9836d522f475SmrgCASE_IGNORE, 9837d522f475SmrgCASE_IGNORE, 9838d522f475SmrgCASE_IGNORE, 9839d522f475SmrgCASE_IGNORE, 9840d522f475Smrg/* EOT ENQ ACK BEL */ 9841d522f475SmrgCASE_IGNORE, 9842d522f475SmrgCASE_ENQ, 9843d522f475SmrgCASE_IGNORE, 9844d522f475SmrgCASE_BELL, 9845d522f475Smrg/* BS HT NL VT */ 9846d522f475SmrgCASE_BS, 9847d522f475SmrgCASE_TAB, 9848d522f475SmrgCASE_VMOT, 9849d522f475SmrgCASE_VMOT, 98500bd37d32Smrg/* FF CR SO SI */ 9851d522f475SmrgCASE_VMOT, 9852d522f475SmrgCASE_CR, 9853d522f475SmrgCASE_IGNORE, 9854d522f475SmrgCASE_IGNORE, 9855d522f475Smrg/* DLE DC1 DC2 DC3 */ 9856d522f475SmrgCASE_IGNORE, 9857d522f475SmrgCASE_IGNORE, 9858d522f475SmrgCASE_IGNORE, 9859d522f475SmrgCASE_IGNORE, 9860d522f475Smrg/* DC4 NAK SYN ETB */ 9861d522f475SmrgCASE_IGNORE, 9862d522f475SmrgCASE_IGNORE, 9863d522f475SmrgCASE_IGNORE, 9864d522f475SmrgCASE_IGNORE, 9865d522f475Smrg/* CAN EM SUB ESC */ 9866d522f475SmrgCASE_GROUND_STATE, 9867d522f475SmrgCASE_IGNORE, 98685104ee6eSmrgCASE_SUB, 9869d522f475SmrgCASE_ESC, 9870d522f475Smrg/* FS GS RS US */ 9871d522f475SmrgCASE_IGNORE, 9872d522f475SmrgCASE_IGNORE, 9873d522f475SmrgCASE_IGNORE, 9874d522f475SmrgCASE_IGNORE, 9875d522f475Smrg/* SP ! " # */ 9876d522f475SmrgCASE_IGNORE, 9877d522f475SmrgCASE_IGNORE, 9878d522f475SmrgCASE_IGNORE, 9879d522f475SmrgCASE_IGNORE, 9880d522f475Smrg/* $ % & ' */ 9881d522f475SmrgCASE_IGNORE, 9882d522f475SmrgCASE_IGNORE, 9883d522f475SmrgCASE_IGNORE, 9884d522f475SmrgCASE_IGNORE, 9885d522f475Smrg/* ( ) * + */ 9886d522f475SmrgCASE_IGNORE, 9887d522f475SmrgCASE_IGNORE, 9888d522f475SmrgCASE_IGNORE, 9889d522f475SmrgCASE_IGNORE, 9890d522f475Smrg/* , - . / */ 9891d522f475SmrgCASE_IGNORE, 9892d522f475SmrgCASE_IGNORE, 9893d522f475SmrgCASE_IGNORE, 9894d522f475SmrgCASE_IGNORE, 9895d522f475Smrg/* 0 1 2 3 */ 9896d522f475SmrgCASE_GROUND_STATE, 9897d522f475SmrgCASE_GROUND_STATE, 9898d522f475SmrgCASE_GROUND_STATE, 9899d522f475SmrgCASE_GROUND_STATE, 9900d522f475Smrg/* 4 5 6 7 */ 9901d522f475SmrgCASE_GROUND_STATE, 9902d522f475SmrgCASE_GROUND_STATE, 9903d522f475SmrgCASE_GROUND_STATE, 9904d522f475SmrgCASE_GROUND_STATE, 9905d522f475Smrg/* 8 9 : ; */ 9906d522f475SmrgCASE_GROUND_STATE, 9907d522f475SmrgCASE_GROUND_STATE, 9908d522f475SmrgCASE_GROUND_STATE, 9909d522f475SmrgCASE_GROUND_STATE, 9910d522f475Smrg/* < = > ? */ 9911d522f475SmrgCASE_GROUND_STATE, 9912d522f475SmrgCASE_GROUND_STATE, 9913d522f475SmrgCASE_GROUND_STATE, 9914d522f475SmrgCASE_GROUND_STATE, 9915d522f475Smrg/* @ A B C */ 9916d522f475SmrgCASE_GROUND_STATE, 9917d522f475SmrgCASE_GROUND_STATE, 9918d522f475SmrgCASE_GROUND_STATE, 9919d522f475SmrgCASE_GROUND_STATE, 9920d522f475Smrg/* D E F G */ 9921d522f475SmrgCASE_GROUND_STATE, 9922d522f475SmrgCASE_GROUND_STATE, 9923d522f475SmrgCASE_GROUND_STATE, 9924d522f475SmrgCASE_GROUND_STATE, 9925d522f475Smrg/* H I J K */ 9926d522f475SmrgCASE_GROUND_STATE, 9927d522f475SmrgCASE_GROUND_STATE, 9928d522f475SmrgCASE_GROUND_STATE, 9929d522f475SmrgCASE_GROUND_STATE, 9930d522f475Smrg/* L M N O */ 9931d522f475SmrgCASE_GROUND_STATE, 9932d522f475SmrgCASE_GROUND_STATE, 9933d522f475SmrgCASE_GROUND_STATE, 9934d522f475SmrgCASE_GROUND_STATE, 9935d522f475Smrg/* P Q R S */ 9936d522f475SmrgCASE_GROUND_STATE, 9937d522f475SmrgCASE_GROUND_STATE, 9938d522f475SmrgCASE_GROUND_STATE, 9939d522f475SmrgCASE_GROUND_STATE, 9940d522f475Smrg/* T U V W */ 9941d522f475SmrgCASE_GROUND_STATE, 9942d522f475SmrgCASE_GROUND_STATE, 9943d522f475SmrgCASE_GROUND_STATE, 9944d522f475SmrgCASE_GROUND_STATE, 9945d522f475Smrg/* X Y Z [ */ 9946d522f475SmrgCASE_GROUND_STATE, 9947d522f475SmrgCASE_GROUND_STATE, 9948d522f475SmrgCASE_GROUND_STATE, 9949d522f475SmrgCASE_GROUND_STATE, 9950d522f475Smrg/* \ ] ^ _ */ 9951d522f475SmrgCASE_GROUND_STATE, 9952d522f475SmrgCASE_GROUND_STATE, 9953d522f475SmrgCASE_GROUND_STATE, 9954d522f475SmrgCASE_GROUND_STATE, 9955d522f475Smrg/* ` a b c */ 9956d522f475SmrgCASE_GROUND_STATE, 9957d522f475SmrgCASE_GROUND_STATE, 9958d522f475SmrgCASE_GROUND_STATE, 9959d522f475SmrgCASE_GROUND_STATE, 9960d522f475Smrg/* d e f g */ 9961d522f475SmrgCASE_GROUND_STATE, 9962d522f475SmrgCASE_GROUND_STATE, 9963d522f475SmrgCASE_GROUND_STATE, 9964d522f475SmrgCASE_GROUND_STATE, 9965d522f475Smrg/* h i j k */ 9966d522f475SmrgCASE_GROUND_STATE, 9967d522f475SmrgCASE_GROUND_STATE, 9968d522f475SmrgCASE_GROUND_STATE, 9969d522f475SmrgCASE_GROUND_STATE, 9970d522f475Smrg/* l m n o */ 9971d522f475SmrgCASE_GROUND_STATE, 9972d522f475SmrgCASE_GROUND_STATE, 9973d522f475SmrgCASE_GROUND_STATE, 9974d522f475SmrgCASE_GROUND_STATE, 9975d522f475Smrg/* p q r s */ 9976d522f475SmrgCASE_GROUND_STATE, 9977d522f475SmrgCASE_GROUND_STATE, 9978d522f475SmrgCASE_GROUND_STATE, 9979d522f475SmrgCASE_GROUND_STATE, 9980d522f475Smrg/* t u v w */ 9981d522f475SmrgCASE_GROUND_STATE, 9982d522f475SmrgCASE_GROUND_STATE, 9983d522f475SmrgCASE_GROUND_STATE, 9984d522f475SmrgCASE_GROUND_STATE, 9985d522f475Smrg/* x y z { */ 9986d522f475SmrgCASE_GROUND_STATE, 9987d522f475SmrgCASE_GROUND_STATE, 9988d522f475SmrgCASE_GROUND_STATE, 9989d522f475SmrgCASE_GROUND_STATE, 9990d522f475Smrg/* | } ~ DEL */ 9991d522f475SmrgCASE_GROUND_STATE, 9992d522f475SmrgCASE_GROUND_STATE, 9993d522f475SmrgCASE_GROUND_STATE, 9994d522f475SmrgCASE_IGNORE, 9995d522f475Smrg/* 0x80 0x81 0x82 0x83 */ 9996d522f475SmrgCASE_IGNORE, 9997d522f475SmrgCASE_IGNORE, 9998d522f475SmrgCASE_IGNORE, 9999d522f475SmrgCASE_IGNORE, 10000d522f475Smrg/* 0x84 0x85 0x86 0x87 */ 10001d522f475SmrgCASE_IGNORE, 10002d522f475SmrgCASE_IGNORE, 10003d522f475SmrgCASE_IGNORE, 10004d522f475SmrgCASE_IGNORE, 10005d522f475Smrg/* 0x88 0x89 0x8a 0x8b */ 10006d522f475SmrgCASE_IGNORE, 10007d522f475SmrgCASE_IGNORE, 10008d522f475SmrgCASE_IGNORE, 10009d522f475SmrgCASE_IGNORE, 10010d522f475Smrg/* 0x8c 0x8d 0x8e 0x8f */ 10011d522f475SmrgCASE_IGNORE, 10012d522f475SmrgCASE_IGNORE, 10013d522f475SmrgCASE_IGNORE, 10014d522f475SmrgCASE_IGNORE, 10015d522f475Smrg/* 0x90 0x91 0x92 0x93 */ 10016d522f475SmrgCASE_IGNORE, 10017d522f475SmrgCASE_IGNORE, 10018d522f475SmrgCASE_IGNORE, 10019d522f475SmrgCASE_IGNORE, 10020d522f475Smrg/* 0x94 0x95 0x96 0x97 */ 10021d522f475SmrgCASE_IGNORE, 10022d522f475SmrgCASE_IGNORE, 10023d522f475SmrgCASE_IGNORE, 10024d522f475SmrgCASE_IGNORE, 10025d522f475Smrg/* 0x98 0x99 0x9a 0x9b */ 10026d522f475SmrgCASE_IGNORE, 10027d522f475SmrgCASE_IGNORE, 10028d522f475SmrgCASE_IGNORE, 10029d522f475SmrgCASE_IGNORE, 10030d522f475Smrg/* 0x9c 0x9d 0x9e 0x9f */ 10031d522f475SmrgCASE_IGNORE, 10032d522f475SmrgCASE_IGNORE, 10033d522f475SmrgCASE_IGNORE, 10034d522f475SmrgCASE_IGNORE, 10035d522f475Smrg/* nobreakspace exclamdown cent sterling */ 10036d522f475SmrgCASE_IGNORE, 10037d522f475SmrgCASE_IGNORE, 10038d522f475SmrgCASE_IGNORE, 10039d522f475SmrgCASE_IGNORE, 10040d522f475Smrg/* currency yen brokenbar section */ 10041d522f475SmrgCASE_IGNORE, 10042d522f475SmrgCASE_IGNORE, 10043d522f475SmrgCASE_IGNORE, 10044d522f475SmrgCASE_IGNORE, 10045d522f475Smrg/* diaeresis copyright ordfeminine guillemotleft */ 10046d522f475SmrgCASE_IGNORE, 10047d522f475SmrgCASE_IGNORE, 10048d522f475SmrgCASE_IGNORE, 10049d522f475SmrgCASE_IGNORE, 10050d522f475Smrg/* notsign hyphen registered macron */ 10051d522f475SmrgCASE_IGNORE, 10052d522f475SmrgCASE_IGNORE, 10053d522f475SmrgCASE_IGNORE, 10054d522f475SmrgCASE_IGNORE, 10055d522f475Smrg/* degree plusminus twosuperior threesuperior */ 10056d522f475SmrgCASE_IGNORE, 10057d522f475SmrgCASE_IGNORE, 10058d522f475SmrgCASE_IGNORE, 10059d522f475SmrgCASE_IGNORE, 10060d522f475Smrg/* acute mu paragraph periodcentered */ 10061d522f475SmrgCASE_IGNORE, 10062d522f475SmrgCASE_IGNORE, 10063d522f475SmrgCASE_IGNORE, 10064d522f475SmrgCASE_IGNORE, 10065d522f475Smrg/* cedilla onesuperior masculine guillemotright */ 10066d522f475SmrgCASE_IGNORE, 10067d522f475SmrgCASE_IGNORE, 10068d522f475SmrgCASE_IGNORE, 10069d522f475SmrgCASE_IGNORE, 10070d522f475Smrg/* onequarter onehalf threequarters questiondown */ 10071d522f475SmrgCASE_IGNORE, 10072d522f475SmrgCASE_IGNORE, 10073d522f475SmrgCASE_IGNORE, 10074d522f475SmrgCASE_IGNORE, 10075d522f475Smrg/* Agrave Aacute Acircumflex Atilde */ 10076d522f475SmrgCASE_IGNORE, 10077d522f475SmrgCASE_IGNORE, 10078d522f475SmrgCASE_IGNORE, 10079d522f475SmrgCASE_IGNORE, 10080d522f475Smrg/* Adiaeresis Aring AE Ccedilla */ 10081d522f475SmrgCASE_IGNORE, 10082d522f475SmrgCASE_IGNORE, 10083d522f475SmrgCASE_IGNORE, 10084d522f475SmrgCASE_IGNORE, 10085d522f475Smrg/* Egrave Eacute Ecircumflex Ediaeresis */ 10086d522f475SmrgCASE_IGNORE, 10087d522f475SmrgCASE_IGNORE, 10088d522f475SmrgCASE_IGNORE, 10089d522f475SmrgCASE_IGNORE, 10090d522f475Smrg/* Igrave Iacute Icircumflex Idiaeresis */ 10091d522f475SmrgCASE_IGNORE, 10092d522f475SmrgCASE_IGNORE, 10093d522f475SmrgCASE_IGNORE, 10094d522f475SmrgCASE_IGNORE, 10095d522f475Smrg/* Eth Ntilde Ograve Oacute */ 10096d522f475SmrgCASE_IGNORE, 10097d522f475SmrgCASE_IGNORE, 10098d522f475SmrgCASE_IGNORE, 10099d522f475SmrgCASE_IGNORE, 10100d522f475Smrg/* Ocircumflex Otilde Odiaeresis multiply */ 10101d522f475SmrgCASE_IGNORE, 10102d522f475SmrgCASE_IGNORE, 10103d522f475SmrgCASE_IGNORE, 10104d522f475SmrgCASE_IGNORE, 10105d522f475Smrg/* Ooblique Ugrave Uacute Ucircumflex */ 10106d522f475SmrgCASE_IGNORE, 10107d522f475SmrgCASE_IGNORE, 10108d522f475SmrgCASE_IGNORE, 10109d522f475SmrgCASE_IGNORE, 10110d522f475Smrg/* Udiaeresis Yacute Thorn ssharp */ 10111d522f475SmrgCASE_IGNORE, 10112d522f475SmrgCASE_IGNORE, 10113d522f475SmrgCASE_IGNORE, 10114d522f475SmrgCASE_IGNORE, 10115d522f475Smrg/* agrave aacute acircumflex atilde */ 10116d522f475SmrgCASE_IGNORE, 10117d522f475SmrgCASE_IGNORE, 10118d522f475SmrgCASE_IGNORE, 10119d522f475SmrgCASE_IGNORE, 10120d522f475Smrg/* adiaeresis aring ae ccedilla */ 10121d522f475SmrgCASE_IGNORE, 10122d522f475SmrgCASE_IGNORE, 10123d522f475SmrgCASE_IGNORE, 10124d522f475SmrgCASE_IGNORE, 10125d522f475Smrg/* egrave eacute ecircumflex ediaeresis */ 10126d522f475SmrgCASE_IGNORE, 10127d522f475SmrgCASE_IGNORE, 10128d522f475SmrgCASE_IGNORE, 10129d522f475SmrgCASE_IGNORE, 10130d522f475Smrg/* igrave iacute icircumflex idiaeresis */ 10131d522f475SmrgCASE_IGNORE, 10132d522f475SmrgCASE_IGNORE, 10133d522f475SmrgCASE_IGNORE, 10134d522f475SmrgCASE_IGNORE, 10135d522f475Smrg/* eth ntilde ograve oacute */ 10136d522f475SmrgCASE_IGNORE, 10137d522f475SmrgCASE_IGNORE, 10138d522f475SmrgCASE_IGNORE, 10139d522f475SmrgCASE_IGNORE, 10140d522f475Smrg/* ocircumflex otilde odiaeresis division */ 10141d522f475SmrgCASE_IGNORE, 10142d522f475SmrgCASE_IGNORE, 10143d522f475SmrgCASE_IGNORE, 10144d522f475SmrgCASE_IGNORE, 10145d522f475Smrg/* oslash ugrave uacute ucircumflex */ 10146d522f475SmrgCASE_IGNORE, 10147d522f475SmrgCASE_IGNORE, 10148d522f475SmrgCASE_IGNORE, 10149d522f475SmrgCASE_IGNORE, 10150d522f475Smrg/* udiaeresis yacute thorn ydiaeresis */ 10151d522f475SmrgCASE_IGNORE, 10152d522f475SmrgCASE_IGNORE, 10153d522f475SmrgCASE_IGNORE, 10154d522f475SmrgCASE_IGNORE, 10155d522f475Smrg}; 10156d522f475Smrg#endif /* OPT_VT52_MODE */ 101570bd37d32Smrg/* *INDENT-ON* */ 10158