use crate::bounded::Bounded;
#[path = "type_guard.rs"]
mod guard;
pub const GENERATED_TOKEN_LIMIT: usize = 4096;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum GeneratedSpacing {
Joint,
Alone,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum GeneratedDelimiter {
Parenthesis,
Brace,
Bracket,
}
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub enum GeneratedToken {
Word(String),
Punct {
mark: char,
spacing: GeneratedSpacing,
},
Text(String),
Group {
delimiter: GeneratedDelimiter,
tokens: Bounded<GeneratedToken, GENERATED_TOKEN_LIMIT>,
},
ByteText(Vec<u8>),
Number(u64),
RawIdentifier(String),
}
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub struct GeneratedTree {
tokens: Bounded<GeneratedToken, GENERATED_TOKEN_LIMIT>,
}