Online Name-Based Navigation for Software Meta-languages

09/12/2023
by   Peter D. Mosses, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/06/2023

Using Spoofax to Support Online Code Navigation

Spoofax is a language workbench. A Spoofax language specification genera...
research
01/26/2022

Fuzzing Class Specifications

Expressing class specifications via executable constraints is important ...
research
01/31/2023

Designing text representations for existing data using the TextFormats Specification Language

TextFormats is a software system for efficient and user-friendly creatio...
research
01/08/2019

StaBL - State Based Language for Specification of Web Applications

Context and motivation: Usage of Formal Specification languages is scarc...
research
09/27/2022

Assessing Digital Language Support on a Global Scale

The users of endangered languages struggle to thrive in a digitally-medi...
research
09/15/2017

Tortoise: Interactive System Configuration Repair

System configuration languages provide powerful abstractions that simpli...
research
06/06/2023

Impact of Large Language Models on Generating Software Specifications

Software specifications are essential for ensuring the reliability of so...

Please sign up or login with your details

Forgot password? Click here to reset