diff options
| author | Thomas Voss <mail@thomasvoss.com> | 2026-03-04 21:27:59 +0100 |
|---|---|---|
| committer | Thomas Voss <mail@thomasvoss.com> | 2026-03-04 21:27:59 +0100 |
| commit | 8dc2a3e0f9a5d6db1e97195397eaa2edc00771f7 (patch) | |
| tree | a0cf10c28a12307a8667f962e4ba0cb0ad48a60a /oryxc | |
| parent | 1d20947c8eea797f166d7243c6b2785ab8ec4644 (diff) | |
Move types into a prelude
Diffstat (limited to 'oryxc')
| -rw-r--r-- | oryxc/src/compiler.rs | 4 | ||||
| -rw-r--r-- | oryxc/src/main.rs | 1 | ||||
| -rw-r--r-- | oryxc/src/parser.rs | 29 | ||||
| -rw-r--r-- | oryxc/src/prelude.rs | 31 |
4 files changed, 34 insertions, 31 deletions
diff --git a/oryxc/src/compiler.rs b/oryxc/src/compiler.rs index 06f7d92..6438f06 100644 --- a/oryxc/src/compiler.rs +++ b/oryxc/src/compiler.rs @@ -30,6 +30,7 @@ use soa_rs::Soa; use crate::errors::OryxError; use crate::lexer::Token; use crate::parser::AstNode; +use crate::prelude::*; use crate::{ Flags, err, @@ -37,9 +38,6 @@ use crate::{ parser, }; -#[derive(Clone, Copy, Eq, Hash, PartialEq)] -pub struct FileId(usize); - pub struct FileData { pub name: OsString, pub buffer: String, diff --git a/oryxc/src/main.rs b/oryxc/src/main.rs index 7320c19..e8c552f 100644 --- a/oryxc/src/main.rs +++ b/oryxc/src/main.rs @@ -4,6 +4,7 @@ mod compiler; mod errors; mod lexer; mod parser; +mod prelude; mod size; mod unicode; diff --git a/oryxc/src/parser.rs b/oryxc/src/parser.rs index d27a002..89e2769 100644 --- a/oryxc/src/parser.rs +++ b/oryxc/src/parser.rs @@ -1,11 +1,3 @@ -use std::fmt::{ - self, - Debug, - Formatter, -}; -use std::ops::FnOnce; -use std::vec::Vec; - use soa_rs::{ Soa, Soars, @@ -16,6 +8,7 @@ use crate::lexer::{ Token, TokenType, }; +use crate::prelude::*; use crate::size; const MAX_PREC: i64 = 6; @@ -43,26 +36,6 @@ pub enum AstType { UnaryOperator, /* (rhs, _) */ } -#[derive(Clone, Copy)] -pub struct SubNodes(u32, u32); - -impl Debug for SubNodes { - fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { - let __ = format_args!("_"); - return f - .debug_tuple("SubNodes") - .field(if self.0 != u32::MAX { &self.0 } else { &__ }) - .field(if self.1 != u32::MAX { &self.1 } else { &__ }) - .finish(); - } -} - -impl Default for SubNodes { - fn default() -> Self { - return Self(u32::MAX, u32::MAX); - } -} - #[derive(Soars)] #[soa_derive(Debug)] pub struct AstNode { diff --git a/oryxc/src/prelude.rs b/oryxc/src/prelude.rs new file mode 100644 index 0000000..78e7597 --- /dev/null +++ b/oryxc/src/prelude.rs @@ -0,0 +1,31 @@ +use std::fmt::{ + self, + Debug, + Formatter, +}; + +#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)] +pub struct FileId(pub usize); + +#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)] +pub struct NodeId(pub u32); + +#[derive(Clone, Copy)] +pub struct SubNodes(pub u32, pub u32); + +impl Debug for SubNodes { + fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { + let __ = format_args!("_"); + return f + .debug_tuple("SubNodes") + .field(if self.0 != u32::MAX { &self.0 } else { &__ }) + .field(if self.1 != u32::MAX { &self.1 } else { &__ }) + .finish(); + } +} + +impl Default for SubNodes { + fn default() -> Self { + return Self(u32::MAX, u32::MAX); + } +} |