⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tokenprocess.java

📁 C语言的词法、语法分析器 输出语法分析树
💻 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 + -