Skip to content

Frontend

frontend

Frontend dataclass

Bases: ArgSpecConvertible

A Frontend is a named input parser that converts a byte stream to a ModuleOp.

Frontends can accept arguments following the same name{arg=val ...} syntax used by passes. Subclasses must be decorated with @dataclass(frozen=True) and provide a name class variable.

Source code in xdsl/utils/frontend.py
@dataclass(frozen=True)
class Frontend(ArgSpecConvertible):
    """
    A Frontend is a named input parser that converts a byte stream to a ModuleOp.

    Frontends can accept arguments following the same ``name{arg=val ...}`` syntax
    used by passes. Subclasses must be decorated with
    ``@dataclass(frozen=True)`` and provide a ``name`` class variable.
    """

    name: ClassVar[str]

    @abstractmethod
    def parse(self, ctx: Context, input: IO[bytes], input_name: str) -> ModuleOp: ...

name: str class-attribute

__init__() -> None

parse(ctx: Context, input: IO[bytes], input_name: str) -> ModuleOp abstractmethod

Source code in xdsl/utils/frontend.py
@abstractmethod
def parse(self, ctx: Context, input: IO[bytes], input_name: str) -> ModuleOp: ...