Installation
This page lists the software required for using the various features of the CBS IDE, and gives links to sites from where the software can be downloaded.
Contents
CBS IDE
The CBS IDE supports generating editors and translators for languages from their specifications in the CBS frameowrk.
Spoofax
The CBS IDE is implemented as a language project in the Spoofax language workbench.
- Download Spoofax 2.5.16.
- See Installing Spoofax.
- Before opening, increase the Eclipse memory (preferably to 6G, but at least 4G).
- View the Spoofax console:
Window: Show view: Other: General: Console
.
Sunshine
You can run Spoofax menu actions in batch mode using the Sunshine JAR command line utility.
- Download Sunshine JAR for Spoofax 2.5.16
- Run
java -jar YOUR-PATH-TO-SUNSHINE-JAR --help
for a list of available options
(Sunshine is not needed for interactive use of Spoofax.)
MacOS Catalina and Big Sur
To build editors and translators generated by the CBS IDE:
- Install Docker
- Install GNU coreutils
- Open the Spoofax app from a terminal (instead of double-clicking its icon)
CBS language project
Download the prototype branch of the cbs-beta-tools repository.
The cbs-beta-tools repository is currently private. To request access, email your name, affiliation, and GitHub name to plancomps@gmail.com.
-
Import CBS into Spoofax as a Maven project. The version number in
pom.xml
and.mvn/extensions.xml
needs to match the Spoofax version number (2.5.16). -
In case of Maven errors:
- Right-click the project
- Select
Maven > Update project...
- Check
Force Update of Snapshots/Releases
- Click
OK
-
Build the CBS language project (it can take 3–4 minutes).
CBS-beta repository
The CBS-beta repository includes collections of funcon definitions as projects. These are reused in language specifications using symbolic links.
The repository also contains illustrative language specifications as projects. These projects are independent of each other.
You can browse all specifications in the CBS-beta repository online on the CBS-beta website, as source files, web pages, and PDFs. For local browsing, download the math branch of the repository. To serve the web pages locally, install the Jekyll static website generator.
Funcon interpreters
Apart from running funcon terms directly, funcon interpreters can run programs via their translation to funcons.
Install Funcons-Tools 0.2.11.
Installation requires the Haskell and Cabal toolchain.
LaTeX
The CBS IDE can generate LaTeX from (literate) CBS specifications. To produce PDFs, install TeX Live, or use an online LaTeX editor such as Overleaf.