TL;DR: A comparative analysis of two compilers for Modelica, a language for physical modeling, and which contains numerous compilation challenges, is presented.
Abstract: Operational semantics and attribute grammars are examples of formalisms that can be used for generating compilers. We are interested in finding similarities and differences in how these approaches are applied to complex languages, and for generating compilers of such maturity that they have users in industry.As a specific case, we present a comparative analysis of two compilers for Modelica, a language for physical modeling, and which contains numerous compilation challenges. The two compilers are OpenModelica, which is based on big-step operational semantics, and JModelica.org, which is based on reference attribute grammars.
TL;DR: A prototype editor for a visual language where the semantics depends on layout is implemented, where a high-level abstract syntax is defined, where these semantics can be captured without the need for storing concrete graphical coordinates.
Abstract: We have implemented a prototype editor for a visual language where the semantics depends on layout. A high-level abstract syntax is defined, where these semantics can be captured without the need for storing concrete graphical coordinates. The model implementation is done in JastAdd, a metacompilation tool based on reference attribute grammars. This gives a modular architecture where the core compiler model can be reused for both the interactive editor and the batch compiler.
TL;DR: This work proposes a novel matching algorithm which is independent of the programming language because the patterns are not parsed and, as such, are called unparsed patterns, which is as efficient as the classic pattern matching while being easier to implement.