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

📄 error.java

📁 用DFA方法写得词法分析器 和大家交流一下
💻 JAVA
字号:
import java.io.BufferedReader;
import java.io.IOException;

/*
 * this class handle the error problem
 * author:贺静
 */
public class Error {
	/*
	 * outputText += "LINE " + lineNo + ":" + " ERROR 注释不匹配" + "\n"; author:
	 * HeJing
	 */
	public String getError(BufferedReader input, int lineNo, String token,
			int c, char charToken, int errorCon) throws IOException {
		String s = "";
		switch (errorCon) {
		case 0:
			input.readLine();
			s = "!!!ERROR: " + "LINE " + lineNo + ":" + "   注释不匹配" + "\n";
			break;
		case 1:
			if (charToken != '\n')
				input.readLine();
			s = "!!!ERROR: " + "LINE " + lineNo + ":  '" + token
					+ "'  标识符不能以 '_' 结束" + "\n";
			break;
		case 2:
			input.readLine();
			s = "!!!ERROR: " + "LINE " + lineNo + ":  '" + token
					+ "'  标识符不能以数字开头" + "\n";
			break;
		case 3:
			if (charToken != '\n')
				input.readLine();
			s = "!!!ERROR: " + "LINE " + lineNo + ":  '" + token
					+ "'   数字不能以 '.' 结束" + "\n";
			break;
		case 4:
			if (charToken == '@' & input.readLine() == null)
				s = "";
			else
				s = "!!!ERROR: " + "LINE " + lineNo + ":   invalid input "
						+ charToken + "\n";
			break;
		case 5:
			s = "!!!ERROR: " + "LINE " + lineNo + ":  " + " 注释不匹配" + "\n";
			break;
		case 6:
			if (charToken != '\n')
				input.readLine();
			s = s = "!!!ERROR: " + "LINE " + lineNo + ":  '" + token
					+ "'  数字的输入格式错误" + "\n";
		}
		if (errorCon == 0 || errorCon == 1 || errorCon == 2 || errorCon == 3
				|| errorCon == 4 || errorCon == 6) {
			lineNo++;
			Ana.token = token = " ";
			Ana.c = c = input.read();
			Ana.charToken = charToken = (char) c;
			Ana.lineNo = lineNo;
		}

		return s;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -