資源簡介
桂浩 解釋器構造實驗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 登陸注冊系統
評論
共有 條評論