GSOC '19 LibreSpace: PLUTO DSL Lark Parser



I’m interested in taking on the Pluto DSL Parser project as part of GSOC. I’ve installed and setup lark on my debian based machine :slight_smile: I’m examining its documentation more closely, as well as the standards for PLUTO.

Hesitant on whether I should use LALR or Earley as my algorithm of choice, though I’m leaning towards LARL. From what I understand Lark is written in an ENBF format which means I’ll have to read though the resulting tree myself? If there’s a way to automate it I haven’t found it yet.

Also, since Lark doesn’t provide any facilities to generate Python code. There must be some other libraries for that, or just print code using my own functions.
What Lark does provide is the Transformer class, which will helps show the parse-trees in the correct order for code generation. If I’m understanding correctly, the parsed information in the tree format will then have to be converted into Python valid code?

I have a proposal up ^^ if someone could check it out.