1 #ifndef SOURCEFILE_HPP
2 #define SOURCEFILE_HPP
3 #include <sngcpp/parser/ParserApi.hpp>
4 #include <sngcpp/parser/ParsingContext.hpp>
5 #include <sngcpp/parser/Declaration.hpp>
6 #include <soulng/lexer/Token.hpp>
7 #include <soulng/parser/Match.hpp>
8 #include <soulng/parser/Value.hpp>
9
10
11
12 class CppLexer;
13
14 struct SourceFileParser
15 {
16 static void Parse(CppLexer& lexer, sngcpp::ast::SourceFileNode* sourceFile);
17 static soulng::parser::Match SourceFile(CppLexer& lexer, sngcpp::ast::SourceFileNode* sourceFile);
18 static soulng::parser::Match Declarations(CppLexer& lexer, sngcpp::cppparser::ParsingContext* ctx, sngcpp::ast::NamespaceNode* ns);
19 };
20
21 #endif // SOURCEFILE_HPP