Online Name-Based Navigation for Software Meta-languages
Peter Mosses
Date: Wed, October 18, 2023
Time: 12:00
Room: Turing 0.E420
Note: This is a rehearsal for a talk/demo at SLE 2023
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.
- Published paper
- sle23-final.pdf
- Hyperlinked twins website
- pdmosses.github.io/hyperlinked-twins
Previous:
Casper Bach Poulsen | A Monadic Framework for Name Resolution in Multi-phased Type Checkers
Next:
Dragana Milovancevic | Proving and Disproving Equivalence of Functional Programming Assignments