You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hadoop is a large Java project (contains ~1.8M lines of code as of time of writing this). We included it as a benchmark of the translator.
61
+
62
+
Repository contains a script to build J2EO, download Hadoop repo and run J2EO on it.
63
+
64
+
Usage:
65
+
66
+
```shell
67
+
./test-hadoop.sh
68
+
```
69
+
70
+
59
71
---
60
72
61
73
## Motivation
@@ -73,6 +85,8 @@ particular repository contains translator from Java to EO.
73
85
**A**: Publicly available parsers only support older versions of Java, while we aim to support the latest version (
74
86
currently 16). Thus, we had to create our own parser.
75
87
88
+
Also in recent versions, external Java grammar implemented in ANTLR was added as an alternative. It claims to support Java 17, and it does, as for our testing on big projects.
89
+
76
90
<br>
77
91
78
92
**Q**: Why do we implement EO AST?
@@ -89,26 +103,3 @@ bugs in our code. It is also much easier to work with abstraction layer than wit
89
103
- First, the Java source code files are parsed recursively.
90
104
- Then, for each file, translator converts Java AST to EO AST.
91
105
- Then, EO AST is printed out as a source code to output directory in the same directory structure.
92
-
93
-
---
94
-
95
-
## NOT covered Java features list
96
-
97
-
- Type Erasure - Zouev
98
-
- Subtyping - discuss with Yegor
99
-
- Conversions - remove
100
-
- Casting - remove
101
-
- Modules
102
-
- Exceptions - remove
103
-
- Asserts - remove
104
-
- Throws - remove
105
-
- ``synchronized`` blocks
106
-
- ``try``/``catch`` blocks - remove
107
-
- ``yeild`` feature
108
-
- Threads and Locks
109
-
- Generics (all kinds of them) - remove
110
-
- Native methods
111
-
- break and continue statements - remove
112
-
- RTTI (instanceof operator) ?????? - remove
113
-
114
-
In general, we cover **91 feature of 112** described in the Java language specification.
0 commit comments