This repository contains several modules to work with a Ceylon Abstract Syntax Tree (AST):
ceylon.ast.core
– the Ceylon classes that represent a Ceylon AST. Pure Ceylon (backend-independent).ceylon.ast.create
– utility functions to create some AST nodes in a less verbose way.ceylon.ast.redhat
– transforms aceylon.ast.core
AST from + to a RedHat compiler (ceylon-spec AST, and also contains functions to compile aceylon.ast.core
AST from a code string (using the RedHat compiler).ceylon.ast.samples
– sample ASTs, to see howceylon.ast
is used and to test your tools that work with aceylon.ast
AST.- a test module for each of these (
test.ceylon...
).
ceylon.ast.core
allows you to construct a Ceylon AST in your program, which you can then feed into other tools (some tools require the transformed RedHat AST), like the compiler to compile it or the ceylon.formatter
to write it as code (code generation).
This was the Google Summer of Code 2014 project of Lucas Werkmeister (@lucaswerkmeister); see the mailing list thread or the project. Contributions are of course welcome!
The content of this repository is released under the ASL v2.0 as provided in the LICENSE file that accompanied this code.
By submitting a "pull request" or otherwise contributing to this repository, you agree to license your contribution under the license mentioned above.