From a084c6650036db9f2a8cd69e31492c5dae237793 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 10 Nov 2016 16:33:12 +0200 Subject: Implement scope-if in testscript --- build2/test/script/parser | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'build2/test/script/parser') diff --git a/build2/test/script/parser b/build2/test/script/parser index a543edf..23a52d4 100644 --- a/build2/test/script/parser +++ b/build2/test/script/parser @@ -37,7 +37,8 @@ namespace build2 void parse (script& s, runner& r) { - parse (s, s, r); + if (!s.empty ()) + parse (s, s, r); } // Recursive descent parser. @@ -51,6 +52,9 @@ namespace build2 void parse (scope&, script&, runner&); + bool + demote_group_scope (unique_ptr&); + token pre_parse_scope_body (); @@ -75,11 +79,24 @@ namespace build2 void parse_lines (lines::iterator, lines::iterator, size_t&, bool); + command_expr + parse_command_expr (token&, token_type&); + bool pre_parse_if_else (token&, token_type&, optional&, lines&); + bool + pre_parse_if_else_scope (token&, token_type&, + optional&, + lines&); + + bool + pre_parse_if_else_command (token&, token_type&, + optional&, + lines&); + void parse_directive_line (token&, token_type&); -- cgit v1.1