pub struct Evaluator { /* private fields */ }Expand description
Evaluator for Aether programs
Implementations§
Source§impl Evaluator
impl Evaluator
Sourcepub fn with_permissions(permissions: IOPermissions) -> Self
pub fn with_permissions(permissions: IOPermissions) -> Self
Create a new evaluator with custom IO permissions
Sourcepub fn with_env(env: Rc<RefCell<Environment>>) -> Self
pub fn with_env(env: Rc<RefCell<Environment>>) -> Self
Create evaluator with custom environment
Sourcepub fn trace_push(&mut self, msg: String)
pub fn trace_push(&mut self, msg: String)
Append a trace entry (host-readable; no IO side effects).
Sourcepub fn take_trace(&mut self) -> Vec<String>
pub fn take_trace(&mut self) -> Vec<String>
Drain the trace buffer.
Sourcepub fn clear_trace(&mut self)
pub fn clear_trace(&mut self)
Clear the trace buffer.
Sourcepub fn reset_env(&mut self)
pub fn reset_env(&mut self)
Reset the environment (clear all variables and re-register built-ins)
This is useful for engine pooling and global singleton patterns where you want to reuse an engine instance but ensure isolation.
Sourcepub fn eval_program(&mut self, program: &Program) -> EvalResult
pub fn eval_program(&mut self, program: &Program) -> EvalResult
Evaluate a program
Sourcepub fn eval_statement(&mut self, stmt: &Stmt) -> EvalResult
pub fn eval_statement(&mut self, stmt: &Stmt) -> EvalResult
Evaluate a statement
Sourcepub fn eval_expression(&mut self, expr: &Expr) -> EvalResult
pub fn eval_expression(&mut self, expr: &Expr) -> EvalResult
Evaluate an expression
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Evaluator
impl !RefUnwindSafe for Evaluator
impl !Send for Evaluator
impl !Sync for Evaluator
impl Unpin for Evaluator
impl !UnwindSafe for Evaluator
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more