lexer.java

来自「SkipOOMiniJOOL教学语言的编译器前端」· Java 代码 · 共 43 行

JAVA
43
字号
package edu.ustc.cs.minijool.lexer;import java.io.FileReader;import java.io.IOException;import java.io.PushbackReader;/** * 词法分析器抽象类 */public abstract class Lexer {	/** 一个可回退的读取器 */	protected PushbackReader in = null;	/**	 * 取得下一个词法记号	 * @return 返回的词法记号	 */	public abstract Symbol nextToken();		/**	 * 词法分析器的构造函数	 * @param infile 输入文件名	 */	public Lexer(String infile) {		PushbackReader reader = null;		try {			reader = new PushbackReader(new FileReader(infile));		} catch(IOException e) {			e.printStackTrace();			System.exit(-1);		}		in = reader;	}		/**	 * 词法分析器的构造函数	 * @param reader 一个可回退的读取器	 */	public Lexer(PushbackReader reader) {		in = reader;	}}

⌨️ 快捷键说明

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