Fix for UBSan build
[platform/upstream/doxygen.git] / src / fortranscanner.h
1 /******************************************************************************
2  *
3  * $Id: fortranscanner.h,v 1.1 2006/08/23 07:44:03 zdv058 Exp $
4  *
5  * Copyright (C) 1997-2012 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 FortranLanguageScanner : public ParserInterface
28 {
29   public:
30     virtual ~FortranLanguageScanner() {}
31     void parseInput(const char *fileName,
32                     const char *fileBuf,
33                     Entry *root);
34     bool needsPreprocessing(const QCString &extension);
35     void parseCode(CodeOutputInterface &codeOutIntf,
36                    const char *scopeName,
37                    const QCString &input,
38                    bool isExampleBlock,
39                    const char *exampleName=0,
40                    FileDef *fileDef=0,
41                    int startLine=-1,
42                    int endLine=-1,
43                    bool inlineFragment=FALSE,
44                    MemberDef *memberDef=0,
45                    bool showLineNumbers=TRUE,
46                    Definition *searchCtx=0
47                   );
48     void resetCodeParserState();
49     void parsePrototype(const char *text);
50 };
51
52 #endif