| Index: third_party/cython/src/Cython/Plex/Errors.py
|
| diff --git a/third_party/cython/src/Cython/Plex/Errors.py b/third_party/cython/src/Cython/Plex/Errors.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..891873b56feba2f951cd3ac0c97488eb7af1725a
|
| --- /dev/null
|
| +++ b/third_party/cython/src/Cython/Plex/Errors.py
|
| @@ -0,0 +1,50 @@
|
| +#=======================================================================
|
| +#
|
| +# Python Lexical Analyser
|
| +#
|
| +# Exception classes
|
| +#
|
| +#=======================================================================
|
| +
|
| +class PlexError(Exception):
|
| + message = ""
|
| +
|
| +class PlexTypeError(PlexError, TypeError):
|
| + pass
|
| +
|
| +class PlexValueError(PlexError, ValueError):
|
| + pass
|
| +
|
| +class InvalidRegex(PlexError):
|
| + pass
|
| +
|
| +class InvalidToken(PlexError):
|
| +
|
| + def __init__(self, token_number, message):
|
| + PlexError.__init__(self, "Token number %d: %s" % (token_number, message))
|
| +
|
| +class InvalidScanner(PlexError):
|
| + pass
|
| +
|
| +class AmbiguousAction(PlexError):
|
| + message = "Two tokens with different actions can match the same string"
|
| +
|
| + def __init__(self):
|
| + pass
|
| +
|
| +class UnrecognizedInput(PlexError):
|
| + scanner = None
|
| + position = None
|
| + state_name = None
|
| +
|
| + def __init__(self, scanner, state_name):
|
| + self.scanner = scanner
|
| + self.position = scanner.get_position()
|
| + self.state_name = state_name
|
| +
|
| + def __str__(self):
|
| + return ("'%s', line %d, char %d: Token not recognised in state %s"
|
| + % (self.position + (repr(self.state_name),)))
|
| +
|
| +
|
| +
|
|
|