Bidirectional Megamodel of Parsing, Tokenising, Stripping, Concatenating, Imploding, Exploding, Unparsing, Printing, Pretty-printing, Formatting, Visualising, Rendering and Recognising
Rascal
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.settings
META-INF
doc
img
src
.classpath
.gitignore
.project
README.md
build.properties
megamodel.png

README.md

BX Parsing

This repository contains the source code of the case study demonstrating our bidirectional megamodel of: * parsing * tokenising * stripping * concatenating * imploding * exploding * unparsing * printing * pretty-printing * formatting * visualising * rendering * recognising * ...

There are approximately 60 files total with 2800 lines of code and comments committed to this repository. To run all this code, you will need the Rascal language workbench. The repository contains specifications of twelve kinds of software artefacts related to (un)parsing and many mappings between them:

| Textual | | Structured | | Graphical |:----- |:-----:|:-----:|:-----:|:-----:|:-----:| Abstract | Lex | | Ast | | Fig | | | | | Layoutless | Tok | | Cst | | Gra | | | | | Layout | Tkl | | Ptr | | Dra | | | | | Raw | Str | | For | | Pic

Megamodel

...as well as alternative Gra→Pic, Ptr→Tok and Str→Lex mappings and several versions of bidirectional mappings between Ptr and Dra:


Yours,