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

📄 debugginginputbuffer.java

📁 SRI international 发布的OAA框架软件
💻 JAVA
字号:
package antlr_oaa.debug;

import antlr_oaa.InputBuffer;
import antlr_oaa.CharStreamException;
import java.util.Vector;
import java.io.IOException;

public class DebuggingInputBuffer extends InputBuffer {
	private InputBuffer buffer;
	private InputBufferEventSupport inputBufferEventSupport;
	private boolean debugMode = true;


	public DebuggingInputBuffer(InputBuffer buffer) {
		this.buffer = buffer;
		inputBufferEventSupport = new InputBufferEventSupport(this);
	}
	public void addInputBufferListener(InputBufferListener l) {
	  inputBufferEventSupport.addInputBufferListener(l);
	}
	public void consume() {
		char la = ' ';
		try {la = buffer.LA(1);}
		catch (CharStreamException e) {} // vaporize it...
		buffer.consume();
		if (debugMode)
			inputBufferEventSupport.fireConsume(la);
	}
	public void fill(int a) throws CharStreamException {
		buffer.fill(a);
	}
	public Vector getInputBufferListeners() {
		return inputBufferEventSupport.getInputBufferListeners();
	}
	public boolean isDebugMode() {
		return debugMode;
	}
	public boolean isMarked() {
		return buffer.isMarked();
	}
	public char LA(int i) throws CharStreamException {
		char la = buffer.LA(i);
		if (debugMode)
			inputBufferEventSupport.fireLA(la,i);
		return la;
	}
	public int mark() {
		int m = buffer.mark();
		inputBufferEventSupport.fireMark(m);
		return m;
	}
	public void removeInputBufferListener(InputBufferListener l) {
	  if (inputBufferEventSupport != null)
	    inputBufferEventSupport.removeInputBufferListener(l);
	}
	public void rewind(int mark) {
		buffer.rewind(mark);
		inputBufferEventSupport.fireRewind(mark);
	}
	public void setDebugMode(boolean value) {
		debugMode = value;
	}
}

⌨️ 快捷键说明

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