From dfb1415d5eaf006ee45235f275d17f52d3db38e5 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Mon, 18 May 2020 12:06:16 +0300 Subject: Add dump(ostream,script::lines) (partial implementation) --- libbuild2/build/script/parser.test.cxx | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'libbuild2/build/script/parser.test.cxx') diff --git a/libbuild2/build/script/parser.test.cxx b/libbuild2/build/script/parser.test.cxx index 2763464..77f6596 100644 --- a/libbuild2/build/script/parser.test.cxx +++ b/libbuild2/build/script/parser.test.cxx @@ -67,7 +67,10 @@ namespace build2 bool line_; }; - // Usage: argv[0] [-l] + // Usages: + // + // argv[0] [-l] + // argv[0] -d // int main (int argc, char* argv[]) @@ -86,6 +89,7 @@ namespace build2 context ctx (sched, mutexes); bool line (false); + bool dump (false); for (int i (1); i != argc; ++i) { @@ -93,10 +97,14 @@ namespace build2 if (a == "-l") line = true; + else if (a == "-d") + dump = true; else assert (false); } + assert (!dump || !line); + try { cin.exceptions (istream::failbit | istream::badbit); @@ -123,9 +131,14 @@ namespace build2 parser p (ctx); p.pre_parse (cin, nm, 11 /* line */, s); - environment e (s, tt); - print_runner r (line); - p.execute (e, r); + if (!dump) + { + environment e (s, tt); + print_runner r (line); + p.execute (e, r); + } + else + build2::script::dump (cout, "", s.lines); } catch (const failed&) { -- cgit v1.1