Module csx64::asm::expr[][src]

Everything needed to handle expression trees.

The important types are Expr, which represents an expression tree, and SymbolTable, which is the special collection type used for evaluation.

Structs

Expr

An expression.

SymbolTable

An appendonly map-like collection of defined symbols.

Enums

EvalError

The reason why an expression failed to be evaluated.

ExprData

Holds the information needed to create an instance of Expr.

IllegalReason

The specific reason why an illegal operation failed.

OP

The supported operations in an expr.

Value
ValueType

Constants

FLOAT_PRECISION

Number of precision bits to use for floating point values. This is strictly larger than fpu precision (64) so that we can have nigh-perfect end-results from expr after truncating to 64.

INT_PRECISION

Maximum number of significant bits to use for integer values. Values exceeding this are hard errors. This should at least be high enough to compute full products of u64 and i64.

Traits

SymbolTableCore