Write a Blog >>
CC 2021
Tue 2 - Wed 3 March 2021 Online Conference
Wed 3 Mar 2021 12:45 - 13:00 at CC Virtual Room - Natural & Source Language Analysis Chair(s): Zhijia Zhao

When building a new programming language, it can be useful to compose parts of existing languages to avoid repeating implementation work. However, this is problematic already at the syntax level, as composing the grammars of language fragments can easily lead to an ambiguous grammar. State-of-the-art parser tools cannot handle ambiguity truly well: either the grammar cannot be handled at all, or the tools give little help to an end-user who writes an ambiguous program. This composability problem is twofold: (i) how can we detect if the composed grammar is ambiguous, and (ii) if it is ambiguous, how can we help a user resolve an ambiguous program? In this paper, we depart from the traditional view of unambiguous grammar design and enable a language designer to work with an ambiguous grammar, while giving users the tools needed to handle these ambiguities. We introduce the concept of resolvable ambiguity wherein a user can resolve an ambiguous program by editing it, as well as an approach to computing the resolutions of an ambiguous program. Furthermore, we present a method based on property-based testing to identify if a composed grammar is unambiguous, resolvably ambiguous, or unresolvably ambiguous. The method is implemented in Haskell and evaluated on a large set of language fragments selected from different languages. The evaluation shows that (i) the approach can handle significantly more cases of language compositions compared to approaches which ban ambiguity altogether, and (ii) that the approach is fast enough to be used in practice.

Wed 3 Mar

Displayed time zone: Eastern Time (US & Canada) change

12:30 - 13:00
Natural & Source Language AnalysisCC Research Papers at CC Virtual Room
Chair(s): Zhijia Zhao UC Riverside
Deep NLP-Based Co-evolvement for Synthesizing Code Analysis from Natural Language
CC Research Papers
Zifan Nan North Carolina State University, Hui Guan University of Massachusetts at Amherst, Xipeng Shen North Carolina State University, Chunhua Liao Lawrence Livermore National Laboratory
Resolvable Ambiguity: Principled Resolution of Syntactically Ambiguous ProgramsArtifacts Evaluated – Reusable v1.1Results Reproduced v1.1Artifacts Available v1.1
CC Research Papers