Spaces:
Runtime error
Runtime error
from ast_parser.token import Location | |
class PositionedException(Exception): | |
"""Base class for exceptions with Location. | |
Args: | |
source (str): The source string being tokenized. | |
location (Location): The Location of the exception. | |
description (str, optional): An optional description of the | |
error. | |
""" | |
source: str | |
"""The source string being tokenized.""" | |
location: Location | |
"""The Location of the error in the source.""" | |
def __init__( | |
self, source: str, location: Location, description: str | None = None | |
) -> None: | |
super().__init__(description) | |
self.source = source | |
self.location = location | |
class LexerException(PositionedException): | |
"""A LexerException is raised when the Lexer encounters an invalid | |
character or token. | |
Args: | |
source (str): The source string being tokenized. | |
location (Location): The Location of the exception. | |
description (str, optional): An optional description of the | |
error. | |
""" | |
class LinterException(PositionedException): | |
"""A LinterException is raised when the Linter encounters an invalid | |
token chain. | |
Args: | |
source (str): The source string being tokenized. | |
location (Location): The Location of the exception. | |
description (str, optional): An optional description of the | |
error. | |
""" | |
__all__ = ("PositionedException", "LexerException", "LinterException") | |