Skip to content
This repository has been archived by the owner on Mar 8, 2020. It is now read-only.

GSoC 2019 Ideas

Denys Smirnov edited this page Feb 6, 2019 · 5 revisions

Project ideas for GSoC 2019

Aggregating feedback from a mailing list, Slack and initial discussing in #229.

New Language Driver

Implement a driver for one of the languages that are not yet supported (not in the beta state) e.g for TypeScript.

An implementation might be either a native driver that generates an AST (LUA, Rust, Closure), the annotation code for an existing native driver (TypeScript) or a combination on both.

AST-to-code

As of now, Babelfish only supports parsing files (code-to-AST), but it does not support "rendering" the native AST back to source code. Although this problem of converting a Universal AST to source code is hard in general, the conversion of a native AST to the source code for individual drivers is not.

Unprivileged bblfshd

Right now the main process of parsing server runs under root user on Linux. This is mostly due to the fact that bblfshd is always using a https://github.com/opencontainers/runc underneath.

There are 2 principle ways around it: either find a way of launching containers though runc without root (may require upstream changes) or add an option to bblfshd to support running directly on Docker (more realistic).

Clone this wiki locally