From 75ad2792f6788e1c34a2b7ae9e0ef8e41a6d249c Mon Sep 17 00:00:00 2001 From: AYM1607 Date: Sat, 6 May 2023 23:21:11 +0000 Subject: [PATCH] Report invalid characters. --- golox/internal/runner/scanner.go | 6 ++++++ golox/test-invalid.lox | 1 + 2 files changed, 7 insertions(+) create mode 100644 golox/test-invalid.lox 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 @@ +{,{.(;)-}}*@