Safe Specification of Operator Precedence Rules

Ali Afroozeh, Mark van den Brand, Adrian Johnstone, Elizabeth Scott, Jurgen Vinju

Research output: Chapter in Book/Report/Conference proceedingConference contribution

214 Downloads (Pure)

Abstract

In this paper we present an approach to specifying operator precedence based on declarative disambiguation constructs and an implementation mechanism based on grammar rewriting. We identify a problem with existing generalized context-free parsing and disambiguation technology: generating a correct parser for a language such as OCaml using declarative precedence specification is not possible without resorting to some manual grammar transformation. Our approach provides a fully declarative solution to operator precedence specification for context-free grammars, is independent of any parsing technology, and is safe in that it guarantees that the language of the resulting grammar will be the same as the language of the specification grammar. We evaluate our new approach by specifying the precedence rules from the OCaml reference manual against the highly ambiguous reference grammar and validate the output of our generated parser.
Original languageEnglish
Title of host publicationSoftware Language Engineering Lecture Notes in Computer Science
Pages137-156
Number of pages20
Volume8225
ISBN (Electronic)978-3-319-02654-1
DOIs
Publication statusPublished - 2013

Cite this