Doxygen
Toggle main menu visibility
Loading...
Searching...
No Matches
pyscanner.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
/* This code is based on the work done by the MoxyPyDoxy team
18
* (Linda Leong, Mike Rivera, Kim Truong, and Gabriel Estrada)
19
* in Spring 2005 as part of CS 179E: Compiler Design Project
20
* at the University of California, Riverside; the course was
21
* taught by Peter H. Froehlich <phf@acm.org>.
22
*/
23
24
25
#ifndef PYSCANNER_H
26
#define PYSCANNER_H
27
28
#include "
parserintf.h
"
29
30
/** \brief Python Language parser using state-based lexical scanning.
31
*
32
* This is the Python language parser for doxygen.
33
*/
34
class
PythonOutlineParser
:
public
OutlineParserInterface
35
{
36
public
:
37
PythonOutlineParser
();
38
~PythonOutlineParser
()
override
;
39
NON_COPYABLE
(
PythonOutlineParser
)
40
void
parseInput
(
const
QCString
&fileName,
41
const
char
*fileBuf,
42
const
std::shared_ptr<Entry> &root,
43
ClangTUParser
*clangParser)
override
;
44
bool
needsPreprocessing
(
const
QCString
&extension)
const override
;
45
void
parsePrototype
(
const
QCString
&text)
override
;
46
private
:
47
struct
Private
;
48
std::unique_ptr<Private>
p
;
49
};
50
51
#endif
ClangTUParser
Clang parser object for a single translation unit, which consists of a source file and the directly o...
Definition
clangparser.h:25
OutlineParserInterface
Abstract interface for outline parsers.
Definition
parserintf.h:42
PythonOutlineParser::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
pyscanner.l:2382
PythonOutlineParser::p
std::unique_ptr< Private > p
Definition
pyscanner.h:48
PythonOutlineParser::PythonOutlineParser
PythonOutlineParser()
Definition
pyscanner.l:2354
PythonOutlineParser::~PythonOutlineParser
~PythonOutlineParser() override
Definition
pyscanner.l:2362
PythonOutlineParser::parsePrototype
void parsePrototype(const QCString &text) override
Callback function called by the comment block scanner.
Definition
pyscanner.l:2387
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
parserintf.h
PythonOutlineParser::Private
Definition
pyscanner.l:2349
src
pyscanner.h
Generated by
1.17.0