Headline

A metaprogramming-oriented implementation based on Language:Rascal

Motivation

This contribution serves as an example of how Rascal can be used to create language implementations and IDEs. We show that one can quickly implement a wide range of features with only small amounts of code. Feature:Hierarchical company is implemented as the basic data model in AST form. Feature:Cut is implement as an AST transformation. Feature:Total is implemented as an AST visit. Feature:Parsing is implemented by parsing based on a grammar from which an SGLL parser is generated. (The same syntax as in Contribution:antlrParser is used.) Feature:Visualization is implemented such that the company structure is visualized as a tree and nodes provide info on employer salary with the node size correlating with salary. Editing-related features are implemented through IDE support: editor, syntax highlighting, markers, error messages, folding, outline view.

Illustration

Screenshot of the editors/IDE

https://github.com/101companies/101repo/raw/master/rascal/101Companies Rascal Visualization.png

Screenshot of the visualization

https://github.com/101companies/101repo/raw/master/rascal/101Companies Rascal IDE.jpg

Architecture

TODO

Usage

TODO

Issues

  • Technologies TODO
  • Architecture TODO
  • Usage TODO

There are no revisions for this page.

User contributions

    This user never has never made submissions.

    User edits

    Syntax for editing wiki

    For you are available next options:

    will make text bold.

    will make text italic.

    will make text underlined.

    will make text striked.

    will allow you to paste code headline into the page.

    will allow you to link into the page.

    will allow you to paste code with syntax highlight into the page. You will need to define used programming language.

    will allow you to paste image into the page.

    is list with bullets.

    is list with numbers.

    will allow your to insert slideshare presentation into the page. You need to copy link to presentation and insert it as parameter in this tag.

    will allow your to insert youtube video into the page. You need to copy link to youtube page with video and insert it as parameter in this tag.

    will allow your to insert code snippets from @worker.

    Syntax for editing wiki

    For you are available next options:

    will make text bold.

    will make text italic.

    will make text underlined.

    will make text striked.

    will allow you to paste code headline into the page.

    will allow you to link into the page.

    will allow you to paste code with syntax highlight into the page. You will need to define used programming language.

    will allow you to paste image into the page.

    is list with bullets.

    is list with numbers.

    will allow your to insert slideshare presentation into the page. You need to copy link to presentation and insert it as parameter in this tag.

    will allow your to insert youtube video into the page. You need to copy link to youtube page with video and insert it as parameter in this tag.

    will allow your to insert code snippets from @worker.