about summary refs log tree commit diff
path: root/pkg/lang/scanner/errors.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/lang/scanner/errors.go')
-rw-r--r--pkg/lang/scanner/errors.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/pkg/lang/scanner/errors.go b/pkg/lang/scanner/errors.go
new file mode 100644
index 0000000..dd9aae3
--- /dev/null
+++ b/pkg/lang/scanner/errors.go
@@ -0,0 +1,25 @@
+package scanner
+
+import "errors"
+
+var (
+	ErrScannerFinished = errors.New("scanner already finished")
+	ErrUnclosedString  = errors.New("unclosed string")
+)
+
+type ErrUnexpectedChar struct {
+	Expected rune
+	Actual   rune
+}
+
+func (e ErrUnexpectedChar) Error() string {
+	return "unexpected character: expected " + string(e.Expected) + ", actual " + string(e.Actual)
+}
+
+type ErrUnknownChar struct {
+	Char rune
+}
+
+func (e ErrUnknownChar) Error() string {
+	return "unknown character: " + string(e.Char)
+}