mirror of
https://github.com/gorules/zen.git
synced 2026-10-05 08:02:28 +00:00
* temp: zen-expression rewrite * rewrite standard parser * stabilise parser, upgrade dependencies * implement unary parser * align builtin behavior * fix tests and minor bugs * refactor exports, update docs * fix expression repl * cleanup * cleanup vm * replace expression with expression-rewrite * update d.ts file * fix failing test
22 lines
560 B
Rust
22 lines
560 B
Rust
use thiserror::Error;
|
|
|
|
#[derive(Debug, PartialEq, Eq, Clone, Error)]
|
|
pub enum VMError {
|
|
#[error("Unsupported opcode type")]
|
|
OpcodeErr { opcode: String, message: String },
|
|
|
|
#[error("Opcode out of bounds")]
|
|
OpcodeOutOfBounds { index: usize, bytecode: String },
|
|
|
|
#[error("Stack out of bounds")]
|
|
StackOutOfBounds { stack: String },
|
|
|
|
#[error("Failed to parse date time")]
|
|
ParseDateTimeErr { timestamp: String },
|
|
|
|
#[error("Number conversion error")]
|
|
NumberConversionError,
|
|
}
|
|
|
|
pub(crate) type VMResult<T> = Result<T, VMError>;
|