Skip to content

Commit 4fbff6b

Browse files
committed
2 parents 783737b + b7d8d9b commit 4fbff6b

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

README.md

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
## Mini Java Compiler
2+
3+
#### Parts
4+
5+
Part 1: MiniJava Static Checking (Semantic Analysis)
6+
Part 2: Generating intermediate code (MiniJava -> LLVM)
7+
8+
### Getting Started
9+
10+
In order to see that the output of the produced LLVM IR files is the same as compiling the input java file with javac and executing it with java, you will need Clang with version >=4.0.0.
11+
12+
#### In Ubuntu Trusty
13+
```
14+
sudo apt update && sudo apt install clang-4.0
15+
```
16+
17+
### Execution
18+
19+
To perform semantic analysis on all files given as arguments:
20+
21+
```
22+
java [MainClassName] [file1] [file2] ... [fileN]
23+
```
24+
To execute .ll files:
25+
26+
```
27+
clang-4.0 -o out1 ex.ll
28+
./out1
29+
```
30+

0 commit comments

Comments
 (0)