Please note that the team of The Meta-Environment has shifted its attention to the development of Rascal, which is intended to fulfill all requirements ASF+SDF users have had and much more. This means that ASF+SDF Meta-Environment will be distributed from this site for a while longer, but no active development is going on anymore. All the activity is at http://www.rascal-mpl.org
The Meta-Environment is
a framework for language development, source code analysis and source code transformation consisting of:
- Syntax analysis tools.
- Semantic analysis and transformation tools.
- An interactive development environment.
The Meta-Environment is an open
- can be easily extended with third-party components;
- can be easily tailored, modified, or extended;
- is supported by an open source community.
The Meta-Environment is a generalization of the ASF+SDF Meta-Environment that has been successfully used in a wide variety of analysis, transformation and renovation projects.
The Meta-Environment can be used for many different purposes, including:
- Parsing (new and old) programming languages, for further processing the trees, (e.g. COBOL, C, Java, PL/I, SQL)
- Analysis of source code (fact extraction, type analysis).
- Transformation of source code.
- Generation of source code.
- Design and implementation of domain-specific languages.
- Generation and rapid prototyping of IDE's (Integrated Development Environments) for programming languages and domain specific languages
- Generation of documentation from source code.
- Compilation of domain specific languages (DSL).
- Formal description of the syntax and semantics of (programming) languages.
See our extensive online user Documentation
To facilitate reuse of components of The Meta-Environment by other toolkits,
they are available through a number of different interfaces:
- As an Interactive Development Environment (Screenshots).
- As a collection of command line tools (Documentation).
- As a collection of C and Java libraries (ApiDocumentation).
- As a collection of ToolBus tools.
Each component is released separately for inclusion in other products. See ApiDocumentation
for a list of components.
- Go to the Download page for:
- Stable source releases
- Unstable (continous) source releases
- Unstable (continous) binary releases for Linux