29 lines
791 B
Python
29 lines
791 B
Python
# Copyright (c) PARRRATE T&V 2021. All rights reserved.
|
|
|
|
from bu4.indexing.constructs.indexed import Indexed
|
|
from bu4.indexing.extensions.xicall import XICall
|
|
from bu4.indexing.extensions.xidlyd import XIDlyd
|
|
from bu4.indexing.extensions.ximake import XIMake
|
|
from bu4.indexing.extensions.xiname import XIName
|
|
from bu4.indexing.extensions.xinull import XINull
|
|
from bu4.indexing.extensions.xixcpt import XIXcpt
|
|
from bu4.parsing.parser import Parser
|
|
from bu4.transform.transform import transform
|
|
|
|
__all__ = ('parse_indexed',)
|
|
|
|
|
|
def parse_indexed(source: bytes) -> Indexed:
|
|
parser = Parser(
|
|
source,
|
|
[
|
|
XINull,
|
|
XICall,
|
|
XIMake,
|
|
XIName,
|
|
XIXcpt,
|
|
XIDlyd,
|
|
]
|
|
)
|
|
return transform(parser.parse())
|