📄 vtprstbl.c
字号:
/* * $XConsortium: VTPrsTbl.c,v 1.8 91/05/29 18:06:08 gildea Exp $ *//* * Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of Digital Equipment * Corporation not be used in advertising or publicity pertaining to * distribution of the software without specific, written prior permission. * * * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. */#include "VTparse.h"#if __STDC__#define Const const#else#define Const /**/#endif/* * Stupid Apollo C preprocessor can't handle long lines. So... To keep * it happy, we put each onto a seperate line.... Sigh... */Const int groundtable[] ={/* NUL SOH STX ETX */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,/* EOT ENQ ACK BEL */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_BELL,/* BS HT NL VT */CASE_BS,CASE_TAB,CASE_VMOT,CASE_VMOT,/* NP CR SO SI */CASE_VMOT,CASE_CR,CASE_SO,CASE_SI,/* DLE DC1 DC2 DC3 */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,/* DC4 NAK SYN ETB */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,/* CAN EM SUB ESC */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_ESC,/* FS GS RS US */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,/* SP ! " # */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* $ % & ' */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* ( ) * + */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* , - . / */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* 0 1 2 3 */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* 4 5 6 7 */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* 8 9 : ; */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* < = > ? */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT, /* @ A B C */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* D E F G */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* H I J K */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* L M N O */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* P Q R S */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* T U V W */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* X Y Z [ */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* \ ] ^ _ */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* ` a b c */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* d e f g */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* h i j k */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* l m n o */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* p q r s */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* t u v w */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* x y z { */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* | } ~ DEL */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_GROUND_STATE,/* 0x80 0x81 0x82 0x83 */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,/* 0x84 0x85 0x86 0x87 */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,/* 0x88 0x89 0x8a 0x8b */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,/* 0x8c 0x8d 0x8e 0x8f */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,/* 0x90 0x91 0x92 0x93 */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,/* 0x94 0x95 0x96 0x97 */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,/* 0x99 0x99 0x9a 0x9b */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,/* 0x9c 0x9d 0x9e 0x9f */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,/* nobreakspace exclamdown cent sterling */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* currency yen brokenbar section */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* diaeresis copyright ordfeminine guillemotleft */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* notsign hyphen registered macron */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* degree plusminus twosuperior threesuperior */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* acute mu paragraph periodcentered */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* cedilla onesuperior masculine guillemotright */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* onequarter onehalf threequarters questiondown */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* Agrave Aacute Acircumflex Atilde */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* Adiaeresis Aring AE Ccedilla */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* Egrave Eacute Ecircumflex Ediaeresis */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* Igrave Iacute Icircumflex Idiaeresis */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* Eth Ntilde Ograve Oacute */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* Ocircumflex Otilde Odiaeresis multiply */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* Ooblique Ugrave Uacute Ucircumflex */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* Udiaeresis Yacute Thorn ssharp */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* agrave aacute acircumflex atilde */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* adiaeresis aring ae ccedilla */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* egrave eacute ecircumflex ediaeresis */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* igrave iacute icircumflex idiaeresis */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* eth ntilde ograve oacute */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* ocircumflex otilde odiaeresis division */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* oslash ugrave uacute ucircumflex */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,/* udiaeresis yacute thorn ydiaeresis */CASE_PRINT,CASE_PRINT,CASE_PRINT,CASE_PRINT,};Const int csitable[] = /* ESC [ */{/* NUL SOH STX ETX */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,/* EOT ENQ ACK BEL */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_BELL,/* BS HT NL VT */CASE_BS,CASE_TAB,CASE_VMOT,CASE_VMOT,/* NP CR SO SI */CASE_VMOT,CASE_CR,CASE_SO,CASE_SI,/* DLE DC1 DC2 DC3 */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,/* DC4 NAK SYN ETB */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,/* CAN EM SUB ESC */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_ESC,/* FS GS RS US */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,/* SP ! " # */CASE_ESC_IGNORE,CASE_ESC_IGNORE,CASE_ESC_IGNORE,CASE_ESC_IGNORE,/* $ % & ' */CASE_ESC_IGNORE,CASE_ESC_IGNORE,CASE_ESC_IGNORE,CASE_ESC_IGNORE,/* ( ) * + */CASE_ESC_IGNORE,CASE_ESC_IGNORE,CASE_ESC_IGNORE,CASE_ESC_IGNORE,/* , - . / */CASE_ESC_IGNORE,CASE_ESC_IGNORE,CASE_ESC_IGNORE,CASE_ESC_IGNORE,/* 0 1 2 3 */CASE_ESC_DIGIT,CASE_ESC_DIGIT,CASE_ESC_DIGIT,CASE_ESC_DIGIT,/* 4 5 6 7 */CASE_ESC_DIGIT,CASE_ESC_DIGIT,CASE_ESC_DIGIT,CASE_ESC_DIGIT,/* 8 9 : ; */CASE_ESC_DIGIT,CASE_ESC_DIGIT,CASE_IGNORE,CASE_ESC_SEMI,/* < = > ? */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_DEC_STATE,/* @ A B C */CASE_ICH,CASE_CUU,CASE_CUD,CASE_CUF,/* D E F G */CASE_CUB,CASE_GROUND_STATE,CASE_GROUND_STATE,CASE_GROUND_STATE,/* H I J K */CASE_CUP,CASE_GROUND_STATE,CASE_ED,CASE_EL,/* L M N O */CASE_IL,CASE_DL,CASE_GROUND_STATE,CASE_GROUND_STATE,/* P Q R S */CASE_DCH,CASE_GROUND_STATE,CASE_GROUND_STATE,CASE_GROUND_STATE,/* T U V W */CASE_TRACK_MOUSE,CASE_GROUND_STATE,CASE_GROUND_STATE,CASE_GROUND_STATE,/* X Y Z [ */CASE_GROUND_STATE,CASE_GROUND_STATE,CASE_GROUND_STATE,CASE_GROUND_STATE,/* \ ] ^ _ */CASE_GROUND_STATE,CASE_GROUND_STATE,CASE_GROUND_STATE,CASE_GROUND_STATE,/* ` a b c */CASE_GROUND_STATE,CASE_GROUND_STATE,CASE_GROUND_STATE,CASE_DA1,/* d e f g */CASE_GROUND_STATE,CASE_GROUND_STATE,CASE_CUP,CASE_TBC,/* h i j k */CASE_SET,CASE_GROUND_STATE,CASE_GROUND_STATE,CASE_GROUND_STATE,/* l m n o */CASE_RST,CASE_SGR,CASE_CPR,CASE_GROUND_STATE,/* p q r s */CASE_GROUND_STATE,CASE_GROUND_STATE,CASE_DECSTBM,CASE_GROUND_STATE,/* t u v w */CASE_GROUND_STATE,CASE_GROUND_STATE,CASE_GROUND_STATE,CASE_GROUND_STATE,/* x y z { */CASE_DECREQTPARM,CASE_GROUND_STATE,CASE_GROUND_STATE,CASE_GROUND_STATE,/* | } ~ DEL */CASE_GROUND_STATE,CASE_GROUND_STATE,CASE_GROUND_STATE,CASE_GROUND_STATE,/* 0x80 0x81 0x82 0x83 */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,/* 0x84 0x85 0x86 0x87 */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,/* 0x88 0x89 0x8a 0x8b */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,/* 0x8c 0x8d 0x8e 0x8f */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,/* 0x90 0x91 0x92 0x93 */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,/* 0x94 0x95 0x96 0x97 */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,/* 0x99 0x99 0x9a 0x9b */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,/* 0x9c 0x9d 0x9e 0x9f */CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,CASE_IGNORE,/* nobreakspace exclamdown cent sterling */CASE_GROUND_STATE,CASE_GROUND_STATE,CASE_GROUND_STATE,CASE_GROUND_STATE,/* currency yen brokenbar section */CASE_GROUND_STATE,CASE_GROUND_STATE,CASE_GROUND_STATE,CASE_GROUND_STATE,/* diaeresis copyright ordfeminine guillemotleft */CASE_GROUND_STATE,CASE_GROUND_STATE,CASE_GROUND_STATE,CASE_GROUND_STATE,/* notsign hyphen registered macron */CASE_GROUND_STATE,CASE_GROUND_STATE,CASE_GROUND_STATE,CASE_GROUND_STATE,/* degree plusminus twosuperior threesuperior */CASE_GROUND_STATE,CASE_GROUND_STATE,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -