errormsg.java

来自「tiger run time supporting files」· Java 代码 · 共 53 行

JAVA
53
字号
package tiger.errormsg;

public class ErrorMsg {
	private LineList linePos = new LineList(-1, null);

	private int lineNum = 1;

	private String filename;

	public boolean anyErrors;

	public ErrorMsg(String f) {
		filename = f;
		anyErrors = false;
	}

	public void newline(int pos) {
		lineNum++;
		linePos = new LineList(pos, linePos);
	}

	public void error(int pos, String msg) {
		int n = lineNum;
		LineList p = linePos;
		String sayPos = "0.0";

		anyErrors = true;

		while (p != null) {
			if (p.head < pos) {
				sayPos = ":" + String.valueOf(n) + "."
						+ String.valueOf(pos - p.head);
				break;
			}
			p = p.tail;
			n--;
		}

		System.out.println(filename + ":" + sayPos + ": " + msg);
	}
}

class LineList {
	int head;

	LineList tail;

	LineList(int h, LineList t) {
		head = h;
		tail = t;
	}
}

⌨️ 快捷键说明

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