1*cbb07febSzrj /* 2*cbb07febSzrj * This file was generated by the mksyntax program. 3*cbb07febSzrj */ 4*cbb07febSzrj 5*cbb07febSzrj #include "parser.h" 6*cbb07febSzrj #include "shell.h" 7*cbb07febSzrj #include "syntax.h" 8*cbb07febSzrj 9*cbb07febSzrj /* syntax table used when not in quotes */ 10*cbb07febSzrj const char basesyntax[SYNBASE + CHAR_MAX + 1] = { 11*cbb07febSzrj [SYNBASE + PEOF] = CEOF, 12*cbb07febSzrj [SYNBASE + CTLESC] = CCTL, 13*cbb07febSzrj [SYNBASE + CTLVAR] = CCTL, 14*cbb07febSzrj [SYNBASE + CTLENDVAR] = CCTL, 15*cbb07febSzrj [SYNBASE + CTLBACKQ] = CCTL, 16*cbb07febSzrj [SYNBASE + CTLBACKQ + CTLQUOTE] = CCTL, 17*cbb07febSzrj [SYNBASE + CTLARI] = CCTL, 18*cbb07febSzrj [SYNBASE + CTLENDARI] = CCTL, 19*cbb07febSzrj [SYNBASE + CTLQUOTEMARK] = CCTL, 20*cbb07febSzrj [SYNBASE + CTLQUOTEEND] = CCTL, 21*cbb07febSzrj [SYNBASE + '\n'] = CNL, 22*cbb07febSzrj [SYNBASE + '\\'] = CBACK, 23*cbb07febSzrj [SYNBASE + '\''] = CSQUOTE, 24*cbb07febSzrj [SYNBASE + '"'] = CDQUOTE, 25*cbb07febSzrj [SYNBASE + '`'] = CBQUOTE, 26*cbb07febSzrj [SYNBASE + '$'] = CVAR, 27*cbb07febSzrj [SYNBASE + '}'] = CENDVAR, 28*cbb07febSzrj [SYNBASE + '<'] = CSPCL, 29*cbb07febSzrj [SYNBASE + '>'] = CSPCL, 30*cbb07febSzrj [SYNBASE + '('] = CSPCL, 31*cbb07febSzrj [SYNBASE + ')'] = CSPCL, 32*cbb07febSzrj [SYNBASE + ';'] = CSPCL, 33*cbb07febSzrj [SYNBASE + '&'] = CSPCL, 34*cbb07febSzrj [SYNBASE + '|'] = CSPCL, 35*cbb07febSzrj [SYNBASE + ' '] = CSPCL, 36*cbb07febSzrj [SYNBASE + '\t'] = CSPCL, 37*cbb07febSzrj }; 38*cbb07febSzrj 39*cbb07febSzrj /* syntax table used when in double quotes */ 40*cbb07febSzrj const char dqsyntax[SYNBASE + CHAR_MAX + 1] = { 41*cbb07febSzrj [SYNBASE + PEOF] = CEOF, 42*cbb07febSzrj [SYNBASE + CTLESC] = CCTL, 43*cbb07febSzrj [SYNBASE + CTLVAR] = CCTL, 44*cbb07febSzrj [SYNBASE + CTLENDVAR] = CCTL, 45*cbb07febSzrj [SYNBASE + CTLBACKQ] = CCTL, 46*cbb07febSzrj [SYNBASE + CTLBACKQ + CTLQUOTE] = CCTL, 47*cbb07febSzrj [SYNBASE + CTLARI] = CCTL, 48*cbb07febSzrj [SYNBASE + CTLENDARI] = CCTL, 49*cbb07febSzrj [SYNBASE + CTLQUOTEMARK] = CCTL, 50*cbb07febSzrj [SYNBASE + CTLQUOTEEND] = CCTL, 51*cbb07febSzrj [SYNBASE + '\n'] = CNL, 52*cbb07febSzrj [SYNBASE + '\\'] = CBACK, 53*cbb07febSzrj [SYNBASE + '"'] = CENDQUOTE, 54*cbb07febSzrj [SYNBASE + '`'] = CBQUOTE, 55*cbb07febSzrj [SYNBASE + '$'] = CVAR, 56*cbb07febSzrj [SYNBASE + '}'] = CENDVAR, 57*cbb07febSzrj [SYNBASE + '!'] = CCTL, 58*cbb07febSzrj [SYNBASE + '*'] = CCTL, 59*cbb07febSzrj [SYNBASE + '?'] = CCTL, 60*cbb07febSzrj [SYNBASE + '['] = CCTL, 61*cbb07febSzrj [SYNBASE + ']'] = CCTL, 62*cbb07febSzrj [SYNBASE + '='] = CCTL, 63*cbb07febSzrj [SYNBASE + '~'] = CCTL, 64*cbb07febSzrj [SYNBASE + ':'] = CCTL, 65*cbb07febSzrj [SYNBASE + '/'] = CCTL, 66*cbb07febSzrj [SYNBASE + '-'] = CCTL, 67*cbb07febSzrj [SYNBASE + '^'] = CCTL, 68*cbb07febSzrj }; 69*cbb07febSzrj 70*cbb07febSzrj /* syntax table used when in single quotes */ 71*cbb07febSzrj const char sqsyntax[SYNBASE + CHAR_MAX + 1] = { 72*cbb07febSzrj [SYNBASE + PEOF] = CEOF, 73*cbb07febSzrj [SYNBASE + CTLESC] = CCTL, 74*cbb07febSzrj [SYNBASE + CTLVAR] = CCTL, 75*cbb07febSzrj [SYNBASE + CTLENDVAR] = CCTL, 76*cbb07febSzrj [SYNBASE + CTLBACKQ] = CCTL, 77*cbb07febSzrj [SYNBASE + CTLBACKQ + CTLQUOTE] = CCTL, 78*cbb07febSzrj [SYNBASE + CTLARI] = CCTL, 79*cbb07febSzrj [SYNBASE + CTLENDARI] = CCTL, 80*cbb07febSzrj [SYNBASE + CTLQUOTEMARK] = CCTL, 81*cbb07febSzrj [SYNBASE + CTLQUOTEEND] = CCTL, 82*cbb07febSzrj [SYNBASE + '\n'] = CNL, 83*cbb07febSzrj [SYNBASE + '\\'] = CSBACK, 84*cbb07febSzrj [SYNBASE + '\''] = CENDQUOTE, 85*cbb07febSzrj [SYNBASE + '!'] = CCTL, 86*cbb07febSzrj [SYNBASE + '*'] = CCTL, 87*cbb07febSzrj [SYNBASE + '?'] = CCTL, 88*cbb07febSzrj [SYNBASE + '['] = CCTL, 89*cbb07febSzrj [SYNBASE + ']'] = CCTL, 90*cbb07febSzrj [SYNBASE + '='] = CCTL, 91*cbb07febSzrj [SYNBASE + '~'] = CCTL, 92*cbb07febSzrj [SYNBASE + ':'] = CCTL, 93*cbb07febSzrj [SYNBASE + '/'] = CCTL, 94*cbb07febSzrj [SYNBASE + '-'] = CCTL, 95*cbb07febSzrj [SYNBASE + '^'] = CCTL, 96*cbb07febSzrj }; 97*cbb07febSzrj 98*cbb07febSzrj /* syntax table used when in arithmetic */ 99*cbb07febSzrj const char arisyntax[SYNBASE + CHAR_MAX + 1] = { 100*cbb07febSzrj [SYNBASE + PEOF] = CEOF, 101*cbb07febSzrj [SYNBASE + CTLESC] = CCTL, 102*cbb07febSzrj [SYNBASE + CTLVAR] = CCTL, 103*cbb07febSzrj [SYNBASE + CTLENDVAR] = CCTL, 104*cbb07febSzrj [SYNBASE + CTLBACKQ] = CCTL, 105*cbb07febSzrj [SYNBASE + CTLBACKQ + CTLQUOTE] = CCTL, 106*cbb07febSzrj [SYNBASE + CTLARI] = CCTL, 107*cbb07febSzrj [SYNBASE + CTLENDARI] = CCTL, 108*cbb07febSzrj [SYNBASE + CTLQUOTEMARK] = CCTL, 109*cbb07febSzrj [SYNBASE + CTLQUOTEEND] = CCTL, 110*cbb07febSzrj [SYNBASE + '\n'] = CNL, 111*cbb07febSzrj [SYNBASE + '\\'] = CBACK, 112*cbb07febSzrj [SYNBASE + '`'] = CBQUOTE, 113*cbb07febSzrj [SYNBASE + '"'] = CIGN, 114*cbb07febSzrj [SYNBASE + '$'] = CVAR, 115*cbb07febSzrj [SYNBASE + '}'] = CENDVAR, 116*cbb07febSzrj [SYNBASE + '('] = CLP, 117*cbb07febSzrj [SYNBASE + ')'] = CRP, 118*cbb07febSzrj }; 119*cbb07febSzrj 120*cbb07febSzrj /* character classification table */ 121*cbb07febSzrj const char is_type[SYNBASE + CHAR_MAX + 1] = { 122*cbb07febSzrj [SYNBASE + '0'] = ISDIGIT, 123*cbb07febSzrj [SYNBASE + '1'] = ISDIGIT, 124*cbb07febSzrj [SYNBASE + '2'] = ISDIGIT, 125*cbb07febSzrj [SYNBASE + '3'] = ISDIGIT, 126*cbb07febSzrj [SYNBASE + '4'] = ISDIGIT, 127*cbb07febSzrj [SYNBASE + '5'] = ISDIGIT, 128*cbb07febSzrj [SYNBASE + '6'] = ISDIGIT, 129*cbb07febSzrj [SYNBASE + '7'] = ISDIGIT, 130*cbb07febSzrj [SYNBASE + '8'] = ISDIGIT, 131*cbb07febSzrj [SYNBASE + '9'] = ISDIGIT, 132*cbb07febSzrj [SYNBASE + 'a'] = ISLOWER, 133*cbb07febSzrj [SYNBASE + 'b'] = ISLOWER, 134*cbb07febSzrj [SYNBASE + 'c'] = ISLOWER, 135*cbb07febSzrj [SYNBASE + 'd'] = ISLOWER, 136*cbb07febSzrj [SYNBASE + 'e'] = ISLOWER, 137*cbb07febSzrj [SYNBASE + 'f'] = ISLOWER, 138*cbb07febSzrj [SYNBASE + 'g'] = ISLOWER, 139*cbb07febSzrj [SYNBASE + 'h'] = ISLOWER, 140*cbb07febSzrj [SYNBASE + 'i'] = ISLOWER, 141*cbb07febSzrj [SYNBASE + 'j'] = ISLOWER, 142*cbb07febSzrj [SYNBASE + 'k'] = ISLOWER, 143*cbb07febSzrj [SYNBASE + 'l'] = ISLOWER, 144*cbb07febSzrj [SYNBASE + 'm'] = ISLOWER, 145*cbb07febSzrj [SYNBASE + 'n'] = ISLOWER, 146*cbb07febSzrj [SYNBASE + 'o'] = ISLOWER, 147*cbb07febSzrj [SYNBASE + 'p'] = ISLOWER, 148*cbb07febSzrj [SYNBASE + 'q'] = ISLOWER, 149*cbb07febSzrj [SYNBASE + 'r'] = ISLOWER, 150*cbb07febSzrj [SYNBASE + 's'] = ISLOWER, 151*cbb07febSzrj [SYNBASE + 't'] = ISLOWER, 152*cbb07febSzrj [SYNBASE + 'u'] = ISLOWER, 153*cbb07febSzrj [SYNBASE + 'v'] = ISLOWER, 154*cbb07febSzrj [SYNBASE + 'w'] = ISLOWER, 155*cbb07febSzrj [SYNBASE + 'x'] = ISLOWER, 156*cbb07febSzrj [SYNBASE + 'y'] = ISLOWER, 157*cbb07febSzrj [SYNBASE + 'z'] = ISLOWER, 158*cbb07febSzrj [SYNBASE + 'A'] = ISUPPER, 159*cbb07febSzrj [SYNBASE + 'B'] = ISUPPER, 160*cbb07febSzrj [SYNBASE + 'C'] = ISUPPER, 161*cbb07febSzrj [SYNBASE + 'D'] = ISUPPER, 162*cbb07febSzrj [SYNBASE + 'E'] = ISUPPER, 163*cbb07febSzrj [SYNBASE + 'F'] = ISUPPER, 164*cbb07febSzrj [SYNBASE + 'G'] = ISUPPER, 165*cbb07febSzrj [SYNBASE + 'H'] = ISUPPER, 166*cbb07febSzrj [SYNBASE + 'I'] = ISUPPER, 167*cbb07febSzrj [SYNBASE + 'J'] = ISUPPER, 168*cbb07febSzrj [SYNBASE + 'K'] = ISUPPER, 169*cbb07febSzrj [SYNBASE + 'L'] = ISUPPER, 170*cbb07febSzrj [SYNBASE + 'M'] = ISUPPER, 171*cbb07febSzrj [SYNBASE + 'N'] = ISUPPER, 172*cbb07febSzrj [SYNBASE + 'O'] = ISUPPER, 173*cbb07febSzrj [SYNBASE + 'P'] = ISUPPER, 174*cbb07febSzrj [SYNBASE + 'Q'] = ISUPPER, 175*cbb07febSzrj [SYNBASE + 'R'] = ISUPPER, 176*cbb07febSzrj [SYNBASE + 'S'] = ISUPPER, 177*cbb07febSzrj [SYNBASE + 'T'] = ISUPPER, 178*cbb07febSzrj [SYNBASE + 'U'] = ISUPPER, 179*cbb07febSzrj [SYNBASE + 'V'] = ISUPPER, 180*cbb07febSzrj [SYNBASE + 'W'] = ISUPPER, 181*cbb07febSzrj [SYNBASE + 'X'] = ISUPPER, 182*cbb07febSzrj [SYNBASE + 'Y'] = ISUPPER, 183*cbb07febSzrj [SYNBASE + 'Z'] = ISUPPER, 184*cbb07febSzrj [SYNBASE + '_'] = ISUNDER, 185*cbb07febSzrj [SYNBASE + '#'] = ISSPECL, 186*cbb07febSzrj [SYNBASE + '?'] = ISSPECL, 187*cbb07febSzrj [SYNBASE + '$'] = ISSPECL, 188*cbb07febSzrj [SYNBASE + '!'] = ISSPECL, 189*cbb07febSzrj [SYNBASE + '-'] = ISSPECL, 190*cbb07febSzrj [SYNBASE + '*'] = ISSPECL, 191*cbb07febSzrj [SYNBASE + '@'] = ISSPECL, 192*cbb07febSzrj }; 193