1 #ifndef SOLUTIONFILE_HPP
  
   2 #define SOLUTIONFILE_HPP
  
   3 #include <sngcm/cmparser/ParserApi.hpp>
  
   4 #include <sngcm/ast/Solution.hpp>
  
   5 #include <soulng/lexer/Token.hpp>
  
   6 #include <soulng/parser/Match.hpp>
  
   7 #include <soulng/parser/Value.hpp>
  
   8 
  
   9 
  
  10 
  
  11 class ContainerFileLexer;
  
  12 
  
  13 struct SolutionFileParser 
  
  14 {
  
  15     static std::unique_ptr<sngcm::ast::Solution> Parse(ContainerFileLexer& lexer);
  
  16     static soulng::parser::Match SolutionFile(ContainerFileLexer& lexer);
  
  17     static soulng::parser::Match QualifiedId(ContainerFileLexer& lexer);
  
  18     static soulng::parser::Match Declaration(ContainerFileLexer& lexer);
  
  19     static soulng::parser::Match SolutionProjectDeclaration(ContainerFileLexer& lexer);
  
  20     static soulng::parser::Match ActiveProjectDeclaration(ContainerFileLexer& lexer);
  
  21 };
  
  22 
  
  23 #endif // SOLUTIONFILE_HPP