SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Sponsored Links

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

This is the README for Tesla.
$Id: README,v 1.12 2000/09/17 18:44:50 tiggr Exp $

        This is the README for Tesla, the TOM compiler.
        Get the latest info from http://gerbil.org/tom/tesla.

        The current release of Tesla is a beta release, though it can be
        very useful.  Currently, Tesla compiles TOM files in a way very
        similar to what tomc does.  However, Tesla is designed to be a
        whole-program compiler, into which it will evolve, in due time.
        The monolithic approach is already visible in Tesla's operation:
        one run of Tesla suffices to compile all the source files of a
        unit.

        The file `version' lists the current version of Tesla; the file
        `NEWS' lists changes in the current version with respect to the
        previous version.  (The version number is not mentioned anywhere
        else, to make a release as easy as editing the version and NEWS
        files.)  If the current version is more than a week old, you might
        want to use a stable snapshot or check for a new version.  Visit
        http://gerbil.org/tom/tesla/ for this.

USAGE

        To use Tesla as a replacement for tomc, e.g., to compile the TOM
        files of a unit named `hello' (in the current directory), do

                tesla -1 -u hello \
                        -I ${tom_prefix}/lib/tom \
                        -I ${prefix}/lib/tom

        adding other -I directives as needed.  (Tesla currently does not
        have a builtin search-path other than `.', hence the -I options.)
        Note that one run of Tesla is enough to compile all .t files to .c
        files, as far as it is needed (e.g., because the .c file is out of
        date or because it does not yet exist).

STABILITY

        Supported machines are listed in the file MACHINES.  The
        configuration is defined in the directory tesla-config.  Adjust
        configure.in when adding a new configuration.  It should take less
        than half an hour for most 32-bit machines, and less than an hour on
        the first 64-bit machine.

DEPENDENCIES

        Tesla is zjust zis compiler, you know.  For useful operation, you
        definitely need the `tom' package which provides, a.o., the TOM
        run-time library.  Tesla itself (the program) also depends on GP
        (which Generates Parsers) and MU (the TOM Meta Unit) for its
        parsing of TOM code.  You can get these from
        http://gerbil.org/tom/resources/packages.shtml.

EXAMPLES

See them in the examples subdirectory.

INSTALLATION

Read http://gerbil.org/tom/tesla for installation instructions.

OVERVIEW

core

The following are relevant source directories:

        tesla
                the compiler.
        tug
                the unit generator.
        tig
                the interface generator.
        test
                compiler tests that can be compiled with -a.
        test2
                compiler tests that can not be compiled with -a.
        tset
                negative compiler tests that can be compiled with -a.
                (A negative test is one that must fail.)

bootstrap

A `make bootstrap' will run:

                make boottesla  (make tesla/tesla after a clean)
                make bootself   (make self/alset including a clean)
                make bootself2  (make self2/alset including a clean)
                make bootself3  (make self2/alset including a clean)
                make diff23     (show differences between .[ch] files
                                 in the self2 and self3 directories)

        self
                directory in which to build tesla with tesla/tesla.
        self2
                directory in which to build tesla with self/alset.
        self3
                directory in which to build tesla with self2/alset.

      The `self*' directories are used to bootstrap tesla.  The name of the
      executable built is `alset'.  Tesla can build itself using tesla-built
      library units (see below); the target and executable in this case is
      `alself'.

units

      The makefiles for library units depend on the tom, mu, and gp packages
      to be available as ../tom, &c, when seen from the file you're reading
      now (i.e., this file resides in the directory tesla in a directory
      containing tesla, mu, tom, and gp).  These packages should at least be
      configured and compiled (to have the .u unit file available); they are
      used in situ.

        unit/*
                directories in which to build existing library units.

BUGS

Mail your bug reports to tiggr@gerbil.org.

MAILING LIST

        Join the TOM discussion by sending a mail containing
        the word `subscribe' to tom-request@gerbil.org.

COPYRIGHT

        Tesla is Copyright (C) 1998-2000 Pieter J. Schoenmakers
        Tesla was written by Pieter J. Schoenmakers <tiggr@gerbil.org>

        Tesla is distributed under the GNU General Public License.
        See the file COPYING for more information.


Sponsored Links

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.