Doxygen
Toggle main menu visibility
Loading...
Searching...
No Matches
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
*/
27
class
FortranOutlineParser
:
public
OutlineParserInterface
28
{
29
public
:
30
FortranOutlineParser
(
FortranFormat
format=
FortranFormat::Unknown
);
31
~FortranOutlineParser
()
override
;
32
NON_COPYABLE
(
FortranOutlineParser
)
33
void
parseInput
(
const
QCString
&fileName,
34
const
char
*fileBuf,
35
const
std::shared_ptr<Entry> &root,
36
ClangTUParser
*clangParser)
override
;
37
bool
needsPreprocessing
(
const
QCString
&extension)
const override
;
38
void
parsePrototype
(
const
QCString
&text)
override
;
39
40
private
:
41
struct
Private
;
42
std::unique_ptr<Private>
p
;
43
};
44
45
class
FortranOutlineParserFree
:
public
FortranOutlineParser
46
{
47
public
:
48
FortranOutlineParserFree
() :
FortranOutlineParser
(
FortranFormat
::
Free
) { }
49
};
50
51
class
FortranOutlineParserFixed
:
public
FortranOutlineParser
52
{
53
public
:
54
FortranOutlineParserFixed
() :
FortranOutlineParser
(
FortranFormat
::
Fixed
) { }
55
};
56
57
const
char
*
prepassFixedForm
(
const
char
* contents,
int
*hasContLine,
int
fixedCommentAfter);
58
59
#endif
ClangTUParser
Clang parser object for a single translation unit, which consists of a source file and the directly o...
Definition
clangparser.h:25
FortranOutlineParserFixed::FortranOutlineParserFixed
FortranOutlineParserFixed()
Definition
fortranscanner.h:54
FortranOutlineParserFree::FortranOutlineParserFree
FortranOutlineParserFree()
Definition
fortranscanner.h:48
FortranOutlineParser::needsPreprocessing
bool needsPreprocessing(const QCString &extension) const override
Returns TRUE if the language identified by extension needs the C preprocessor to be run before feed t...
Definition
fortranscanner.l:3366
FortranOutlineParser::p
std::unique_ptr< Private > p
Definition
fortranscanner.h:42
FortranOutlineParser::parsePrototype
void parsePrototype(const QCString &text) override
Callback function called by the comment block scanner.
Definition
fortranscanner.l:3371
FortranOutlineParser::~FortranOutlineParser
~FortranOutlineParser() override
Definition
fortranscanner.l:3348
FortranOutlineParser::FortranOutlineParser
FortranOutlineParser(FortranFormat format=FortranFormat::Unknown)
Definition
fortranscanner.l:3343
OutlineParserInterface
Abstract interface for outline parsers.
Definition
parserintf.h:42
QCString
This is an alternative implementation of QCString.
Definition
qcstring.h:101
NON_COPYABLE
#define NON_COPYABLE(cls)
Macro to help implementing the rule of 5 for a non-copyable & movable class.
Definition
construct.h:37
parseInput
void parseInput()
Definition
doxygen.cpp:12474
prepassFixedForm
const char * prepassFixedForm(const char *contents, int *hasContLine, int fixedCommentAfter)
Definition
fortranscanner.l:1866
parserintf.h
FortranOutlineParser::Private
Definition
fortranscanner.l:3330
FortranFormat
FortranFormat
Definition
types.h:572
FortranFormat::Fixed
@ Fixed
Definition
types.h:575
FortranFormat::Unknown
@ Unknown
Definition
types.h:573
FortranFormat::Free
@ Free
Definition
types.h:574
src
fortranscanner.h
Generated by
1.17.0