summaryrefslogtreecommitdiff
path: root/token.cc
diff options
context:
space:
mode:
Diffstat (limited to 'token.cc')
-rw-r--r--token.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/token.cc b/token.cc
index 27180e99..f17163c8 100644
--- a/token.cc
+++ b/token.cc
@@ -148,6 +148,10 @@ void expr_t::token_t::next(std::istream& in, const unsigned int pflags)
in.get(c);
kind = KW_AND;
break;
+ case '|':
+ in.get(c);
+ kind = KW_OR;
+ break;
case '(':
in.get(c);
@@ -300,6 +304,15 @@ void expr_t::token_t::next(std::istream& in, const unsigned int pflags)
case '=':
in.get(c);
+ c = in.peek();
+ if (c == '~') {
+ in.get(c);
+ symbol[1] = c;
+ symbol[2] = '\0';
+ kind = MATCH;
+ length = 2;
+ break;
+ }
kind = EQUAL;
break;