blark.transform.Program

class blark.transform.Program(name: Token, declarations: List[VariableDeclarationBlock], body: StatementList | None, meta: Meta | None = None)[source]

Bases: object

A full program declaration, with nested variable declaration blocks.

An implementation is optional, but END_PROGRAM is required.

Examples:

PROGRAM ProgramName
    VAR_INPUT
        iValue : INT;
    END_VAR
    VAR_ACCESS
        AccessName : SymbolicVariable : TypeName READ_WRITE;
    END_VAR
    iValue := iValue + 1;
END_PROGRAM

Lark grammar

This class is used by the following grammar rules:

program_declaration

program_declaration: "PROGRAM"i program_type_name program_var_declarations [ function_block_body ] "END_PROGRAM"i ";"*

Methods

__init__(name, declarations, body[, meta])

from_lark()

Attributes

meta

name

declarations

body

name: Token
declarations: List[VariableDeclarationBlock]
body: StatementList | None
meta: Meta | None = None
__init__(name: Token, declarations: List[VariableDeclarationBlock], body: StatementList | None, meta: Meta | None = None) None
from_lark() T