33 lines
1.2 KiB
Rust
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,
|
|
}
|
|
}
|