Abstract
The similarities and differences between attribute grammar systems are obscured by their implementations. A formalism that captures the essence of such systems would allow for equivalence, correctness, and other analyses to be formally framed and proven. We present Saiga, a core language and small-step operational semantics that precisely captures the fundamental concepts of the specification and execution of parameterised reference attribute grammars. We demonstrate the utility of Saiga by a) proving a meta-theoretic property about attribute caching, and b) by specifying two attribute grammars for a realistic name analysis problem and proving that they are equivalent. The language, semantics and associated tests have been mechanised in Coq; we are currently mechanising the proofs.
Original language | English |
---|---|
Title of host publication | SLE 2017 |
Subtitle of host publication | Proceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering |
Editors | B Combemale, M Mernik, B Rumpe |
Place of Publication | New York, NY |
Publisher | Association for Computing Machinery, Inc |
Pages | 139-150 |
Number of pages | 12 |
ISBN (Electronic) | 9781450355254 |
DOIs | |
Publication status | Published - 23 Oct 2017 |
Event | 10th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2017 - Vancouver, Canada Duration: 23 Oct 2017 → 24 Oct 2017 |
Conference
Conference | 10th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2017 |
---|---|
Country/Territory | Canada |
City | Vancouver |
Period | 23/10/17 → 24/10/17 |
Keywords
- Attribute grammars
- Name analysis
- Small-step operational semantics