-
Notifications
You must be signed in to change notification settings - Fork 0
/
TypeUtil.java
83 lines (68 loc) · 1.72 KB
/
TypeUtil.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
import java.lang.reflect.Field;
public class TypeUtil {
// 关键字数组
private final String keyWords[] = {"boolean", "byte","char","double", "else","String",
"final", "float", "for","if","int",
"long","new", "private", "protected","public",
"return", "short", "static", "this", "void","while" };
// 运算符数组
private final char operators[] = { '+', '-', '*', '/', '=', '>', '<', '&', '|',
'!' };
// 界符数组
private final char separators[] = { ',', ';', '{', '}', '(', ')', '[', ']', '_',
':', '.', '"','\\'};
public boolean isLetter(char ch) {
return Character.isLetter(ch);
}
public boolean isDigit(char ch) {
return Character.isDigit(ch);
}
public boolean isUndLine(char ch) {
if(ch == '_')
return true;
else
return false;
}
public boolean isDot(char ch) {
if(ch == '.') {
return true;
}
else
return false;
}
public boolean isKeyWord(String s) {
for (int i = 0; i < keyWords.length; i++) {
if (keyWords[i].equals(s))
return true;
}
return false;
}
public boolean isOperator(char ch) {
for (int i = 0; i < operators.length; i++) {
if (ch == operators[i])
return true;
}
return false;
}
public boolean isSeparators(char ch) {
for (int i = 0; i < separators.length; i++) {
if (ch == separators[i])
return true;
}
return false;
}
public int getType(String args) {
int type = -1;
Field[] fields = KeyTypes.class.getDeclaredFields();
for (Field field : fields) {
if (field.getName().equals(args)) {
try {
type = (Integer) field.get(new KeyTypes());
} catch (Exception e) {
e.printStackTrace();
}
}
}
return type;
}
}