From 323e774380995c04ae705e29ae0e51d62246333d Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 9 Nov 2017 17:06:35 +0200 Subject: Add support for for-loop The semantics is similar to the C++11 range-based for: list = 1 2 3 for i: $list print $i Note that there is no scoping of any kind for the loop variable ('i' in the above example). See tests/loop/for.test for some examples/ideas. In the future the plan is to also support more general while-loop as well as break and continue. --- build2/test/script/lexer.hxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'build2/test') diff --git a/build2/test/script/lexer.hxx b/build2/test/script/lexer.hxx index a262764..5e013b2 100644 --- a/build2/test/script/lexer.hxx +++ b/build2/test/script/lexer.hxx @@ -49,7 +49,11 @@ namespace build2 const path& name, lexer_mode m, const char* escapes = nullptr) - : base_lexer (is, name, nullptr, false) + : base_lexer (is, + name, + 1 /* line */, + nullptr /* escapes */, + false /* set_mode */) { mode (m, '\0', escapes); } -- cgit v1.1