@@ -178,6 +178,36 @@ would be:
178
178
179
179
Supervised by [ @densh ] ( https://github.com/densh )
180
180
181
+ ### Java source code (or bytecode) to Scala.js IR compiler
182
+
183
+ [ Scala.js] ( https://www.scala-js.org/ ) is the Scala to JavaScript compiler.
184
+ While it can compile any .scala source files to JavaScript, it is unable to
185
+ compiler Java source files. This can be annoying to Scala.js developers, as
186
+ they cannot reuse existing Java libraries like Scala/JVM developers do.
187
+
188
+ This project consists in writing a compiler from Java source code to the
189
+ Intermediate Representation (IR) of Scala.js. The later phases of the existing
190
+ pipeline would then be reused to compile that IR to JavaScript.
191
+
192
+ The Java-to-IR compiler should probably reuse an existing an existing Java
193
+ parser and typechecker. From typechecked Java ASTs, it should be relatively
194
+ straightforward to compile them down to the Scala.js IR (except some corner
195
+ cases, but not * everything* needs to be supported).
196
+
197
+ * Alternative* : Writing a compiler from the JVM * bytecode* to the Scala.js IR.
198
+ This is a priori much more difficult, but it might be easier for a student
199
+ already familiar with the JVM bytecode.
200
+
201
+ The compiler will be written in Scala for the JVM. Working knowledge of Scala
202
+ is expected.
203
+
204
+ The project requires a relatively good knowledge of compiler construction in
205
+ general. ** Your application should include your background in compiler
206
+ construction.** Ideally, it should point to a compiler project you have written
207
+ (e.g., a student project of a compiler course).
208
+
209
+ Supervised by [ @sjrd ] ( https://github.com/sjrd/ )
210
+
181
211
## Requirements and Guidelines
182
212
183
213
### General Student Application Requirements
0 commit comments