📄 main.java
字号:
package edu.ustc.cs.minijool.interp;
import org.eclipse.jdt.core.dom.ASTNode;
import edu.ustc.cs.minijool.lab1parser.Lab1Parser;
/**<p>
* Main类,运行Interpreter的代码。
* </p><p>
* 在完成实验的过程中,您可以任意修改此函数以测试您的解释器
* </p>
*/
public class Main {
/**
* 程序的入口
* @param args 程序的输入参数
*/
public static void main(String[] args) {
//表示是否从语法分析器中得到AST
//当您与我们提供的语法分析器一块测试解释器时请改为true
boolean fromParser = false;
boolean viewAST = true;
//
ASTNode cu;
if (fromParser) {
// 选择正确的源代码文件
cu = Lab1Parser.parse("test/sample1.mj");
} else {
// 如果已完成TestCase类,把下面的方法调用改为createTestCase()
cu = TestCase.createTestCase();
}
if (viewAST) {
ASTViewer viewer = new ASTViewer();
viewer.viewAST(cu);
}
try{
cu.accept(new Interpreter());
}catch(DivideByZeroException e) {
System.out.println("Error: division by zero");
} catch (VoidReferenceException e) {
System.out.println("Error: use of void value");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -