doxygen
fortrancode.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 FORTRANCODE_H
19 #define FORTRANCODE_H
20 
21 #include "parserintf.h"
22 
23 class OutputCodeList;
24 class FileDef;
25 class MemberDef;
26 class QCString;
27 class Definition;
28 
30 {
31  public:
32  FortranCodeParser(FortranFormat format=FortranFormat_Unknown);
33  ~FortranCodeParser() override;
34  NON_COPYABLE(FortranCodeParser)
35 
36  void parseCode(OutputCodeList &codeOutIntf,
37  const QCString &scopeName,
38  const QCString &input,
39  SrcLangExt lang,
40  bool isExampleBlock,
41  const QCString &exampleName=QCString(),
42  const FileDef *fileDef=nullptr,
43  int startLine=-1,
44  int endLine=-1,
45  bool inlineFragment=FALSE,
46  const MemberDef *memberDef=nullptr,
47  bool showLineNumbers=TRUE,
48  const Definition *searchCtx=nullptr,
49  bool collectXRefs=TRUE
50  ) override;
51  void resetCodeParserState() override;
52 
53  private:
54  struct Private;
55  std::unique_ptr<Private> p;
56 };
57 
59 {
60  public:
61  FortranCodeParserFree() : FortranCodeParser(FortranFormat_Free) { }
62 };
63 
65 {
66  public:
67  FortranCodeParserFixed() : FortranCodeParser(FortranFormat_Fixed) { }
68 };
69 
70 #endif
The common base class of all entity definitions found in the sources.
Definition: definition.h:75
A model of a class/file/namespace member symbol.
Definition: memberdef.h:47
A model of a file symbol.
Definition: filedef.h:98
Definition: fortrancode.h:29
SrcLangExt
Language as given by extension.
Definition: types.h:41
Definition: fortrancode.h:64
void resetCodeParserState() override
Resets the state of the code parser.
Class representing a list of different code generators.
Definition: outputlist.h:199
Definition: fortrancode.h:58
void parseCode(OutputCodeList &codeOutIntf, const QCString &scopeName, const QCString &input, SrcLangExt lang, bool isExampleBlock, const QCString &exampleName=QCString(), const FileDef *fileDef=nullptr, int startLine=-1, int endLine=-1, bool inlineFragment=FALSE, const MemberDef *memberDef=nullptr, bool showLineNumbers=TRUE, const Definition *searchCtx=nullptr, bool collectXRefs=TRUE) override
Parses a source file or fragment with the goal to produce highlighted and cross-referenced output...
This is an alternative implementation of QCString.
Definition: qcstring.h:93
Abstract interface for code parsers.
Definition: parserintf.h:82