aboutsummaryrefslogtreecommitdiff
path: root/build2/test/script/parser
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2016-10-13 13:08:31 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2016-11-04 08:29:23 +0200
commit5381b25c51475c0c7a2f39e9f6efa623f621ef3e (patch)
tree634110f6d81fea2d67f13564a26030f088c154bc /build2/test/script/parser
parent18ce15f3aee71debe3f35356c6a739943815da8a (diff)
Continue work on testscript parser
Diffstat (limited to 'build2/test/script/parser')
-rw-r--r--build2/test/script/parser21
1 files changed, 11 insertions, 10 deletions
diff --git a/build2/test/script/parser b/build2/test/script/parser
index 720a077..0ba4710 100644
--- a/build2/test/script/parser
+++ b/build2/test/script/parser
@@ -25,11 +25,9 @@ namespace build2
class parser: protected build2::parser
{
public:
- using script_type = test::script::script;
-
// Issue diagnostics and throw failed in case of an error.
//
- script_type
+ script
parse (istream&, const path& name, target& test, target& script);
// Recursive descent parser.
@@ -40,25 +38,28 @@ namespace build2
//
protected:
void
- script (token&, token_type&);
+ parse_script (token&, token_type&);
void
- script_line (token&, token_type&);
+ parse_script_line (token&, token_type&);
void
- variable_line (token&, token_type&, string);
+ parse_variable_line (token&, token_type&, string);
void
- test_line (token&, token_type&, names_type, location);
+ parse_test_line (token&, token_type&, names_type, location);
- void
- command_exit (token&, token_type&);
+ command_exit
+ parse_command_exit (token&, token_type&);
+
+ string
+ parse_here_document (token&, token_type&, const string&);
protected:
using base_parser = build2::parser;
lexer* lexer_;
- script_type* script_;
+ script* script_;
};
}
}