Write a Blog >>
SPLASH 2017
Sun 22 - Fri 27 October 2017 Vancouver, Canada
Thu 26 Oct 2017 14:37 - 15:00 at Regency A - Mining Software Repositories and Parsing Chair(s): Wolfgang De Meuter

Precedence and associativity declarations in systems like yacc resolve ambiguities in context-free grammars (CFGs) by specifying restrictions on allowed parses. However, they are special purpose and do not handle many other grammatical restrictions that language designers need in order to resolve ambiguities like dangling else, the interactions between binary operators and functional if expressions in ML, and the interactions between object allocation and function calls in JavaScript. Often, language designers resort to restructuring their grammars in order to encode these restrictions, but this obfuscates the designer's intent and makes grammars difficult to read, write, and maintain.

In this paper, we show how tree automata can modularly and concisely encode such restrictions. We do this by reinterpreting CFGs as tree automata and intersecting them with tree automata encoding the desired restrictions. The results are then reinterpreted back into CFGs that encode the specified restrictions. This process can be used as a
preprocessing step before other CFG manipulations and is well behaved. It performs well in practice and never introduces ambiguities or LR($k$) conflicts.

Thu 26 Oct
Times are displayed in time zone: Tijuana, Baja California change

13:30 - 15:00: Mining Software Repositories and ParsingOOPSLA at Regency A
Chair(s): Wolfgang De MeuterVrije Universiteit Brussel
13:30 - 13:52
Talk
Exploiting Implicit Beliefs to Resolve Sparse Usage Problem in Usage-Based Specification Mining
OOPSLA
Samantha Syeda KhairunnesaIowa State University, Hoan Anh NguyenIowa State University, USA, Tien N. NguyenUniversity of Texas at Dallas, Hridesh RajanIowa State University
DOI
13:52 - 14:15
Talk
DéjàVu: A Map of Code Duplicates on GitHub
OOPSLA
Crista LopesUniversity of California, Irvine, Petr MajReactorLabs, Pedro MartinsUniversity of California at Irvine, USA, Vaibhav SainiUniversity of California at Irvine, USA, Di YangUniversity of California at Irvine, USA, Jakub ZitnyCzech Technical University, Czechia, Hitesh SajnaniMicrosoft , Jan VitekNortheastern University, USA
DOI
14:15 - 14:37
Talk
Understanding the Use of Lambda Expressions in Java
OOPSLA
Davood MazinanianConcordia University, Canada, Ameya KetkarOregon State University, USA, Nikolaos TsantalisConcordia University, Canada, Danny DigSchool of EECS at Oregon State University
DOI
14:37 - 15:00
Talk
Restricting Grammars with Tree Automata
OOPSLA
Michael D. AdamsUniversity of Utah, USA, Matthew MightUniversity of Utah, USA
DOI