titan_ast_runtime_lib/
token_automata.rs

1use 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}