Doxygen
Toggle main menu visibility
Loading...
Searching...
No Matches
scanner.h
Go to the documentation of this file.
1
/******************************************************************************
2
*
3
* Copyright (C) 1997-2026 by Dimitri van Heesch.
4
*
5
* Permission to use, copy, modify, and distribute this software and its
6
* documentation under the terms of the GNU General Public License is hereby
7
* granted. No representations are made about the suitability of this software
8
* for any purpose. It is provided "as is" without express or implied warranty.
9
* See the GNU General Public License for more details.
10
*
11
* Documents produced by Doxygen are derivative works derived from the
12
* input used in their production; they are not affected by this license.
13
*
14
*/
15
16
#ifndef SCANNER_H
17
#define SCANNER_H
18
19
#include "
parserintf.h
"
20
21
/** \brief C-like language parser using state-based lexical scanning.
22
*
23
* This is the language parser for doxygen. It is somewhat fuzzy and
24
* supports C++ and various languages that are closely related to C++,
25
* such as C, C#, Objective-C, Java, PHP, and IDL.
26
*/
27
class
COutlineParser
final :
public
OutlineParserInterface
28
{
29
public
:
30
COutlineParser
();
31
COutlineParser
(
const
COutlineParser
&) =
delete
;
32
COutlineParser
&
operator=
(
COutlineParser
&) =
delete
;
33
COutlineParser
(
COutlineParser
&&) =
delete
;
34
COutlineParser
&
operator=
(
COutlineParser
&&) =
delete
;
35
~COutlineParser
()
override
;
36
void
parseInput
(
const
DString
&fileName,
37
const
char
*fileBuf,
38
const
std::shared_ptr<Entry> &root,
39
ClangTUParser
*clangParser)
override
;
40
bool
needsPreprocessing
(
const
DString
&extension)
const override
;
41
void
parsePrototype
(
const
DString
&text)
override
;
42
private
:
43
struct
Private
;
44
std::unique_ptr<Private>
p
;
45
};
46
47
48
#endif
COutlineParser::parsePrototype
void parsePrototype(const DString &text) override
Callback function called by the comment block scanner.
Definition
scanner.l:9016
COutlineParser::COutlineParser
COutlineParser(COutlineParser &&)=delete
COutlineParser::operator=
COutlineParser & operator=(COutlineParser &&)=delete
COutlineParser::operator=
COutlineParser & operator=(COutlineParser &)=delete
COutlineParser::COutlineParser
COutlineParser()
Definition
scanner.l:8978
COutlineParser::needsPreprocessing
bool needsPreprocessing(const DString &extension) const override
Returns true if the language identified by extension needs the C preprocessor to be run before feed t...
Definition
scanner.l:9006
COutlineParser::parseInput
void parseInput(const DString &fileName, const char *fileBuf, const std::shared_ptr< Entry > &root, ClangTUParser *clangParser) override
Parses a single input file with the goal to build an Entry tree.
Definition
scanner.l:8991
COutlineParser::p
std::unique_ptr< Private > p
Definition
scanner.h:44
COutlineParser::COutlineParser
COutlineParser(const COutlineParser &)=delete
ClangTUParser
Clang parser object for a single translation unit, which consists of a source file and the directly o...
Definition
clangparser.h:25
DString
A String class for use with Doxygen wrapping std::string and adding some additional functionality off...
Definition
dstring.h:88
OutlineParserInterface
Abstract interface for outline parsers.
Definition
parserintf.h:41
parserintf.h
COutlineParser::Private
Definition
scanner.l:8973
src
scanner.h
Generated by
1.19.0