diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2016-11-11 10:01:16 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2016-11-11 10:01:16 +0200 |
commit | 8ad3ca4563b9a1c3daac37a86173789af03f68ba (patch) | |
tree | 3a9d8ce49e948720e1e1f847500f5ab5a66ae326 /build2/lexer.cxx | |
parent | a084c6650036db9f2a8cd69e31492c5dae237793 (diff) |
Get rid of lexer modes overriding pair separators
Diffstat (limited to 'build2/lexer.cxx')
-rw-r--r-- | build2/lexer.cxx | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/build2/lexer.cxx b/build2/lexer.cxx index 0ce9770..2c728d6 100644 --- a/build2/lexer.cxx +++ b/build2/lexer.cxx @@ -34,7 +34,6 @@ namespace build2 { const char* s1 (nullptr); const char* s2 (nullptr); - char p ('\0'); bool s (true); bool q (true); @@ -44,28 +43,24 @@ namespace build2 { s1 = ":=+ $(){}[]#\t\n"; s2 = " = "; - p = ps; break; } case lexer_mode::value: { s1 = " $(){}[]#\t\n"; s2 = " "; - p = ps; break; } case lexer_mode::attribute: { s1 = " $(]#\t\n"; s2 = " "; - p = ps; break; } case lexer_mode::eval: { s1 = ":<>=! $(){}[]#\t\n"; s2 = " == "; - p = ps; break; } case lexer_mode::single_quoted: @@ -75,12 +70,13 @@ namespace build2 case lexer_mode::variable: { // These are handled in an ad hoc way in word(). + assert (ps == '\0'); break; } default: assert (false); // Unhandled custom mode. } - state_.push (state {m, p, s, q, s1, s2}); + state_.push (state {m, ps, s, q, s1, s2}); } token lexer:: |