|
|
1.1 root 1: #include "sh.h"
2:
3: /*
4: * Table for determining type of character.
5: * NIGEL: In addition to changing the table to use symbolic constants rather
6: * than magic octal values, I have removed the MSVAR category from use; the
7: * one place where this category was used was equally-well served by strchr ()
8: * and a spare bit is going to be needed for planned lexer improvements.
9: */
10: unsigned char lextab[] ={
11: /* EOF */ MNQUO | MDQUO | MNAME,
12: /* 0x00, ^@ */ 0,
13: /* 0x01, ^A */ 0,
14: /* 0x02, ^B */ 0,
15: /* 0x03, ^C */ 0,
16: /* 0x04, ^D */ 0,
17: /* 0x05, ^E */ 0,
18: /* 0x06, ^F */ 0,
19: /* 0x07, ^G */ 0,
20: /* 0x08, ^H */ 0,
21: /* 0x09, ^I */ MNQUO | MNAME,
22: /* 0x0a, ^J */ MNQUO | MDQUO | MNAME,
23: /* 0x0b, ^K */ 0,
24: /* 0x0c, ^L */ 0,
25: /* 0x0d, ^M */ 0,
26: /* 0x0e, ^N */ 0,
27: /* 0x0f, ^O */ 0,
28: /* 0x10, ^P */ 0,
29: /* 0x11, ^Q */ 0,
30: /* 0x12, ^R */ 0,
31: /* 0x13, ^S */ 0,
32: /* 0x14, ^T */ 0,
33: /* 0x15, ^U */ 0,
34: /* 0x16, ^V */ 0,
35: /* 0x17, ^W */ 0,
36: /* 0x18, ^X */ 0,
37: /* 0x19, ^Y */ 0,
38: /* 0x1a, ^Z */ 0,
39: /* 0x1b, ^[ */ 0,
40: /* 0x1c, ^\ */ 0,
41: /* 0x1d, ^] */ 0,
42: /* 0x1e, ^^ */ 0,
43: /* 0x1f, ^_ */ 0,
44: /* 0x20, ' ' */ MNQUO | MNAME,
45: /* 0x21, '!' */ 0,
46: /* 0x22, '"' */ MNQUO | MDQUO,
47: /* 0x23, '#' */ 0,
48: /* 0x24, '$' */ MNQUO | MDQUO | MHERE,
49: /* 0x25, '%' */ 0,
50: /* 0x26, '&' */ MNQUO | MNAME,
51: /* 0x27, ''' */ MNQUO,
52: /* 0x28, '(' */ MNQUO | MNAME,
53: /* 0x29, ')' */ MNQUO | MNAME,
54: /* 0x2a, '*' */ MGLOB,
55: /* 0x2b, '+' */ 0,
56: /* 0x2c, ',' */ 0,
57: /* 0x2d, '-' */ 0,
58: /* 0x2e, '.' */ 0,
59: /* 0x2f, '/' */ 0,
60: /* 0x30, '0' */ MDIGI,
61: /* 0x31, '1' */ MDIGI,
62: /* 0x32, '2' */ MDIGI,
63: /* 0x33, '3' */ MDIGI,
64: /* 0x34, '4' */ MDIGI,
65: /* 0x35, '5' */ MDIGI,
66: /* 0x36, '6' */ MDIGI,
67: /* 0x37, '7' */ MDIGI,
68: /* 0x38, '8' */ MDIGI,
69: /* 0x39, '9' */ MDIGI,
70: /* 0x3a, ':' */ 0,
71: /* 0x3b, ';' */ MNQUO | MNAME,
72: /* 0x3c, '<' */ MNQUO | MNAME,
73: /* 0x3d, '=' */ 0,
74: /* 0x3e, '>' */ MNQUO | MNAME,
75: /* 0x3f, '?' */ MGLOB,
76: /* 0x40, '@' */ 0,
77: /* 0x41, 'A' */ MBVAR,
78: /* 0x42, 'B' */ MBVAR,
79: /* 0x43, 'C' */ MBVAR,
80: /* 0x44, 'D' */ MBVAR,
81: /* 0x45, 'E' */ MBVAR,
82: /* 0x46, 'F' */ MBVAR,
83: /* 0x47, 'G' */ MBVAR,
84: /* 0x48, 'H' */ MBVAR,
85: /* 0x49, 'I' */ MBVAR,
86: /* 0x4a, 'J' */ MBVAR,
87: /* 0x4b, 'K' */ MBVAR,
88: /* 0x4c, 'L' */ MBVAR,
89: /* 0x4d, 'M' */ MBVAR,
90: /* 0x4e, 'N' */ MBVAR,
91: /* 0x4f, 'O' */ MBVAR,
92: /* 0x50, 'P' */ MBVAR,
93: /* 0x51, 'Q' */ MBVAR,
94: /* 0x52, 'R' */ MBVAR,
95: /* 0x53, 'S' */ MBVAR,
96: /* 0x54, 'T' */ MBVAR,
97: /* 0x55, 'U' */ MBVAR,
98: /* 0x56, 'V' */ MBVAR,
99: /* 0x57, 'W' */ MBVAR,
100: /* 0x58, 'X' */ MBVAR,
101: /* 0x59, 'Y' */ MBVAR,
102: /* 0x5a, 'Z' */ MBVAR,
103: /* 0x5b, '[' */ MGLOB,
104: /* 0x5c, '\' */ MNQUO | MDQUO | MHERE,
105: /* 0x5d, ']' */ MGLOB,
106: /* 0x5e, '^' */ 0,
107: /* 0x5f, '_' */ MBVAR,
108: /* 0x60, '`' */ MNQUO | MDQUO | MHERE,
109: /* 0x61, 'a' */ MBVAR,
110: /* 0x62, 'b' */ MBVAR,
111: /* 0x63, 'c' */ MBVAR,
112: /* 0x64, 'd' */ MBVAR,
113: /* 0x65, 'e' */ MBVAR,
114: /* 0x66, 'f' */ MBVAR,
115: /* 0x67, 'g' */ MBVAR,
116: /* 0x68, 'h' */ MBVAR,
117: /* 0x69, 'i' */ MBVAR,
118: /* 0x6a, 'j' */ MBVAR,
119: /* 0x6b, 'k' */ MBVAR,
120: /* 0x6c, 'l' */ MBVAR,
121: /* 0x6d, 'm' */ MBVAR,
122: /* 0x6e, 'n' */ MBVAR,
123: /* 0x6f, 'o' */ MBVAR,
124: /* 0x70, 'p' */ MBVAR,
125: /* 0x71, 'q' */ MBVAR,
126: /* 0x72, 'r' */ MBVAR,
127: /* 0x73, 's' */ MBVAR,
128: /* 0x74, 't' */ MBVAR,
129: /* 0x75, 'u' */ MBVAR,
130: /* 0x76, 'v' */ MBVAR,
131: /* 0x77, 'w' */ MBVAR,
132: /* 0x78, 'x' */ MBVAR,
133: /* 0x79, 'y' */ MBVAR,
134: /* 0x7a, 'z' */ MBVAR,
135: /* 0x7b, '{' */ 0,
136: /* 0x7c, '|' */ MNQUO | MNAME,
137: /* 0x7d, '}' */ 0,
138: /* 0x7e, '~' */ 0,
139: /* 0x7f */ 0
140: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.