fortranscanner.h
Go to the documentation of this file.
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 
23 /** \brief Fortran language parser using state-based lexical scanning.
24  *
25  * This is the Fortran language parser for doxygen.
26  */
28 {
29  public:
32  void startTranslationUnit(const char *) {}
34  void parseInput(const char *fileName,
35  const char *fileBuf,
36  Entry *root,
37  bool sameTranslationUnit,
38  QStrList &filesInSameTranslationUnit);
39  bool needsPreprocessing(const QCString &extension);
40  void parseCode(CodeOutputInterface &codeOutIntf,
41  const char *scopeName,
42  const QCString &input,
43  SrcLangExt lang,
44  bool isExampleBlock,
45  const char *exampleName=0,
46  FileDef *fileDef=0,
47  int startLine=-1,
48  int endLine=-1,
49  bool inlineFragment=FALSE,
50  MemberDef *memberDef=0,
51  bool showLineNumbers=TRUE,
52  Definition *searchCtx=0,
53  bool collectXRefs=TRUE
54  );
55  void resetCodeParserState();
56  void parsePrototype(const char *text);
57 
58  private:
60 };
61 
63 {
64  public:
66 };
67 
69 {
70  public:
72 };
73 
74 #endif
Definition: entry.h:63
Abstract interface for programming language parsers.
Definition: parserintf.h:38
void parsePrototype(const char *text)
virtual ~FortranLanguageScanner()
static bool format(QChar::Decomposition tag, QString &str, int index, int len)
Definition: qstring.cpp:11496
const bool FALSE
Definition: qglobal.h:370
Fortran language parser using state-based lexical scanning.
SrcLangExt
Definition: types.h:41
FortranFormat
Definition: types.h:213
FortranFormat m_format
static int input(void)
Definition: code.cpp:15695
fileName
Definition: dumpTree.py:9
bool needsPreprocessing(const QCString &extension)
void parseInput(const char *fileName, const char *fileBuf, Entry *root, bool sameTranslationUnit, QStrList &filesInSameTranslationUnit)
FortranLanguageScanner(FortranFormat format=FortranFormat_Unknown)
const bool TRUE
Definition: qglobal.h:371
void parseCode(CodeOutputInterface &codeOutIntf, const char *scopeName, const QCString &input, SrcLangExt lang, bool isExampleBlock, const char *exampleName=0, FileDef *fileDef=0, int startLine=-1, int endLine=-1, bool inlineFragment=FALSE, MemberDef *memberDef=0, bool showLineNumbers=TRUE, Definition *searchCtx=0, bool collectXRefs=TRUE)
bool collectXRefs
void startTranslationUnit(const char *)