My Project
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
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
34
class
PythonLanguageScanner
:
public
ParserInterface
35
{
36
public
:
37
virtual
~PythonLanguageScanner
() {}
38
void
startTranslationUnit
(
const
char
*) {}
39
void
finishTranslationUnit
() {}
40
void
parseInput
(
const
char
* fileName,
41
const
char
*fileBuf,
42
Entry
*root,
43
bool
sameTranslationUnit,
44
QStrList &filesInSameTranslationUnit);
45
bool
needsPreprocessing
(
const
QCString &extension);
46
void
parseCode
(
CodeOutputInterface
&codeOutIntf,
47
const
char
*scopeName,
48
const
QCString &input,
49
SrcLangExt
lang,
50
bool
isExampleBlock,
51
const
char
*exampleName=0,
52
FileDef
*fileDef=0,
53
int
startLine=-1,
54
int
endLine=-1,
55
bool
inlineFragment=FALSE,
56
MemberDef
*memberDef=0,
57
bool
showLineNumbers=TRUE,
58
Definition
*searchCtx=0,
59
bool
collectXrefs=TRUE
60
);
61
void
resetCodeParserState
();
62
void
parsePrototype
(
const
char
*text);
63
};
64
65
void
pyscanFreeScanner
();
66
67
#endif