initial rust scanner
This commit is contained in:
parent
818816d16d
commit
3cf8ef02d1
16 changed files with 610 additions and 4 deletions
25
rust/rox/src/keywords.rs
Normal file
25
rust/rox/src/keywords.rs
Normal file
|
@ -0,0 +1,25 @@
|
|||
use crate::token::TokenType::{self, *};
|
||||
use lazy_static::lazy_static;
|
||||
use std::collections::HashMap;
|
||||
|
||||
lazy_static! {
|
||||
pub static ref KEYWORDS: HashMap<std::string::String, TokenType> = {
|
||||
let mut m = HashMap::new();
|
||||
m.insert("and".into(), And);
|
||||
m.insert("class".into(), Class);
|
||||
m.insert("else".into(), Else);
|
||||
m.insert("false".into(), False);
|
||||
m.insert("for".into(), For);
|
||||
m.insert("fun".into(), Fun);
|
||||
m.insert("if".into(), If);
|
||||
m.insert("nil".into(), Nil);
|
||||
m.insert("or".into(), Or);
|
||||
m.insert("print".into(), Print);
|
||||
m.insert("return".into(), Return);
|
||||
m.insert("super".into(), Super);
|
||||
m.insert("true".into(), True);
|
||||
m.insert("var".into(), Var);
|
||||
m.insert("while".into(), While);
|
||||
m
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue