# HG changeset patch # User aziz # Date 1182848282 0 # Node ID 640c45aaaaee1f0e4eef821fc17d7f577b935b27 # Parent 7f3bcb97d0178ef37e38492b2c80a3c3c6fac629 - Added code for parsing GreaterEqual, Greater, RShiftAssign, RShift, URShiftAssign and URShift tokens. - Renamed TOK.LessThan to TOK.Less. diff -r 7f3bcb97d017 -r 640c45aaaaee trunk/src/Lexer.d --- a/trunk/src/Lexer.d Tue Jun 26 08:37:00 2007 +0000 +++ b/trunk/src/Lexer.d Tue Jun 26 08:58:02 2007 +0000 @@ -389,6 +389,37 @@ return scanRawStringLiteral(t); switch (c) { + case '>': /* > >= >> >>= >>> >>>= */ + c = *++p; + switch (c) + { + case '=': + t.type = TOK.GreaterEqual; + goto Lcommon; + case '>': + if (p[1] == '>') + { + ++p; + if (p[1] == '=') + { ++p; + t.type = TOK.URShiftAssign; + } + else + t.type = TOK.URShift; + } + else if (p[1] == '=') + { + ++p; + t.type = TOK.RShiftAssign; + } + else + t.type = TOK.RShift; + goto Lcommon; + default: + t.type = TOK.Greater; + goto Lcommon2; + } + assert(0); case '<': /* < <= <> <>= << <<= */ c = *++p; switch (c) @@ -413,7 +444,7 @@ t.type = TOK.LorG; goto Lcommon; default: - t.type = TOK.LessThan; + t.type = TOK.Less; goto Lcommon2; } assert(0); diff -r 7f3bcb97d017 -r 640c45aaaaee trunk/src/Token.d --- a/trunk/src/Token.d Tue Jun 26 08:37:00 2007 +0000 +++ b/trunk/src/Token.d Tue Jun 26 08:58:02 2007 +0000 @@ -40,8 +40,11 @@ // Normal operators Assign, Equal, NotEqual, Not, - LessEqual, LessThan, + LessEqual, Less, + GreaterEqual, Greater, LShiftAssign, LShift, + RShiftAssign,RShift, + URShiftAssign, URShift, OrAssign, OrLogical, OrBinary, AndAssign, AndLogical, AndBinary, PlusAssign, PlusPlus, Plus,