diff options
Diffstat (limited to 'build2/test/script/parser')
-rw-r--r-- | build2/test/script/parser | 19 |
1 files changed, 18 insertions, 1 deletions
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<scope>&); + 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<description>&, lines&); + bool + pre_parse_if_else_scope (token&, token_type&, + optional<description>&, + lines&); + + bool + pre_parse_if_else_command (token&, token_type&, + optional<description>&, + lines&); + void parse_directive_line (token&, token_type&); |