blark.transform.StructureInitialization

class blark.transform.StructureInitialization(elements: List[StructureElementInitialization], meta: Meta | None = None)[source]

Bases: object

A structure initialization (i.e., default values) of one or more elements.

Elements may be either positional or named. Used in the following:

  1. Structure element initialization of default values:

    stStruct : ST_TypeName := (iValue := 0, bValue := TRUE)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
  2. Function block declarations (fb_name_decl, fb_invocation_decl):

    fbSample : FB_Sample(nInitParam := 1) := (nInput := 2, nMyProperty := 3)
                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    fbSample : FB_Sample := (nInput := 2, nMyProperty := 3)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
  3. Array object initializers (object_initializer_array):

    runners : ARRAY[1..2] OF FB_Runner[(name := 'one'), (name := 'two')]
                                      [^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^]
    

Lark grammar

This class is used by the following grammar rules:

structure_initialization

structure_initialization: "(" structure_element_initialization ( "," structure_element_initialization )* ")"

Methods

__init__(elements[, meta])

from_lark(*elements)

Attributes

meta

elements

elements: List[StructureElementInitialization]
meta: Meta | None = None
static from_lark(*elements: StructureElementInitialization)[source]
__init__(elements: List[StructureElementInitialization], meta: Meta | None = None) None