Compiler
- class Compiler
-
Members defined in
Compiler(4 members)
RWMaximum number of steps an expression evaluation may take. When this is reached, evaluation stops with an error. Actual steps are an implementation detail.
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,
stdlibis used to accelerate some common evaluations, e.g. checking forselfexpressions.
- evaluate_feature(feature: syside.Feature, scope: syside.Type, stdlib: syside.Stdlib | None = None) tuple[syside.Value | None, syside.CompilationReport]
Evaluate
featureinscope, taking into account redefinitions. Iffeatureis anExpression, this effectively performsevaluate.