opu.lljvm-python.0.2.0-EXPERIMENTAL.source-code.ReservedWords Maven / Gradle / Ivy
The newest version!
/* --- Copyright Jonathan Meyer 1996. All rights reserved. -----------------
> File: jasmin/src/jasmin/ReservedWords.java
> Purpose: Reserved words for Jasmin
> Author: Jonathan Meyer, 10 July 1996
*/
package jasmin;
import java.util.Hashtable;
import java_cup.runtime.*;
abstract class ReservedWords {
private static Hashtable reserved_words;
public static token get(String name) {
return (token)reserved_words.get(name);
}
public static boolean contains(String name) {
return reserved_words.get(name) != null;
}
//
// scanner initializer - sets up reserved_words table
//
static {
reserved_words = new Hashtable();
// Jasmin directives
reserved_words.put(".annotation", new token(sym.DANNOTATION));
reserved_words.put(".attribute", new token(sym.DATTRIBUTE));
reserved_words.put(".bytecode", new token(sym.DBYTECODE));
reserved_words.put(".catch", new token(sym.DCATCH));
reserved_words.put(".class", new token(sym.DCLASS));
reserved_words.put(".deprecated", new token(sym.DDEPRECATED));
reserved_words.put(".end", new token(sym.DEND));
reserved_words.put(".field", new token(sym.DFIELD));
reserved_words.put(".implements", new token(sym.DIMPLEMENTS));
reserved_words.put(".inner", new token(sym.DINNER));
reserved_words.put(".interface", new token(sym.DINTERFACE));
reserved_words.put(".limit", new token(sym.DLIMIT));
reserved_words.put(".line", new token(sym.DLINE));
reserved_words.put(".method", new token(sym.DMETHOD));
reserved_words.put(".set", new token(sym.DSET));
reserved_words.put(".source", new token(sym.DSOURCE));
reserved_words.put(".super", new token(sym.DSUPER));
reserved_words.put(".throws", new token(sym.DTHROWS));
reserved_words.put(".var", new token(sym.DVAR));
reserved_words.put(".debug", new token(sym.DDEBUG));
reserved_words.put(".enclosing", new token(sym.DENCLOSING));
reserved_words.put(".signature", new token(sym.DSIGNATURE));
reserved_words.put(".stack", new token(sym.DSTACK));
// reserved_words used in Jasmin directives
reserved_words.put("field", new token(sym.FIELD));
reserved_words.put("from", new token(sym.FROM));
reserved_words.put("method", new token(sym.METHOD));
reserved_words.put("to", new token(sym.TO));
reserved_words.put("is", new token(sym.IS));
reserved_words.put("using", new token(sym.USING));
reserved_words.put("signature", new token(sym.SIGNATURE));
reserved_words.put("stack", new token(sym.STACK));
reserved_words.put("offset", new token(sym.OFFSET));
reserved_words.put("locals", new token(sym.LOCALS));
reserved_words.put("use", new token(sym.USE));
reserved_words.put("inner", new token(sym.INNER));
reserved_words.put("outer", new token(sym.OUTER));
reserved_words.put("class", new token(sym.CLASS));
reserved_words.put("visible", new token(sym.VISIBLE));
reserved_words.put("invisible", new token(sym.INVISIBLE));
reserved_words.put("visibleparam", new token(sym.VISIBLEPARAM));
reserved_words.put("invisibleparam", new token(sym.INVISIBLEPARAM));
// Special-case instructions
reserved_words.put("tableswitch", new token(sym.TABLESWITCH));
reserved_words.put("lookupswitch", new token(sym.LOOKUPSWITCH));
reserved_words.put("default", new token(sym.DEFAULT));
// Access flags
reserved_words.put("public", new token(sym.PUBLIC));
reserved_words.put("private", new token(sym.PRIVATE));
reserved_words.put("protected", new token(sym.PROTECTED));
reserved_words.put("static", new token(sym.STATIC));
reserved_words.put("final", new token(sym.FINAL));
reserved_words.put("synchronized", new token(sym.SYNCHRONIZED));
reserved_words.put("volatile", new token(sym.VOLATILE));
reserved_words.put("transient", new token(sym.TRANSIENT));
reserved_words.put("native", new token(sym.NATIVE));
reserved_words.put("interface", new token(sym.INTERFACE));
reserved_words.put("abstract", new token(sym.ABSTRACT));
reserved_words.put("annotation", new token(sym.ANNOTATION));
reserved_words.put("enum", new token(sym.ENUM));
reserved_words.put("bridge", new token(sym.BRIDGE));
reserved_words.put("varargs", new token(sym.VARARGS));
reserved_words.put("fpstrict", new token(sym.STRICT));
reserved_words.put("synthetic", new token(sym.SYNTHETIC));
}
}
/* --- Revision History ---------------------------------------------------
--- Iouri Kharon, Aug 10 2006
Added 'Wide' prefix support to IincOperand
*/