diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2016-10-19 15:08:30 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2016-11-04 09:26:30 +0200 |
commit | 996136ec9b8d002b7f1cbd2d7eeac850a561143d (patch) | |
tree | 87bc68bfdf086191725fe211444f71ca4904f6fb /build2/test/script/parser | |
parent | 56eb8c36b5b408e08760fa18cf893e5e8a613b7a (diff) |
Implement two-stage testscript parsing
Diffstat (limited to 'build2/test/script/parser')
-rw-r--r-- | build2/test/script/parser | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/build2/test/script/parser b/build2/test/script/parser index adff8a3..6531aba 100644 --- a/build2/test/script/parser +++ b/build2/test/script/parser @@ -29,7 +29,10 @@ namespace build2 // Issue diagnostics and throw failed in case of an error. // void - parse (istream&, const path& name, script&, runner&); + pre_parse (istream&, const path& name, script&); + + void + parse (const path& name, script&, runner&); // Recursive descent parser. // @@ -40,10 +43,16 @@ namespace build2 // protected: void + pre_parse_script (); + + void parse_script (); + line_type + pre_parse_script_line (token&, token_type&); + void - parse_script_line (token&, token_type&); + parse_script_line (token&, token_type&, line_type); void parse_variable_line (token&, token_type&); |