'''Rascal''' is a domain-specific language for metaprogramming and language oriented programming, such as static code analysis, program transformation, program generation and implementation of domain-specific languages.<ref name=scam2009/> 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. Its syntax and semantics are based on procedural (imperative) and functional programming.
== Generating Integrated development environments ==
* Rascal derives Eclipse plugins for any Rascal-implemented software language * Rascal derives VScode extensions based on the Language Server Protocol for any Rascal-implemented software language
{{Infobox Software | name = Rascal | caption = | developer = SWAT [http://www.cwi.nl/htbin/sen1/twiki/bin/view/SEN1/] group at the CWI [http://www.cwi.nl] | latest release version = 0.30.1 | latest release date = 5 July 2023 | operating system = Linux, Unix, Windows, Mac OS X | genre = program transformation system, program analysis system, language-oriented programming | license = BSD, EPL | website = http://www.rascal-mpl.org }}
== See also ==
* ASF+SDF * Stratego/XT * DMS Software Reengineering Toolkit
* ANTLR * Source-to-source compiler * Racket programming language
== References == <references>
<ref name=scam2009>{{Citation |first1=Paul |title=2009 Ninth IEEE International Working Conference on Source Code Analysis and Manipulation |last1=Klint |first2=Tijs |last2=van der Storm |first3=Jurgen |last3=Vinju |chapter=RASCAL: A Domain Specific Language for Source Code Analysis and Manipulation |place=Edmonton, Alberta, Canada |series=2013 IEEE 13th International Working Conference on Source Code Analysis and Manipulation (SCAM) |year=2013 |pages=168–177 |chapter-url=http://homepages.cwi.nl/~jurgenv/papers/SCAM-2009.pdf |access-date=8 December 2015 |doi=10.1109/SCAM.2009.28|isbn=978-0-7695-3793-1 |citeseerx=10.1.1.513.2410 |s2cid=206553849 |publisher=IEEE }}</ref>
</references>
== External links == * http://www.rascal-mpl.org
Category:Term-rewriting programming languages Category:Extensible syntax programming languages Category:Programming language implementation Category:Transformation languages Category:Language workbench
{{Software-stub}}