File Index Symbol Index

/*********************************************************************** This file is generated by: Vczh Parser Generator From parser definition:WfExpression.parser.txt Licensed under https://github.com/vczh-libraries/License ***********************************************************************/
#ifndef VCZH_WORKFLOW_EXPRESSION_WFEXPRESSIONPARSER_PARSER
#define VCZH_WORKFLOW_EXPRESSION_WFEXPRESSIONPARSER_PARSER
#include <VlppParser.h>
#include "WfExpression_Ast.h"
namespace
vl
{
namespace
workflow
{
/// <summary>Get the grammar definition for this parser.</summary>
/// <returns>The grammar definition for this parser.</returns>
extern
vl
::
WString
WfGetParserTextBuffer
();
/// <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="WfLoadTable"/></param>
extern
vl
::
Ptr
<
vl
::
parsing
::
ParsingTreeCustomBase
>
WfConvertParsingTreeNode
(
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
>
WfLoadTable
();
extern
vl
::
Ptr
<
vl
::
parsing
::
ParsingTreeNode
>
WfParseCoProviderStatementAsParsingTreeNode
(
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
>
WfParseCoProviderStatementAsParsingTreeNode
(
const
vl
::
WString
&
input
,
vl
::
Ptr
<
vl
::
parsing
::
tabling
::
ParsingTable
>
table
,
vl
::
vint
codeIndex
= -
1
);
extern
vl
::
Ptr
<
WfStatement
>
WfParseCoProviderStatement
(
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
<
WfStatement
>
WfParseCoProviderStatement
(
const
vl
::
WString
&
input
,
vl
::
Ptr
<
vl
::
parsing
::
tabling
::
ParsingTable
>
table
,
vl
::
vint
codeIndex
= -
1
);
extern
vl
::
Ptr
<
vl
::
parsing
::
ParsingTreeNode
>
WfParseDeclarationAsParsingTreeNode
(
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
>
WfParseDeclarationAsParsingTreeNode
(
const
vl
::
WString
&
input
,
vl
::
Ptr
<
vl
::
parsing
::
tabling
::
ParsingTable
>
table
,
vl
::
vint
codeIndex
= -
1
);
extern
vl
::
Ptr
<
WfDeclaration
>
WfParseDeclaration
(
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
<
WfDeclaration
>
WfParseDeclaration
(
const
vl
::
WString
&
input
,
vl
::
Ptr
<
vl
::
parsing
::
tabling
::
ParsingTable
>
table
,
vl
::
vint
codeIndex
= -
1
);
extern
vl
::
Ptr
<
vl
::
parsing
::
ParsingTreeNode
>
WfParseExpressionAsParsingTreeNode
(
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
>
WfParseExpressionAsParsingTreeNode
(
const
vl
::
WString
&
input
,
vl
::
Ptr
<
vl
::
parsing
::
tabling
::
ParsingTable
>
table
,
vl
::
vint
codeIndex
= -
1
);
extern
vl
::
Ptr
<
WfExpression
>
WfParseExpression
(
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
<
WfExpression
>
WfParseExpression
(
const
vl
::
WString
&
input
,
vl
::
Ptr
<
vl
::
parsing
::
tabling
::
ParsingTable
>
table
,
vl
::
vint
codeIndex
= -
1
);
extern
vl
::
Ptr
<
vl
::
parsing
::
ParsingTreeNode
>
WfParseModuleAsParsingTreeNode
(
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
>
WfParseModuleAsParsingTreeNode
(
const
vl
::
WString
&
input
,
vl
::
Ptr
<
vl
::
parsing
::
tabling
::
ParsingTable
>
table
,
vl
::
vint
codeIndex
= -
1
);
extern
vl
::
Ptr
<
WfModule
>
WfParseModule
(
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
<
WfModule
>
WfParseModule
(
const
vl
::
WString
&
input
,
vl
::
Ptr
<
vl
::
parsing
::
tabling
::
ParsingTable
>
table
,
vl
::
vint
codeIndex
= -
1
);
extern
vl
::
Ptr
<
vl
::
parsing
::
ParsingTreeNode
>
WfParseStatementAsParsingTreeNode
(
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
>
WfParseStatementAsParsingTreeNode
(
const
vl
::
WString
&
input
,
vl
::
Ptr
<
vl
::
parsing
::
tabling
::
ParsingTable
>
table
,
vl
::
vint
codeIndex
= -
1
);
extern
vl
::
Ptr
<
WfStatement
>
WfParseStatement
(
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
<
WfStatement
>
WfParseStatement
(
const
vl
::
WString
&
input
,
vl
::
Ptr
<
vl
::
parsing
::
tabling
::
ParsingTable
>
table
,
vl
::
vint
codeIndex
= -
1
);
extern
vl
::
Ptr
<
vl
::
parsing
::
ParsingTreeNode
>
WfParseTypeAsParsingTreeNode
(
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
>
WfParseTypeAsParsingTreeNode
(
const
vl
::
WString
&
input
,
vl
::
Ptr
<
vl
::
parsing
::
tabling
::
ParsingTable
>
table
,
vl
::
vint
codeIndex
= -
1
);
extern
vl
::
Ptr
<
WfType
>
WfParseType
(
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
<
WfType
>
WfParseType
(
const
vl
::
WString
&
input
,
vl
::
Ptr
<
vl
::
parsing
::
tabling
::
ParsingTable
>
table
,
vl
::
vint
codeIndex
= -
1
); } }
#endif