diff --git a/src/scanner.l b/src/scanner.l index d7f8b373587..99a9afe28ae 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -5038,6 +5038,16 @@ NONLopt [^\n]* BEGIN(FuncQual); } . { yyextra->current->args += *yytext; } +\" { + if (yyextra->insideIDL && yyextra->insideCppQuote) + { + BEGIN(EndCppQuote); + } + else + { + yyextra->current->args += *yytext; + } + } . { yyextra->current->args += *yytext; } {BN}*"try:" | {BN}*"try"{BN}+ { /* try-function-block */ @@ -6963,6 +6973,11 @@ NONLopt [^\n]* { BEGIN(EndCppQuote); } + else if (yyextra->insidePHP) + { + yyextra->lastStringContext=YY_START; + BEGIN(SkipString); + } } <*>^{B}*"#" { if (!yyextra->insidePHP) @@ -6989,13 +7004,6 @@ NONLopt [^\n]* BEGIN(SkipPHPString); } } -<*>\" { - if (yyextra->insidePHP) - { - yyextra->lastStringContext=YY_START; - BEGIN(SkipString); - } - } <*>\? { if (yyextra->insideCS && (YY_START != SkipRound) && (YY_START != CSAccessorDecl)) {