https://github.com/usethesource/rascal
The implementation of the Rascal meta-programming language (including interpreter, type checker, parser generator, compiler and JVM based run-time system)
https://github.com/usethesource/rascal
checker code-generation compiler domain-specific-language interpreter language metaprogramming parser-generator pattern-matching query-language refactoring-tools relational-algebra repl reverse-engineering source-to-source standard-library static-analysis template-language term-rewriting
Last synced: 30 days ago
JSON representation
The implementation of the Rascal meta-programming language (including interpreter, type checker, parser generator, compiler and JVM based run-time system)
- Host: GitHub
- URL: https://github.com/usethesource/rascal
- Owner: usethesource
- License: other
- Created: 2012-07-23T14:50:13.000Z (over 13 years ago)
- Default Branch: main
- Last Pushed: 2025-12-12T12:43:26.000Z (about 1 month ago)
- Last Synced: 2025-12-13T22:05:39.192Z (about 1 month ago)
- Topics: checker, code-generation, compiler, domain-specific-language, interpreter, language, metaprogramming, parser-generator, pattern-matching, query-language, refactoring-tools, relational-algebra, repl, reverse-engineering, source-to-source, standard-library, static-analysis, template-language, term-rewriting
- Language: Java
- Homepage: http://www.rascal-mpl.org
- Size: 1.03 GB
- Stars: 443
- Watchers: 19
- Forks: 82
- Open Issues: 526
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Citation: CITATION.md
- Codeowners: CODEOWNERS
- Authors: AUTHORS.md
Awesome Lists containing this project
- awesome-programming-languages - RascalMpl - Rascal Metaprogramming Language. Rascal is a programming language; such that meta programs can be created by, understood by, and debugged by programmers. Rascal primitives include immutable data, context-free grammars and algebraic data-types, relations, relational calculus operators, advanced patterns matching, generic type-safe traversal, comprehensions, concrete syntax for objects, lexically scoped backtracking, and string templates for code generation. It has libraries for integrating language front-ends, for reusing analysis algorithms, for getting typed meta-data out of version management systems, for interactive visualization, etc. (Uncategorized / Uncategorized)
- awesome-java - Rascal
README
# Rascal - Metaprogramming Language
[](https://github.com/usethesource/rascal/actions/workflows/build.yaml)
This is the core implementation of the Rascal meta-programming language. It contains the interpreter, the parser generator, the parser run-time,
the (documented) standard library, the type checker, the compiler, and the documentation compiler ("tutor").
Other relevant repositories:
* https://github.com/usethesource/rascal-language-servers - for the Rascal's IDE features
* https://github.com/usethesource/rascal-maven-plugin - for Rascal via Maven commands
* https://github.com/usethesource/rascal-website - for the online documentation
* https://github.com/usethesource/vallang - for the core of the Rascal runtime values, types and IO.
Please visit http://www.rascal-mpl.org for all information regarding Rascal.
For questions use the [rascal tag on StackOverflow](http://stackoverflow.com/questions/tagged/rascal).