Annotation of 43BSD/bin/as/asscan3.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1982 Regents of the University of California.
                      3:  * All rights reserved.  The Berkeley software License Agreement
                      4:  * specifies the terms and conditions for redistribution.
                      5:  */
                      6: 
                      7: #ifndef lint
                      8: static char sccsid[] = "@(#)asscan3.c  5.1 (Berkeley) 4/30/85";
                      9: #endif not lint
                     10: 
                     11: #include "asscanl.h"
                     12: 
                     13: readonly short type[] = {
                     14: 
                     15: /*hit the hard end of file*/   SCANEOF,        
                     16:        /* '^@' 0x00 0000 */    SP,
                     17:        /* '^A' 0x01 0001 */    BADCHAR,
                     18:        /* '^B' 0x02 0002 */    BADCHAR,
                     19:        /* '^C' 0x03 0003 */    BADCHAR,
                     20:        /* '^D' 0x04 0004 */    BADCHAR,
                     21:        /* '^E' 0x05 0005 */    BADCHAR,
                     22:        /* '^F' 0x06 0006 */    BADCHAR,
                     23:        /* '^G' 0x07 0007 */    BADCHAR,
                     24:        /* '\b' 0x08 0010 */    BADCHAR,
                     25:        /* '\t' 0x09 0011 */    SP,
                     26:        /* '\n' 0x0a 0012 */    NL,
                     27:        /* '^K' 0x0b 0013 */    BADCHAR,
                     28:        /* '\f' 0x0c 0014 */    BADCHAR,
                     29:        /* '\r' 0x0d 0015 */    SP,
                     30:        /* '^N' 0x0e 0016 */    BADCHAR,
                     31:        /* '^O' 0x0f 0017 */    BADCHAR,
                     32:        /* '^P' 0x10 0020 */    BADCHAR,
                     33:        /* '^Q' 0x11 0021 */    BADCHAR,
                     34:        /* '^R' 0x12 0022 */    BADCHAR,
                     35:        /* '^S' 0x13 0023 */    BADCHAR,
                     36:        /* '^T' 0x14 0024 */    BADCHAR,
                     37:        /* '^U' 0x15 0025 */    BADCHAR,
                     38:        /* '^V' 0x16 0026 */    BADCHAR,
                     39:        /* '^W' 0x17 0027 */    BADCHAR,
                     40:        /* '^X' 0x18 0030 */    BADCHAR,
                     41:        /* '^Y' 0x19 0031 */    BADCHAR,
                     42:        /* '^Z' 0x1a 0032 */    BADCHAR,
                     43:        /* '^[' 0x1b 0033 */    BADCHAR,
                     44:        /* '^\' 0x1c 0034 */    BADCHAR,
                     45:        /* '^]' 0x1d 0035 */    BADCHAR,
                     46:        /* '^^' 0x1e 0036 */    BADCHAR,
                     47:        /* '^_' 0x1f 0037 */    BADCHAR,
                     48:        /* ' ' 0x20 0040 */     SP,
                     49:        /* '!' 0x21 0041 */     ORNOT,
                     50:        /* '"' 0x22 0042 */     DQ,
                     51:        /* '#' 0x23 0043 */     SH,
                     52:        /* '$' 0x24 0044 */     LITOP,
                     53:        /* '%' 0x25 0045 */     REGOP,
                     54:        /* '&' 0x26 0046 */     AND,
                     55:        /* ''' 0x27 0047 */     SQ,
                     56:        /* '(' 0x28 0050 */     LP,
                     57:        /* ')' 0x29 0051 */     RP,
                     58:        /* '*' 0x2a 0052 */     MUL,
                     59:        /* '+' 0x2b 0053 */     PLUS,
                     60:        /* ',' 0x2c 0054 */     CM,
                     61:        /* '-' 0x2d 0055 */     MINUS,
                     62:        /* '.' 0x2e 0056 */     ALPH,
                     63:        /* '/' 0x2f 0057 */     DIV,
                     64:        /* '0' 0x30 0060 */     DIG,
                     65:        /* '1' 0x31 0061 */     DIG,
                     66:        /* '2' 0x32 0062 */     DIG,
                     67:        /* '3' 0x33 0063 */     DIG,
                     68:        /* '4' 0x34 0064 */     DIG,
                     69:        /* '5' 0x35 0065 */     DIG,
                     70:        /* '6' 0x36 0066 */     DIG,
                     71:        /* '7' 0x37 0067 */     DIG,
                     72:        /* '8' 0x38 0070 */     DIG,
                     73:        /* '9' 0x39 0071 */     DIG,
                     74:        /* ':' 0x3a 0072 */     COLON,
                     75:        /* ';' 0x3b 0073 */     SEMI,
                     76:        /* '<' 0x3c 0074 */     LSH,
                     77:        /* '=' 0x3d 0075 */     BADCHAR,
                     78:        /* '>' 0x3e 0076 */     RSH,
                     79:        /* '?' 0x3f 0077 */     BADCHAR,
                     80:        /* '@' 0x40 0100 */     BADCHAR,
                     81:        /* 'A' 0x41 0101 */     ALPH,
                     82:        /* 'B' 0x42 0102 */     ALPH,
                     83:        /* 'C' 0x43 0103 */     ALPH,
                     84:        /* 'D' 0x44 0104 */     ALPH,
                     85:        /* 'E' 0x45 0105 */     ALPH,
                     86:        /* 'F' 0x46 0106 */     ALPH,
                     87:        /* 'G' 0x47 0107 */     ALPH,
                     88:        /* 'H' 0x48 0110 */     ALPH,
                     89:        /* 'I' 0x49 0111 */     ALPH,
                     90:        /* 'J' 0x4a 0112 */     ALPH,
                     91:        /* 'K' 0x4b 0113 */     ALPH,
                     92:        /* 'L' 0x4c 0114 */     ALPH,
                     93:        /* 'M' 0x4d 0115 */     ALPH,
                     94:        /* 'N' 0x4e 0116 */     ALPH,
                     95:        /* 'O' 0x4f 0117 */     ALPH,
                     96:        /* 'P' 0x50 0120 */     ALPH,
                     97:        /* 'Q' 0x51 0121 */     ALPH,
                     98:        /* 'R' 0x52 0122 */     ALPH,
                     99:        /* 'S' 0x53 0123 */     ALPH,
                    100:        /* 'T' 0x54 0124 */     ALPH,
                    101:        /* 'U' 0x55 0125 */     ALPH,
                    102:        /* 'V' 0x56 0126 */     ALPH,
                    103:        /* 'W' 0x57 0127 */     ALPH,
                    104:        /* 'X' 0x58 0130 */     ALPH,
                    105:        /* 'Y' 0x59 0131 */     ALPH,
                    106:        /* 'Z' 0x5a 0132 */     ALPH,
                    107:        /* '[' 0x5b 0133 */     LB,
                    108:        /* '\\' 0x5c 0134 */    BADCHAR,
                    109:        /* ']' 0x5d 0135 */     RB,
                    110:        /* '^' 0x5e 0136 */     XOR,
                    111:        /* '_' 0x5f 0137 */     ALPH,
                    112:        /* '`' 0x60 0140 */     SIZEQUOTE,
                    113:        /* 'a' 0x61 0141 */     ALPH,
                    114:        /* 'b' 0x62 0142 */     ALPH,
                    115:        /* 'c' 0x63 0143 */     ALPH,
                    116:        /* 'd' 0x64 0144 */     ALPH,
                    117:        /* 'e' 0x65 0145 */     ALPH,
                    118:        /* 'f' 0x66 0146 */     ALPH,
                    119:        /* 'g' 0x67 0147 */     ALPH,
                    120:        /* 'h' 0x68 0150 */     ALPH,
                    121:        /* 'i' 0x69 0151 */     ALPH,
                    122:        /* 'j' 0x6a 0152 */     ALPH,
                    123:        /* 'k' 0x6b 0153 */     ALPH,
                    124:        /* 'l' 0x6c 0154 */     ALPH,
                    125:        /* 'm' 0x6d 0155 */     ALPH,
                    126:        /* 'n' 0x6e 0156 */     ALPH,
                    127:        /* 'o' 0x6f 0157 */     ALPH,
                    128:        /* 'p' 0x70 0160 */     ALPH,
                    129:        /* 'q' 0x71 0161 */     ALPH,
                    130:        /* 'r' 0x72 0162 */     ALPH,
                    131:        /* 's' 0x73 0163 */     ALPH,
                    132:        /* 't' 0x74 0164 */     ALPH,
                    133:        /* 'u' 0x75 0165 */     ALPH,
                    134:        /* 'v' 0x76 0166 */     ALPH,
                    135:        /* 'w' 0x77 0167 */     ALPH,
                    136:        /* 'x' 0x78 0170 */     ALPH,
                    137:        /* 'y' 0x79 0171 */     ALPH,
                    138:        /* 'z' 0x7a 0172 */     ALPH,
                    139:        /* '{' 0x7b 0173 */     BADCHAR,
                    140:        /* '|' 0x7c 0174 */     IOR,
                    141:        /* '}' 0x7d 0175 */     BADCHAR,
                    142:        /* '~' 0x7e 0176 */     TILDE,
                    143:        /* '^[' 0x7f 0177 */    BADCHAR,
                    144: 0
                    145: };
                    146: 
                    147: readonly short charsets[] = {
                    148:        /* '^@' 0x00 0000 */    0,
                    149:        /* '^A' 0x01 0001 */    0,
                    150:        /* '^B' 0x02 0002 */    0,
                    151:        /* '^C' 0x03 0003 */    0,
                    152:        /* '^D' 0x04 0004 */    0,
                    153:        /* '^E' 0x05 0005 */    0,
                    154:        /* '^F' 0x06 0006 */    0,
                    155:        /* '^G' 0x07 0007 */    0,
                    156:        /* '\b' 0x08 0010 */    0,
                    157:        /* '\t' 0x09 0011 */    SPACE,
                    158:        /* '\n' 0x0a 0012 */    STRESCAPE,
                    159:        /* '^K' 0x0b 0013 */    0,
                    160:        /* '\f' 0x0c 0014 */    0,
                    161:        /* '\r' 0x0d 0015 */    0,
                    162:        /* '^N' 0x0e 0016 */    0,
                    163:        /* '^O' 0x0f 0017 */    0,
                    164:        /* '^P' 0x10 0020 */    0,
                    165:        /* '^Q' 0x11 0021 */    0,
                    166:        /* '^R' 0x12 0022 */    0,
                    167:        /* '^S' 0x13 0023 */    0,
                    168:        /* '^T' 0x14 0024 */    0,
                    169:        /* '^U' 0x15 0025 */    0,
                    170:        /* '^V' 0x16 0026 */    0,
                    171:        /* '^W' 0x17 0027 */    0,
                    172:        /* '^X' 0x18 0030 */    0,
                    173:        /* '^Y' 0x19 0031 */    0,
                    174:        /* '^Z' 0x1a 0032 */    0,
                    175:        /* '^[' 0x1b 0033 */    0,
                    176:        /* '^\' 0x1c 0034 */    0,
                    177:        /* '^]' 0x1d 0035 */    0,
                    178:        /* '^^' 0x1e 0036 */    0,
                    179:        /* '^_' 0x1f 0037 */    0,
                    180:        /* ' ' 0x20 0040 */     SPACE,
                    181:        /* '!' 0x21 0041 */     0,
                    182:        /* '"' 0x22 0042 */     STRESCAPE,
                    183:        /* '#' 0x23 0043 */     0,
                    184:        /* '$' 0x24 0044 */     ALPHA,
                    185:        /* '%' 0x25 0045 */     0,
                    186:        /* '&' 0x26 0046 */     0,
                    187:        /* ''' 0x27 0047 */     0,
                    188:        /* '(' 0x28 0050 */     0,
                    189:        /* ')' 0x29 0051 */     0,
                    190:        /* '*' 0x2a 0052 */     0,
                    191:        /* '+' 0x2b 0053 */     SIGN,
                    192:        /* ',' 0x2c 0054 */     0,
                    193:        /* '-' 0x2d 0055 */     SIGN,
                    194:        /* '.' 0x2e 0056 */     POINT+ALPHA,
                    195:        /* '/' 0x2f 0057 */     0,
                    196:        /* '0' 0x30 0060 */     DIGIT+REGDIGIT+OCTDIGIT,
                    197:        /* '1' 0x31 0061 */     DIGIT+REGDIGIT+OCTDIGIT,
                    198:        /* '2' 0x32 0062 */     DIGIT+REGDIGIT+OCTDIGIT,
                    199:        /* '3' 0x33 0063 */     DIGIT+REGDIGIT+OCTDIGIT,
                    200:        /* '4' 0x34 0064 */     DIGIT+REGDIGIT+OCTDIGIT,
                    201:        /* '5' 0x35 0065 */     DIGIT+REGDIGIT+OCTDIGIT,
                    202:        /* '6' 0x36 0066 */     DIGIT+OCTDIGIT,
                    203:        /* '7' 0x37 0067 */     DIGIT+OCTDIGIT,
                    204:        /* '8' 0x38 0070 */     DIGIT,
                    205:        /* '9' 0x39 0071 */     DIGIT,
                    206:        /* ':' 0x3a 0072 */     0,
                    207:        /* ';' 0x3b 0073 */     0,
                    208:        /* '<' 0x3c 0074 */     0,
                    209:        /* '=' 0x3d 0075 */     0,
                    210:        /* '>' 0x3e 0076 */     0,
                    211:        /* '?' 0x3f 0077 */     0,
                    212:        /* '@' 0x40 0100 */     0,
                    213:        /* 'A' 0x41 0101 */     ALPHA+HEXUDIGIT,
                    214:        /* 'B' 0x42 0102 */     ALPHA+HEXUDIGIT+SZSPECBEGIN,
                    215:        /* 'C' 0x43 0103 */     ALPHA+HEXUDIGIT,
                    216:        /* 'D' 0x44 0104 */     ALPHA+HEXUDIGIT+FLOATEXP+FLOATFLAG,
                    217:        /* 'E' 0x45 0105 */     ALPHA+HEXUDIGIT+FLOATEXP,
                    218:        /* 'F' 0x46 0106 */     ALPHA+HEXUDIGIT+FLOATFLAG+FLOATEXP,
                    219:        /* 'G' 0x47 0107 */     ALPHA+FLOATFLAG+FLOATEXP,
                    220:        /* 'H' 0x48 0110 */     ALPHA+FLOATFLAG+FLOATEXP,
                    221:        /* 'I' 0x49 0111 */     ALPHA,
                    222:        /* 'J' 0x4a 0112 */     ALPHA,
                    223:        /* 'K' 0x4b 0113 */     ALPHA,
                    224:        /* 'L' 0x4c 0114 */     ALPHA+SZSPECBEGIN,
                    225:        /* 'M' 0x4d 0115 */     ALPHA,
                    226:        /* 'N' 0x4e 0116 */     ALPHA,
                    227:        /* 'O' 0x4f 0117 */     ALPHA,
                    228:        /* 'P' 0x50 0120 */     ALPHA,
                    229:        /* 'Q' 0x51 0121 */     ALPHA,
                    230:        /* 'R' 0x52 0122 */     ALPHA,
                    231:        /* 'S' 0x53 0123 */     ALPHA,
                    232:        /* 'T' 0x54 0124 */     ALPHA,
                    233:        /* 'U' 0x55 0125 */     ALPHA,
                    234:        /* 'V' 0x56 0126 */     ALPHA,
                    235:        /* 'W' 0x57 0127 */     ALPHA+SZSPECBEGIN,
                    236:        /* 'X' 0x58 0130 */     ALPHA+HEXFLAG,
                    237:        /* 'Y' 0x59 0131 */     ALPHA,
                    238:        /* 'Z' 0x5a 0132 */     ALPHA,
                    239:        /* '[' 0x5b 0133 */     0,
                    240:        /* '\\' 0x5c 0134 */    STRESCAPE,
                    241:        /* ']' 0x5d 0135 */     0,
                    242:        /* '^' 0x5e 0136 */     0,
                    243:        /* '_' 0x5f 0137 */     ALPHA,
                    244:        /* '`' 0x60 0140 */     0,
                    245:        /* 'a' 0x61 0141 */     ALPHA+HEXLDIGIT,
                    246:        /* 'b' 0x62 0142 */     ALPHA+HEXLDIGIT+BSESCAPE+SZSPECBEGIN,
                    247:        /* 'c' 0x63 0143 */     ALPHA+HEXLDIGIT,
                    248:        /* 'd' 0x64 0144 */     ALPHA+HEXLDIGIT+FLOATEXP+FLOATFLAG,
                    249:        /* 'e' 0x65 0145 */     ALPHA+HEXLDIGIT+FLOATEXP,
                    250:        /* 'f' 0x66 0146 */     ALPHA+HEXLDIGIT+BSESCAPE+FLOATEXP+FLOATFLAG,
                    251:        /* 'g' 0x67 0147 */     ALPHA+FLOATEXP+FLOATFLAG,
                    252:        /* 'h' 0x68 0150 */     ALPHA+FLOATEXP+FLOATFLAG,
                    253:        /* 'i' 0x69 0151 */     ALPHA,
                    254:        /* 'j' 0x6a 0152 */     ALPHA,
                    255:        /* 'k' 0x6b 0153 */     ALPHA,
                    256:        /* 'l' 0x6c 0154 */     ALPHA+SZSPECBEGIN,
                    257:        /* 'm' 0x6d 0155 */     ALPHA,
                    258:        /* 'n' 0x6e 0156 */     ALPHA+BSESCAPE,
                    259:        /* 'o' 0x6f 0157 */     ALPHA,
                    260:        /* 'p' 0x70 0160 */     ALPHA,
                    261:        /* 'q' 0x71 0161 */     ALPHA,
                    262:        /* 'r' 0x72 0162 */     ALPHA+BSESCAPE,
                    263:        /* 's' 0x73 0163 */     ALPHA,
                    264:        /* 't' 0x74 0164 */     ALPHA+BSESCAPE,
                    265:        /* 'u' 0x75 0165 */     ALPHA,
                    266:        /* 'v' 0x76 0166 */     ALPHA,
                    267:        /* 'w' 0x77 0167 */     ALPHA+SZSPECBEGIN,
                    268:        /* 'x' 0x78 0170 */     ALPHA+HEXFLAG,
                    269:        /* 'y' 0x79 0171 */     ALPHA,
                    270:        /* 'z' 0x7a 0172 */     ALPHA,
                    271:        /* '{' 0x7b 0173 */     0,
                    272:        /* '|' 0x7c 0174 */     0,
                    273:        /* '}' 0x7d 0175 */     0,
                    274:        /* '~' 0x7e 0176 */     0,
                    275:        /* '^[' 0x7f 0177 */    0,
                    276: 0
                    277: };

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.