aboutsummaryrefslogtreecommitdiff
path: root/build2/test
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2016-11-11 10:01:16 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2016-11-11 10:01:16 +0200
commit8ad3ca4563b9a1c3daac37a86173789af03f68ba (patch)
tree3a9d8ce49e948720e1e1f847500f5ab5a66ae326 /build2/test
parenta084c6650036db9f2a8cd69e31492c5dae237793 (diff)
Get rid of lexer modes overriding pair separators
Diffstat (limited to 'build2/test')
-rw-r--r--build2/test/script/lexer.cxx14
1 files changed, 11 insertions, 3 deletions
diff --git a/build2/test/script/lexer.cxx b/build2/test/script/lexer.cxx
index 7a4e12c..5e6c66a 100644
--- a/build2/test/script/lexer.cxx
+++ b/build2/test/script/lexer.cxx
@@ -96,14 +96,22 @@ namespace build2
}
default:
{
- // Disable pair separator except for attributes.
+ // Make sure pair separators are only enabled where we expect
+ // them.
//
- base_lexer::mode (m, m != lexer_mode::attribute ? '\0' : ps);
+ // @@ Should we disable pair separators in the eval mode?
+ //
+ assert (ps == '\0' ||
+ m == lexer_mode::eval ||
+ m == lexer_mode::attribute);
+
+ base_lexer::mode (m, ps);
return;
}
}
- state_.push (state {m, '\0', s, q, s1, s2});
+ assert (ps == '\0');
+ state_.push (state {m, ps, s, q, s1, s2});
}
token lexer::