Annotation of 43BSD/bin/as/asscan3.c, revision 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.