October 14, 2021 - 6:00 pm CEST

Virtual Meetup – Denis Kuniß

Abstract

Generating compilers, and not only parsers, from declarative specifications and without implementing them is possible! This talk will introduce the calculus of Extended Affix Grammars, a specific form of two-level grammars, for specifying compilers purely by declarative means. Based on this calculus the compiler generator implementation Gamma, initially developed at the TU Berlin, is shown. We will step through a real context-sensitive small example and generate a running compiler from it. By means of another example, it is shown how semantic context checks can be specified using the introduced calculus. The current implementation is available on GitHub and the hands-on sessions will show it running at a browser-based Gitpod environment in VS code with grammar editor support, accessible to anyone just on a mouse click.

Biography

Denis has a Computer Science degree from TU Berlin. At his diploma thesis, he implemented a part of the shown Extended Affix Grammar compiler generator.
As a student freelancer, he built and maintained legacy language analysis tools using the compiler construction toolbox Cocktail helping to solve the year-2000-problem.
Today he works as a software architect at Diebold Nixdorf and at OMG standardizing APIs for retail peripherals.
He is an enthusiastic user of the Xtend language and the Xtext framework.
He is convinced of the advantages of the flow design approach and the flow programming model and has written several articles in regard to that in different German and online CS magazines.

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, discuss further on the community forum