Parser Generation by Example for Legacy Pattern Languages
Most modern software languages enjoy relatively free and relaxed concrete syntax, with significant flexibility of formatting of the program/model/sheet text. Yet, in the dark legacy corners of software engineering there are still languages with a strict fixed column-based structure — the compromises of times long gone, attempting to combine some human readability with some ease of machine processing. In this paper, we consider an industrial case study for retirement of a legacy domain-specific language, completed under extreme circumstances: absolute lack of documentation, varying line structure, hierarchical blocks within one file, scalability demands for millions of lines of code, performance demands for manipulating tens of thousands multi-megabyte files, etc. However, the regularity of the language allowed to infer its structure from the available examples, automatically, and produce highly efficient parsers for it.
this URL might only work when visiting from a http://www.sigplan.org/ URL.
Tue 24 Oct Times are displayed in time zone: (GMT-07:00) Tijuana, Baja California change
|13:30 - 13:55|
Jafar M. Al-KofahiIowa State University, USA, Suresh KothariIowa State University, USA, Christian KästnerCarnegie Mellon University, USADOI Authorizer link
|13:55 - 14:20|
Leonardo FernandesFederal University of Pernambuco, Brazil, Márcio RibeiroFederal University of Alagoas, Brazil, Luiz CarvalhoFederal University of Alagoas, Brazil, Rohit GheyiFederal University of Campina Grande, Brazil, Melina MongioviFederal University of Campina Grande, Brazil, Andre Santos, Ana CavalcantiUniversity of York, UK, Fabiano FerrariFederal University of São Carlos, Brazil, José Carlos MaldonadoUniversity of São Paulo, BrazilDOI Authorizer link
|14:20 - 14:45|
Tomoki NakamaruUniversity of Tokyo, Japan, Kazuhiro IchikawaUniversity of Tokyo, Japan, Tetsuro YamazakiUniversity of Tokyo, Japan, Shigeru ChibaUniversity of Tokyo, JapanDOI Authorizer link
|14:45 - 15:00|
Vadim ZaytsevRaincode Labs, BelgiumDOI Authorizer link