1 /******************************************************************************
3 * $Id: pyscanner.h,v 1.9 2001/03/19 19:27:39 root Exp $
5 * Copyright (C) 1997-2012 by Dimitri van Heesch.
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.
13 * Documents produced by Doxygen are derivative works derived from the
14 * input used in their production; they are not affected by this license.
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>.
28 #include "parserintf.h"
30 /** \brief Python Language parser using state-based lexical scanning.
32 * This is the Python language parser for doxygen.
34 class PythonLanguageScanner : public ParserInterface
37 virtual ~PythonLanguageScanner() {}
38 void parseInput(const char * fileName,
41 bool needsPreprocessing(const QCString &extension);
42 void parseCode(CodeOutputInterface &codeOutIntf,
43 const char *scopeName,
44 const QCString &input,
46 const char *exampleName=0,
50 bool inlineFragment=FALSE,
51 MemberDef *memberDef=0,
52 bool showLineNumbers=TRUE,
53 Definition *searchCtx=0
55 void resetCodeParserState();
56 void parsePrototype(const char *text);
59 void pyscanFreeScanner();