Source code for arpoc.ac.lark_adapter

from lark import Transformer

[docs]class CombinedTransformer(Transformer): def __init__(self, *transformers): self.transformers = transformers def __getattr__(self, key): for transformer in reversed(self.transformers): try: return getattr(transformer, key) except AttributeError: pass raise AttributeError() def __add__(self, other): return CombinedTransformer(*self.transformers, other)
[docs]class MyTransformer(Transformer): def __add__(self, other): return CombinedTransformer(self, other)