1 #ifndef STATEMENT_HPP
 2 #define STATEMENT_HPP
 3 #include <sngcpp/parser/ParserApi.hpp>
 4 #include <sngcpp/ast/Statement.hpp>
 5 #include <sngcpp/parser/ParsingContext.hpp>
 6 #include <soulng/lexer/Token.hpp>
 7 #include <soulng/parser/Match.hpp>
 8 #include <soulng/parser/Value.hpp>
 9 
10 // this file has been automatically generated from 'D:/work/soulng-project/sngcpp/parser/Statement.parser' using soulng parser generator spg version 3.0.0
11 
12 class CppLexer;
13 
14 struct StatementParser 
15 {
16     static soulng::parser::Match Statement(CppLexer& lexersngcpp::cppparser::ParsingContext* ctx);
17     static soulng::parser::Match LabeledStatement(CppLexer& lexersngcpp::cppparser::ParsingContext* ctx);
18     static soulng::parser::Match ExpressionStatement(CppLexer& lexersngcpp::cppparser::ParsingContext* ctx);
19     static soulng::parser::Match CompoundStatement(CppLexer& lexersngcpp::cppparser::ParsingContext* ctx);
20     static soulng::parser::Match SelectionStatement(CppLexer& lexersngcpp::cppparser::ParsingContext* ctx);
21     static soulng::parser::Match IterationStatement(CppLexer& lexersngcpp::cppparser::ParsingContext* ctx);
22     static soulng::parser::Match JumpStatement(CppLexer& lexersngcpp::cppparser::ParsingContext* ctx);
23     static soulng::parser::Match DeclarationStatement(CppLexer& lexersngcpp::cppparser::ParsingContext* ctx);
24     static soulng::parser::Match TryStatement(CppLexer& lexersngcpp::cppparser::ParsingContext* ctx);
25     static soulng::parser::Match HandlerSequence(CppLexer& lexersngcpp::cppparser::ParsingContext* ctxsngcpp::ast::TryStatementNode* tryStatementNode);
26     static soulng::parser::Match Handler(CppLexer& lexersngcpp::cppparser::ParsingContext* ctx);
27     static soulng::parser::Match Condition(CppLexer& lexersngcpp::cppparser::ParsingContext* ctx);
28     static soulng::parser::Match ForRangeDeclaration(CppLexer& lexersngcpp::cppparser::ParsingContext* ctx);
29     static soulng::parser::Match ForRangeInitializer(CppLexer& lexersngcpp::cppparser::ParsingContext* ctx);
30     static soulng::parser::Match ForInitStatement(CppLexer& lexersngcpp::cppparser::ParsingContext* ctx);
31     static soulng::parser::Match ExceptionDeclaration(CppLexer& lexersngcpp::cppparser::ParsingContext* ctx);
32 };
33 
34 #endif // STATEMENT_HPP