package edu.ucsd.arcum.interpreter.parser;
import java.util.HashMap;
public enum ArcumKeyword
{
DEFINE_KEYWORD("define"),
EXISTS_KEYWORD("exists"),
FORALL_KEYWORD("forall"),
ONFAIL_KEYWORD("onfail"),
OPTION_KEYWORD("option"),
REALIZE_KEYWORD("realize"),
REQUIRE_KEYWORD("require"),
SELECT_KEYWORD("select"),
ERROR("<ERROR>");
private String lexeme;
ArcumKeyword(String lexeme) {
this.lexeme = lexeme;
}
public String getLexeme() {
return lexeme;
}
@Override public String toString() {
return lexeme;
}
private static HashMap<String, ArcumKeyword> lookup;
static {
lookup = new HashMap<String, ArcumKeyword>();
for (ArcumKeyword keyword : values()) {
lookup.put(keyword.getLexeme(), keyword);
}
}
public static ArcumKeyword lookup(String lexeme) {
if (lookup.containsKey(lexeme)) {
return lookup.get(lexeme);
}
else {
return ERROR;
}
}
}