Rust-PHF is a library to generate efficient lookup tables at compile time using perfect hash functions.
It currently uses the CHD algorithm and can generate a 10,000 entry map in roughly .25 seconds.
Documentation is available at http://www.rust-ci.org/sfackler/rust-phf/doc/phf/.
#![feature(phase)]
#[phase(syntax)]
extern crate phf_mac;
extern crate phf;
use phf::PhfMap;
static KEYWORDS: PhfMap<&'static str, Keyword> = phf_map! {
"loop" => LOOP,
"continue" => CONTINUE,
"break" => BREAK,
"fn" => FN,
"extern" => EXTERN,
};
pub fn parse_keyword(keyword: &str) -> Option<Keyword> {
KEYWORDS.find_equiv(keyword).map(|t| t.clone())
}