📄 tokenprocess.java
字号:
package cminus;
public class TokenProcess implements TokenType {
/**
* 将int型的token转化为String型的token以便于使用
* @param token int 被转化的token
* @return 对应的String形式的token
*/
public static String tokenToString(int token) {
switch (token) {
//for testing use,must be delete
case FLOAT:
return "float";
case IF:
return "if";
case ELSE:
return "else";
case INT:
return "int";
case RETURN:
return "return";
case VOID:
return "void";
case WHILE:
return "while";
case ADD:
return "+";
case MINUS:
return "-";
case MUL:
return "*";
case DIV:
return "/";
case LESSTHEN:
return "<";
case LESSEQUALTHEN:
return "<=";
case MORETHEN:
return ">";
case MOREEQUALTHEN:
return ">=";
case EQUAL:
return "==";
case NOTEQUAL:
return "!=";
case ASSIGN:
return "=";
case SEMICOLON:
return ";";
case COMMA:
return ",";
case LSB:
return "(";
case RSB:
return ")";
case LMB:
return "[";
case RMB:
return "]";
case LBB:
return "{";
case RBB:
return "}";
case ID:
return "ID";
case NUM:
return "NUM";
case ENDFILE:
return "EOF";
case ERROR:
return "ERROR";
}
return "Unkown Token";
}
/**
* 辅助函数:判断某个字符是否是终结字符
* @param token 被判断的字符
* @return 是终结字符是返回true否则返回false
*/
public static boolean isTerminal(String token) {
if (token.equals("if") || token.equals("else") || token.equals("int")
|| token.equals("return") || token.equals("void")
|| token.equals("while") || token.equals("+")
|| token.equals("-") || token.equals("*") || token.equals("/")
|| token.equals("<") || token.equals("<=") || token.equals(">")
|| token.equals(">=") || token.equals("==")
|| token.equals("!=") || token.equals("=") || token.equals(";")
|| token.equals(",") || token.equals("(") || token.equals(")")
|| token.equals("[") || token.equals("]") || token.equals("{")
|| token.equals("}") || token.equals("ID")
|| token.equals("NUM")||token.equalsIgnoreCase("EMPTY")) {
return true;
} else {
return false;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -