From 412948c0e2f34b1db13201bf533468241ee881e6 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sat, 30 Dec 2017 18:25:37 +0300 Subject: More symbols --- src/lexer/mod.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/lexer/mod.rs') diff --git a/src/lexer/mod.rs b/src/lexer/mod.rs index d2d4aaa22..5255c3d56 100644 --- a/src/lexer/mod.rs +++ b/src/lexer/mod.rs @@ -52,6 +52,8 @@ fn next_token_inner(c: char, ptr: &mut Ptr) -> SyntaxKind { '~' => return TILDE, '?' => return QUESTION, '$' => return DOLLAR, + + // Multi-byte tokens. '.' => return match (ptr.next(), ptr.nnext()) { (Some('.'), Some('.')) => { ptr.bump(); @@ -76,6 +78,24 @@ fn next_token_inner(c: char, ptr: &mut Ptr) -> SyntaxKind { } _ => COLON }, + '=' => return match ptr.next() { + Some('=') => { + ptr.bump(); + EQEQ + } + Some('>') => { + ptr.bump(); + FAT_ARROW + } + _ => EQ, + }, + '!' => return match ptr.next() { + Some('=') => { + ptr.bump(); + NEQ + } + _ => NOT, + }, _ => (), } ERROR -- cgit v1.2.3