cpclib_asm::implementation::expression

Trait ExprEvaluationExt

Source
pub trait ExprEvaluationExt: Display {
    // Required methods
    fn resolve(&self, env: &Env) -> Result<ExprResult, AssemblerError>;
    fn symbols_used(&self) -> Vec<&str>;

    // Provided method
    fn eval(&self) -> Result<ExprResult, AssemblerError> { ... }
}
Expand description

! Add all important methods to expresison-like structure sthat are not availalbe in the cpclib_tokens crate. The result of expression (without taking into account the strings) is either a int (no complex mathematical expression) or a float (division/sinus and so on) Evaluate an expression

Required Methods§

Source

fn resolve(&self, env: &Env) -> Result<ExprResult, AssemblerError>

Resolve the expression base on the env context

Source

fn symbols_used(&self) -> Vec<&str>

Get all the symbols used

Provided Methods§

Source

fn eval(&self) -> Result<ExprResult, AssemblerError>

Simple evaluation without context => can only evaluate number based operations.

Implementors§