From 2f5e22a4be9d237a150d04659bf6abec1349fbd9 Mon Sep 17 00:00:00 2001 From: albert-github Date: Thu, 17 Aug 2017 18:08:05 +0200 Subject: Bug 786409 - parsing error in Fortran file with preprocessing Problem with ' (single quote) in Fortran. A string in Fortran can be between single or double quotes. --- src/pre.l | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/pre.l b/src/pre.l index 4c4763d..b2e545a 100644 --- a/src/pre.l +++ b/src/pre.l @@ -1984,6 +1984,11 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) g_defArgsStr+=*yytext; BEGIN(ReadString); } +' { + if (getLanguageFromFileName(g_yyFileName)!=SrcLangExt_Fortran) REJECT; + g_defArgsStr+=*yytext; + BEGIN(ReadString); + } \n { g_defArgsStr+=' '; g_yyLineNr++; @@ -2014,6 +2019,12 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) g_defArgsStr+=*yytext; BEGIN(FindDefineArgs); } +"'" { + if (getLanguageFromFileName(g_yyFileName)!=SrcLangExt_Fortran) REJECT; + g_defArgsStr+=*yytext; + BEGIN(FindDefineArgs); + } + "//"|"/*" { g_defArgsStr+=yytext; } -- cgit v0.12