diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2016-10-28 10:10:08 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2016-11-04 09:26:36 +0200 |
commit | cd40097447ff2400cb420ec973c16dadd26e6cda (patch) | |
tree | bcd1c902d487e7a60ffffd5b02b7c608829fbc57 /build2/test/script/parser | |
parent | e61874e76052d3600d6f10807248f92935f3dd61 (diff) |
Implement description support in testscript
Diffstat (limited to 'build2/test/script/parser')
-rw-r--r-- | build2/test/script/parser | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/build2/test/script/parser b/build2/test/script/parser index 1d8ecf3..f8a5f3e 100644 --- a/build2/test/script/parser +++ b/build2/test/script/parser @@ -54,8 +54,13 @@ namespace build2 void parse_scope_body (); + description + pre_parse_description (token&, token_type&); + void - pre_parse_line (token&, token_type&, lines* = nullptr); + pre_parse_line (token&, token_type&, + optional<description>&&, + lines* = nullptr); bool parse_variable_line (token&, token_type&); @@ -87,6 +92,12 @@ namespace build2 size_t replay_quoted_; + // Insert id into the id map checking for duplicates. + // + protected: + const string& + insert_id (string, location); + protected: using base_parser = build2::parser; @@ -96,7 +107,10 @@ namespace build2 // Pre-parse state. // + using id_map = std::unordered_map<string, location>; + group* group_; + id_map* id_map_; // Parse state. // |