MCPcopy Create free account
hub / github.com/acsoto/BUAA-Compiler / KeyWordMap

Class KeyWordMap

src/KeyWordMap.java:3–53  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1import java.util.HashMap;
2
3public class KeyWordMap {
4 private HashMap<String, String> keyWords;
5
6 public KeyWordMap() {
7 keyWords = new HashMap<>();
8 keyWords.put("main", "MAINTK");
9 keyWords.put("const", "CONSTTK");
10 keyWords.put("int", "INTTK");
11 keyWords.put("break", "BREAKTK");
12 keyWords.put("continue", "CONTINUETK");
13 keyWords.put("if", "IFTK");
14 keyWords.put("else", "ELSETK");
15 keyWords.put("!", "NOT");
16 keyWords.put("&&", "AND");
17 keyWords.put("||", "OR");
18 keyWords.put("while", "WHILETK");
19 keyWords.put("getint", "GETINTTK");
20 keyWords.put("printf", "PRINTFTK");
21 keyWords.put("return", "RETURNTK");
22 keyWords.put("+", "PLUS");
23 keyWords.put("-", "MINU");
24 keyWords.put("void", "VOIDTK");
25 keyWords.put("*", "MULT");
26 keyWords.put("/", "DIV");
27 keyWords.put("%", "MOD");
28 keyWords.put("<", "LSS");
29 keyWords.put("<=", "LEQ");
30 keyWords.put(">", "GRE");
31 keyWords.put(">=", "GEQ");
32 keyWords.put("==", "EQL");
33 keyWords.put("!=", "NEQ");
34 keyWords.put("=", "ASSIGN");
35 keyWords.put(";", "SEMICN");
36 keyWords.put(",", "COMMA");
37 keyWords.put("(", "LPARENT");
38 keyWords.put(")", "RPARENT");
39 keyWords.put("[", "LBRACK");
40 keyWords.put("]", "RBRACK");
41 keyWords.put("{", "LBRACE");
42 keyWords.put("}", "RBRACE");
43 }
44
45 public String getType(String ident) {
46 return keyWords.get(ident);
47 }
48
49 public boolean isKey(String str) {
50 return keyWords.containsKey(str);
51 }
52
53}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected