资源简介
桂浩 解释器构造实验1 含JAVACC学习笔记 高分作业
代码片段和文件信息
/* Generated By:JJTree&JavaCC: Do not edit this line. eg2.java */
@SuppressWarnings(“all“)
public class eg2/*@bgen(jjtree)*/implements eg2TreeConstants eg2Constants {/*@bgen(jjtree)*/
protected static JJTeg2State jjtree = new JJTeg2State();public static void main(String args[]) {
System.out.println(“Reading from standard input...“);
System.out.print(“Enter CMM code like \u005c“int a;\u005c“ end with \u005c“-1\u005c“:“);
new eg2(System.in);
try {
SimpleNode n = eg2.Start();
n.dump(““);
System.out.println(“Thank you.“);
} catch (Exception e) {
System.out.println(“Error.“);
System.out.println(e.getMessage());
}
}
/* 遍历语法树*/
static final public SimpleNode Start() throws ParseException {
/*@bgen(jjtree) Start */
SimpleNode jjtn000 = new SimpleNode(JJTSTART);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
Procedure();
jj_consume_token(38);
jjtree.closeNodeScope(jjtn000 true);
jjtc000 = false;
//输入程序以“-1“结尾
{if (true) return jjtn000;}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000 true);
}
}
throw new Error(“Missing return statement in function“);
}
/* 程序由语句构成 */
static final public void Procedure() throws ParseException {
/*@bgen(jjtree) Procedure */
SimpleNode jjtn000 = new SimpleNode(JJTPROCEDURE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
label_1:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case IF:
case WHILE:
case READ:
case WRITE:
case INT:
case REAL:
case LBRACE:
case IDENTIFIER:
case CONST_ARRAY:
case VAR_ARRAY:
;
break;
default:
jj_la1[0] = jj_gen;
break label_1;
}
Stament();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000 true);
}
}
}
/* 语句的定义 */
static final public void Stament()
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 130560 2012-10-15 22:19 Task1\JavaCC学习笔记.doc
文件 376 2012-10-15 14:10 Task1\myTask1\.classpath
文件 851 2012-10-15 14:12 Task1\myTask1\.project
文件 395 2012-10-15 14:10 Task1\myTask1\.settings\org.eclipse.jdt.core.prefs
文件 305 2012-10-15 14:12 Task1\myTask1\.settings\sf.eclipse.javacc.prefs
文件 14118 2012-10-15 15:08 Task1\myTask1\bin\CMM.jj
文件 4041 2012-10-15 15:08 Task1\myTask1\bin\CMM.jjt
文件 373 2012-10-15 15:23 Task1\myTask1\bin\eg2$JJCalls.class
文件 410 2012-10-15 15:23 Task1\myTask1\bin\eg2$LookaheadSuccess.class
文件 20855 2012-10-15 15:23 Task1\myTask1\bin\eg2.class
文件 2332 2012-10-15 15:23 Task1\myTask1\bin\eg2Constants.class
文件 12200 2012-10-15 15:23 Task1\myTask1\bin\eg2TokenManager.class
文件 1161 2012-10-15 15:23 Task1\myTask1\bin\eg2TreeConstants.class
文件 2581 2012-10-15 15:23 Task1\myTask1\bin\JJTeg2State.class
文件 1210 2012-10-15 15:23 Task1\myTask1\bin\mytask1\Activator.class
文件 304 2012-10-15 15:23 Task1\myTask1\bin\Node.class
文件 3584 2012-10-15 15:23 Task1\myTask1\bin\ParseException.class
文件 8138 2012-10-15 15:23 Task1\myTask1\bin\SimpleCharStream.class
文件 2549 2012-10-15 15:23 Task1\myTask1\bin\SimpleNode.class
文件 1153 2012-10-15 15:23 Task1\myTask1\bin\Token.class
文件 2805 2012-10-15 15:23 Task1\myTask1\bin\TokenMgrError.class
文件 80 2012-10-15 14:10 Task1\myTask1\build.properties
文件 302 2012-10-15 14:10 Task1\myTask1\me
文件 14118 2012-10-15 15:08 Task1\myTask1\src\CMM.jj
文件 4041 2012-10-15 15:08 Task1\myTask1\src\CMM.jjt
文件 37230 2012-10-15 15:08 Task1\myTask1\src\eg2.java
文件 2903 2012-10-15 15:08 Task1\myTask1\src\eg2Constants.java
文件 25604 2012-10-15 15:08 Task1\myTask1\src\eg2TokenManager.java
文件 968 2012-10-15 15:08 Task1\myTask1\src\eg2TreeConstants.java
文件 3345 2012-10-15 15:08 Task1\myTask1\src\JJTeg2State.java
............此处省略19个文件信息
- 上一篇:Android 项目源码利用加速度传感器实现计步
- 下一篇:java 登陆注册系统
评论
共有 条评论