App-a2p
view release on metacpan or search on metacpan
XTERM(REGEX);
}
tmp = *s++;
if (*s == '=') {
yylval = string("/=",2);
s++;
XTERM(ASGNOP);
}
XTERM(tmp);
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9': case '.':
s = scannum(s);
XOP(NUMBER);
case '"':
s++;
s = cpy2(tokenbuf,s,s[-1]);
if (!*s)
fatal("String not terminated:\n%s",str_get(linestr));
s++;
yylval = string(tokenbuf,0);
XOP(STRING);
case 'a': case 'A':
SNARFWORD;
if (strEQ(d,"ARGV")) {
yylval=numary(string("ARGV",0));
XOP(VAR);
}
if (strEQ(d,"atan2")) {
yylval = OATAN2;
XTERM(FUNN);
}
ID(d);
case 'b': case 'B':
SNARFWORD;
if (strEQ(d,"break"))
XTERM(BREAK);
if (strEQ(d,"BEGIN"))
XTERM(BEGIN);
ID(d);
case 'c': case 'C':
SNARFWORD;
if (strEQ(d,"continue"))
XTERM(CONTINUE);
if (strEQ(d,"cos")) {
yylval = OCOS;
XTERM(FUN1);
}
if (strEQ(d,"close")) {
do_fancy_opens = 1;
yylval = OCLOSE;
XTERM(FUN1);
}
if (strEQ(d,"chdir"))
*d = toUPPER(*d);
else if (strEQ(d,"crypt"))
*d = toUPPER(*d);
else if (strEQ(d,"chop"))
*d = toUPPER(*d);
else if (strEQ(d,"chmod"))
*d = toUPPER(*d);
else if (strEQ(d,"chown"))
*d = toUPPER(*d);
ID(d);
case 'd': case 'D':
SNARFWORD;
if (strEQ(d,"do"))
XTERM(DO);
if (strEQ(d,"delete"))
XTERM(DELETE);
if (strEQ(d,"die"))
*d = toUPPER(*d);
ID(d);
case 'e': case 'E':
SNARFWORD;
if (strEQ(d,"END"))
XTERM(END);
if (strEQ(d,"else"))
XTERM(ELSE);
if (strEQ(d,"exit")) {
saw_line_op = TRUE;
XTERM(EXIT);
}
if (strEQ(d,"exp")) {
yylval = OEXP;
XTERM(FUN1);
}
if (strEQ(d,"elsif"))
*d = toUPPER(*d);
else if (strEQ(d,"eq"))
*d = toUPPER(*d);
else if (strEQ(d,"eval"))
*d = toUPPER(*d);
else if (strEQ(d,"eof"))
*d = toUPPER(*d);
else if (strEQ(d,"each"))
*d = toUPPER(*d);
else if (strEQ(d,"exec"))
*d = toUPPER(*d);
ID(d);
case 'f': case 'F':
SNARFWORD;
if (strEQ(d,"FS")) {
saw_FS++;
if (saw_FS == 1 && in_begin) {
for (d = s; *d && isSPACE(*d); d++) ;
if (*d == '=') {
for (d++; *d && isSPACE(*d); d++) ;
if (*d == '"' && d[2] == '"')
const_FS = d[1];
}
}
ID(tokenbuf);
}
if (strEQ(d,"for"))
XTERM(FOR);
else if (strEQ(d,"function"))
XTERM(FUNCTION);
if (strEQ(d,"FILENAME"))
ID("ARGV");
( run in 0.635 second using v1.01-cache-2.11-cpan-39bf76dae61 )