diff options
Diffstat (limited to 'oryxc/src/symtab.rs')
| -rw-r--r-- | oryxc/src/symtab.rs | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/oryxc/src/symtab.rs b/oryxc/src/symtab.rs deleted file mode 100644 index b65eee0..0000000 --- a/oryxc/src/symtab.rs +++ /dev/null @@ -1,42 +0,0 @@ -#![allow(dead_code)] - -use boxcar; -use dashmap::DashMap; - -use crate::prelude::*; - -#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)] -pub struct ScopeId(pub u32); - -impl ScopeId { - pub const GLOBAL: Self = Self(0); - pub const INVAL: Self = Self(u32::MAX); -} - -#[derive(Clone, Copy, Debug)] -pub struct Scope { - pub parent: ScopeId, -} - -pub struct SymbolVal {} - -pub struct SymbolTable { - scopes: boxcar::Vec<Scope>, - symbols: DashMap<(ScopeId, SymbolId), SymbolVal>, -} - -impl SymbolTable { - pub fn new() -> Self { - return Self { - /* Initialize with the global scope */ - scopes: boxcar::vec![Scope { - parent: ScopeId::INVAL, - }], - symbols: DashMap::new(), - }; - } - - pub fn insert(&self, scope: ScopeId, symbol: SymbolId, value: SymbolVal) { - self.symbols.insert((scope, symbol), value); - } -} |