Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

107 lines (71 sloc) 2.83 KB

Ceylon specification and type analyzer

This project contains:

  • The Ceylon Language Specification, in docbook format.
  • A parser for the language, implemented using ANTLR.
  • A syntax tree for the language.
  • A type analyzer, implemented in Java.

For more information about the Ceylon, go to the community website:


To build the PDF and HTML specifications, in the root directory type:


The specification is compiled into build/en.

To build just the PDF, type:

ant pdf

The PDF specification is compiled then copied into the root directory.

Directory structure:

  • en - the docbook source of the language specification
  • support - the docbook build

Type analyzer

The type checker project depends on two projects that you need to build locally:

Go into ceylon.language first and run

ant clean publish

Then go into ceylon-module-resolver and run

ant clean publish

To run the type analyzer tests, in the root directory type:

ant test

To (re)generate the parser and and syntax tree, type:

ant clean tree

Directory structure:

  • Ceylon.g - the ANTLR grammar for the language
  • Ceylon.nodes - the specification of the syntax tree
  • src/ - the Java implementation of the type analyzer
  • languagesrc/ - the Ceylon implementation of the language module
  • test - the tests for the type analyzer, written in Ceylon, with a special @assertion syntax extension
  • lib/ - required dependencies for building and running the tests
  • treegen/ - the ANTLR grammars that generate the syntax tree
  • gensrc/ - the generated Java implementation of the parser and syntax tree


The local repository is created under ~/.ceylon/repo

To publish the type checker and language module (this is required before building the compiler), type:

ant publish

Other commands:

  • ant clean.repo - clean local repository
  • ant publish.language.module - publish ceylon.language module as .template file in the local repo
  • ant publish.typechecker - publish typechecker jar in the local repo
  • ant publish - publish both


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.

Jump to Line
Something went wrong with that request. Please try again.