diff --git a/golox/internal/runner/scanner.go b/golox/internal/runner/scanner.go index 4d114a7..ad3b365 100644 --- a/golox/internal/runner/scanner.go +++ b/golox/internal/runner/scanner.go @@ -1,5 +1,9 @@ package runner +import ( + lerrors "github.com/AYM1607/crafting-interpreters/golox/internal/errors" +) + type Scanner struct { source string @@ -54,6 +58,8 @@ func (s *Scanner) scanToken() { s.addToken(SEMI) case '*': s.addToken(STAR) + default: + lerrors.EmitError(s.line, "Unexpected character.") } } diff --git a/golox/test-invalid.lox b/golox/test-invalid.lox new file mode 100644 index 0000000..a4f056a --- /dev/null +++ b/golox/test-invalid.lox @@ -0,0 +1 @@ +{,{.(;)-}}*@