aboutsummaryrefslogtreecommitdiff
path: root/build2/lexer.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'build2/lexer.cxx')
-rw-r--r--build2/lexer.cxx19
1 files changed, 17 insertions, 2 deletions
diff --git a/build2/lexer.cxx b/build2/lexer.cxx
index 66f50b0..8287640 100644
--- a/build2/lexer.cxx
+++ b/build2/lexer.cxx
@@ -39,8 +39,8 @@ namespace build2
{
case lexer_mode::normal:
{
- s1 = ":=+ $(){}[]#\t\n";
- s2 = " = ";
+ s1 = ":<>=+ $(){}[]#\t\n";
+ s2 = " = ";
break;
}
case lexer_mode::value:
@@ -205,10 +205,25 @@ namespace build2
}
}
+ // The following characters are special in the normal mode.
+ //
+ if (m == lexer_mode::normal)
+ {
+ // NOTE: remember to update mode() if adding new special characters.
+ //
+ switch (c)
+ {
+ case '<': return make_token (type::labrace);
+ case '>': return make_token (type::rabrace);
+ }
+ }
+
// The following characters are special in the buildspec mode.
//
if (m == lexer_mode::buildspec)
{
+ // NOTE: remember to update mode() if adding new special characters.
+ //
switch (c)
{
case ',': return make_token (type::comma);