Doxygen
Loading...
Searching...
No Matches
lexcode.h
Go to the documentation of this file.
1/******************************************************************************
2 *
3 * Copyright (C) 1997-2021 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
17#ifndef LEXCODE_H
18#define LEXCODE_H
19
20#include "parserintf.h"
21
22class FileDef;
23class MemberDef;
24class QCString;
25class Definition;
26
27/** LEX code scanner.
28 */
30{
31 public:
33 ~LexCodeParser() override;
35
36 void parseCode(OutputCodeList &codeOutIntf,
37 const QCString &scopeName,
38 const QCString &input,
40 bool stripCodeComments,
41 bool isExampleBlock,
42 const QCString &exampleName=QCString(),
43 const FileDef *fileDef=nullptr,
44 int startLine=-1,
45 int endLine=-1,
46 bool inlineFragment=FALSE,
47 const MemberDef *memberDef=nullptr,
48 bool showLineNumbers=TRUE,
49 const Definition *searchCtx=nullptr,
50 bool collectXRefs=TRUE
51 ) override;
52 void resetCodeParserState() override;
53 private:
54 struct Private;
55 std::unique_ptr<Private> p;
56};
57
58
59#endif
Abstract interface for code parsers.
Definition parserintf.h:83
The common base class of all entity definitions found in the sources.
Definition definition.h:76
A model of a file symbol.
Definition filedef.h:99
std::unique_ptr< Private > p
Definition lexcode.h:55
void parseCode(OutputCodeList &codeOutIntf, const QCString &scopeName, const QCString &input, SrcLangExt, bool stripCodeComments, bool isExampleBlock, const QCString &exampleName=QCString(), const FileDef *fileDef=nullptr, int startLine=-1, int endLine=-1, bool inlineFragment=FALSE, const MemberDef *memberDef=nullptr, bool showLineNumbers=TRUE, const Definition *searchCtx=nullptr, bool collectXRefs=TRUE) override
Parses a source file or fragment with the goal to produce highlighted and cross-referenced output.
Definition lexcode.l:1197
void resetCodeParserState() override
Resets the state of the code parser.
Definition lexcode.l:1190
~LexCodeParser() override
Definition lexcode.l:1185
A model of a class/file/namespace member symbol.
Definition memberdef.h:48
This is an alternative implementation of QCString.
Definition qcstring.h:101
#define NON_COPYABLE(cls)
Macro to help implementing the rule of 5 for a non-copyable & movable class.
Definition construct.h:37
#define TRUE
Definition qcstring.h:37
#define FALSE
Definition qcstring.h:34
SrcLangExt
Language as given by extension.
Definition types.h:42