November 22, 2022 - 5:00 pm CET

Virtual Meetup – Lorenzo Addazi

Abstract

We present the result of our extensive experience, research and development in the field of Parsers, Transpilers, and Editors. Our established methodology, dubbed “*Lasu” (StarLasu), provides for a standardized pipeline that begins with a parser producing a parse tree. In the second stage, we transform the parse tree into an abstract syntax tree (AST). Then we apply AST transformations until we arrive at the final result (for example, code generation).
To support our methodology, we’ve published a set of open-source libraries for the following platforms: the JVM, Python, and JavaScript (browsers and Node.js). These libraries provide:

  • Building blocks to construct an AST.
  • Traversal and transformation operators.
  • Tracking of the origin and destination of each AST node, from the source text to generated text.
  • Collecting all kinds of parsing issues under a uniform interface.
  • Import/export of the AST in several formats (including ECore).
  • Convenient packaging of the above into command-line tools.

In a demo, we’ll show our approach in action, by constructing an AST iteratively from a simple ANTLR parser and showcasing tree traversal and transformation. We’ll use the Kotlin language.

Biography

He is a freshman among Software Language Engineers at Strumenta, eager to get his hands dirty and build great things. Passionate about Model-Driven and Language Engineering, he also likes to explore other topics from Game Programming to Deep Learning. In his free time, you can find him contributing to open-source projects, watching The Office, reading camper catalogues or playing as handball goalkeeper.

How to join the event:

To avoid security issues is now necessary to register for the meeting. The registration should be necessary just once and be valid for all the next meetings you will participate in. Follow these steps:

  1. Register yourself to the community on the Homepage
  2. You will receive a confirmation email containing all the information about joining the meeting.
  3. Add to your calendar
  4. Enjoy the talk and, if you feel like it, discuss it further on the community forum