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) }