builtup4/bu4/linkable/extensions/xcall.py
2021-09-09 08:16:01 +03:00

22 lines
670 B
Python

# Copyright (c) PARRRATE T&V 2021. All rights reserved.
from bu4.linkable.constructs.parsed import Parsed
from bu4.linkable.constructs.pcall import PCall
from bu4.parsing.codes import CODE_CALL
from bu4.parsing.extensions.CodeExtension import CodeExtension
from bu4.transform.states.transformstate import TransformState
__all__ = ('XCall',)
class XCall(CodeExtension[Parsed], code=CODE_CALL):
def apply(self) -> TransformState[Parsed]:
return self.readlambda(
lambda argument: self.readlambdafinished(
lambda lambda_: PCall(
argument,
lambda_
)
)
)