UniSet 2.45.2
Пространство имен st2js.codegen

Классы

class  GenerateStats
class  CodeGenerator

Функции

str generate (IRProgram program, SensorMapping mapping, bool debug=False)
tuple[str, GenerateStats] generate_with_stats (IRProgram program, SensorMapping mapping, bool debug=False)

Переменные

dict _OPERATOR_MAP
dict _DEFAULT_VALUES

Подробное описание

JavaScript code generator for the st2js converter.

Walks the typed IR and emits JavaScript source code compatible with the
UniSet2 JScript extension. Generates:
  - load("uniset2-iec61131.js") import
  - uniset_inputs / uniset_outputs sensor arrays
  - Local variable declarations
  - uniset_on_step() function wrapping the PROGRAM body

Sensor variable substitution:
  - VAR_INPUT variables become in_<SensorName>
  - VAR_OUTPUT variables become out_<SensorName>
  - VAR local variables keep their original names

Функции

◆ generate()

str generate ( IRProgram program,
SensorMapping mapping,
bool debug = False )
Generate JavaScript source from a typed IRProgram and sensor mapping.

Args:
    program: The typed IRProgram (after type checking).
    mapping: The sensor mapping configuration.
    debug: If True, emit trace instrumentation and program metadata.

Returns:
    A complete JavaScript source string.

◆ generate_with_stats()

tuple[str, GenerateStats] generate_with_stats ( IRProgram program,
SensorMapping mapping,
bool debug = False )
Generate JavaScript source and collect statistics.

Returns:
    Tuple of (JavaScript source string, GenerateStats).

Переменные

◆ _DEFAULT_VALUES

dict st2js.codegen._DEFAULT_VALUES
protected
Инициализатор
= {
IECType.BOOL: False,
# Signed integers
IECType.SINT: 0,
IECType.INT: 0,
IECType.DINT: 0,
IECType.LINT: 0,
# Unsigned integers
IECType.USINT: 0,
IECType.UINT: 0,
IECType.UDINT: 0,
IECType.ULINT: 0,
# Bit-string types
IECType.BYTE: 0,
IECType.WORD: 0,
IECType.DWORD: 0,
IECType.LWORD: 0,
# Floating point
IECType.REAL: 0.0,
IECType.LREAL: 0.0,
# Other
IECType.TIME: 0,
IECType.STRING: '""',
IECType.WSTRING: '""',
}

◆ _OPERATOR_MAP

dict st2js.codegen._OPERATOR_MAP
protected
Инициализатор
= {
"=": "===",
"<>": "!==",
"AND": "&&",
"OR": "||",
"XOR": "!==",
"MOD": "%",
"+": "+",
"-": "-",
"*": "*",
"/": "/",
">": ">",
"<": "<",
">=": ">=",
"<=": "<=",
}