File Index Symbol Index

/*********************************************************************** This file is generated by: Vczh Parser Generator From parser definition:GuiInstanceQuery_Parser.parser.txt Licensed under https://github.com/vczh-libraries/License ***********************************************************************/
#ifndef VCZH_PRESENTATION_REFLECTION_INSTANCEQUERY_GUIINSTANCEQUERY_PARSER_PARSER
#define VCZH_PRESENTATION_REFLECTION_INSTANCEQUERY_GUIINSTANCEQUERY_PARSER_PARSER
#include <VlppParser.h>
#include "GuiInstanceQuery_Ast.h"
namespace
vl
{
namespace
presentation
{
/// <summary>Get the grammar definition for this parser.</summary>
/// <returns>The grammar definition for this parser.</returns>
extern
vl
::
WString
GuiIqGetParserTextBuffer
();
/// <summary>Convert parser result to a strong typed AST node. Usually you don't need to use this function, unless you are doing meta programming like error recovering or implementing intellisense for an editor.</summary>
/// <returns>Returns the strong typed AST node.</returns>
/// <param name="node">The parser result.</param>
/// <param name="tokens">Tokens for parsing. You can get the <see cref="vl::regex::RegexLexer"/> by calling <see cref="vl::parsing::tabling::ParsingTable::GetLexer"/> from <see cref="GuiIqLoadTable"/></param>
extern
vl
::
Ptr
<
vl
::
parsing
::
ParsingTreeCustomBase
>
GuiIqConvertParsingTreeNode
(
vl
::
Ptr
<
vl
::
parsing
::
ParsingTreeNode
>
node
,
const
vl
::
collections
::
List
<
vl
::
regex
::
RegexToken
>&
tokens
);
/// <summary>Create the parser table. You should cache the value if possible, for improving performance.</summary>
/// <returns>The created parser table.</returns>
extern
vl
::
Ptr
<
vl
::
parsing
::
tabling
::
ParsingTable
>
GuiIqLoadTable
();
extern
vl
::
Ptr
<
vl
::
parsing
::
ParsingTreeNode
>
GuiIqParseAsParsingTreeNode
(
const
vl
::
WString
&
input
,
vl
::
Ptr
<
vl
::
parsing
::
tabling
::
ParsingTable
>
table
,
vl
::
collections
::
List
<
vl
::
Ptr
<
vl
::
parsing
::
ParsingError
>>&
errors
,
vl
::
vint
codeIndex
= -
1
);
extern
vl
::
Ptr
<
vl
::
parsing
::
ParsingTreeNode
>
GuiIqParseAsParsingTreeNode
(
const
vl
::
WString
&
input
,
vl
::
Ptr
<
vl
::
parsing
::
tabling
::
ParsingTable
>
table
,
vl
::
vint
codeIndex
= -
1
);
extern
vl
::
Ptr
<
GuiIqQuery
>
GuiIqParse
(
const
vl
::
WString
&
input
,
vl
::
Ptr
<
vl
::
parsing
::
tabling
::
ParsingTable
>
table
,
vl
::
collections
::
List
<
vl
::
Ptr
<
vl
::
parsing
::
ParsingError
>>&
errors
,
vl
::
vint
codeIndex
= -
1
);
extern
vl
::
Ptr
<
GuiIqQuery
>
GuiIqParse
(
const
vl
::
WString
&
input
,
vl
::
Ptr
<
vl
::
parsing
::
tabling
::
ParsingTable
>
table
,
vl
::
vint
codeIndex
= -
1
); } }
#endif