aboutsummaryrefslogtreecommitdiff
path: root/build/parser
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-03-07 14:36:51 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-03-07 14:36:51 +0200
commit7de6f6f275d840e8d9523c72d8f4309c51b4dcd3 (patch)
tree4b0387fe8f80db3ea6214aea330c03f3d1145c08 /build/parser
parent897a0e4fdf9ca90ee8d236a38e138a8ae6bc3627 (diff)
Add support for buildspec
Diffstat (limited to 'build/parser')
-rw-r--r--build/parser13
1 files changed, 11 insertions, 2 deletions
diff --git a/build/parser b/build/parser
index 4375b27..25866bc 100644
--- a/build/parser
+++ b/build/parser
@@ -12,6 +12,7 @@
#include <build/path>
#include <build/token>
#include <build/name>
+#include <build/spec>
#include <build/diagnostics>
namespace build
@@ -25,10 +26,13 @@ namespace build
public:
parser (): fail (&path_) {}
- // Issues diagnostics and throws failed in case of an error.
+ // Issue diagnostics and throw failed in case of an error.
//
void
- parse (std::istream&, const path&, scope&);
+ parse_buildfile (std::istream&, const path&, scope&);
+
+ buildspec
+ parse_buildspec (std::istream&, const std::string& name);
// Recursive descent parser.
//
@@ -60,6 +64,11 @@ namespace build
names_type&, std::size_t pair,
const path* dir, const std::string* type);
+ // Buildspec.
+ //
+ buildspec
+ buildspec_clause (token&, token_type&, token_type end);
+
// Utilities.
//
private: