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