Restricting grammars with tree automata

Abstract

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 the 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 can make grammars more difficult to read, write, and maintain.

Document Details

Document Type
Pub Defense Publication
Publication Date
Oct 12, 2017
Source ID
10.1145/3133906

Entities

People

  • Matthew Might
  • Michael D. Adams

Organizations

  • Defense Advanced Research Projects Agency
  • University of Utah

Tags

Fields of Study

  • Computer science

Readers

  • Computational Linguistics
  • Database Systems and Applications
  • Parallel and Distributed Computing.