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§
Sourcefn resolve(&self, env: &Env) -> Result<ExprResult, AssemblerError>
fn resolve(&self, env: &Env) -> Result<ExprResult, AssemblerError>
Resolve the expression base on the env context
Sourcefn symbols_used(&self) -> Vec<&str>
fn symbols_used(&self) -> Vec<&str>
Get all the symbols used
Provided Methods§
Sourcefn eval(&self) -> Result<ExprResult, AssemblerError>
fn eval(&self) -> Result<ExprResult, AssemblerError>
Simple evaluation without context => can only evaluate number based operations.