aboutsummaryrefslogtreecommitdiff
path: root/build2/test/script/lexer
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2016-11-25 15:17:01 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2016-11-25 15:17:01 +0200
commit757f42e7dea94f8b79b3d55074dedeafd853ddc5 (patch)
tree8fa27fd27e36a85a6348d85b746d49a676a27027 /build2/test/script/lexer
parenta3dad2118fb3925ef4f9baa90cea0dfd44ca93c6 (diff)
Implement literal here-document support
Diffstat (limited to 'build2/test/script/lexer')
-rw-r--r--build2/test/script/lexer10
1 files changed, 7 insertions, 3 deletions
diff --git a/build2/test/script/lexer b/build2/test/script/lexer
index 5597e9a..b812f84 100644
--- a/build2/test/script/lexer
+++ b/build2/test/script/lexer
@@ -29,7 +29,8 @@ namespace build2
second_token, // Expires at the end of the token.
variable_line, // Expires at the end of the line.
command_line,
- here_line,
+ here_line_single,
+ here_line_double,
description_line // Expires at the end of the line.
};
@@ -48,10 +49,13 @@ namespace build2
const path& name,
lexer_mode m,
const char* escapes = nullptr)
- : base_lexer (is, name, escapes, nullptr, false) {mode (m);}
+ : base_lexer (is, name, nullptr, nullptr, false)
+ {
+ mode (m, '\0', escapes);
+ }
virtual void
- mode (base_mode, char = '\0') override;
+ mode (base_mode, char = '\0', const char* = nullptr) override;
// Number of quoted (double or single) tokens since last reset.
//