From e8d2d27a8866e9d0790905aee190828601d8784e Mon Sep 17 00:00:00 2001 From: Michael Sullivan Date: Mon, 13 Jun 2011 15:48:55 -0700 Subject: [PATCH] Add "<->" to the token definition and the lexer. --- src/comp/front/lexer.rs | 8 +++++++- src/comp/front/token.rs | 2 ++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/comp/front/lexer.rs b/src/comp/front/lexer.rs index 7f013f7c6148..89b7d76e08b5 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 30329e1ffd32..57a75b1e40d8 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 "["; }