91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

編譯原理課程設計--C-minus詞法和語法分析器,用lex做的詞法分析,包含輸入文件;LL(1)語法分析;JTree輸出分析樹

資源截圖

代碼片段和文件信息

package?cminus;

/**
?*?控制整個編譯流程的主類
?*?
?*?@author?Administrator
?*?
?*/
import?java.io.*;

public?class?Controller?{
private?static?BufferedReader?stdIn?=?new?BufferedReader(
new?InputStreamReader(System.in));
private?Parser?scanner?;//?詞法分析器類
private?String?grammarfilename;//文法文件名
private?String?programfilename;//程序文件名
private?ParsingTree?tree;//分析樹類
private?Treeframe?treeframe;//圖形化顯示分析樹的類

/***
?*?構造函數
?*/
public?Controller()?{
scanner?=?new?Parser();
try?{
System.out.print(“Enter?the?grammar?file?path:\t“);
this.grammarfilename?=?stdIn.readLine();
tree?=?new?ParsingTree(this.grammarfilename);
treeframe?=?new?Treeframe(tree);
System.out
.print(“Enter?the?program?file?path?which?is?wrote?in?c-minus:\t“);
this.programfilename?=?stdIn.readLine();
}?catch?(IOException?e)?{
System.out.println(“I/O?error:?“?+?e.getMessage());
}
}

public?void?doScannerWork()?{
try?{
scanner.setSourceFile(programfilename);
scanner.getToken();
scanner.showTokens();
}?catch?(Exception?e)?{
System.err.println(“Scanning?error:?“?+?e.getMessage());
}
}

public?void?doFirstSetWork()?{
try?{
tree.addToList();?//?將文法文件裝入數據結構
tree.validateGrammar();//?檢查文法有無語法錯誤
tree.getFirstSet();?//?得到初期存儲在多個鏈表中的first集合
tree.constructFirstSet();?//?將多個鏈表存儲的first集合裝入vector中。
tree.printFirstSet();
}?catch?(Exception?e)?{
System.err.println(“Generating?first?set?error:?“?+?e.getMessage());
}
}

public?void?doFollowSetWork()?{
try?{
tree.getFollowSet();
tree.constructFollowSet();
tree.printFollowSet();
tree.isLL1();
}?catch?(Exception?e)?{
System.err
.println(“Generating?follow?set?error:?“?+?e.getMessage());
}
}

public?void?doParsingTableWork()?{
try?{
tree.initParsingTable();
tree.constructParsingTable();
tree.printParsingTable();
}?catch?(Exception?e)?{
System.err.println(“Generating?parsing?table?error:“
+?e.getMessage());
}
}

public?void?doParsingTreeWork()?{
try?{
tree.setStackToken();
tree.setStackTokenType();
tree.parsingAction();
treeframe.init();
treeframe.displayParsingTree();
}?catch?(Exception?e)?{
System.err.println(“Generating?parsing?tree?error:“
+?e.getMessage());
}
}

public?void?displayChoice()?{
System.out.println(“*******************C-minus?simple?compiler?V1.0******************“);
System.out.println(“ scan ?--execute?the?scann?work.“);
System.out.println(“ first ?--display?the?first?set?of?grammar.“);
System.out.println(“ follow ?--display?the?follow?set?of?grammar.“);
System.out.println(“ table ?--display?the?parsing?table?of?grammar.“);
System.out.println(“ tree? ?--show?the?parsing?tree?for?the?program?with?c-minus.“);
System.out.println(“ exit? ?--exit?the??program.“);
System.out.println(“*****************************************************************“);
System.out.pri

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????3824??2007-12-03?21:30??C-minus詞法和語法分析器\Lex輸入文件\C-minus.l

?????文件????????248??2007-11-15?14:23??C-minus詞法和語法分析器\編譯原理源程序\.classpath

?????文件????????344??2007-12-02?20:58??C-minus詞法和語法分析器\編譯原理源程序\.fatjar

?????文件????????388??2007-11-14?17:51??C-minus詞法和語法分析器\編譯原理源程序\.project

?????文件???????5226??2007-12-03?20:29??C-minus詞法和語法分析器\編譯原理源程序\bin\cminus\Controller.class

?????文件???????9553??2007-12-03?21:22??C-minus詞法和語法分析器\編譯原理源程序\bin\cminus\FirstSet.class

?????文件???????6679??2007-12-03?21:22??C-minus詞法和語法分析器\編譯原理源程序\bin\cminus\FollowSet.class

?????文件???????9346??2007-12-03?21:27??C-minus詞法和語法分析器\編譯原理源程序\bin\cminus\Parser.class

?????文件???????4858??2007-12-03?21:23??C-minus詞法和語法分析器\編譯原理源程序\bin\cminus\ParsingTable.class

?????文件????????870??2007-12-03?20:30??C-minus詞法和語法分析器\編譯原理源程序\bin\cminus\ParsingTree$ParsingTreeNode.class

?????文件???????6336??2007-12-03?20:30??C-minus詞法和語法分析器\編譯原理源程序\bin\cminus\ParsingTree.class

?????文件???????1731??2007-12-02?01:32??C-minus詞法和語法分析器\編譯原理源程序\bin\cminus\TokenProcess.class

?????文件???????1092??2007-12-02?00:56??C-minus詞法和語法分析器\編譯原理源程序\bin\cminus\TokenType.class

?????文件???????1296??2007-12-02?00:56??C-minus詞法和語法分析器\編譯原理源程序\bin\cminus\Treeframe$1.class

?????文件???????4602??2007-12-02?00:56??C-minus詞法和語法分析器\編譯原理源程序\bin\cminus\Treeframe.class

?????文件????????414??2007-12-02?00:56??C-minus詞法和語法分析器\編譯原理源程序\bin\yl\yyflexer$yyftables.class

?????文件????????474??2007-12-02?00:56??C-minus詞法和語法分析器\編譯原理源程序\bin\yl\yyflexer$yytransition.class

?????文件???????2921??2007-12-02?00:56??C-minus詞法和語法分析器\編譯原理源程序\bin\yl\yyflexer.class

?????文件????????507??2007-12-02?00:56??C-minus詞法和語法分析器\編譯原理源程序\bin\yl\yylexer$yystate.class

?????文件????????478??2007-12-02?00:56??C-minus詞法和語法分析器\編譯原理源程序\bin\yl\yylexer$yytables.class

?????文件???????8652??2007-12-02?00:56??C-minus詞法和語法分析器\編譯原理源程序\bin\yl\yylexer.class

?????文件???????2009??2007-12-02?00:56??C-minus詞法和語法分析器\編譯原理源程序\bin\yl\yyobject.class

?????文件????????457??2007-12-02?00:56??C-minus詞法和語法分析器\編譯原理源程序\bin\yl\yyparser$yyattribute.class

?????文件????????538??2007-12-02?00:56??C-minus詞法和語法分析器\編譯原理源程序\bin\yl\yyparser$yyreduction.class

?????文件????????494??2007-12-02?00:56??C-minus詞法和語法分析器\編譯原理源程序\bin\yl\yyparser$yysymbol.class

?????文件????????578??2007-12-02?00:56??C-minus詞法和語法分析器\編譯原理源程序\bin\yl\yyparser$yytables.class

?????文件??????11862??2007-12-02?00:56??C-minus詞法和語法分析器\編譯原理源程序\bin\yl\yyparser.class

?????文件??????47292??2007-12-03?21:28??C-minus詞法和語法分析器\編譯原理源程序\c-minus-compiler.jar

?????文件?????????38??2007-12-03?20:31??C-minus詞法和語法分析器\編譯原理源程序\c-minus-conpiler.bat

?????文件???????2349??2007-12-03?21:32??C-minus詞法和語法分析器\編譯原理源程序\grammar

............此處省略30個文件信息

評論

共有 條評論