Giter VIP home page Giter VIP logo

ceylon-compiler's Introduction

Ceylon compiler and tools

License

The content of this repository is released under the GPL v2 + Classpath Exception 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.

License terms for 3rd Party Works

This software uses a number of other works, the license terms of which are documented in the NOTICE file that accompanied this code.

Directory structure:

  • bin - the Ceylon tools binaries
  • lib - compile/runtime dependencies
  • src - the Ceylon compiler backend sources
  • langtools - the OpenJDK Javac compiler sources
  • test-src - the Ceylon compiler backend unit tests
  • samples - a few sample Ceylon programs

Build the compiler and tools

First you must make sure you have built the ceylon.language and ceylon-spec projects. Go into ceylon.language first and run

ant clean publish

Then go into ceylon-spec and run

ant clean publish

To build and test the compiler return to ceylon-compiler and run

ant clean publish

To run the tests type

ant test

Note that some of the tests currently fail. See more info in README.tests.

Once built, the compiler lives in this jars:

~/ceylon/repo/com/redhat/ceylon/compiler/0.1/com.redhat.ceylon.compiler-0.1.jar

If you want to build and run the Ceylon compiler in Eclipse then please see README.eclipse for setup instructions.

Running the compiler

The compiler can be run as follows:

bin/ceylonc -src samples -out build/ceylon-cars samples/helloworld.ceylon 

The -src argument to the compiler is required in order for the compiler to figure out each class's full name. It is a colon-separated path, much like javac's -sourcepath argument.

You can add -rep arguments to add module repositories. Note that this is currently limited to local folders.

Running your Ceylon program

Right now the Ceylon runner doesn't support module repositories so you have to give it a valid classpath (this will be fixed soon):

bin/ceylon -cp build/ceylon-cars/unversioned/default_module-unversioned.car helloworld

Generating the API documentation

The ceylondoc tool can be run as follows:

bin/ceylond -out api-docs -src ../ceylon.language/languagesrc/current  

ceylon-compiler's People

Contributors

fromage avatar quintesse avatar tombentley avatar flaviooliveri avatar emmanuelbernard avatar mturk avatar benkeating avatar gavinking avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.