diff options
Diffstat (limited to 'libbuild2/test/script/parser.hxx')
-rw-r--r-- | libbuild2/test/script/parser.hxx | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/libbuild2/test/script/parser.hxx b/libbuild2/test/script/parser.hxx index f118ad3..6fe46e2 100644 --- a/libbuild2/test/script/parser.hxx +++ b/libbuild2/test/script/parser.hxx @@ -4,7 +4,6 @@ #ifndef LIBBUILD2_TEST_SCRIPT_PARSER_HXX #define LIBBUILD2_TEST_SCRIPT_PARSER_HXX -#include <set> #include <unordered_map> #include <libbuild2/types.hxx> @@ -63,7 +62,13 @@ namespace build2 optional<description>&, lines* = nullptr, bool one = false, - bool if_line = false); + optional<line_type> flow_control_type = nullopt); + + bool + pre_parse_block_line (token&, token_type&, + line_type block_type, + optional<description>&, + lines&); bool pre_parse_if_else (token&, token_type&, @@ -80,6 +85,12 @@ namespace build2 optional<description>&, lines&); + bool + pre_parse_loop (token&, token_type&, + line_type, + optional<description>&, + lines&); + void pre_parse_directive (token&, token_type&); @@ -118,7 +129,7 @@ namespace build2 // protected: virtual lookup - lookup_variable (name&&, string&&, const location&) override; + lookup_variable (names&&, string&&, const location&) override; // Insert id into the id map checking for duplicates. // @@ -132,7 +143,7 @@ namespace build2 // Pre-parse state. // using id_map = std::unordered_map<string, location>; - using include_set = std::set<path>; + using include_set = set<path>; group* group_; id_map* id_map_; |