Skip to main content

Module ast

Module ast 

Source

Structs§

Allocation
Assignment
AstFactory
AstNode
BinaryExpression
CallStatement
CastStatement
CompilationUnit
ConfigVariable
DefaultValue
DirectAccess
EmptyStatement
GenericBinding
HardwareAccess
Identifier
Implementation
Interface
JumpStatement
Represents a conditional jump from current location to a specified label
LabelStatement
Represents a location in code that could be jumbed to
MetaData
MultipliedStatement
Pou
PropertyBlock
The property container as a whole, which contains PropertyImplementations
PropertyImplementation
RangeStatement
ReferenceExpr
UnaryExpression
UserTypeDeclaration
Variable
VariableBlock

Enums§

AccessModifier
ArgumentProperty
AstStatement
AutoDerefType
DataType
DataTypeDeclaration
DeclarationKind
DirectAccessType
HardwareAccessType
LinkageType
Operator
PolymorphismMode
PouType
PropertyKind
ReferenceAccess
TypeNature
VariableBlockType

Functions§

flatten_expression_list
flattens expression-lists and MultipliedStatements into a vec of statements. It can also handle nested structures like 2(3(4,5))
get_enum_element_name
expects a Reference or an Assignment
get_enum_element_names
enum_elements should be the statement between then enum’s brackets ( ) e.g. x : ( this, that, etc)
mangle_hw_name
Builds the synthetic global name (__PI_…, __M_…, __G_…) that the pre-processor emits for hardware-bound variables. Single source of truth: every code path that needs to refer to one of these synthetic globals must call this function so that DWARF symbols, initializer rewrites, and external mappings stay in lockstep.
pre_process
steal_expression_list

Type Aliases§

AstId