?? main.java
字號:
package uk.co.brainycreatures.jpascal;
import uk.co.brainycreatures.jpascal.node.*;
import uk.co.brainycreatures.jpascal.lexer.*;
import uk.co.brainycreatures.jpascal.parser.*;
import uk.co.brainycreatures.jpascal.code.*;
import uk.co.brainycreatures.jpascal.semantic.*;
import java.io.*;
public class Main {
public static void main(String[] arguments){
System.out.println("JPascal version 1.3");
System.out.println("Copyright (c) 1999, 2000 Fidel Viegas.");
System.out.println();
if (arguments.length != 1) {
System.out.println("Usage:");
System.out.println(" java uk.co.brainycreatures.jpascal.Main file.pas");
System.exit(1);
}
if (!arguments[0].substring(arguments[0].length() - 4,
arguments[0].length()).equalsIgnoreCase(".pas")) {
System.out.println("Error: wrong argument " + arguments[0]);
System.out.println();
System.out.println("Usage:");
System.out.println(" java uk.co.brainycreatures.jpascal.Main file.pas");
System.exit(1);
}
try{
Lexer lexer = new Lexer(
new PushbackReader(
new BufferedReader(
new FileReader(arguments[0])), 1024));
Parser parser = new Parser(lexer);
System.out.println("Parsing " + arguments[0]);
Node ast = parser.parse();
System.out.println("Checking identifiers of " + arguments[0]);
// check identifiers
ast.apply(new IdentifierChecker());
System.out.println("Type checking " + arguments[0]);
// check types
ast.apply(new TypeChecker());
// Generate Java source code
System.out.println("Generating " +
arguments[0].substring(0, arguments[0].length() - 4)+ ".java");
ast.apply(new JavaSourceGenerator(arguments[0]));
}
catch(Exception e){
System.out.println(e);
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -