1 #ifndef PROJECTFILEPARSER_HPP
2 #define PROJECTFILEPARSER_HPP
3 #include <sng2html/sng2html/ProjectFile.hpp>
4 #include <memory>
5 #include <soulng/lexer/Token.hpp>
6 #include <soulng/parser/Match.hpp>
7 #include <soulng/parser/Value.hpp>
8
9
10
11 class ProjectFileLexer;
12
13 struct ProjectFileParser
14 {
15 static std::unique_ptr<sng2html::sng2html::ProjectFile> Parse(ProjectFileLexer& lexer);
16 static soulng::parser::Match ProjectFile(ProjectFileLexer& lexer);
17 static soulng::parser::Match ProjectFileContent(ProjectFileLexer& lexer, sng2html::sng2html::ProjectFile* projectFile);
18 static soulng::parser::Match QualifiedId(ProjectFileLexer& lexer);
19 static soulng::parser::Match SourceFile(ProjectFileLexer& lexer, sng2html::sng2html::ProjectFile* projectFile);
20 };
21
22 #endif // PROJECTFILEPARSER_HPP