1 #ifndef DECLARATOR_HPP
2 #define DECLARATOR_HPP
3 #include <sngcpp/parser/ParserApi.hpp>
4 #include <sngcpp/parser/ParsingContext.hpp>
5 #include <soulng/lexer/Token.hpp>
6 #include <soulng/parser/Match.hpp>
7 #include <soulng/parser/Value.hpp>
8
9
10
11 class CppLexer;
12
13 struct DeclaratorParser
14 {
15 static soulng::parser::Match InitDeclarator(CppLexer& lexer, sngcpp::cppparser::ParsingContext* ctx);
16 static soulng::parser::Match Declarator(CppLexer& lexer, sngcpp::cppparser::ParsingContext* ctx);
17 static soulng::parser::Match Initializer(CppLexer& lexer, sngcpp::cppparser::ParsingContext* ctx);
18 static soulng::parser::Match BraceOrEqualInitializer(CppLexer& lexer, sngcpp::cppparser::ParsingContext* ctx);
19 static soulng::parser::Match BracedInitializerList(CppLexer& lexer, sngcpp::cppparser::ParsingContext* ctx);
20 static soulng::parser::Match InitializerClause(CppLexer& lexer, sngcpp::cppparser::ParsingContext* ctx);
21 static soulng::parser::Match InitializerList(CppLexer& lexer, sngcpp::cppparser::ParsingContext* ctx);
22 };
23
24 #endif // DECLARATOR_HPP