changes for pow(**) and complex

This commit is contained in:
Guido van Rossum 1996-01-12 01:31:58 +00:00
parent c7fea2feed
commit f595fde47b
1 changed files with 17 additions and 1 deletions

View File

@ -83,6 +83,7 @@ char *tok_name[] = {
"CIRCUMFLEX", "CIRCUMFLEX",
"LEFTSHIFT", "LEFTSHIFT",
"RIGHTSHIFT", "RIGHTSHIFT",
"DOUBLESTAR",
/* This table must match the #defines in token.h! */ /* This table must match the #defines in token.h! */
"OP", "OP",
"<ERRORTOKEN>", "<ERRORTOKEN>",
@ -394,6 +395,11 @@ tok_2char(c1, c2)
case '>': return RIGHTSHIFT; case '>': return RIGHTSHIFT;
} }
break; break;
case '*':
switch (c2) {
case '*': return DOUBLESTAR;
}
break;
} }
return OP; return OP;
} }
@ -558,7 +564,7 @@ tok_get(tok, p_start, p_end)
return DOT; return DOT;
} }
} }
/* Number */ /* Number */
if (isdigit(c)) { if (isdigit(c)) {
if (c == '0') { if (c == '0') {
@ -566,6 +572,10 @@ tok_get(tok, p_start, p_end)
c = tok_nextc(tok); c = tok_nextc(tok);
if (c == '.') if (c == '.')
goto fraction; goto fraction;
#ifndef WITHOUT_COMPLEX
if (c == 'i' || c == 'I' || c == 'j' || c == 'J')
goto imaginary;
#endif
if (c == 'x' || c == 'X') { if (c == 'x' || c == 'X') {
/* Hex */ /* Hex */
do { do {
@ -611,6 +621,12 @@ tok_get(tok, p_start, p_end)
c = tok_nextc(tok); c = tok_nextc(tok);
} }
} }
#ifndef WITHOUT_COMPLEX
if (c == 'i' || c == 'I' || c == 'j' || c == 'J')
/* Imaginary part */
imaginary:
c = tok_nextc(tok);
#endif
} }
} }
tok_backup(tok, c); tok_backup(tok, c);