in smt2parser/src/lexer.rs [108:123]
fn make_reserved_words() -> (Vec<Token>, fst::Map<Vec<u8>>) {
let mut keywords = KEYWORDS.to_vec();
keywords.sort_by_key(|(key, _)| key.to_string());
let mut words = Vec::new();
for (_, token) in &keywords {
words.push(token.clone());
}
let map = fst::Map::from_iter(
keywords
.iter()
.enumerate()
.map(|(index, (key, _))| (key, index as u64)),
)
.expect("Failed to create reserved token map");
(words, map)
}