Go to file
Minero Aoki 1d35dd1665 * net/loveruby/cflat/compiler/Compiler.java: implement -shared.
* net/loveruby/cflat/compiler/Options.java: new option -shared.
* net/loveruby/cflat/compiler/CodeGeneratorOptions.java: ditto.
* net/loveruby/cflat/compiler/SourceFile.java: new method #linkedFileName.


git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4065 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-27 22:07:04 +00:00
bin * bin/cbc: allow overriding java runtime by setting JAVA environment variable. 2008-09-14 16:31:31 +00:00
import * net/loveruby/cflat/ast/UndefinedVariable.java: should not append '$' for extern symbol address. 2008-09-13 20:36:34 +00:00
lib * implement PIC generation. 2008-09-27 20:07:49 +00:00
net/loveruby/cflat * net/loveruby/cflat/compiler/Compiler.java: implement -shared. 2008-09-27 22:07:04 +00:00
test test aref-semcheck2. 2008-09-27 20:28:31 +00:00
tools calculate test dir from $0 2008-09-27 20:26:50 +00:00
unit test #dup 2008-09-23 13:45:26 +00:00
ChangeLog * net/loveruby/cflat/compiler/Compiler.java: implement -shared. 2008-09-27 22:07:04 +00:00
Makefile new task unittest. 2008-09-23 11:43:04 +00:00
README add more detailed description. 2008-09-15 19:04:34 +00:00
ToDo * net/loveruby/cflat/compiler/Compiler.java: implement -shared. 2008-09-27 22:07:04 +00:00
build.properties * cbc -> bin/cbc 2008-09-14 16:19:44 +00:00
build.xml * build.xml: test entry point is now run.sh. 2008-08-29 08:12:21 +00:00
install.sh * install.sh: check if jar and libcbc are built. 2008-09-15 18:53:09 +00:00

README

CbC - Cflat Compiler
====================

    This is the CbC, Cflat programming language compiler.

Requirements
------------

    To compile cbc itself:

        * Java SDK 1.4 or later
        * JavaCC 4.0 or later
        * ant
        * make

    To run cbc and compiled program:

        * Linux 2.4 or later
        * util-linux (ld-linux.so.2)
        * GNU libc 2.3 or later
        * GNU binutils (as, ld)


Installation
------------

    To install all files under /usr/local/cbc:

        # sudo ./install.sh
        # sudo ln -s ../cbc/bin/cbc /usr/local/bin/cbc

    To install all files under $HOME/cbc:

        $ ./install.sh $HOME/cbc
        $ ln -s ../cbc/bin/cbc $HOME/bin/cbc


Build
-----

    Edit build.properties for your environment and invoke make:

        $ vi build.properties
        $ make


Test
----

    Invoke "make test":

        $ make test

    Note that you need bash (not bourne sh) to run test scripts.
    ksh or zsh may work.


Usage
-----

    $ cbc --help


License
-------

    Modified BSD license.
    For details of modified BSD license, see following:

    Copyright (c) 2007,2008  Minero Aoki.  All rights reserved.

    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions
    are met:

        * Redistributions of source code must retain the above copyright
          notice, this list of conditions and the following disclaimer.
        * Redistributions in binary form must reproduce the above
          copyright notice, this list of conditions and the following
          disclaimer in the documentation and/or other materials provided
          with the distribution.
        * Neither the name of the Minero Aoki nor the names of its
          contributors may be used to endorse or promote products
          derived from this software without specific prior written
          permission.

    THIS SOFTWARE IS PROVIDED BY MINERO AOKI ``AS IS'' AND ANY EXPRESS
    OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
    DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
    GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
    IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
    OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
    EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Contact
-------

    CbC produced by Minero Aoki <aamine@loveruby.net>.