From 996136ec9b8d002b7f1cbd2d7eeac850a561143d Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 19 Oct 2016 15:08:30 +0200 Subject: Implement two-stage testscript parsing --- build2/test/script/script | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'build2/test/script/script') diff --git a/build2/test/script/script b/build2/test/script/script index 590013a..e3afbca 100644 --- a/build2/test/script/script +++ b/build2/test/script/script @@ -12,6 +12,8 @@ #include +#include // replay_tokens + namespace build2 { class target; @@ -20,6 +22,18 @@ namespace build2 { namespace script { + // Pre-parse representation. + // + enum class line_type {variable, test}; + + struct line + { + line_type type; + replay_tokens tokens; + }; + + // Parse object model. + // enum class redirect_type { none, @@ -118,6 +132,11 @@ namespace build2 // value& append (const variable&); + + // Pre-parse. + // + public: + vector lines; }; class script: public scope -- cgit v1.1