1#![feature(new_range_api)]
2#![warn(missing_docs)]
3pub mod ast;
7pub mod builder;
9pub mod lexer;
11pub mod parser;
13
14pub use lexer::token_type::MojoTokenType as TokenType;
15pub use parser::element_type::MojoElementType as ElementType;
16
17use oak_core::Language;
18
19#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Default)]
21pub struct MojoLanguage;
22
23impl Language for MojoLanguage {
24 const NAME: &'static str = "mojo";
25 type TokenType = lexer::token_type::MojoTokenType;
26 type ElementType = parser::element_type::MojoElementType;
27 type TypedRoot = Vec<ast::MojoStatement>;
28}