blark.transform.Property

class blark.transform.Property(access: AccessSpecifier | None, name: Token, return_type: TypeInitialization | SubrangeTypeInitialization | EnumeratedTypeInitialization | ArrayTypeInitialization | InitializedStructure | StringTypeInitialization | None, declarations: List[VariableDeclarationBlock], body: StatementList | None, meta: Meta | None = None)[source]

Bases: object

A named property declaration, which may pertain to a get or set.

Properties belong to function blocks. Properties may contain variable blocks and a return type, and may also contain an implementation.

Examples:

PROPERTY PropertyName : RETURNTYPE
    VAR_INPUT
        bExecute : BOOL;
    END_VAR
    VAR_OUTPUT
        iResult : INT;
    END_VAR
    iResult := 5;
    PropertyName := iResult + 1;
END_PROPERTY

PROPERTY PRIVATE PropertyName : ARRAY [1..2] OF INT
END_PROPERTY

Lark grammar

This class is used by the following grammar rules:

function_block_property_declaration

function_block_property_declaration: "PROPERTY"i [ access_specifier ] DOTTED_IDENTIFIER [ ":" property_return_type ] ";"* property_var_declaration* [ function_block_body ] "END_PROPERTY"i ";"*

Methods

__init__(access, name, return_type, ...[, meta])

from_lark(access, name, return_type, *args)

Attributes

meta

access

name

return_type

declarations

body

access: AccessSpecifier | None
name: Token
return_type: TypeInitialization | SubrangeTypeInitialization | EnumeratedTypeInitialization | ArrayTypeInitialization | InitializedStructure | StringTypeInitialization | None
declarations: List[VariableDeclarationBlock]
body: StatementList | None
meta: Meta | None = None
static from_lark(access: AccessSpecifier | None, name: Token, return_type: TypeInitialization | SubrangeTypeInitialization | EnumeratedTypeInitialization | ArrayTypeInitialization | InitializedStructure | StringTypeInitialization | None, *args) Property[source]
__init__(access: AccessSpecifier | None, name: Token, return_type: TypeInitialization | SubrangeTypeInitialization | EnumeratedTypeInitialization | ArrayTypeInitialization | InitializedStructure | StringTypeInitialization | None, declarations: List[VariableDeclarationBlock], body: StatementList | None, meta: Meta | None = None) None