?? compiler.java
字號:
package jeex.tiny;
import java.io.*;
/**
* Main class.
*/
class Compiler {
public static void main(String[] args) {
if (args.length <= 0) {
System.err.println("Usage: Compiler filename");
System.exit(1);
}
//create scanner
Scanner s = null;
try {
FileInputStream in = new FileInputStream(args[0]);
s = new Scanner(in);
} catch(FileNotFoundException e) {
System.err.println(args[0] + " not found,exit...");
System.exit(1);
} catch(IOException e2) {
System.err.println("read " + args[0] + " error,exit...");
System.exit(1);
}
//parsing: build abstract syntax tree
Parser parser = new Parser(s);
Tree prog = parser.Program();
if (Log.count()>0) {
System.err.println("compile " + args[0] + "failed");
System.exit(1);
}
//generate code
Code code = new Code();
Gen gen = new Gen(code);
gen.main(prog);
if (Log.count()>0) {
System.err.println("compile " + args[0] + "failed");
System.exit(1);
}
//write to file
code.write("a.txt");
System.exit(0);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -