summaryrefslogtreecommitdiffstats
path: root/Source/cmFortranParser.y
Commit message (Collapse)AuthorAgeFilesLines
* cmFortranParser: Parse keywords as lexical tokensBrad King2016-09-081-44/+38
| | | | | | | | Teach the lexer to match and return specific Fortran keywords as tokens. Update the parser to use these instead of always using a WORD token and then checking the text. This avoids extra string comparisons and will allow more grammar productions to be unambiguously added later for additional Fortran statements.
* cmFortranParser: Simplify grammar by skipping unknown statementsBrad King2016-09-081-13/+2
| | | | | | | Our Fortran grammar is a bare minimum to extract dependencies. Other statement syntax can be ignored, so simply skip to the end of unrecognized statements. This allows some of our existing productions to be dropped.
* cmFortranParser: Revise indentation style to match rest of CMakeBrad King2016-09-061-101/+61
| | | | While at it, remove unused token CPP_TOENDL.
* cmFortranParser: Parse #line directivesBrad King2015-11-021-1/+9
| | | | | | | Teach the lexer to extract the #line directive prefix and line number as a new token type. Teach the parser to recognize this token followed by a string as the file name (plus possibly other content). Report the named file as included by the source file.
* cmFortranParser: Port to bison 3Brad King2015-07-271-13/+10
| | | | | Use %-directives to specify the scanner/lexer arguments and update the yyerror signature. Reduce the list of post-bison modifications needed.
* Rename Fortran parser infrastructure to drop "Depends" prefixKitware Robot2015-07-271-0/+282
The parser can be re-used outside cmDependsFortran or the cmDepends class hierarchy so drop the "Depends" from its name: rename 's/DependsFortran([A-Za-z0-9_])/Fortran$1/' Source/*.* sed -i 's/DependsFortran\([A-Za-z0-9_]\)/Fortran\1/g' Source/*.* sed -i 's/FortranInternals/DependsFortranInternals/g' Source/*.* Also manually fix Source/CMakeLists.txt source file ordering.