20 lines
639 B
Python
20 lines
639 B
Python
# Copyright (c) PARRRATE T&V 2021. All rights reserved.
|
|
|
|
from bu4.evaluation.constructs.evalue import EValue
|
|
from bu4.evaluation.sync import sync
|
|
from bu4.parsing.toolchain.parse import parse
|
|
from bu4.parsing.toolchain.stdext import standard_extension
|
|
from bu4.parsing.toolchain.transply import transply
|
|
from bu4.transform.transform import transform
|
|
|
|
__all__ = ('isynced',)
|
|
|
|
|
|
def isynced(source: str) -> EValue:
|
|
bsource = transply(source)
|
|
parsed = parse(bsource, standard_extension)
|
|
linked = transform(parsed.link(set()))
|
|
indexed = transform(linked.index([]))
|
|
evaluable = indexed.attach([])
|
|
return sync(evaluable)
|