summaryrefslogtreecommitdiffstats
path: root/src/pycode.l
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2018-06-24 08:57:30 (GMT)
committerGitHub <noreply@github.com>2018-06-24 08:57:30 (GMT)
commit56c60e84e6dd6d7e4e7774be24d1402782fd3230 (patch)
tree4341e26d4bf860fec4c5784b042a5c9130ae2da4 /src/pycode.l
parentba30b13cfd4910a5913f080a039fc429ec8a7e3f (diff)
parent154e877cc2e8b10091d7e0068b6f6d5793cd29f3 (diff)
downloadDoxygen-56c60e84e6dd6d7e4e7774be24d1402782fd3230.zip
Doxygen-56c60e84e6dd6d7e4e7774be24d1402782fd3230.tar.gz
Doxygen-56c60e84e6dd6d7e4e7774be24d1402782fd3230.tar.bz2
Merge branch 'master' into feature/bug_tableofcontents_latex
Diffstat (limited to 'src/pycode.l')
-rw-r--r--src/pycode.l30
1 files changed, 26 insertions, 4 deletions
diff --git a/src/pycode.l b/src/pycode.l
index fe1eef5..1b176d6 100644
--- a/src/pycode.l
+++ b/src/pycode.l
@@ -884,7 +884,7 @@ SHORTSTRINGITEM ({SHORTSTRINGCHAR}|{ESCAPESEQ})
SHORTSTRINGCHAR [^\\\n"]
STRINGLITERAL {STRINGPREFIX}?( {SHORTSTRING} | {LONGSTRING})
STRINGPREFIX ("r"|"u"|"ur"|"R"|"U"|"UR"|"Ur"|"uR")
-KEYWORD ("lambda"|"import"|"class"|"assert"|"as"|"from"|"global"|"def"|"True"|"False")
+KEYWORD ("lambda"|"import"|"class"|"assert"|"with"|"as"|"from"|"global"|"def"|"True"|"False")
FLOWKW ("or"|"and"|"is"|"not"|"print"|"for"|"in"|"if"|"try"|"except"|"yield"|"raise"|"break"|"continue"|"pass"|"if"|"return"|"while"|"elif"|"else"|"finally")
QUOTES ("\""[^"]*"\"")
SINGLEQUOTES ("'"[^']*"'")
@@ -1382,21 +1382,43 @@ TARGET ({IDENTIFIER}|"("{TARGET_LIST}")"|"["{TARGET_LIST}"]"|{ATTRIBUT
}
*/
-<*>{STRINGPREFIX}?{TRISINGLEQUOTE} |
+<*>{STRINGPREFIX}?{TRISINGLEQUOTE} {
+ if (YY_START==SingleQuoteString) REJECT;
+ startFontClass("stringliteral");
+ g_stringContext=YY_START;
+ g_doubleQuote=yytext[yyleng-1]=='"';
+ codify(yytext);
+ BEGIN(TripleString);
+ }
<*>{STRINGPREFIX}?{TRIDOUBLEQUOTE} {
- startFontClass("stringliteral");
+ if (YY_START==DoubleQuoteString) REJECT;
+ startFontClass("stringliteral");
g_stringContext=YY_START;
g_doubleQuote=yytext[yyleng-1]=='"';
- codify(yytext);
+ codify(yytext);
BEGIN(TripleString);
}
<*>{STRINGPREFIX}?"'" { // single quoted string
+ if (YY_START==SingleQuoteString ||
+ YY_START==DoubleQuoteString ||
+ YY_START==TripleString
+ )
+ {
+ REJECT;
+ }
startFontClass("stringliteral");
g_stringContext=YY_START;
codify(yytext);
BEGIN(SingleQuoteString);
}
<*>{STRINGPREFIX}?"\"" { // double quoted string
+ if (YY_START==SingleQuoteString ||
+ YY_START==DoubleQuoteString ||
+ YY_START==TripleString
+ )
+ {
+ REJECT;
+ }
startFontClass("stringliteral");
g_stringContext=YY_START;
codify(yytext);