Compiler

class Compiler
Members defined in Compiler (4 members)

max_steps

RW

Maximum number of steps an expression evaluation may take. When this is reached, evaluation stops with an error. Actual steps are an implementation detail.

__init__

evaluate

evaluate_feature

Attributes

property max_steps: int

Maximum number of steps an expression evaluation may take. When this is reached, evaluation stops with an error. Actual steps are an implementation detail.

Methods

__init__(max_steps: int = 100000) None
evaluate(expr: syside.Expression, stdlib: syside.Stdlib | None = None, scope: syside.Type | None = None) tuple[syside.Value | None, syside.CompilationReport]

Evaluate expression. Note that custom functions and expressions, constructor expressions, and most except a few standard library functions are not evaluatable. This primarily evaluates operator, metadata access, and feature reference expressions. If provided, stdlib is used to accelerate some common evaluations, e.g. checking for self expressions.

evaluate_feature(feature: syside.Feature, scope: syside.Type, stdlib: syside.Stdlib | None = None) tuple[syside.Value | None, syside.CompilationReport]

Evaluate feature in scope, taking into account redefinitions. If feature is an Expression, this effectively performs evaluate.