oak_c/language/
mod.rs

1use crate::{lexer::CTokenType, parser::CElementType};
2use oak_core::{Language, LanguageCategory};
3use serde::{Deserialize, Serialize};
4
5/// C 语言实现
6#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Deserialize)]
7pub struct CLanguage {}
8
9impl Language for CLanguage {
10    const NAME: &'static str = "c";
11    const CATEGORY: LanguageCategory = LanguageCategory::Programming;
12
13    type TokenType = CTokenType;
14    type ElementType = CElementType;
15    type TypedRoot = ();
16}
17
18impl Default for CLanguage {
19    fn default() -> Self {
20        Self {}
21    }
22}