blark.transform.ArrayTypeDeclaration

class blark.transform.ArrayTypeDeclaration(name: Token, init: ArrayTypeInitialization, meta: Meta | None = None)[source]

Bases: object

Full declaration of an array type.

Examples:

ArrayType : ARRAY[*] OF TypeName
ArrayType : ARRAY[1..2] OF Call(1, 2) := [1, 2]
ArrayType : POINTER TO ARRAY[1..2] OF Call(1, 2)
TypeName : ARRAY [1..2, 3..4] OF INT
TypeName : ARRAY [1..2] OF INT := [1, 2]
TypeName : ARRAY [1..2, 3..4] OF INT := [2(3), 3(4)]
TypeName : ARRAY [1..2, 3..4] OF Tc.SomeType
TypeName : ARRAY [1..2, 3..4] OF Tc.SomeType(someInput := 3)
TypeName : ARRAY [1..2, 3..4] OF ARRAY [1..2] OF INT
TypeName : ARRAY [1..2, 3..4] OF ARRAY [1..2] OF ARRAY [3..4] OF INT

Lark grammar

This class is used by the following grammar rules:

array_type_declaration

array_type_declaration: array_type_name ":" array_spec_init

Methods

__init__(name, init[, meta])

from_lark()

Attributes

meta

name

init

name: Token
init: ArrayTypeInitialization
meta: Meta | None = None
__init__(name: Token, init: ArrayTypeInitialization, meta: Meta | None = None) None
from_lark() T