liveBook · Manning

Rascal

As explained in Building User-Friendly DSLs

A programming language designed for metaprogramming tasks such as analyzing, transforming, and generating code.

Rascal is a general-purpose programming language for metaprogramming: analyzing, transforming, and generating code. It also supports implementing domain-specific languages. section 15.4.1

Rascal provides first-class support for:

How Building User-Friendly DSLs covers it

How deep it goes
Defines major language-oriented capabilities but stops short of implementation examples or detailed operational guidance.
Examples
Uses grammars, abstract-syntax-tree traversal, and string templates as representative metaprogramming features.
What you can do after
Build it from scratch to analyze, transform, or generate code and implement domain-specific languages.
How it connects
Connects grammars, abstract syntax trees, code generation, domain-specific languages, and language workbenches.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Building User-Friendly DSLs. The section links point to the parts of the book it draws on.