from typing import * from perrepeat import * from pertoken import * T32GroupAttr = Literal['h', 'r', 's', 'w'] T32FieldAttr = Literal['a','r','hex','event','setclr'] T32MaskAttr = Literal['dec','hex','rhex'] T32TreeVisibility = Literal['open','closed'] class T32Field(NamedTuple): attr: T32FieldAttr qual: PerTokenQual thing: int bitrange: Tuple[int, int] # inclusive name: str description: str values: Sequence[str] class T32Mask(NamedTuple): attr: T32MaskAttr qual: Tuple[PerTokenQual, PerTokenQual] thing: int bitrange: Tuple[int, int] # inclusive mask: int name: str description: str values: Sequence[str] class T32Line(NamedTuple): hidden: bool qual: PerTokenQual offset: int name: str description: str field:s Sequence[Union[T32Field, T32Mask]] class T32Group(NamedTuple): attrs: T32GroupAttr qual: PerTokenQual address: Union[T32Address, T32AddressRange] description: str regs: Sequence[T32Line] copy: bool = False class T32GroupRepeat(NamedTuple): repeat: T32Repeat width: int groups: Sequence[T32Group] class T32GroupRepeatReplay(NamedTuple): pass class T32Tree(NamedTuple): base: T32Address width: int visibility: T32TreeVisibility groups: Sequence[Union[T32Group, T32GroupRepeat, T32GroupRepeatReplay]] subtrees: Sequence[Union[T32TreeRepeat, T32Tree]] class T32TreeRepeat(NamedTuple): repeat: T32Repeat subtrees: Sequence[Union[T32TreeRepeat, T32Tree]] class T32Per(NamedTuple): title: str props: str author: str changelog: Sequence[str] manufacturer: str doc: str core: str chip: Sequence[str] copyright: str description: str keywords: str date: str id: str config: Tuple[int, int] trees: Union[T32Tree, T32TreeRepeat]