Rascal is an actively used grammar language created in 2013. Rascal is an experimental domain specific language for metaprogramming, such as static code analysis, program transformation and implementation of domain specific languages. It is a general meta language in the sense that it does not have a bias for any particular software language. It includes primitives from relational calculus and term rewriting. Read more on Wikipedia...

7Years Old 373Users ?Jobs

Example code from Linguist:

module Syntax

extend lang::std::Layout;
extend lang::std::Id;

start syntax Machine = machine: State+ states;
syntax State = @Foldable state: "state" Id name Trans* out;
syntax Trans = trans: Id event ":" Id to;

Trending Repos

repo stars description

Last updated June 22nd, 2020

Edit Rascal on GitHub