Changes in api and upwards
- Removed out-of-stack error reporting - Revised module system to match previous Orchid system - Errors are now in a Vec everywhere - Implemented atoms and lexer - Started implementation of line parser - Tree is now ephemeral to avoid copying Atoms held inside - Moved numbers into std and the shared parser into base - Started implementation of Commands
This commit is contained in:
@@ -15,7 +15,8 @@ use crate::system::SysId;
|
||||
/// [Acquire].
|
||||
///
|
||||
/// The ID is globally unique within its lifetime, but may be reused.
|
||||
pub type ExprTicket = NonZeroU64;
|
||||
#[derive(Copy, Clone, Debug, Hash, PartialEq, Eq, PartialOrd, Ord, Coding)]
|
||||
pub struct ExprTicket(pub NonZeroU64);
|
||||
|
||||
/// Acquire a strong reference to an expression. This keeps it alive until a
|
||||
/// corresponding [Release] is emitted. The number of times a system has
|
||||
@@ -84,7 +85,7 @@ pub enum Clause {
|
||||
/// A reference to a constant
|
||||
Const(TStrv),
|
||||
/// A static runtime error.
|
||||
Bottom(ProjErr),
|
||||
Bottom(Vec<ProjErr>),
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Coding)]
|
||||
|
||||
Reference in New Issue
Block a user