Repository navigation
Expand file tree
/
Copy pathMain.java
More file actions
76 lines (62 loc) · 2.6 KB
/
Copy pathMain.java
File metadata and controls
76 lines (62 loc) · 2.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) throws IOException, InterruptedException {
System.out.println("Creating Lexer.......");
System.out.println("java JLex.Main input/lexer");
System.out.println(executeCommand("java JLex.Main input/lexer"));
System.out.println("Compiling Lexer......");
System.out.println("javac input/lexer.java");
System.out.println(executeCommand("javac input/lexer.java"));
System.out.println("Loading Files......");
String seed = "Code";
ArrayList<String> names = new ArrayList<String>();
for(int i = 0;i<6;i++){
seed+="0";
String filename = seed+"1.java";
names.add(seed+"1.lex");
System.out.println("Creating Lex file for "+filename+".....");
System.out.println("java -cp input lexer "+filename+ " "+ ""+seed+"1.txt");
System.out.println(executeCommand("java -cp input lexer input/"+filename+ " input/"+seed+"1.lex"));
}
System.out.println("Generating SyntaxAnalyzer Grammar.gram");
CodeGenerator.main(new String []{"input/Grammar.gram","SyntaxAnalyzer/"});
System.out.println();
//removing files
System.out.println("Removing Old Files......");
System.out.println(executeCommand("rm ./SyntaxAnalyzer/SyntaxAnalyzer.class"));
System.out.println(executeCommand("rm ./SyntaxAnalyzer/Token.class"));
System.out.println(executeCommand("rm ./SyntaxAnalyzer/Tokenizer.class"));
//compiling
System.out.println("Compiling SyntaxAnalyzer Files......");
System.out.println("");
System.out.println("javac SyntaxAnalyzer/SyntaxAnalyzer.java SyntaxAnalyzer/Token.java SyntaxAnalyzer/Tokenizer.java");
System.out.println(executeCommand("javac SyntaxAnalyzer/SyntaxAnalyzer.java SyntaxAnalyzer/Token.java SyntaxAnalyzer/Tokenizer.java"));
System.out.println();
System.out.println("Parsing Files using SyntaxAnalyzer......");
for(String fileName : names){
System.out.println("Parsing "+ fileName +".......");
System.out.println(executeCommand("java -cp SyntaxAnalyzer SyntaxAnalyzer ./input/"+fileName));
System.out.println();
}
}
private static String executeCommand(String command) {
StringBuffer output = new StringBuffer();
Process p;
try {
p = Runtime.getRuntime().exec(command);
p.waitFor();
BufferedReader reader = new BufferedReader(new InputStreamReader(
p.getInputStream()));
String line = "";
while ((line = reader.readLine()) != null) {
output.append(line + "\n");
}
} catch (Exception e) {
e.printStackTrace();
}
return output.toString();
}
}