diff options
Diffstat (limited to 'users/grfn/achilles/src/commands/eval.rs')
-rw-r--r-- | users/grfn/achilles/src/commands/eval.rs | 28 |
1 files changed, 0 insertions, 28 deletions
diff --git a/users/grfn/achilles/src/commands/eval.rs b/users/grfn/achilles/src/commands/eval.rs deleted file mode 100644 index efd7399ed1c4..000000000000 --- a/users/grfn/achilles/src/commands/eval.rs +++ /dev/null @@ -1,28 +0,0 @@ -use clap::Clap; - -use crate::{codegen, interpreter, parser, tc, Result}; - -/// Evaluate an expression and print its result -#[derive(Clap)] -pub struct Eval { - /// JIT-compile with LLVM instead of interpreting - #[clap(long)] - jit: bool, - - /// Expression to evaluate - expr: String, -} - -impl Eval { - pub fn run(self) -> Result<()> { - let (_, parsed) = parser::expr(&self.expr)?; - let hir = tc::typecheck_expr(parsed)?; - let result = if self.jit { - codegen::jit_eval::<i64>(&hir)?.into() - } else { - interpreter::eval(&hir)? - }; - println!("{}", result); - Ok(()) - } -} |