Skip to content

Commit 03111e0

Browse files
authored
Update README.md
1 parent 9ddd999 commit 03111e0

File tree

1 file changed

+70
-3
lines changed

1 file changed

+70
-3
lines changed

README.md

+70-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,72 @@
1-
# Brief Introduction of JDT_AST_DOT Project
1+
# Java-to-AST-with-Visulization
22

3-
This project is used for generating an AST for a given Java class.
3+
This project is used for generating an AST for a given Java program. The AST will be stored in .dot format and can be simply visulized by several online tools.
4+
5+
# How to run?
6+
7+
- Import the project to eclipse as a Java project.
8+
- Add libraries in `lib` folder to build path.
9+
- Run `Main.java`.
10+
11+
# Example
12+
13+
- Input program
14+
15+
```java
16+
public class HelloWorld {
17+
18+
public static void main(String[] args) {
19+
// Prints "Hello, World" to the terminal window.
20+
System.out.println("Hello, World");
21+
}
22+
23+
}
24+
```
25+
26+
- Output .dot
27+
28+
```
29+
digraph "DirectedGraph" {
30+
graph [label = "main", labelloc=t, concentrate = true];
31+
"1188392295" [ label="(public static void main(String[] args){ System.out.println(\"Hello, World\"); } ,MethodDeclaration,3,6)" type=31 startLineNumber=3 endLineNumber=6 ]
32+
"226710952" [ label="(public,Modifier,3,3)" type=83 startLineNumber=3 endLineNumber=3 ]
33+
"1509563803" [ label="(static,Modifier,3,3)" type=83 startLineNumber=3 endLineNumber=3 ]
34+
"684874119" [ label="(void,PrimitiveType,3,3)" type=39 startLineNumber=3 endLineNumber=3 ]
35+
"1157740463" [ label="(main,SimpleName,3,3)" type=42 startLineNumber=3 endLineNumber=3 ]
36+
"1379435698" [ label="(String[] args,SingleVariableDeclaration,3,3)" type=44 startLineNumber=3 endLineNumber=3 ]
37+
"1529306539" [ label="(String[],ArrayType,3,3)" type=5 startLineNumber=3 endLineNumber=3 ]
38+
"1635985705" [ label="(String,SimpleType,3,3)" type=43 startLineNumber=3 endLineNumber=3 ]
39+
"695682681" [ label="(String,SimpleName,3,3)" type=42 startLineNumber=3 endLineNumber=3 ]
40+
"1073502961" [ label="(args,SimpleName,3,3)" type=42 startLineNumber=3 endLineNumber=3 ]
41+
"1582797472" [ label="({ System.out.println(\"Hello, World\"); } ,Block,3,6)" type=8 startLineNumber=3 endLineNumber=6 ]
42+
"644166178" [ label="(System.out.println(\"Hello, World\"); ,ExpressionStatement,5,5)" type=21 startLineNumber=5 endLineNumber=5 ]
43+
"892529689" [ label="(System.out.println(\"Hello, World\"),MethodInvocation,5,5)" type=32 startLineNumber=5 endLineNumber=5 ]
44+
"1757676444" [ label="(System.out,QualifiedName,5,5)" type=40 startLineNumber=5 endLineNumber=5 ]
45+
"182738614" [ label="(System,SimpleName,5,5)" type=42 startLineNumber=5 endLineNumber=5 ]
46+
"94345706" [ label="(out,SimpleName,5,5)" type=42 startLineNumber=5 endLineNumber=5 ]
47+
"670035812" [ label="(println,SimpleName,5,5)" type=42 startLineNumber=5 endLineNumber=5 ]
48+
"1870647526" [ label="(\"Hello, World\",StringLiteral,5,5)" type=45 startLineNumber=5 endLineNumber=5 ]
49+
"1188392295" -> "226710952"
50+
"1188392295" -> "1509563803"
51+
"1188392295" -> "684874119"
52+
"1188392295" -> "1157740463"
53+
"1188392295" -> "1379435698"
54+
"1379435698" -> "1529306539"
55+
"1529306539" -> "1635985705"
56+
"1635985705" -> "695682681"
57+
"1379435698" -> "1073502961"
58+
"1188392295" -> "1582797472"
59+
"1582797472" -> "644166178"
60+
"644166178" -> "892529689"
61+
"892529689" -> "1757676444"
62+
"1757676444" -> "182738614"
63+
"1757676444" -> "94345706"
64+
"892529689" -> "670035812"
65+
"892529689" -> "1870647526"
66+
}
67+
```
68+
69+
- Visualization
70+
71+
![Visualization](https://github.com/Program-Analysis/Java-to-AST-with-Visulization/blob/master/visulization/graphviz.png)
472

5-
Moreover, we tranfer the generated AST in .dot format.

0 commit comments

Comments
 (0)