I’m involved in language engineering since probably 1995. That time I started taking compiler lectures at the TU Berlin during my university studies. This brought me to the compiler generator group at TU Berlin around Mario Kröplin and Sönke Kannapinn which were doing research around the Eta compiler generator system. The Eta compiler generator system allows you to specify the syntax and semantic of a formal language using a closed calculus of a two-level grammar (in particular, a analysis-oriented restricted Extended Affix Grammar is used) and generates effective compilers from that. I was involved in creating the successor of it, the EBNF based Epsilon compiler generator system, as the old one was in development since 1984 and was depending on old HW and outdated compilers. For the new system I wrote my master theses about an evaluator generator for a sub class of Extended Affix Grammars which generates semantic checks out from the closed language specification.
Unfortunately, my thesis was the last work for the new compiler generator system, AFAIK, as the research team was resolved shortly after that and the research about compiler generation at TU Berlin has been discontinued. So sad.
Already during my student time and 3 years after graduation I was lucky to work in the language engineering area. That time, before 2000, I have developed and maintained the COBOL, IBM360 assembler, PL/I, PL/SQL and C language scanners for the Softlab code analysis system Maestro which was heavily used by a lot of Banks to scan their old code bases for preventing the 2YK problem to be happened. The language scanners were implemented using the compiler construction tool suite Cocktail by CoCoLab, a spin up from the University of Karlsruhe.
After 2003 I was professionally not involved anymore in language engineering despite from sporadically meeting my university mates discussing on how to reimplement the Epsilon compiler generator system in Java. Originally, it was implemented in Oberon-2 on Wirth’s Oberon system which turned out to be a good choice for teaching but not for evolving it.
Around 2010 I got aware of Xtext and was fascinated quite from the start. It fits ordinary well in the Eclipse eco-system I also use at work. There, I use th Xtext language Xtend a lot for different code generation task and also as a substitution for Java using modern language features long before Kotlin and Java-lambdas arrived.
Currently, as a home side project, I’m working on a Xtext based DSL for making message based programming easier as I’m deeply convinced about a new programming paradigm related to that. I also wrote several articles about this.
Glad to participate in this community.