home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume9 / xterm / part03 / VTparsetable.c < prev   
Encoding:
C/C++ Source or Header  |  1987-04-20  |  23.7 KB  |  1,485 lines

  1. /*
  2.  *    $Source: /u1/X/xterm/RCS/VTparsetable.c,v $
  3.  *    $Header: VTparsetable.c,v 10.101 86/12/01 21:49:52 jg Rel $
  4.  */
  5.  
  6. #ifndef lint
  7. static char *rcsid_VTparsetable_c = "$Header: VTparsetable.c,v 10.101 86/12/01 21:49:52 jg Rel $";
  8. #endif    lint
  9.  
  10. #include "VTparse.h"
  11. #ifndef lint
  12. static char sccs_id[] = "@(#)VTparsetable.c\tX10/6.6B\t12/26/86";
  13. #endif    lint
  14. /*
  15.  * Stupid Apollo C preprocessor can't handle long lines.  So... To keep
  16.  * it happy, we put each onto a seperate line....  Sigh...
  17.  */
  18.  
  19. int groundtable[] = {
  20. /*    NUL        SOH        STX        ETX    */
  21. CASE_IGNORE,
  22. CASE_IGNORE,
  23. CASE_IGNORE,
  24. CASE_IGNORE,
  25. /*    EOT        ENQ        ACK        BEL    */
  26. CASE_IGNORE,
  27. CASE_IGNORE,
  28. CASE_IGNORE,
  29. CASE_BELL,
  30. /*    BS        HT        NL        VT    */
  31. CASE_BS,
  32. CASE_TAB,
  33. CASE_VMOT,
  34. CASE_VMOT,
  35. /*    NP        CR        SO        SI    */
  36. CASE_VMOT,
  37. CASE_CR,
  38. CASE_SO,
  39. CASE_SI,
  40. /*    DLE        DC1        DC2        DC3    */
  41. CASE_IGNORE,
  42. CASE_IGNORE,
  43. CASE_IGNORE,
  44. CASE_IGNORE,
  45. /*    DC4        NAK        SYN        ETB    */
  46. CASE_IGNORE,
  47. CASE_IGNORE,
  48. CASE_IGNORE,
  49. CASE_IGNORE,
  50. /*    CAN        EM        SUB        ESC    */
  51. CASE_IGNORE,
  52. CASE_IGNORE,
  53. CASE_IGNORE,
  54. CASE_ESC,
  55. /*    FS        GS        RS        US    */
  56. CASE_IGNORE,
  57. CASE_IGNORE,
  58. CASE_IGNORE,
  59. CASE_IGNORE,
  60. /*    SP        !        "        #    */
  61. CASE_PRINT,
  62. CASE_PRINT,
  63. CASE_PRINT,
  64. CASE_PRINT,
  65. /*    $        %        &        '    */
  66. CASE_PRINT,
  67. CASE_PRINT,
  68. CASE_PRINT,
  69. CASE_PRINT,
  70. /*    (        )        *        +    */
  71. CASE_PRINT,
  72. CASE_PRINT,
  73. CASE_PRINT,
  74. CASE_PRINT,
  75. /*    ,        -        .        /    */
  76. CASE_PRINT,
  77. CASE_PRINT,
  78. CASE_PRINT,
  79. CASE_PRINT,
  80. /*    0        1        2        3    */
  81. CASE_PRINT,
  82. CASE_PRINT,
  83. CASE_PRINT,
  84. CASE_PRINT,
  85. /*    4        5        6        7    */
  86. CASE_PRINT,
  87. CASE_PRINT,
  88. CASE_PRINT,
  89. CASE_PRINT,
  90. /*    8        9        :        ;    */
  91. CASE_PRINT,
  92. CASE_PRINT,
  93. CASE_PRINT,
  94. CASE_PRINT,
  95. /*    <        =        >        ?    */
  96. CASE_PRINT,
  97. CASE_PRINT,
  98. CASE_PRINT,
  99. CASE_PRINT, 
  100. /*    @        A        B        C    */
  101. CASE_PRINT,
  102. CASE_PRINT,
  103. CASE_PRINT,
  104. CASE_PRINT,
  105. /*    D        E        F        G    */
  106. CASE_PRINT,
  107. CASE_PRINT,
  108. CASE_PRINT,
  109. CASE_PRINT,
  110. /*    H        I        J        K    */
  111. CASE_PRINT,
  112. CASE_PRINT,
  113. CASE_PRINT,
  114. CASE_PRINT,
  115. /*    L        M        N        O    */
  116. CASE_PRINT,
  117. CASE_PRINT,
  118. CASE_PRINT,
  119. CASE_PRINT,
  120. /*    P        Q        R        S    */
  121. CASE_PRINT,
  122. CASE_PRINT,
  123. CASE_PRINT,
  124. CASE_PRINT,
  125. /*    T        U        V        W    */
  126. CASE_PRINT,
  127. CASE_PRINT,
  128. CASE_PRINT,
  129. CASE_PRINT,
  130. /*    X        Y        Z        [    */
  131. CASE_PRINT,
  132. CASE_PRINT,
  133. CASE_PRINT,
  134. CASE_PRINT,
  135. /*    \        ]        ^        _    */
  136. CASE_PRINT,
  137. CASE_PRINT,
  138. CASE_PRINT,
  139. CASE_PRINT,
  140. /*    `        a        b        c    */
  141. CASE_PRINT,
  142. CASE_PRINT,
  143. CASE_PRINT,
  144. CASE_PRINT,
  145. /*    d        e        f        g    */
  146. CASE_PRINT,
  147. CASE_PRINT,
  148. CASE_PRINT,
  149. CASE_PRINT,
  150. /*    h        i        j        k    */
  151. CASE_PRINT,
  152. CASE_PRINT,
  153. CASE_PRINT,
  154. CASE_PRINT,
  155. /*    l        m        n        o    */
  156. CASE_PRINT,
  157. CASE_PRINT,
  158. CASE_PRINT,
  159. CASE_PRINT,
  160. /*    p        q        r        s    */
  161. CASE_PRINT,
  162. CASE_PRINT,
  163. CASE_PRINT,
  164. CASE_PRINT,
  165. /*    t        u        v        w    */
  166. CASE_PRINT,
  167. CASE_PRINT,
  168. CASE_PRINT,
  169. CASE_PRINT,
  170. /*    x        y        z        {    */
  171. CASE_PRINT,
  172. CASE_PRINT,
  173. CASE_PRINT,
  174. CASE_PRINT,
  175. /*    |        }        ~        DEL    */
  176. CASE_PRINT,
  177. CASE_PRINT,
  178. CASE_PRINT,
  179. CASE_GROUND_STATE, };  
  180.  
  181. int csitable[] = {
  182. /*    NUL        SOH        STX        ETX    */
  183. CASE_IGNORE,
  184. CASE_IGNORE,
  185. CASE_IGNORE,
  186. CASE_IGNORE,
  187. /*    EOT        ENQ        ACK        BEL    */
  188. CASE_IGNORE,
  189. CASE_IGNORE,
  190. CASE_IGNORE,
  191. CASE_BELL,
  192. /*    BS        HT        NL        VT    */
  193. CASE_BS,
  194. CASE_TAB,
  195. CASE_VMOT,
  196. CASE_VMOT,
  197. /*    NP        CR        SO        SI    */
  198. CASE_VMOT,
  199. CASE_CR,
  200. CASE_SO,
  201. CASE_SI,
  202. /*    DLE        DC1        DC2        DC3    */
  203. CASE_IGNORE,
  204. CASE_IGNORE,
  205. CASE_IGNORE,
  206. CASE_IGNORE,
  207. /*    DC4        NAK        SYN        ETB    */
  208. CASE_IGNORE,
  209. CASE_IGNORE,
  210. CASE_IGNORE,
  211. CASE_IGNORE,
  212. /*    CAN        EM        SUB        ESC    */
  213. CASE_IGNORE,
  214. CASE_IGNORE,
  215. CASE_IGNORE,
  216. CASE_ESC,
  217. /*    FS        GS        RS        US    */
  218. CASE_IGNORE,
  219. CASE_IGNORE,
  220. CASE_IGNORE,
  221. CASE_IGNORE,
  222. /*    SP        !        "        #    */
  223. CASE_ESC_IGNORE,
  224. CASE_ESC_IGNORE,
  225. CASE_ESC_IGNORE,
  226. CASE_ESC_IGNORE,
  227. /*    $        %        &        '    */
  228. CASE_ESC_IGNORE,
  229. CASE_ESC_IGNORE,
  230. CASE_ESC_IGNORE,
  231. CASE_ESC_IGNORE,
  232. /*    (        )        *        +    */
  233. CASE_ESC_IGNORE,
  234. CASE_ESC_IGNORE,
  235. CASE_ESC_IGNORE,
  236. CASE_ESC_IGNORE,
  237. /*    ,        -        .        /    */
  238. CASE_ESC_IGNORE,
  239. CASE_ESC_IGNORE,
  240. CASE_ESC_IGNORE,
  241. CASE_ESC_IGNORE,
  242. /*    0        1        2        3    */
  243. CASE_ESC_DIGIT,
  244. CASE_ESC_DIGIT,
  245. CASE_ESC_DIGIT,
  246. CASE_ESC_DIGIT,
  247. /*    4        5        6        7    */
  248. CASE_ESC_DIGIT,
  249. CASE_ESC_DIGIT,
  250. CASE_ESC_DIGIT,
  251. CASE_ESC_DIGIT,
  252. /*    8        9        :        ;    */
  253. CASE_ESC_DIGIT,
  254. CASE_ESC_DIGIT,
  255. CASE_IGNORE,
  256. CASE_ESC_SEMI,
  257. /*    <        =        >        ?    */
  258. CASE_IGNORE,
  259. CASE_IGNORE,
  260. CASE_IGNORE,
  261. CASE_DEC_STATE,
  262. /*    @        A        B        C    */
  263. CASE_ICH,
  264. CASE_CUU,
  265. CASE_CUD,
  266. CASE_CUF,
  267. /*    D        E        F        G    */
  268. CASE_CUB,
  269. CASE_GROUND_STATE,
  270. CASE_GROUND_STATE,
  271. CASE_GROUND_STATE,
  272. /*    H        I        J        K    */
  273. CASE_CUP,
  274. CASE_GROUND_STATE,
  275. CASE_ED,
  276. CASE_EL,
  277. /*    L        M        N        O    */
  278. CASE_IL,
  279. CASE_DL,
  280. CASE_GROUND_STATE,
  281. CASE_GROUND_STATE,
  282. /*    P        Q        R        S    */
  283. CASE_DCH,
  284. CASE_GROUND_STATE,
  285. CASE_GROUND_STATE,
  286. CASE_GROUND_STATE,
  287. /*    T        U        V        W    */
  288. CASE_GROUND_STATE,
  289. CASE_GROUND_STATE,
  290. CASE_GROUND_STATE,
  291. CASE_GROUND_STATE,
  292. /*    X        Y        Z        [    */
  293. CASE_GROUND_STATE,
  294. CASE_GROUND_STATE,
  295. CASE_GROUND_STATE,
  296. CASE_GROUND_STATE,
  297. /*    \        ]        ^        _    */
  298. CASE_GROUND_STATE,
  299. CASE_GROUND_STATE,
  300. CASE_GROUND_STATE,
  301. CASE_GROUND_STATE,
  302. /*    `        a        b        c    */
  303. CASE_GROUND_STATE,
  304. CASE_GROUND_STATE,
  305. CASE_GROUND_STATE,
  306. CASE_DA1,
  307. /*    d        e        f        g    */
  308. CASE_GROUND_STATE,
  309. CASE_GROUND_STATE,
  310. CASE_CUP,
  311. CASE_TBC,
  312. /*    h        i        j        k    */
  313. CASE_SET,
  314. CASE_GROUND_STATE,
  315. CASE_GROUND_STATE,
  316. CASE_GROUND_STATE,
  317. /*    l        m        n        o    */
  318. CASE_RST,
  319. CASE_SGR,
  320. CASE_CPR,
  321. CASE_GROUND_STATE,
  322. /*    p        q        r        s    */
  323. CASE_GROUND_STATE,
  324. CASE_GROUND_STATE,
  325. CASE_DECSTBM,
  326. CASE_GROUND_STATE,
  327. /*    t        u        v        w    */
  328. CASE_SUN_EMU,
  329. CASE_GROUND_STATE,
  330. CASE_GROUND_STATE,
  331. CASE_GROUND_STATE,
  332. /*    x        y        z        {    */
  333. CASE_DECREQTPARM,
  334. CASE_GROUND_STATE,
  335. CASE_GROUND_STATE,
  336. CASE_GROUND_STATE,
  337. /*    |        }        ~        DEL    */
  338. CASE_GROUND_STATE,
  339. CASE_GROUND_STATE,
  340. CASE_GROUND_STATE,
  341. CASE_GROUND_STATE,
  342. };
  343.  
  344. int dectable[] = {
  345. /*    NUL        SOH        STX        ETX    */
  346. CASE_IGNORE,
  347. CASE_IGNORE,
  348. CASE_IGNORE,
  349. CASE_IGNORE,
  350. /*    EOT        ENQ        ACK        BEL    */
  351. CASE_IGNORE,
  352. CASE_IGNORE,
  353. CASE_IGNORE,
  354. CASE_BELL,
  355. /*    BS        HT        NL        VT    */
  356. CASE_BS,
  357. CASE_TAB,
  358. CASE_VMOT,
  359. CASE_VMOT,
  360. /*    NP        CR        SO        SI    */
  361. CASE_VMOT,
  362. CASE_CR,
  363. CASE_SO,
  364. CASE_SI,
  365. /*    DLE        DC1        DC2        DC3    */
  366. CASE_IGNORE,
  367. CASE_IGNORE,
  368. CASE_IGNORE,
  369. CASE_IGNORE,
  370. /*    DC4        NAK        SYN        ETB    */
  371. CASE_IGNORE,
  372. CASE_IGNORE,
  373. CASE_IGNORE,
  374. CASE_IGNORE,
  375. /*    CAN        EM        SUB        ESC    */
  376. CASE_IGNORE,
  377. CASE_IGNORE,
  378. CASE_IGNORE,
  379. CASE_ESC,
  380. /*    FS        GS        RS        US    */
  381. CASE_IGNORE,
  382. CASE_IGNORE,
  383. CASE_IGNORE,
  384. CASE_IGNORE,
  385. /*    SP        !        "        #    */
  386. CASE_ESC_IGNORE,
  387. CASE_ESC_IGNORE,
  388. CASE_ESC_IGNORE,
  389. CASE_ESC_IGNORE,
  390. /*    $        %        &        '    */
  391. CASE_ESC_IGNORE,
  392. CASE_ESC_IGNORE,
  393. CASE_ESC_IGNORE,
  394. CASE_ESC_IGNORE,
  395. /*    (        )        *        +    */
  396. CASE_ESC_IGNORE,
  397. CASE_ESC_IGNORE,
  398. CASE_ESC_IGNORE,
  399. CASE_ESC_IGNORE,
  400. /*    ,        -        .        /    */
  401. CASE_ESC_IGNORE,
  402. CASE_ESC_IGNORE,
  403. CASE_ESC_IGNORE,
  404. CASE_ESC_IGNORE,
  405. /*    0        1        2        3    */
  406. CASE_ESC_DIGIT,
  407. CASE_ESC_DIGIT,
  408. CASE_ESC_DIGIT,
  409. CASE_ESC_DIGIT,
  410. /*    4        5        6        7    */
  411. CASE_ESC_DIGIT,
  412. CASE_ESC_DIGIT,
  413. CASE_ESC_DIGIT,
  414. CASE_ESC_DIGIT,
  415. /*    8        9        :        ;    */
  416. CASE_ESC_DIGIT,
  417. CASE_ESC_DIGIT,
  418. CASE_IGNORE,
  419. CASE_ESC_SEMI,
  420. /*    <        =        >        ?    */
  421. CASE_GROUND_STATE,
  422. CASE_GROUND_STATE,
  423. CASE_GROUND_STATE,
  424. CASE_GROUND_STATE,
  425. /*    @        A        B        C    */
  426. CASE_GROUND_STATE,
  427. CASE_GROUND_STATE,
  428. CASE_GROUND_STATE,
  429. CASE_GROUND_STATE,
  430. /*    D        E        F        G    */
  431. CASE_GROUND_STATE,
  432. CASE_ERASE_STATUS,
  433. CASE_FROM_STATUS,
  434. CASE_GROUND_STATE,
  435. /*    H        I        J        K    */
  436. CASE_HIDE_STATUS,
  437. CASE_GROUND_STATE,
  438. CASE_GROUND_STATE,
  439. CASE_GROUND_STATE,
  440. /*    L        M        N        O    */
  441. CASE_GROUND_STATE,
  442. CASE_GROUND_STATE,
  443. CASE_GROUND_STATE,
  444. CASE_GROUND_STATE,
  445. /*    P        Q        R        S    */
  446. CASE_GROUND_STATE,
  447. CASE_GROUND_STATE,
  448. CASE_GROUND_STATE,
  449. CASE_SHOW_STATUS,
  450. /*    T        U        V        W    */
  451. CASE_TO_STATUS,
  452. CASE_GROUND_STATE,
  453. CASE_GROUND_STATE,
  454. CASE_GROUND_STATE,
  455. /*    X        Y        Z        [    */
  456. CASE_GROUND_STATE,
  457. CASE_GROUND_STATE,
  458. CASE_GROUND_STATE,
  459. CASE_GROUND_STATE,
  460. /*    \        ]        ^        _    */
  461. CASE_GROUND_STATE,
  462. CASE_GROUND_STATE,
  463. CASE_GROUND_STATE,
  464. CASE_GROUND_STATE,
  465. /*    `        a        b        c    */
  466. CASE_GROUND_STATE,
  467. CASE_GROUND_STATE,
  468. CASE_GROUND_STATE,
  469. CASE_GROUND_STATE,
  470. /*    d        e        f        g    */
  471. CASE_GROUND_STATE,
  472. CASE_GROUND_STATE,
  473. CASE_GROUND_STATE,
  474. CASE_GROUND_STATE,
  475. /*    h        i        j        k    */
  476. CASE_DECSET,
  477. CASE_GROUND_STATE,
  478. CASE_GROUND_STATE,
  479. CASE_GROUND_STATE,
  480. /*    l        m        n        o    */
  481. CASE_DECRST,
  482. CASE_GROUND_STATE,
  483. CASE_GROUND_STATE,
  484. CASE_GROUND_STATE,
  485. /*    p        q        r        s    */
  486. CASE_GROUND_STATE,
  487. CASE_GROUND_STATE,
  488. CASE_XTERM_RESTORE,
  489. CASE_XTERM_SAVE,
  490. /*    t        u        v        w    */
  491. CASE_GROUND_STATE,
  492. CASE_GROUND_STATE,
  493. CASE_GROUND_STATE,
  494. CASE_GROUND_STATE,
  495. /*    x        y        z        {    */
  496. CASE_GROUND_STATE,
  497. CASE_GROUND_STATE,
  498. CASE_GROUND_STATE,
  499. CASE_GROUND_STATE,
  500. /*    |        }        ~        DEL    */
  501. CASE_GROUND_STATE,
  502. CASE_GROUND_STATE,
  503. CASE_GROUND_STATE,
  504. CASE_GROUND_STATE,
  505. };
  506.  
  507. int eigtable[] = {
  508. /*    NUL        SOH        STX        ETX    */
  509. CASE_IGNORE,
  510. CASE_IGNORE,
  511. CASE_IGNORE,
  512. CASE_IGNORE,
  513. /*    EOT        ENQ        ACK        BEL    */
  514. CASE_IGNORE,
  515. CASE_IGNORE,
  516. CASE_IGNORE,
  517. CASE_BELL,
  518. /*    BS        HT        NL        VT    */
  519. CASE_BS,
  520. CASE_TAB,
  521. CASE_VMOT,
  522. CASE_VMOT,
  523. /*    NP        CR        SO        SI    */
  524. CASE_VMOT,
  525. CASE_CR,
  526. CASE_SO,
  527. CASE_SI,
  528. /*    DLE        DC1        DC2        DC3    */
  529. CASE_IGNORE,
  530. CASE_IGNORE,
  531. CASE_IGNORE,
  532. CASE_IGNORE,
  533. /*    DC4        NAK        SYN        ETB    */
  534. CASE_IGNORE,
  535. CASE_IGNORE,
  536. CASE_IGNORE,
  537. CASE_IGNORE,
  538. /*    CAN        EM        SUB        ESC    */
  539. CASE_IGNORE,
  540. CASE_IGNORE,
  541. CASE_IGNORE,
  542. CASE_ESC,
  543. /*    FS        GS        RS        US    */
  544. CASE_IGNORE,
  545. CASE_IGNORE,
  546. CASE_IGNORE,
  547. CASE_IGNORE,
  548. /*    SP        !        "        #    */
  549. CASE_IGNORE,
  550. CASE_IGNORE,
  551. CASE_IGNORE,
  552. CASE_IGNORE,
  553. /*    $        %        &        '    */
  554. CASE_IGNORE,
  555. CASE_IGNORE,
  556. CASE_IGNORE,
  557. CASE_IGNORE,
  558. /*    (        )        *        +    */
  559. CASE_IGNORE,
  560. CASE_IGNORE,
  561. CASE_IGNORE,
  562. CASE_IGNORE,
  563. /*    ,
  564.     -        .        /    */
  565. CASE_IGNORE,
  566. CASE_IGNORE,
  567. CASE_IGNORE,
  568. CASE_IGNORE,
  569. /*    0        1        2        3    */
  570. CASE_GROUND_STATE,
  571. CASE_GROUND_STATE,
  572. CASE_GROUND_STATE,
  573. CASE_GROUND_STATE,
  574. /*    4        5        6        7    */
  575. CASE_GROUND_STATE,
  576. CASE_GROUND_STATE,
  577. CASE_GROUND_STATE,
  578. CASE_GROUND_STATE,
  579. /*    8        9        :        ;    */
  580. CASE_GROUND_STATE,
  581. CASE_GROUND_STATE,
  582. CASE_GROUND_STATE,
  583. CASE_GROUND_STATE,
  584. /*    <        =        >        ?    */
  585. CASE_GROUND_STATE,
  586. CASE_GROUND_STATE,
  587. CASE_GROUND_STATE,
  588. CASE_GROUND_STATE,
  589. /*    @        A        B        C    */
  590. CASE_GROUND_STATE,
  591. CASE_GROUND_STATE,
  592. CASE_GROUND_STATE,
  593. CASE_GROUND_STATE,
  594. /*    D        E        F        G    */
  595. CASE_GROUND_STATE,
  596. CASE_GROUND_STATE,
  597. CASE_GROUND_STATE,
  598. CASE_GROUND_STATE,
  599. /*    H        I        J        K    */
  600. CASE_GROUND_STATE,
  601. CASE_GROUND_STATE,
  602. CASE_GROUND_STATE,
  603. CASE_GROUND_STATE,
  604. /*    L        M        N        O    */
  605. CASE_GROUND_STATE,
  606. CASE_GROUND_STATE,
  607. CASE_GROUND_STATE,
  608. CASE_GROUND_STATE,
  609. /*    P        Q        R        S    */
  610. CASE_GROUND_STATE,
  611. CASE_GROUND_STATE,
  612. CASE_GROUND_STATE,
  613. CASE_GROUND_STATE,
  614. /*    T        U        V        W    */
  615. CASE_GROUND_STATE,
  616. CASE_GROUND_STATE,
  617. CASE_GROUND_STATE,
  618. CASE_GROUND_STATE,
  619. /*    X        Y        Z        [    */
  620. CASE_GROUND_STATE,
  621. CASE_GROUND_STATE,
  622. CASE_GROUND_STATE,
  623. CASE_GROUND_STATE,
  624. /*    \        ]        ^        _    */
  625. CASE_GROUND_STATE,
  626. CASE_GROUND_STATE,
  627. CASE_GROUND_STATE,
  628. CASE_GROUND_STATE,
  629. /*    `        a        b        c    */
  630. CASE_GROUND_STATE,
  631. CASE_GROUND_STATE,
  632. CASE_GROUND_STATE,
  633. CASE_GROUND_STATE,
  634. /*    d        e        f        g    */
  635. CASE_GROUND_STATE,
  636. CASE_GROUND_STATE,
  637. CASE_GROUND_STATE,
  638. CASE_GROUND_STATE,
  639. /*    h        i        j        k    */
  640. CASE_GROUND_STATE,
  641. CASE_GROUND_STATE,
  642. CASE_GROUND_STATE,
  643. CASE_GROUND_STATE,
  644. /*    l        m        n        o    */
  645. CASE_GROUND_STATE,
  646. CASE_GROUND_STATE,
  647. CASE_GROUND_STATE,
  648. CASE_GROUND_STATE,
  649. /*    p        q        r        s    */
  650. CASE_GROUND_STATE,
  651. CASE_GROUND_STATE,
  652. CASE_GROUND_STATE,
  653. CASE_GROUND_STATE,
  654. /*    t        u        v        w    */
  655. CASE_GROUND_STATE,
  656. CASE_GROUND_STATE,
  657. CASE_GROUND_STATE,
  658. CASE_GROUND_STATE,
  659. /*    x        y        z        {    */
  660. CASE_GROUND_STATE,
  661. CASE_GROUND_STATE,
  662. CASE_GROUND_STATE,
  663. CASE_GROUND_STATE,
  664. /*    |        }        ~        DEL    */
  665. CASE_GROUND_STATE,
  666. CASE_GROUND_STATE,
  667. CASE_GROUND_STATE,
  668. CASE_GROUND_STATE,
  669. };
  670.  
  671. int esctable[] = {
  672. /*    NUL        SOH        STX        ETX    */
  673. CASE_IGNORE,
  674. CASE_IGNORE,
  675. CASE_IGNORE,
  676. CASE_IGNORE,
  677. /*    EOT        ENQ        ACK        BEL    */
  678. CASE_IGNORE,
  679. CASE_IGNORE,
  680. CASE_IGNORE,
  681. CASE_BELL,
  682. /*    BS        HT        NL        VT    */
  683. CASE_BS,
  684. CASE_TAB,
  685. CASE_VMOT,
  686. CASE_VMOT,
  687. /*    NP        CR        SO        SI    */
  688. CASE_VMOT,
  689. CASE_CR,
  690. CASE_SO,
  691. CASE_SI,
  692. /*    DLE        DC1        DC2        DC3    */
  693. CASE_IGNORE,
  694. CASE_IGNORE,
  695. CASE_IGNORE,
  696. CASE_IGNORE,
  697. /*    DC4        NAK        SYN        ETB    */
  698. CASE_IGNORE,
  699. CASE_IGNORE,
  700. CASE_IGNORE,
  701. CASE_IGNORE,
  702. /*    CAN        EM        SUB        ESC    */
  703. CASE_IGNORE,
  704. CASE_IGNORE,
  705. CASE_IGNORE,
  706. CASE_ESC,
  707. /*    FS        GS        RS        US    */
  708. CASE_IGNORE,
  709. CASE_IGNORE,
  710. CASE_IGNORE,
  711. CASE_IGNORE,
  712. /*    SP        !        "        #    */
  713. CASE_ESC_IGNORE,
  714. CASE_ESC_IGNORE,
  715. CASE_ESC_IGNORE,
  716. CASE_SCR_STATE,
  717. /*    $        %        &        '    */
  718. CASE_ESC_IGNORE,
  719. CASE_ESC_IGNORE,
  720. CASE_ESC_IGNORE,
  721. CASE_ESC_IGNORE,
  722. /*    (        )        *        +    */
  723. CASE_SCS0_STATE,
  724. CASE_SCS1_STATE,
  725. CASE_SCS2_STATE,
  726. CASE_SCS3_STATE,
  727. /*    ,        -        .        /    */
  728. CASE_ESC_IGNORE,
  729. CASE_ESC_IGNORE,
  730. CASE_ESC_IGNORE,
  731. CASE_ESC_IGNORE,
  732. /*    0        1        2        3    */
  733. CASE_GROUND_STATE,
  734. CASE_GROUND_STATE,
  735. CASE_GROUND_STATE,
  736. CASE_GROUND_STATE,
  737. /*    4        5        6        7    */
  738. CASE_GROUND_STATE,
  739. CASE_GROUND_STATE,
  740. CASE_GROUND_STATE,
  741. CASE_DECSC,
  742. /*    8        9        :        ;    */
  743. CASE_DECRC,
  744. CASE_GROUND_STATE,
  745. CASE_GROUND_STATE,
  746. CASE_GROUND_STATE,
  747. /*    <        =        >        ?    */
  748. CASE_GROUND_STATE,
  749. CASE_DECKPAM,
  750. CASE_DECKPNM,
  751. CASE_GROUND_STATE,
  752. /*    @        A        B        C    */
  753. CASE_GROUND_STATE,
  754. CASE_GROUND_STATE,
  755. CASE_GROUND_STATE,
  756. CASE_GROUND_STATE,
  757. /*    D        E        F        G    */
  758. CASE_IND,
  759. CASE_NEL,
  760. CASE_GROUND_STATE,
  761. CASE_GROUND_STATE,
  762. /*    H        I        J        K    */
  763. CASE_HTS,
  764. CASE_GROUND_STATE,
  765. CASE_GROUND_STATE,
  766. CASE_GROUND_STATE,
  767. /*    L        M        N        O    */
  768. CASE_GROUND_STATE,
  769. CASE_RI,
  770. CASE_SS2,
  771. CASE_SS3,
  772. /*    P        Q        R        S    */
  773. CASE_IGNORE_STATE,
  774. CASE_GROUND_STATE,
  775. CASE_GROUND_STATE,
  776. CASE_GROUND_STATE,
  777. /*    T        U        V        W    */
  778. CASE_GROUND_STATE,
  779. CASE_GROUND_STATE,
  780. CASE_GROUND_STATE,
  781. CASE_GROUND_STATE,
  782. /*    X        Y        Z        [    */
  783. CASE_GROUND_STATE,
  784. CASE_GROUND_STATE,
  785. CASE_GROUND_STATE,
  786. CASE_CSI_STATE,
  787. /*    \        ]        ^        _    */
  788. CASE_GROUND_STATE,
  789. CASE_OSC,
  790. CASE_IGNORE_STATE,
  791. CASE_IGNORE_STATE,
  792. /*    `        a        b        c    */
  793. CASE_GROUND_STATE,
  794. CASE_GROUND_STATE,
  795. CASE_GROUND_STATE,
  796. CASE_RIS,
  797. /*    d        e        f        g    */
  798. CASE_GROUND_STATE,
  799. CASE_GROUND_STATE,
  800. CASE_GROUND_STATE,
  801. CASE_GROUND_STATE,
  802. /*    h        i        j        k    */
  803. CASE_GROUND_STATE,
  804. CASE_GROUND_STATE,
  805. CASE_GROUND_STATE,
  806. CASE_GROUND_STATE,
  807. /*    l        m        n        o    */
  808. CASE_GROUND_STATE,
  809. CASE_GROUND_STATE,
  810. CASE_LS2,
  811. CASE_LS3,
  812. /*    p        q        r        s    */
  813. CASE_GROUND_STATE,
  814. CASE_GROUND_STATE,
  815. CASE_GROUND_STATE,
  816. CASE_GROUND_STATE,
  817. /*    t        u        v        w    */
  818. CASE_GROUND_STATE,
  819. CASE_GROUND_STATE,
  820. CASE_GROUND_STATE,
  821. CASE_GROUND_STATE,
  822. /*    x        y        z        {    */
  823. CASE_GROUND_STATE,
  824. CASE_GROUND_STATE,
  825. CASE_GROUND_STATE,
  826. CASE_GROUND_STATE,
  827. /*    |        }        ~        DEL    */
  828. CASE_LS3R,
  829. CASE_LS2R,
  830. CASE_LS1R,
  831. CASE_GROUND_STATE,
  832. };
  833.  
  834. int iestable[] = {
  835. /*    NUL        SOH        STX        ETX    */
  836. CASE_IGNORE_STATE,
  837. CASE_IGNORE_STATE,
  838. CASE_IGNORE_STATE,
  839. CASE_IGNORE_STATE,
  840. /*    EOT        ENQ        ACK        BEL    */
  841. CASE_IGNORE_STATE,
  842. CASE_IGNORE_STATE,
  843. CASE_IGNORE_STATE,
  844. CASE_IGNORE_STATE,
  845. /*    BS        HT        NL        VT    */
  846. CASE_IGNORE_STATE,
  847. CASE_IGNORE_STATE,
  848. CASE_IGNORE_STATE,
  849. CASE_IGNORE_STATE,
  850. /*    NP        CR        SO        SI    */
  851. CASE_IGNORE_STATE,
  852. CASE_IGNORE_STATE,
  853. CASE_IGNORE_STATE,
  854. CASE_IGNORE_STATE,
  855. /*    DLE        DC1        DC2        DC3    */
  856. CASE_IGNORE_STATE,
  857. CASE_IGNORE_STATE,
  858. CASE_IGNORE_STATE,
  859. CASE_IGNORE_STATE,
  860. /*    DC4        NAK        SYN        ETB    */
  861. CASE_IGNORE_STATE,
  862. CASE_IGNORE_STATE,
  863. CASE_IGNORE_STATE,
  864. CASE_IGNORE_STATE,
  865. /*    CAN        EM        SUB        ESC    */
  866. CASE_IGNORE_STATE,
  867. CASE_IGNORE_STATE,
  868. CASE_IGNORE_STATE,
  869. CASE_IGNORE_STATE,
  870. /*    FS        GS        RS        US    */
  871. CASE_IGNORE_STATE,
  872. CASE_IGNORE_STATE,
  873. CASE_IGNORE_STATE,
  874. CASE_IGNORE_STATE,
  875. /*    SP        !        "        #    */
  876. CASE_IGNORE_STATE,
  877. CASE_IGNORE_STATE,
  878. CASE_IGNORE_STATE,
  879. CASE_IGNORE_STATE,
  880. /*    $        %        &        '    */
  881. CASE_IGNORE_STATE,
  882. CASE_IGNORE_STATE,
  883. CASE_IGNORE_STATE,
  884. CASE_IGNORE_STATE,
  885. /*    (        )        *        +    */
  886. CASE_IGNORE_STATE,
  887. CASE_IGNORE_STATE,
  888. CASE_IGNORE_STATE,
  889. CASE_IGNORE_STATE,
  890. /*    ,        -        .        /    */
  891. CASE_IGNORE_STATE,
  892. CASE_IGNORE_STATE,
  893. CASE_IGNORE_STATE,
  894. CASE_IGNORE_STATE,
  895. /*    0        1        2        3    */
  896. CASE_IGNORE_STATE,
  897. CASE_IGNORE_STATE,
  898. CASE_IGNORE_STATE,
  899. CASE_IGNORE_STATE,
  900. /*    4        5        6        7    */
  901. CASE_IGNORE_STATE,
  902. CASE_IGNORE_STATE,
  903. CASE_IGNORE_STATE,
  904. CASE_IGNORE_STATE,
  905. /*    8        9        :        ;    */
  906. CASE_IGNORE_STATE,
  907. CASE_IGNORE_STATE,
  908. CASE_IGNORE_STATE,
  909. CASE_IGNORE_STATE,
  910. /*    <        =        >        ?    */
  911. CASE_IGNORE_STATE,
  912. CASE_IGNORE_STATE,
  913. CASE_IGNORE_STATE,
  914. CASE_IGNORE_STATE,
  915. /*    @        A        B        C    */
  916. CASE_IGNORE_STATE,
  917. CASE_IGNORE_STATE,
  918. CASE_IGNORE_STATE,
  919. CASE_IGNORE_STATE,
  920. /*    D        E        F        G    */
  921. CASE_IGNORE_STATE,
  922. CASE_IGNORE_STATE,
  923. CASE_IGNORE_STATE,
  924. CASE_IGNORE_STATE,
  925. /*    H        I        J        K    */
  926. CASE_IGNORE_STATE,
  927. CASE_IGNORE_STATE,
  928. CASE_IGNORE_STATE,
  929. CASE_IGNORE_STATE,
  930. /*    L        M        N        O    */
  931. CASE_IGNORE_STATE,
  932. CASE_IGNORE_STATE,
  933. CASE_IGNORE_STATE,
  934. CASE_IGNORE_STATE,
  935. /*    P        Q        R        S    */
  936. CASE_IGNORE_STATE,
  937. CASE_IGNORE_STATE,
  938. CASE_IGNORE_STATE,
  939. CASE_IGNORE_STATE,
  940. /*    T        U        V        W    */
  941. CASE_IGNORE_STATE,
  942. CASE_IGNORE_STATE,
  943. CASE_IGNORE_STATE,
  944. CASE_IGNORE_STATE,
  945. /*    X        Y        Z        [    */
  946. CASE_IGNORE_STATE,
  947. CASE_IGNORE_STATE,
  948. CASE_IGNORE_STATE,
  949. CASE_IGNORE_STATE,
  950. /*    \        ]        ^        _    */
  951. CASE_GROUND_STATE,
  952. CASE_IGNORE_STATE,
  953. CASE_IGNORE_STATE,
  954. CASE_IGNORE_STATE,
  955. /*    `        a        b        c    */
  956. CASE_IGNORE_STATE,
  957. CASE_IGNORE_STATE,
  958. CASE_IGNORE_STATE,
  959. CASE_IGNORE_STATE,
  960. /*    d        e        f        g    */
  961. CASE_IGNORE_STATE,
  962. CASE_IGNORE_STATE,
  963. CASE_IGNORE_STATE,
  964. CASE_IGNORE_STATE,
  965. /*    h        i        j        k    */
  966. CASE_IGNORE_STATE,
  967. CASE_IGNORE_STATE,
  968. CASE_IGNORE_STATE,
  969. CASE_IGNORE_STATE,
  970. /*    l        m        n        o    */
  971. CASE_IGNORE_STATE,
  972. CASE_IGNORE_STATE,
  973. CASE_IGNORE_STATE,
  974. CASE_IGNORE_STATE,
  975. /*    p        q        r        s    */
  976. CASE_IGNORE_STATE,
  977. CASE_IGNORE_STATE,
  978. CASE_IGNORE_STATE,
  979. CASE_IGNORE_STATE,
  980. /*    t        u        v        w    */
  981. CASE_IGNORE_STATE,
  982. CASE_IGNORE_STATE,
  983. CASE_IGNORE_STATE,
  984. CASE_IGNORE_STATE,
  985. /*    x        y        z        {    */
  986. CASE_IGNORE_STATE,
  987. CASE_IGNORE_STATE,
  988. CASE_IGNORE_STATE,
  989. CASE_IGNORE_STATE,
  990. /*    |        }        ~        DEL    */
  991. CASE_IGNORE_STATE,
  992. CASE_IGNORE_STATE,
  993. CASE_IGNORE_STATE,
  994. CASE_IGNORE_STATE,
  995. };
  996.  
  997. int igntable[] = {
  998. /*    NUL        SOH        STX        ETX    */
  999. CASE_IGNORE,
  1000. CASE_IGNORE,
  1001. CASE_IGNORE,
  1002. CASE_IGNORE,
  1003. /*    EOT        ENQ        ACK        BEL    */
  1004. CASE_IGNORE,
  1005. CASE_IGNORE,
  1006. CASE_IGNORE,
  1007. CASE_IGNORE,
  1008. /*    BS        HT        NL        VT    */
  1009. CASE_IGNORE,
  1010. CASE_IGNORE,
  1011. CASE_IGNORE,
  1012. CASE_IGNORE,
  1013. /*    NP        CR        SO        SI    */
  1014. CASE_IGNORE,
  1015. CASE_IGNORE,
  1016. CASE_IGNORE,
  1017. CASE_IGNORE,
  1018. /*    DLE        DC1        DC2        DC3    */
  1019. CASE_IGNORE,
  1020. CASE_IGNORE,
  1021. CASE_IGNORE,
  1022. CASE_IGNORE,
  1023. /*    DC4        NAK        SYN        ETB    */
  1024. CASE_IGNORE,
  1025. CASE_IGNORE,
  1026. CASE_IGNORE,
  1027. CASE_IGNORE,
  1028. /*    CAN        EM        SUB        ESC    */
  1029. CASE_GROUND_STATE, 
  1030. CASE_IGNORE,
  1031. CASE_GROUND_STATE,
  1032. CASE_IGNORE_ESC,
  1033. /*    FS        GS        RS        US    */
  1034. CASE_IGNORE,
  1035. CASE_IGNORE,
  1036. CASE_IGNORE,
  1037. CASE_IGNORE,
  1038. /*    SP        !        "        #    */
  1039. CASE_IGNORE,
  1040. CASE_IGNORE,
  1041. CASE_IGNORE,
  1042. CASE_IGNORE,
  1043. /*    $        %        &        '    */
  1044. CASE_IGNORE,
  1045. CASE_IGNORE,
  1046. CASE_IGNORE,
  1047. CASE_IGNORE,
  1048. /*    (        )        *        +    */
  1049. CASE_IGNORE,
  1050. CASE_IGNORE,
  1051. CASE_IGNORE,
  1052. CASE_IGNORE,
  1053. /*    ,        -        .        /    */
  1054. CASE_IGNORE,
  1055. CASE_IGNORE,
  1056. CASE_IGNORE,
  1057. CASE_IGNORE,
  1058. /*    0        1        2        3    */
  1059. CASE_IGNORE,
  1060. CASE_IGNORE,
  1061. CASE_IGNORE,
  1062. CASE_IGNORE,
  1063. /*    4        5        6        7    */
  1064. CASE_IGNORE,
  1065. CASE_IGNORE,
  1066. CASE_IGNORE,
  1067. CASE_IGNORE,
  1068. /*    8        9        :        ;    */
  1069. CASE_IGNORE,
  1070. CASE_IGNORE,
  1071. CASE_IGNORE,
  1072. CASE_IGNORE,
  1073. /*    <        =        >        ?    */
  1074. CASE_IGNORE,
  1075. CASE_IGNORE,
  1076. CASE_IGNORE,
  1077. CASE_IGNORE,
  1078. /*    @        A        B        C    */
  1079. CASE_IGNORE,
  1080. CASE_IGNORE,
  1081. CASE_IGNORE,
  1082. CASE_IGNORE,
  1083. /*    D        E        F        G    */
  1084. CASE_IGNORE,
  1085. CASE_IGNORE,
  1086. CASE_IGNORE,
  1087. CASE_IGNORE,
  1088. /*    H        I        J        K    */
  1089. CASE_IGNORE,
  1090. CASE_IGNORE,
  1091. CASE_IGNORE,
  1092. CASE_IGNORE,
  1093. /*    L        M        N        O    */
  1094. CASE_IGNORE,
  1095. CASE_IGNORE,
  1096. CASE_IGNORE,
  1097. CASE_IGNORE,
  1098. /*    P        Q        R        S    */
  1099. CASE_IGNORE,
  1100. CASE_IGNORE,
  1101. CASE_IGNORE,
  1102. CASE_IGNORE,
  1103. /*    T        U        V        W    */
  1104. CASE_IGNORE,
  1105. CASE_IGNORE,
  1106. CASE_IGNORE,
  1107. CASE_IGNORE,
  1108. /*    X        Y        Z        [    */
  1109. CASE_IGNORE,
  1110. CASE_IGNORE,
  1111. CASE_IGNORE,
  1112. CASE_IGNORE,
  1113. /*    \        ]        ^        _    */
  1114. CASE_IGNORE,
  1115. CASE_IGNORE,
  1116. CASE_IGNORE,
  1117. CASE_IGNORE,
  1118. /*    `        a        b        c    */
  1119. CASE_IGNORE,
  1120. CASE_IGNORE,
  1121. CASE_IGNORE,
  1122. CASE_IGNORE,
  1123. /*    d        e        f        g    */
  1124. CASE_IGNORE,
  1125. CASE_IGNORE,
  1126. CASE_IGNORE,
  1127. CASE_IGNORE,
  1128. /*    h        i        j        k    */
  1129. CASE_IGNORE,
  1130. CASE_IGNORE,
  1131. CASE_IGNORE,
  1132. CASE_IGNORE,
  1133. /*    l        m        n        o    */
  1134. CASE_IGNORE,
  1135. CASE_IGNORE,
  1136. CASE_IGNORE,
  1137. CASE_IGNORE,
  1138. /*    p        q        r        s    */
  1139. CASE_IGNORE,
  1140. CASE_IGNORE,
  1141. CASE_IGNORE,
  1142. CASE_IGNORE,
  1143. /*    t        u        v        w    */
  1144. CASE_IGNORE,
  1145. CASE_IGNORE,
  1146. CASE_IGNORE,
  1147. CASE_IGNORE,
  1148. /*    x        y        z        {    */
  1149. CASE_IGNORE,
  1150. CASE_IGNORE,
  1151. CASE_IGNORE,
  1152. CASE_IGNORE,
  1153. /*    |        }        ~        DEL    */
  1154. CASE_IGNORE,
  1155. CASE_IGNORE,
  1156. CASE_IGNORE,
  1157. CASE_IGNORE,
  1158. };
  1159.  
  1160. int scrtable[] = {
  1161. /*    NUL        SOH        STX        ETX    */
  1162. CASE_IGNORE,
  1163. CASE_IGNORE,
  1164. CASE_IGNORE,
  1165. CASE_IGNORE,
  1166. /*    EOT        ENQ        ACK        BEL    */
  1167. CASE_IGNORE,
  1168. CASE_IGNORE,
  1169. CASE_IGNORE,
  1170. CASE_BELL,
  1171. /*    BS        HT        NL        VT    */
  1172. CASE_BS,
  1173. CASE_TAB,
  1174. CASE_VMOT,
  1175. CASE_VMOT,
  1176. /*    NP        CR        SO        SI    */
  1177. CASE_VMOT,
  1178. CASE_CR,
  1179. CASE_SO,
  1180. CASE_SI,
  1181. /*    DLE        DC1        DC2        DC3    */
  1182. CASE_IGNORE,
  1183. CASE_IGNORE,
  1184. CASE_IGNORE,
  1185. CASE_IGNORE,
  1186. /*    DC4        NAK        SYN        ETB    */
  1187. CASE_IGNORE,
  1188. CASE_IGNORE,
  1189. CASE_IGNORE,
  1190. CASE_IGNORE,
  1191. /*    CAN        EM        SUB        ESC    */
  1192. CASE_IGNORE,
  1193. CASE_IGNORE,
  1194. CASE_IGNORE,
  1195. CASE_ESC,
  1196. /*    FS        GS        RS        US    */
  1197. CASE_IGNORE,
  1198. CASE_IGNORE,
  1199. CASE_IGNORE,
  1200. CASE_IGNORE,
  1201. /*    SP        !        "        #    */
  1202. CASE_ESC_IGNORE,
  1203. CASE_ESC_IGNORE,
  1204. CASE_ESC_IGNORE,
  1205. CASE_ESC_IGNORE,
  1206. /*    $        %        &        '    */
  1207. CASE_ESC_IGNORE,
  1208. CASE_ESC_IGNORE,
  1209. CASE_ESC_IGNORE,
  1210. CASE_ESC_IGNORE,
  1211. /*    (        )        *        +    */
  1212. CASE_ESC_IGNORE,
  1213. CASE_ESC_IGNORE,
  1214. CASE_ESC_IGNORE,
  1215. CASE_ESC_IGNORE,
  1216. /*    ,        -        .        /    */
  1217. CASE_ESC_IGNORE,
  1218. CASE_ESC_IGNORE,
  1219. CASE_ESC_IGNORE,
  1220. CASE_ESC_IGNORE,
  1221. /*    0        1        2        3    */
  1222. CASE_GROUND_STATE,
  1223. CASE_HIDDEN,
  1224. CASE_GROUND_STATE,
  1225. CASE_GROUND_STATE,
  1226. /*    4        5        6        7    */
  1227. CASE_GROUND_STATE,
  1228. CASE_GROUND_STATE,
  1229. CASE_GROUND_STATE,
  1230. CASE_GROUND_STATE,
  1231. /*    8        9        :        ;    */
  1232. CASE_DECALN,
  1233. CASE_GROUND_STATE,
  1234. CASE_GROUND_STATE,
  1235. CASE_GROUND_STATE,
  1236. /*    <        =        >        ?    */
  1237. CASE_GROUND_STATE,
  1238. CASE_GROUND_STATE,
  1239. CASE_GROUND_STATE,
  1240. CASE_GROUND_STATE,
  1241. /*    @        A        B        C    */
  1242. CASE_GROUND_STATE,
  1243. CASE_GROUND_STATE,
  1244. CASE_GROUND_STATE,
  1245. CASE_GROUND_STATE,
  1246. /*    D        E        F        G    */
  1247. CASE_GROUND_STATE,
  1248. CASE_GROUND_STATE,
  1249. CASE_GROUND_STATE,
  1250. CASE_GROUND_STATE,
  1251. /*    H        I        J        K    */
  1252. CASE_GROUND_STATE,
  1253. CASE_GROUND_STATE,
  1254. CASE_GROUND_STATE,
  1255. CASE_GROUND_STATE,
  1256. /*    L        M        N        O    */
  1257. CASE_GROUND_STATE,
  1258. CASE_GROUND_STATE,
  1259. CASE_GROUND_STATE,
  1260. CASE_GROUND_STATE,
  1261. /*    P        Q        R        S    */
  1262. CASE_GROUND_STATE,
  1263. CASE_GROUND_STATE,
  1264. CASE_GROUND_STATE,
  1265. CASE_GROUND_STATE,
  1266. /*    T        U        V        W    */
  1267. CASE_GROUND_STATE,
  1268. CASE_GROUND_STATE,
  1269. CASE_GROUND_STATE,
  1270. CASE_GROUND_STATE,
  1271. /*    X        Y        Z        [    */
  1272. CASE_GROUND_STATE,
  1273. CASE_GROUND_STATE,
  1274. CASE_GROUND_STATE,
  1275. CASE_GROUND_STATE,
  1276. /*    \        ]        ^        _    */
  1277. CASE_GROUND_STATE,
  1278. CASE_GROUND_STATE,
  1279. CASE_GROUND_STATE,
  1280. CASE_GROUND_STATE,
  1281. /*    `        a        b        c    */
  1282. CASE_GROUND_STATE,
  1283. CASE_GROUND_STATE,
  1284. CASE_GROUND_STATE,
  1285. CASE_GROUND_STATE,
  1286. /*    d        e        f        g    */
  1287. CASE_GROUND_STATE,
  1288. CASE_GROUND_STATE,
  1289. CASE_GROUND_STATE,
  1290. CASE_GROUND_STATE,
  1291. /*    h        i        j        k    */
  1292. CASE_GROUND_STATE,
  1293. CASE_GROUND_STATE,
  1294. CASE_GROUND_STATE,
  1295. CASE_GROUND_STATE,
  1296. /*    l        m        n        o    */
  1297. CASE_GROUND_STATE,
  1298. CASE_GROUND_STATE,
  1299. CASE_GROUND_STATE,
  1300. CASE_GROUND_STATE,
  1301. /*    p        q        r        s    */
  1302. CASE_GROUND_STATE,
  1303. CASE_GROUND_STATE,
  1304. CASE_GROUND_STATE,
  1305. CASE_GROUND_STATE,
  1306. /*    t        u        v        w    */
  1307. CASE_GROUND_STATE,
  1308. CASE_GROUND_STATE,
  1309. CASE_GROUND_STATE,
  1310. CASE_GROUND_STATE,
  1311. /*    x        y        z        {    */
  1312. CASE_GROUND_STATE,
  1313. CASE_GROUND_STATE,
  1314. CASE_GROUND_STATE,
  1315. CASE_GROUND_STATE,
  1316. /*    |        }        ~        DEL    */
  1317. CASE_GROUND_STATE,
  1318. CASE_GROUND_STATE,
  1319. CASE_GROUND_STATE,
  1320. CASE_GROUND_STATE,
  1321. };
  1322.  
  1323. int scstable[] = {
  1324. /*    NUL        SOH        STX        ETX    */
  1325. CASE_IGNORE,
  1326. CASE_IGNORE,
  1327. CASE_IGNORE,
  1328. CASE_IGNORE,
  1329. /*    EOT        ENQ        ACK        BEL    */
  1330. CASE_IGNORE,
  1331. CASE_IGNORE,
  1332. CASE_IGNORE,
  1333. CASE_BELL,
  1334. /*    BS        HT        NL        VT    */
  1335. CASE_BS,
  1336. CASE_TAB,
  1337. CASE_VMOT,
  1338. CASE_VMOT,
  1339. /*    NP        CR        SO        SI    */
  1340. CASE_VMOT,
  1341. CASE_CR,
  1342. CASE_SO,
  1343. CASE_SI,
  1344. /*    DLE        DC1        DC2        DC3    */
  1345. CASE_IGNORE,
  1346. CASE_IGNORE,
  1347. CASE_IGNORE,
  1348. CASE_IGNORE,
  1349. /*    DC4        NAK        SYN        ETB    */
  1350. CASE_IGNORE,
  1351. CASE_IGNORE,
  1352. CASE_IGNORE,
  1353. CASE_IGNORE,
  1354. /*    CAN        EM        SUB        ESC    */
  1355. CASE_IGNORE,
  1356. CASE_IGNORE,
  1357. CASE_IGNORE,
  1358. CASE_ESC,
  1359. /*    FS        GS        RS        US    */
  1360. CASE_IGNORE,
  1361. CASE_IGNORE,
  1362. CASE_IGNORE,
  1363. CASE_IGNORE,
  1364. /*    SP        !        "        #    */
  1365. CASE_ESC_IGNORE,
  1366. CASE_ESC_IGNORE,
  1367. CASE_ESC_IGNORE,
  1368. CASE_ESC_IGNORE,
  1369. /*    $        %        &        '    */
  1370. CASE_ESC_IGNORE,
  1371. CASE_ESC_IGNORE,
  1372. CASE_ESC_IGNORE,
  1373. CASE_ESC_IGNORE,
  1374. /*    (        )        *        +    */
  1375. CASE_ESC_IGNORE,
  1376. CASE_ESC_IGNORE,
  1377. CASE_ESC_IGNORE,
  1378. CASE_ESC_IGNORE,
  1379. /*    ,        -        .        /    */
  1380. CASE_ESC_IGNORE,
  1381. CASE_ESC_IGNORE,
  1382. CASE_ESC_IGNORE,
  1383. CASE_ESC_IGNORE,
  1384. /*    0        1        2        3    */
  1385. CASE_GSETS,
  1386. CASE_GSETS,
  1387. CASE_GSETS,
  1388. CASE_GROUND_STATE,
  1389. /*    4        5        6        7    */
  1390. CASE_GROUND_STATE,
  1391. CASE_GROUND_STATE,
  1392. CASE_GROUND_STATE,
  1393. CASE_GROUND_STATE,
  1394. /*    8        9        :        ;    */
  1395. CASE_GROUND_STATE,
  1396. CASE_GROUND_STATE,
  1397. CASE_GROUND_STATE,
  1398. CASE_GROUND_STATE,
  1399. /*    <        =        >        ?    */
  1400. CASE_GROUND_STATE,
  1401. CASE_GROUND_STATE,
  1402. CASE_GROUND_STATE,
  1403. CASE_GROUND_STATE,
  1404. /*    @        A        B        C    */
  1405. CASE_GROUND_STATE,
  1406. CASE_GSETS,
  1407. CASE_GSETS,
  1408. CASE_GROUND_STATE,
  1409. /*    D        E        F        G    */
  1410. CASE_GROUND_STATE,
  1411. CASE_GROUND_STATE,
  1412. CASE_GROUND_STATE,
  1413. CASE_GROUND_STATE,
  1414. /*    H        I        J        K    */
  1415. CASE_GROUND_STATE,
  1416. CASE_GROUND_STATE,
  1417. CASE_GROUND_STATE,
  1418. CASE_GROUND_STATE,
  1419. /*    L        M        N        O    */
  1420. CASE_GROUND_STATE,
  1421. CASE_GROUND_STATE,
  1422. CASE_GROUND_STATE,
  1423. CASE_GROUND_STATE,
  1424. /*    P        Q        R        S    */
  1425. CASE_GROUND_STATE,
  1426. CASE_GROUND_STATE,
  1427. CASE_GROUND_STATE,
  1428. CASE_GROUND_STATE,
  1429. /*    T        U        V        W    */
  1430. CASE_GROUND_STATE,
  1431. CASE_GROUND_STATE,
  1432. CASE_GROUND_STATE,
  1433. CASE_GROUND_STATE,
  1434. /*    X        Y        Z        [    */
  1435. CASE_GROUND_STATE,
  1436. CASE_GROUND_STATE,
  1437. CASE_GROUND_STATE,
  1438. CASE_GROUND_STATE,
  1439. /*    \        ]        ^        _    */
  1440. CASE_GROUND_STATE,
  1441. CASE_GROUND_STATE,
  1442. CASE_GROUND_STATE,
  1443. CASE_GROUND_STATE,
  1444. /*    `        a        b        c    */
  1445. CASE_GROUND_STATE,
  1446. CASE_GROUND_STATE,
  1447. CASE_GROUND_STATE,
  1448. CASE_GROUND_STATE,
  1449. /*    d        e        f        g    */
  1450. CASE_GROUND_STATE,
  1451. CASE_GROUND_STATE,
  1452. CASE_GROUND_STATE,
  1453. CASE_GROUND_STATE,
  1454. /*    h        i        j        k    */
  1455. CASE_GROUND_STATE,
  1456. CASE_GROUND_STATE,
  1457. CASE_GROUND_STATE,
  1458. CASE_GROUND_STATE,
  1459. /*    l        m        n        o    */
  1460. CASE_GROUND_STATE,
  1461. CASE_GROUND_STATE,
  1462. CASE_GROUND_STATE,
  1463. CASE_GROUND_STATE,
  1464. /*    p        q        r        s    */
  1465. CASE_GROUND_STATE,
  1466. CASE_GROUND_STATE,
  1467. CASE_GROUND_STATE,
  1468. CASE_GROUND_STATE,
  1469. /*    t        u        v        w    */
  1470. CASE_GROUND_STATE,
  1471. CASE_GROUND_STATE,
  1472. CASE_GROUND_STATE,
  1473. CASE_GROUND_STATE,
  1474. /*    x        y        z        {    */
  1475. CASE_GROUND_STATE,
  1476. CASE_GROUND_STATE,
  1477. CASE_GROUND_STATE,
  1478. CASE_GROUND_STATE,
  1479. /*    |        }        ~        DEL    */
  1480. CASE_GROUND_STATE,
  1481. CASE_GROUND_STATE,
  1482. CASE_GROUND_STATE,
  1483. CASE_GROUND_STATE,
  1484. };
  1485.