1 #ifndef BUILDLANGOPTIONPARSER_HPP
2 #define BUILDLANGOPTIONPARSER_HPP
3 #include <cmajor/build/BuildApi.hpp>
4 #include <cmajor/build/BuildOption.hpp>
5 #include <soulng/lexer/Token.hpp>
6 #include <soulng/parser/Match.hpp>
7 #include <soulng/parser/Value.hpp>
8
9
10
11 class BuildLangLexer;
12
13 struct BuildLangOptionParser
14 {
15 static soulng::parser::Match Options(BuildLangLexer& lexer, cmajor::build::BuildOptionSetter* optionSetter);
16 static soulng::parser::Match OptionsWithinBrackets(BuildLangLexer& lexer, cmajor::build::BuildOptionSetter* optionSetter);
17 static soulng::parser::Match Option(BuildLangLexer& lexer, cmajor::build::BuildOptionSetter* optionSetter);
18 static soulng::parser::Match Config(BuildLangLexer& lexer);
19 static soulng::parser::Match ToolChain(BuildLangLexer& lexer);
20 };
21
22 #endif // BUILDLANGOPTIONPARSER_HPP