pub struct Interpreter {
pub env: Rc<RefCell<Env>>,
pub base_path: PathBuf,
pub module_loader: Option<ModuleLoader>,
pub loaded_modules: HashSet<String>,
}Fields§
§env: Rc<RefCell<Env>>§base_path: PathBuf§module_loader: Option<ModuleLoader>§loaded_modules: HashSet<String>Implementations§
Source§impl Interpreter
impl Interpreter
pub fn new( env: Env, base_path: PathBuf, module_loader: Option<ModuleLoader>, ) -> Self
pub fn interpret(&mut self, statements: Vec<Stmt>) -> Result<(), Box<dyn Error>>
pub fn execute( &mut self, stmt: Stmt, ) -> Result<Option<RuntimeControl>, Box<dyn Error>>
pub fn evaluate(&mut self, expr: Expr) -> Result<Value, Box<dyn Error>>
pub fn run(&mut self, statements: Vec<Stmt>) -> Result<(), Box<dyn Error>>
Auto Trait Implementations§
impl Freeze for Interpreter
impl !RefUnwindSafe for Interpreter
impl !Send for Interpreter
impl !Sync for Interpreter
impl Unpin for Interpreter
impl UnsafeUnpin for Interpreter
impl !UnwindSafe for Interpreter
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