doxygen
fortranscanner.h
1 /******************************************************************************
2  *
3  *
4  *
5  * Copyright (C) 1997-2015 by Dimitri van Heesch.
6  *
7  * Permission to use, copy, modify, and distribute this software and its
8  * documentation under the terms of the GNU General Public License is hereby
9  * granted. No representations are made about the suitability of this software
10  * for any purpose. It is provided "as is" without express or implied warranty.
11  * See the GNU General Public License for more details.
12  *
13  * Documents produced by Doxygen are derivative works derived from the
14  * input used in their production; they are not affected by this license.
15  *
16  */
17 
18 #ifndef SCANNER_FORTRAN_H
19 #define SCANNER_FORTRAN_H
20 
21 #include "parserintf.h"
22 
28 {
29  public:
30  FortranOutlineParser(FortranFormat format=FortranFormat_Unknown);
32  void parseInput(const QCString &fileName,
33  const char *fileBuf,
34  const std::shared_ptr<Entry> &root,
35  ClangTUParser *clangParser);
36  bool needsPreprocessing(const QCString &extension) const;
37  void parsePrototype(const QCString &text);
38 
39  private:
40  struct Private;
41  std::unique_ptr<Private> p;
42 };
43 
45 {
46  public:
47  FortranOutlineParserFree() : FortranOutlineParser(FortranFormat_Free) { }
48 };
49 
51 {
52  public:
53  FortranOutlineParserFixed() : FortranOutlineParser(FortranFormat_Fixed) { }
54 };
55 
56 const char* prepassFixedForm(const char* contents, int *hasContLine, int fixedCommentAfter);
57 
58 #endif
Definition: fortranscanner.h:44
void parseInput(const QCString &fileName, const char *fileBuf, const std::shared_ptr< Entry > &root, ClangTUParser *clangParser)
Parses a single input file with the goal to build an Entry tree.
Abstract interface for outline parsers.
Definition: parserintf.h:40
bool needsPreprocessing(const QCString &extension) const
Returns TRUE if the language identified by extension needs the C preprocessor to be run before feed t...
Definition: fortranscanner.h:50
void parsePrototype(const QCString &text)
Callback function called by the comment block scanner.
This is an alternative implementation of QCString.
Definition: qcstring.h:93
Clang parser object for a single translation unit, which consists of a source file and the directly o...
Definition: clangparser.h:22
Fortran language parser using state-based lexical scanning.
Definition: fortranscanner.h:27