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)