aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/test/script/parser.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'libbuild2/test/script/parser.hxx')
-rw-r--r--libbuild2/test/script/parser.hxx18
1 files changed, 15 insertions, 3 deletions
diff --git a/libbuild2/test/script/parser.hxx b/libbuild2/test/script/parser.hxx
index f8c3f21..6fe46e2 100644
--- a/libbuild2/test/script/parser.hxx
+++ b/libbuild2/test/script/parser.hxx
@@ -62,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&,
@@ -79,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&);
@@ -117,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.
//
@@ -131,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_;