diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2016-07-20 14:14:52 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2016-07-20 14:14:52 +0200 |
commit | df43058115b389f1375690812ad92301288f976f (patch) | |
tree | bb4196fef2bfddd8fe778b92e7d2d3ce58e68c73 /build2/lexer.cxx | |
parent | 5c5a60a02ba1ddcb6782a938f3c892cda979d8fe (diff) |
Implement support for <, >, <=, >= in eval context
Now can write:
if ($build.version > 30000)
Diffstat (limited to 'build2/lexer.cxx')
-rw-r--r-- | build2/lexer.cxx | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/build2/lexer.cxx b/build2/lexer.cxx index 2319ecb..773cd88 100644 --- a/build2/lexer.cxx +++ b/build2/lexer.cxx @@ -160,6 +160,19 @@ namespace build2 get (); return token (c == '=' ? type::equal : type::not_equal, sep, ln, cn); } + break; + } + case '<': + case '>': + { + bool e (peek () == '='); + if (e) + get (); + + return token (c == '<' + ? e ? type::less_equal : type::less + : e ? type::greater_equal : type::greater, + sep, ln, cn); } } @@ -271,6 +284,8 @@ namespace build2 switch (c) { case ':': + case '<': + case '>': { done = true; break; |