Source code for czech_plus.logic.lexer.tokens

"""Module for tokens, that then used inside lexer."""
import abc
from dataclasses import dataclass


@dataclass
[docs]class BaseToken(abc.ABC): """Base class for all tokens."""
@dataclass
[docs]class SeparatorToken(BaseToken): """Token for separator symbol."""
@dataclass
[docs]class AdditionalSeparatorToken(BaseToken): """Token for additional separator symbol."""
@dataclass
[docs]class EscapedToken(BaseToken): """Token for escape symbol."""
[docs] content: str
@dataclass
[docs]class SkipToken(BaseToken): """Token for skip symbol."""
@dataclass
[docs]class BaseFutureFormToken(BaseToken, abc.ABC): """Base token for verb's future form."""
@dataclass
[docs]class FutureFormTokenStart(BaseFutureFormToken): """Open token for verb's future form."""
@dataclass
[docs]class FutureFormTokenEnd(BaseFutureFormToken): """Close token for verb's future form."""