1
use std::collections::HashMap;
2
use std::fmt::Display;
3

            
4
use serde::{Deserialize, Serialize};
5

            
6
use crate::ast::variables::DecisionVariable;
7

            
8
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
9
pub enum Name {
10
    UserName(String),
11
    MachineName(i32),
12
}
13

            
14
impl Display for Name {
15
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
16
        match self {
17
            Name::UserName(s) => write!(f, "UserName({})", s),
18
            Name::MachineName(i) => write!(f, "MachineName({})", i),
19
        }
20
    }
21
}
22

            
23
pub type SymbolTable = HashMap<Name, DecisionVariable>;