From 47751abc43dab40e0ac4a1523994fd533e6a3b22 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 16 Jan 2015 15:32:00 +0200 Subject: Add support for directory prefixes For example: cxx{driver ../{foo bar}} cxx{driver} ../cxx{foo bar} --- build/parser | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'build/parser') diff --git a/build/parser b/build/parser index e8e7314..66c0357 100644 --- a/build/parser +++ b/build/parser @@ -39,10 +39,11 @@ namespace build private: struct name_type { - name_type (std::string t, std::string n) - : type (std::move (t)), name (std::move (n)) {} + name_type (std::string t, path d, std::string n) + : type (std::move (t)), dir (std::move (d)), name (std::move (n)) {} std::string type; // Empty if untyped. + path dir; std::string name; }; @@ -55,12 +56,13 @@ namespace build parse_names (token& t, token_type& tt) { names ns; - parse_names (t, tt, ns, nullptr); + parse_names (t, tt, ns, nullptr, nullptr); return ns; } void - parse_names (token&, token_type&, names&, const std::string* type); + parse_names (token&, token_type&, names&, + const path* dir, const std::string* type); // Utilities. // -- cgit v1.1