3 import java.util.Hashtable;
4 import java_cup.runtime.Symbol;
7 class Keyword extends Token {
14 Integer i = (Integer) key_table.get(keyword);
15 return new Symbol(i.intValue());
17 public String toString() {
18 return "Keyword <"+keyword+">";
21 static private final Hashtable key_table = new Hashtable();
23 key_table.put("abstract", new Integer(Sym.ABSTRACT));
24 key_table.put("assert", new Integer(Sym.ASSERT));
25 key_table.put("boolean", new Integer(Sym.BOOLEAN));
26 key_table.put("break", new Integer(Sym.BREAK));
27 key_table.put("byte", new Integer(Sym.BYTE));
28 key_table.put("case", new Integer(Sym.CASE));
29 key_table.put("catch", new Integer(Sym.CATCH));
30 key_table.put("char", new Integer(Sym.CHAR));
31 key_table.put("class", new Integer(Sym.CLASS));
32 key_table.put("const", new Integer(Sym.CONST));
33 key_table.put("continue", new Integer(Sym.CONTINUE));
34 key_table.put("default", new Integer(Sym.DEFAULT));
35 key_table.put("do", new Integer(Sym.DO));
36 key_table.put("double", new Integer(Sym.DOUBLE));
37 key_table.put("else", new Integer(Sym.ELSE));
38 key_table.put("enum", new Integer(Sym.ENUM));
39 key_table.put("extends", new Integer(Sym.EXTENDS));
40 key_table.put("final", new Integer(Sym.FINAL));
41 key_table.put("finally", new Integer(Sym.FINALLY));
42 key_table.put("float", new Integer(Sym.FLOAT));
43 key_table.put("for", new Integer(Sym.FOR));
44 key_table.put("genreach", new Integer(Sym.GENREACH));
45 key_table.put("goto", new Integer(Sym.GOTO));
46 key_table.put("if", new Integer(Sym.IF));
47 key_table.put("import", new Integer(Sym.IMPORT));
48 key_table.put("instanceof", new Integer(Sym.INSTANCEOF));
49 key_table.put("int", new Integer(Sym.INT));
50 key_table.put("isavailable", new Integer(Sym.ISAVAILABLE));
51 key_table.put("long", new Integer(Sym.LONG));
52 key_table.put("native", new Integer(Sym.NATIVE));
53 key_table.put("new", new Integer(Sym.NEW));
54 key_table.put("newflag", new Integer(Sym.NEWFLAG));
55 key_table.put("package", new Integer(Sym.PACKAGE));
56 key_table.put("private", new Integer(Sym.PRIVATE));
57 key_table.put("protected", new Integer(Sym.PROTECTED));
58 key_table.put("public", new Integer(Sym.PUBLIC));
59 key_table.put("return", new Integer(Sym.RETURN));
60 key_table.put("short", new Integer(Sym.SHORT));
61 key_table.put("static", new Integer(Sym.STATIC));
62 key_table.put("strictfp", new Integer(Sym.STRICTFP));
63 key_table.put("super", new Integer(Sym.SUPER));
64 key_table.put("switch", new Integer(Sym.SWITCH));
65 key_table.put("synchronized", new Integer(Sym.SYNCHRONIZED));
66 key_table.put("this", new Integer(Sym.THIS));
67 key_table.put("throw", new Integer(Sym.THROW));
68 key_table.put("throws", new Integer(Sym.THROWS));
69 key_table.put("transient", new Integer(Sym.TRANSIENT));
70 key_table.put("try", new Integer(Sym.TRY));
71 key_table.put("void", new Integer(Sym.VOID));
72 key_table.put("volatile", new Integer(Sym.VOLATILE));
73 key_table.put("while", new Integer(Sym.WHILE));
74 //Keywords for failure aware computation
75 key_table.put("flag", new Integer(Sym.FLAG));
76 key_table.put("external", new Integer(Sym.EXTERNAL));
77 key_table.put("optional", new Integer(Sym.OPTIONAL));
78 key_table.put("tag", new Integer(Sym.TAG));
79 key_table.put("task", new Integer(Sym.TASK));
80 key_table.put("taskexit", new Integer(Sym.TASKEXIT));
81 //Keywords for transactions
82 key_table.put("atomic", new Integer(Sym.ATOMIC));
83 key_table.put("global", new Integer(Sym.GLOBAL));
84 key_table.put("scratch", new Integer(Sym.SCRATCH));
85 //Keywords for hacking prefetch calls in java
86 key_table.put("getoffset", new Integer(Sym.GETOFFSET));
87 //Keywords for disjointness in Java
88 key_table.put("disjoint", new Integer(Sym.DISJOINT));
89 //Keywords for coarse-grain parallelization
90 key_table.put("sese", new Integer(Sym.SESE));
91 key_table.put("rblock", new Integer(Sym.RBLOCK));
92 // Keywords for interface of mgc
93 key_table.put("interface", new Integer(Sym.INTERFACE));
94 key_table.put("implements", new Integer(Sym.IMPLEMENTS));
95 // Keywords for Self-Stabilizing Java
96 key_table.put("locdef", new Integer(Sym.LOCDEF));