|
|
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.