From bcd7ed3ec9f59f350a29eb95ffbac71345d93e6d Mon Sep 17 00:00:00 2001 From: franck cuny Date: Sat, 11 Jan 2020 13:53:44 +0100 Subject: lexer: support more operator tokens. Support the operator tokens that were added to our tokenizer. This also add a few more tests to ensure we handle them correctly. --- users/fcuny/exp/monkey/pkg/lexer/lexer_test.go | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'users/fcuny/exp/monkey/pkg/lexer/lexer_test.go') diff --git a/users/fcuny/exp/monkey/pkg/lexer/lexer_test.go b/users/fcuny/exp/monkey/pkg/lexer/lexer_test.go index 73b27fb..ba7fa07 100644 --- a/users/fcuny/exp/monkey/pkg/lexer/lexer_test.go +++ b/users/fcuny/exp/monkey/pkg/lexer/lexer_test.go @@ -44,7 +44,10 @@ let add = fn(x, y) { x + y }; -let result = add(five, ten);` +let result = add(five, ten); +!-/*5; +5 < 10 > 5; +` tests := []struct { expectedType token.TokenType @@ -88,6 +91,20 @@ let result = add(five, ten);` {token.IDENT, "ten"}, {token.RPAREN, ")"}, {token.SEMICOLON, ";"}, + + {token.BANG, "!"}, + {token.MINUS, "-"}, + {token.SLASH, "/"}, + {token.ASTERISK, "*"}, + {token.INT, "5"}, + {token.SEMICOLON, ";"}, + + {token.INT, "5"}, + {token.LT, "<"}, + {token.INT, "10"}, + {token.GT, ">"}, + {token.INT, "5"}, + {token.SEMICOLON, ";"}, } l := New(input) -- cgit v1.2.3