blark.transform.UnionElementDeclaration

class blark.transform.UnionElementDeclaration(name: Token, spec: ArraySpecification | SimpleSpecification | SubrangeSpecification | EnumeratedSpecification | IndirectSimpleSpecification, meta: Meta | None = None)[source]

Bases: object

Declaration of a single element of a union.

Similar to a structure element, but not all types are supported and no initialization/default values are allowed.

Examples:

iValue : INT;
arrValue : ARRAY [1..2] OF INT;
arrValue1 : INT (1..2);
arrValue1 : (Value1 := 1) INT;
sValue : STRING;
psValue1 : POINTER TO STRING[10];

Lark grammar

This class is used by the following grammar rules:

union_element_declaration

union_element_declaration: structure_element_name ":" ( array_specification | simple_specification | indirect_simple_specification | subrange_specification | enumerated_specification )

Methods

__init__(name, spec[, meta])

from_lark()

Attributes

meta

variables

API compat

name

spec

name: Token
spec: ArraySpecification | SimpleSpecification | SubrangeSpecification | EnumeratedSpecification | IndirectSimpleSpecification
meta: Meta | None = None
property variables: List[str]

API compat

__init__(name: Token, spec: ArraySpecification | SimpleSpecification | SubrangeSpecification | EnumeratedSpecification | IndirectSimpleSpecification, meta: Meta | None = None) None
from_lark() T