1 #ifndef BUILDLANGSERVERPARSER_HPP
2 #define BUILDLANGSERVERPARSER_HPP
3 #include <cmajor/build/BuildApi.hpp>
4 #include <cmajor/build/BuildOption.hpp>
5 #include <cmajor/build/ServerCommand.hpp>
6 #include <memory>
7 #include <soulng/lexer/Token.hpp>
8 #include <soulng/parser/Match.hpp>
9 #include <soulng/parser/Value.hpp>
10
11
12
13 class BuildLangLexer;
14
15 struct BuildLangServerParser
16 {
17 static std::unique_ptr<cmajor::build::ServerCommand> Parse(BuildLangLexer& lexer, cmajor::build::BuildOptionSetter* optionSetter);
18 static soulng::parser::Match ServerSentence(BuildLangLexer& lexer, cmajor::build::BuildOptionSetter* optionSetter);
19 static soulng::parser::Match ServerCommandSentence(BuildLangLexer& lexer);
20 static soulng::parser::Match AddServerSentence(BuildLangLexer& lexer);
21 static soulng::parser::Match RemoveServerSentence(BuildLangLexer& lexer);
22 static soulng::parser::Match RunServerSentence(BuildLangLexer& lexer);
23 static soulng::parser::Match ShowConfigurationSentence(BuildLangLexer& lexer);
24 static soulng::parser::Match ServerId(BuildLangLexer& lexer);
25 static soulng::parser::Match Port(BuildLangLexer& lexer);
26 };
27
28 #endif // BUILDLANGSERVERPARSER_HPP