Abstract
Software language design and implementation often involve specifications written in various esoteric meta-languages. Language workbenches generally include support for precise name-based navigation when browsing language specifications locally, but such support is lacking when browsing the same specifications online in code repositories.
This paper presents a technique to support precise name-based navigation of language specifications in online repositories using ordinary web browsers. The idea is to generate hyperlinked twins: websites where verbatim copies of specification text are enhanced with hyperlinks between name references and declarations. By generating hyperlinks directly from the name binding analysis used internally in a language workbench, online navigation in hyperlinked twins is automatically consistent with local navigation.
The presented technique has been implemented for the Spoofax language workbench, and used to generate hyperlinked twin websites from various language specifications in Spoofax meta-languages. However, the applicability of the technique is not limited to Spoofax, and developers of other language workbenches could presumably implement similar tooling, to make their language specifications more accessible to those who do not have the workbench installed.
This paper presents a technique to support precise name-based navigation of language specifications in online repositories using ordinary web browsers. The idea is to generate hyperlinked twins: websites where verbatim copies of specification text are enhanced with hyperlinks between name references and declarations. By generating hyperlinks directly from the name binding analysis used internally in a language workbench, online navigation in hyperlinked twins is automatically consistent with local navigation.
The presented technique has been implemented for the Spoofax language workbench, and used to generate hyperlinked twin websites from various language specifications in Spoofax meta-languages. However, the applicability of the technique is not limited to Spoofax, and developers of other language workbenches could presumably implement similar tooling, to make their language specifications more accessible to those who do not have the workbench installed.
Original language | English |
---|---|
Title of host publication | SLE 2023 |
Subtitle of host publication | Proceedings of the 16th ACM SIGPLAN International Conference on Software Language Engineering |
Place of Publication | New York |
Publisher | Association for Computing Machinery (ACM) |
Pages | 220–225 |
Number of pages | 6 |
ISBN (Print) | 979-8-4007-0396-6 |
DOIs | |
Publication status | Published - 2023 |
Event | SLE 2023: The 16th ACM SIGPLAN International Conference on Software Language Engineering - Cascais, Portugal Duration: 23 Oct 2023 → 24 Oct 2023 |
Conference
Conference | SLE 2023 |
---|---|
Country/Territory | Portugal |
City | Cascais |
Period | 23/10/23 → 24/10/23 |
Keywords
- code navigation
- hyperlinked twins
- language specifications
- meta-languages
- language workbenches