Doxygen
Toggle main menu visibility
Loading...
Searching...
No Matches
lexscanner.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_LEX_H
17
#define SCANNER_LEX_H
18
19
#include "
parserintf.h
"
20
21
/** \brief Lex language parser using state-based lexical scanning.
22
*
23
* This is the Lex language parser for doxygen.
24
*/
25
class
LexOutlineParser
final :
public
OutlineParserInterface
26
{
27
public
:
28
LexOutlineParser
();
29
~LexOutlineParser
()
override
;
30
NON_COPYABLE
(
LexOutlineParser
)
31
void
parseInput
(
const
DString
&fileName,
32
const
char
*fileBuf,
33
const
std::shared_ptr<Entry> &root,
34
ClangTUParser
*clangParser)
override
;
35
bool
needsPreprocessing
(
const
DString
&
/* extension */
)
const override
{
return
true
; }
36
void
parsePrototype
(
const
DString
&
/* text */
)
override
{}
37
38
private
:
39
struct
Private;
40
std::unique_ptr<Private>
p
;
41
};
42
#endif
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
LexOutlineParser::LexOutlineParser
LexOutlineParser()
Definition
lexscanner.l:1001
LexOutlineParser::~LexOutlineParser
~LexOutlineParser() override
Definition
lexscanner.l:1009
LexOutlineParser::p
std::unique_ptr< Private > p
Definition
lexscanner.h:40
LexOutlineParser::parsePrototype
void parsePrototype(const DString &) override
Callback function called by the comment block scanner.
Definition
lexscanner.h:36
LexOutlineParser::needsPreprocessing
bool needsPreprocessing(const DString &) const override
Returns true if the language identified by extension needs the C preprocessor to be run before feed t...
Definition
lexscanner.h:35
OutlineParserInterface
Abstract interface for outline parsers.
Definition
parserintf.h:41
NON_COPYABLE
#define NON_COPYABLE(cls)
Macro to help implementing the rule of 5 for a non-copyable & movable class.
Definition
construct.h:37
parseInput
void parseInput()
Definition
doxygen.cpp:12520
parserintf.h
src
lexscanner.h
Generated by
1.19.0