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 + -
显示快捷键?