]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Support for alternative string quotes (a"xx", b"xx", c"xx", ...).
authorGuido van Rossum <guido@python.org>
Sun, 6 Apr 1997 03:46:20 +0000 (03:46 +0000)
committerGuido van Rossum <guido@python.org>
Sun, 6 Apr 1997 03:46:20 +0000 (03:46 +0000)
Parser/tokenizer.c

index 75c1e4e7e21178a5c8f51004af1c0d5118132269..165e8be22571432b42648dd4b123dc6720b455f3 100644 (file)
@@ -538,9 +538,12 @@ tok_get(tok, p_start, p_end)
        
        /* Identifier (most frequent token!) */
        if (isalpha(c) || c == '_') {
-               do {
+               c = tok_nextc(tok);
+               if (c == '"' || c == '\'')
+                       goto letter_quote;
+               while (isalnum(c) || c == '_') {
                        c = tok_nextc(tok);
-               } while (isalnum(c) || c == '_');
+               }
                tok_backup(tok, c);
                *p_start = tok->start;
                *p_end = tok->cur;
@@ -640,9 +643,11 @@ tok_get(tok, p_start, p_end)
                *p_end = tok->cur;
                return NUMBER;
        }
-       
+
+  letter_quote:
        /* String */
        if (c == '\'' || c == '"') {
+               char *quote2 = tok->cur+1;
                int quote = c;
                int triple = 0;
                int tripcount = 0;
@@ -663,7 +668,7 @@ tok_get(tok, p_start, p_end)
                        }
                        else if (c == quote) {
                                tripcount++;
-                               if (tok->cur == tok->start+2) {
+                               if (tok->cur == quote2) {
                                        c = tok_nextc(tok);
                                        if (c == quote) {
                                                triple = 1;