titan_ast_runtime_lib/
token_automata.rs1use crate::{
2 ast::Token, dfa_token_automata::DfaTokenAutomata, error::AstAppError,
3 key_word_dfa_token_automata::KeyWordDfaTokenAutomata,
4};
5
6pub(crate) trait TokenBuilder {
7 fn build_token(&mut self, source_code_file_path: &String) -> Result<Vec<Token>, AstAppError>;
8}
9
10#[derive(Clone)]
11pub(crate) enum SubDfaTokenAutomata {
12 DfaTokenAutomata(DfaTokenAutomata),
13 KeyWordDfaTokenAutomata(KeyWordDfaTokenAutomata),
14}
15
16impl Default for SubDfaTokenAutomata {
17 fn default() -> Self {
18 return Self::DfaTokenAutomata(Default::default());
19 }
20}