Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Ceylon Language Specification and type analyzer
XSLT Java Ceylon GAP CSS Perl
Pull request Compare This branch is 1 commit ahead, 2939 commits behind master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
en
lib
src
support
test
treegen
.classpath
.gitignore
.project
Ceylon.g
Ceylon.nodes
LICENSE
README.md
build.properties
build.xml

README.md

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:

http://ceylon-lang.org

Specification

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

ant

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-common first and run

ant clean publish

Then go into ceylon.language 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

Repository

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

License

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.

Something went wrong with that request. Please try again.