⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main_lexical.java

📁 编译原理大作业---tiger编译器 包括semant,translate,mipsframe,regalloc等所有phase 懂的人自会知道
💻 JAVA
字号:
package Parse;import ErrorMsg.ErrorMsg;public class Main {  public static void main(String argv[]) throws java.io.IOException {      String infilename = argv[0];      String outfilename = "output_test_lessicale";      ErrorMsg errorMsg = new ErrorMsg(infilename);      java.io.InputStream infile = new java.io.FileInputStream(infilename);      //Lexer lexer = new Yylex(infile,errorMsg);      Yylex lexer = new Yylex(infile, errorMsg);      java_cup.runtime.Symbol tok;      java.io.PrintStream outfile =          new java.io.PrintStream(                new java.io.FileOutputStream(outfilename));      outfile.println("----------------");      outfile.println("TOKEN (POSITION)");      outfile.println("----------------");      do {         tok=lexer.nextToken();         outfile.println(symnames[tok.sym] + " (" + tok.left + ")");      } while (tok.sym != sym.EOF);      infile.close(); outfile.close();  }  static String symnames[] = new String[100];  static {     symnames[sym.AND] = "AND";     symnames[sym.ARRAY] = "ARRAY";     symnames[sym.ASSIGN] = "ASSIGN";     symnames[sym.BREAK] = "BREAK";     symnames[sym.COLON] = "COLON";     symnames[sym.COMMA] = "COMMA";     symnames[sym.DIVIDE] = "DIVIDE";     symnames[sym.DO] = "DO";     symnames[sym.DOT] = "DOT";     symnames[sym.ELSE] = "ELSE";     symnames[sym.END] = "END";     symnames[sym.EOF] = "EOF";     symnames[sym.EQ] = "EQ";     symnames[sym.FOR] = "FOR";     symnames[sym.FUNCTION] = "FUNCTION";     symnames[sym.GE] = "GE";     symnames[sym.GT] = "GT";     symnames[sym.ID] = "ID";     symnames[sym.IF] = "IF";     symnames[sym.IN] = "IN";     symnames[sym.INT] = "INT";     symnames[sym.LBRACE] = "LBRACE";     symnames[sym.LBRACK] = "LBRACK";     symnames[sym.LE] = "LE";     symnames[sym.LET] = "LET";     symnames[sym.LPAREN] = "LPAREN";     symnames[sym.LT] = "LT";     symnames[sym.MINUS] = "MINUS";     symnames[sym.NEQ] = "NEQ";     symnames[sym.NIL] = "NIL";     symnames[sym.OF] = "OF";     symnames[sym.OR] = "OR";     symnames[sym.PLUS] = "PLUS";     symnames[sym.RBRACE] = "RBRACE";     symnames[sym.RBRACK] = "RBRACK";     symnames[sym.RPAREN] = "RPAREN";     symnames[sym.SEMICOLON] = "SEMICOLON";     symnames[sym.STRING] = "STRING";     symnames[sym.THEN] = "THEN";     symnames[sym.TIMES] = "TIMES";     symnames[sym.TO] = "TO";     symnames[sym.TYPE] = "TYPE";     symnames[sym.UMINUS] = "UMINUS";     symnames[sym.VAR] = "VAR";     symnames[sym.WHILE] = "WHILE";     symnames[sym.error] = "error";  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -