tipi-lang/src/keywords.rs
2025-11-17 11:07:12 +01:00

33 lines
1.2 KiB
Rust

use crate::compiler::tokens::TokenType;
pub(crate) fn get_keyword(lexeme: &str) -> Option<TokenType> {
match lexeme {
"and" => Some(TokenType::LogicalAnd),
"bool" => Some(TokenType::Bool),
"char" => Some(TokenType::Char),
"datetime" => Some(TokenType::DateTime),
"else" => Some(TokenType::Else),
"false" => Some(TokenType::False),
"f32" => Some(TokenType::F32),
"f64" => Some(TokenType::F64),
"fn" => Some(TokenType::Fn),
"for" => Some(TokenType::For),
"if" => Some(TokenType::If),
"in" => Some(TokenType::In),
"i32" => Some(TokenType::I32),
"i64" => Some(TokenType::I64),
"let" => Some(TokenType::Let),
"list" => Some(TokenType::ListType),
"map" => Some(TokenType::MapType),
"or" => Some(TokenType::LogicalOr),
"object" => Some(TokenType::Object),
"print" => Some(TokenType::Print),
"string" => Some(TokenType::StringType),
"true" => Some(TokenType::True),
"u32" => Some(TokenType::U32),
"u64" => Some(TokenType::U64),
"while" => Some(TokenType::While),
_ => None,
}
}