Safe specification of operator precedence rules

A. Afroozeh, M.G.J. Brand, van den, A. Johnstone, E. Scott, J.J. Vinju

    Onderzoeksoutput: Hoofdstuk in Boek/Rapport/CongresprocedureConferentiebijdrageAcademicpeer review

    7 Citaten (Scopus)
    2 Downloads (Pure)


    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.
    Originele taal-2Engels
    TitelSoftware Language Engineering (6th International Conference, SLE 2013, Indianapolis, IN, USA, October 26-28, 2013. Proceedings)
    RedacteurenM. Erwig, R.F. Paige, E. Van Wyk
    Plaats van productieBerlin
    ISBN van geprinte versie978-3-319-02653-4
    StatusGepubliceerd - 2013
    Evenementconference; 6th International Conference onSoftware Language Engineering; 2013-10-26; 2013-10-28 -
    Duur: 26 okt 201328 okt 2013

    Publicatie series

    NaamLecture Notes in Computer Science
    ISSN van geprinte versie0302-9743


    Congresconference; 6th International Conference onSoftware Language Engineering; 2013-10-26; 2013-10-28
    Ander6th International Conference onSoftware Language Engineering


    Duik in de onderzoeksthema's van 'Safe specification of operator precedence rules'. Samen vormen ze een unieke vingerafdruk.

    Citeer dit