Doxygen
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 */
35{
36 public:
38 ~PythonOutlineParser() override;
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
Clang parser object for a single translation unit, which consists of a source file and the directly o...
Definition clangparser.h:25
Abstract interface for outline parsers.
Definition parserintf.h:42
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:2362
std::unique_ptr< Private > p
Definition pyscanner.h:48
~PythonOutlineParser() override
Definition pyscanner.l:2342
void parsePrototype(const QCString &text) override
Callback function called by the comment block scanner.
Definition pyscanner.l:2367
This is an alternative implementation of QCString.
Definition qcstring.h:101
#define NON_COPYABLE(cls)
Macro to help implementing the rule of 5 for a non-copyable & movable class.
Definition construct.h:37
void parseInput()