Go to file
Minero Aoki 0d9cdf252d add preproc tags
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4112 1b9489fe-b721-0410-924e-b54b9192deb8
2008-12-23 16:23:14 +00:00
bin * bin/cbc: resolve symbolic link to command file. 2008-10-25 22:04:56 +00:00
import * lib/alloca.s: alloca() implemeted. 2008-12-07 15:55:40 +00:00
lib do not remove alloca.s. 2008-12-14 12:06:37 +00:00
net/loveruby/cflat add preproc tags 2008-12-23 16:23:14 +00:00
test * test: test alloca more. 2008-12-14 12:04:58 +00:00
tools calculate test dir from $0 2008-09-27 20:26:50 +00:00
unit rename class name 2008-10-24 12:47:35 +00:00
ChangeLog * introduce virtual stack again, for only local variables and tmp variables. Function arguments use true push & pop. 2008-12-14 15:05:20 +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 all ToDo completed 2008-11-16 15:02:27 +00:00
build.properties * cbc -> bin/cbc 2008-09-14 16:19:44 +00:00
build.xml * convert all source codes to Java 5 using generics and foreach stmt. 2008-09-28 18:46:56 +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>.