aboutsummaryrefslogtreecommitdiff
path: root/build/parser
diff options
context:
space:
mode:
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: