00001 /****************************************************************************** 00002 * 00003 * $Id: fortranscanner.h,v 1.1 2006/08/23 07:44:03 zdv058 Exp $ 00004 * 00005 * Copyright (C) 1997-2008 by Dimitri van Heesch. 00006 * 00007 * Permission to use, copy, modify, and distribute this software and its 00008 * documentation under the terms of the GNU General Public License is hereby 00009 * granted. No representations are made about the suitability of this software 00010 * for any purpose. It is provided "as is" without express or implied warranty. 00011 * See the GNU General Public License for more details. 00012 * 00013 * Documents produced by Doxygen are derivative works derived from the 00014 * input used in their production; they are not affected by this license. 00015 * 00016 */ 00017 00018 #ifndef SCANNER_FORTRAN_H 00019 #define SCANNER_FORTRAN_H 00020 00021 #include "parserintf.h" 00022 00027 class FortranLanguageScanner : public ParserInterface 00028 { 00029 public: 00030 virtual ~FortranLanguageScanner() {} 00031 void parseInput(const char *fileName, 00032 const char *fileBuf, 00033 Entry *root); 00034 bool needsPreprocessing(const QCString &extension); 00035 void parseCode(CodeOutputInterface &codeOutIntf, 00036 const char *scopeName, 00037 const QCString &input, 00038 bool isExampleBlock, 00039 const char *exampleName=0, 00040 FileDef *fileDef=0, 00041 int startLine=-1, 00042 int endLine=-1, 00043 bool inlineFragment=FALSE, 00044 MemberDef *memberDef=0 00045 ); 00046 void resetCodeParserState(); 00047 void parsePrototype(const char *text); 00048 }; 00049 00050 #endif