📄 main_lexical.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 + -