Sökning: WFRF:(Castegren Elias Doktor 1987 ) >
Resolvable ambiguity :
Resolvable ambiguity : Principled resolution of syntactically ambiguous programs
-
- Palmkvist, Viktor (författare)
- KTH,Programvaruteknik och datorsystem, SCS
-
- Castegren, Elias, Doktor, 1987- (författare)
- KTH,Programvaruteknik och datorsystem, SCS
-
- Haller, Philipp (författare)
- KTH,Teoretisk datalogi, TCS
-
visa fler...
-
- Broman, David, 1977- (författare)
- KTH,Programvaruteknik och datorsystem, SCS
-
visa färre...
-
(creator_code:org_t)
- 2021-02-27
- 2021
- Engelska.
-
Ingår i: CC 2021. - New York, NY, United States : ACM.
- Relaterad länk:
-
https://kth.diva-por... (primary) (Raw object)
-
visa fler...
-
http://kth.diva-port...
-
https://urn.kb.se/re...
-
https://doi.org/10.1...
-
visa färre...
Abstract
Ämnesord
Stäng
- 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.
Ämnesord
- NATURVETENSKAP -- Data- och informationsvetenskap -- Datavetenskap (hsv//swe)
- NATURAL SCIENCES -- Computer and Information Sciences -- Computer Sciences (hsv//eng)
Nyckelord
- Syntax
- Ambiguity
- Datalogi
- Computer Science
Publikations- och innehållstyp
- ref (ämneskategori)
- kon (ämneskategori)