diff --git a/scanner/scanner.go b/scanner/scanner.go index 091f227..7b09498 100644 --- a/scanner/scanner.go +++ b/scanner/scanner.go @@ -120,7 +120,7 @@ func (s *Scanner) Scan() (tok token.Token) { case '"': tok = token.STRING s.scanString() - case '#': + case '#', '/': tok = token.COMMENT s.scanComment(ch) case '.': @@ -156,7 +156,7 @@ func (s *Scanner) Scan() (tok token.Token) { } func (s *Scanner) scanComment(ch rune) { - if ch == '#' { + if ch == '#' || ch == '/' { // line comment ch = s.next() for ch != '\n' && ch >= 0 { diff --git a/scanner/scanner_test.go b/scanner/scanner_test.go index 7081320..2bbe534 100644 --- a/scanner/scanner_test.go +++ b/scanner/scanner_test.go @@ -42,11 +42,12 @@ func testTokenList(t *testing.T, tokenList []tokenPair) { func TestComment(t *testing.T) { var tokenList = []tokenPair{ - // {token.COMMENT, "//"}, - // {token.COMMENT, "////"}, - // {token.COMMENT, "// comment"}, - // {token.COMMENT, "// /* comment */"}, - // {token.COMMENT, "// // comment //"}, + {token.COMMENT, "//"}, + {token.COMMENT, "////"}, + {token.COMMENT, "// comment"}, + {token.COMMENT, "// /* comment */"}, + {token.COMMENT, "// // comment //"}, + {token.COMMENT, "//" + f100}, {token.COMMENT, "#"}, {token.COMMENT, "##"}, {token.COMMENT, "# comment"},