mirror of
https://github.com/python/cpython.git
synced 2025-08-02 08:02:56 +00:00
Support for alternative string quotes (a"xx", b"xx", c"xx", ...).
This commit is contained in:
parent
5f5e817e00
commit
24dacb38c5
1 changed files with 9 additions and 4 deletions
|
@ -538,9 +538,12 @@ tok_get(tok, p_start, p_end)
|
||||||
|
|
||||||
/* Identifier (most frequent token!) */
|
/* Identifier (most frequent token!) */
|
||||||
if (isalpha(c) || c == '_') {
|
if (isalpha(c) || c == '_') {
|
||||||
do {
|
c = tok_nextc(tok);
|
||||||
|
if (c == '"' || c == '\'')
|
||||||
|
goto letter_quote;
|
||||||
|
while (isalnum(c) || c == '_') {
|
||||||
c = tok_nextc(tok);
|
c = tok_nextc(tok);
|
||||||
} while (isalnum(c) || c == '_');
|
}
|
||||||
tok_backup(tok, c);
|
tok_backup(tok, c);
|
||||||
*p_start = tok->start;
|
*p_start = tok->start;
|
||||||
*p_end = tok->cur;
|
*p_end = tok->cur;
|
||||||
|
@ -640,9 +643,11 @@ tok_get(tok, p_start, p_end)
|
||||||
*p_end = tok->cur;
|
*p_end = tok->cur;
|
||||||
return NUMBER;
|
return NUMBER;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
letter_quote:
|
||||||
/* String */
|
/* String */
|
||||||
if (c == '\'' || c == '"') {
|
if (c == '\'' || c == '"') {
|
||||||
|
char *quote2 = tok->cur+1;
|
||||||
int quote = c;
|
int quote = c;
|
||||||
int triple = 0;
|
int triple = 0;
|
||||||
int tripcount = 0;
|
int tripcount = 0;
|
||||||
|
@ -663,7 +668,7 @@ tok_get(tok, p_start, p_end)
|
||||||
}
|
}
|
||||||
else if (c == quote) {
|
else if (c == quote) {
|
||||||
tripcount++;
|
tripcount++;
|
||||||
if (tok->cur == tok->start+2) {
|
if (tok->cur == quote2) {
|
||||||
c = tok_nextc(tok);
|
c = tok_nextc(tok);
|
||||||
if (c == quote) {
|
if (c == quote) {
|
||||||
triple = 1;
|
triple = 1;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue