Skip to content

Commit

Permalink
Bug 786409 - parsing error in Fortran file with preprocessing
Browse files Browse the repository at this point in the history
Problem with ' (single quote) in Fortran. A string in Fortran can be between single or double quotes.
  • Loading branch information
albert-github committed Aug 17, 2017
1 parent 0072ba5 commit 2f5e22a
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions src/pre.l
Expand Up @@ -1984,6 +1984,11 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
g_defArgsStr+=*yytext; g_defArgsStr+=*yytext;
BEGIN(ReadString); BEGIN(ReadString);
} }
<FindDefineArgs>' {
if (getLanguageFromFileName(g_yyFileName)!=SrcLangExt_Fortran) REJECT;
g_defArgsStr+=*yytext;
BEGIN(ReadString);
}
<FindDefineArgs>\n { <FindDefineArgs>\n {
g_defArgsStr+=' '; g_defArgsStr+=' ';
g_yyLineNr++; g_yyLineNr++;
Expand Down Expand Up @@ -2014,6 +2019,12 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
g_defArgsStr+=*yytext; g_defArgsStr+=*yytext;
BEGIN(FindDefineArgs); BEGIN(FindDefineArgs);
} }
<ReadString>"'" {
if (getLanguageFromFileName(g_yyFileName)!=SrcLangExt_Fortran) REJECT;
g_defArgsStr+=*yytext;
BEGIN(FindDefineArgs);
}

<ReadString>"//"|"/*" { <ReadString>"//"|"/*" {
g_defArgsStr+=yytext; g_defArgsStr+=yytext;
} }
Expand Down

0 comments on commit 2f5e22a

Please sign in to comment.