diff options
| author | Michael Sullivan <sully@msully.net> | 2011-06-13 15:48:55 -0700 |
|---|---|---|
| committer | Graydon Hoare <graydon@mozilla.com> | 2011-06-16 11:47:54 -0700 |
| commit | e8d2d27a8866e9d0790905aee190828601d8784e (patch) | |
| tree | bb34cda72e7ccea68cc991f0428f155e553fa12d /src/comp | |
| parent | 32895ad99013b088b7dee51d173e177536103673 (diff) | |
| download | rust-e8d2d27a8866e9d0790905aee190828601d8784e.tar.gz rust-e8d2d27a8866e9d0790905aee190828601d8784e.zip | |
Add "<->" to the token definition and the lexer.
Diffstat (limited to 'src/comp')
| -rw-r--r-- | src/comp/front/lexer.rs | 8 | ||||
| -rw-r--r-- | src/comp/front/token.rs | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/comp/front/lexer.rs b/src/comp/front/lexer.rs index 7f013f7c614..89b7d76e08b 100644 --- a/src/comp/front/lexer.rs +++ b/src/comp/front/lexer.rs @@ -389,8 +389,14 @@ fn next_token(&reader rdr) -> token::token { alt (rdr.curr()) { case ('=') { rdr.bump(); ret token::LE; } case ('<') { ret binop(rdr, token::LSL); } - case ('-') { rdr.bump(); ret token::LARROW; } case ('|') { rdr.bump(); ret token::SEND; } + case ('-') { + rdr.bump(); + alt (rdr.curr()) { + case ('>') { rdr.bump(); ret token::DARROW; } + case (_) { ret token::LARROW; } + } + } case (_) { ret token::LT; } } } diff --git a/src/comp/front/token.rs b/src/comp/front/token.rs index 30329e1ffd3..57a75b1e40d 100644 --- a/src/comp/front/token.rs +++ b/src/comp/front/token.rs @@ -52,6 +52,7 @@ tag token { SEND; RECV; LARROW; + DARROW; LPAREN; RPAREN; LBRACKET; @@ -124,6 +125,7 @@ fn to_str(lexer::reader r, token t) -> str { case (SEND) { ret "<|"; } case (RECV) { ret "<|"; } case (LARROW) { ret "<-"; } + case (DARROW) { ret "<->"; } case (LPAREN) { ret "("; } case (RPAREN) { ret ")"; } case (LBRACKET) { ret "["; } |
