ISLEman
scanner.h
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 
18 #ifndef SCANNER_H
19 #define SCANNER_H
20 
21 #include "parserintf.h"
22 
30 {
31  public:
32  virtual ~CLanguageScanner() {}
33  void startTranslationUnit(const char *fileName);
34  void finishTranslationUnit();
35  void parseInput(const char *fileName,
36  const char *fileBuf,
37  Entry *root,
38  bool sameTranslationUnit,
39  QStrList &filesInSameTranslationUnit);
40  bool needsPreprocessing(const QCString &extension);
41  void parseCode(CodeOutputInterface &codeOutIntf,
42  const char *scopeName,
43  const QCString &input,
44  SrcLangExt lang,
45  bool isExampleBlock,
46  const char *exampleName=0,
47  FileDef *fileDef=0,
48  int startLine=-1,
49  int endLine=-1,
50  bool inlineFragment=FALSE,
51  MemberDef *memberDef=0,
52  bool showLineNumbers=TRUE,
53  Definition *searchCtx=0,
54  bool collectXRefs=TRUE
55  );
56  void resetCodeParserState();
57  void parsePrototype(const char *text);
58 };
59 
60 void scanFreeScanner();
61 
62 #endif
Definition: qstrlist.h:57
void startTranslationUnit(const char *fileName)
Starts processing a translation unit (source files + headers).
The common base class of all entity definitions found in the sources.
Definition: definition.h:92
A model of a class/file/namespace member symbol.
Definition: memberdef.h:43
Represents an unstructured piece of information, about an entity found in the sources.
Definition: entry.h:63
Abstract interface for programming language parsers.
Definition: parserintf.h:38
C-like language parser using state-based lexical scanning.
Definition: scanner.h:29
A model of a file symbol.
Definition: filedef.h:64
SrcLangExt
Language as given by extension.
Definition: types.h:41
void parsePrototype(const char *text)
Callback function called by the comment block scanner.
void parseCode(CodeOutputInterface &codeOutIntf, const char *scopeName, const QCString &input, SrcLangExt lang, bool isExampleBlock, const char *exampleName=0, FileDef *fileDef=0, int startLine=-1, int endLine=-1, bool inlineFragment=FALSE, MemberDef *memberDef=0, bool showLineNumbers=TRUE, Definition *searchCtx=0, bool collectXRefs=TRUE)
Parses a source file or fragment with the goal to produce highlighted and cross-referenced output...
void finishTranslationUnit()
Called after all files in a translation unit have been processed.
bool needsPreprocessing(const QCString &extension)
Returns TRUE if the language identified by extension needs the C preprocessor to be run before feed t...
void parseInput(const char *fileName, const char *fileBuf, Entry *root, bool sameTranslationUnit, QStrList &filesInSameTranslationUnit)
Parses a single input file with the goal to build an Entry tree.
This is an alternative implementation of QCString.
Definition: qcstring.h:131
Output interface for code parser.
Definition: outputgen.h:59
void resetCodeParserState()
Resets the state of the code parser.