# Copyright (c) PARRRATE T&V 2021. All rights reserved. from typing import Iterable, Type from bu4.linkable.constructs.parsed import Parsed from bu4.parsing.extensions.extension import Extension from bu4.parsing.parser import Parser from bu4.transform.transform import transform __all__ = ('parse',) def parse(source: bytes, extensions: Iterable[Type[Extension[Parsed]]]) -> Parsed: parser = Parser( source, extensions ) return transform(parser.parse())