= Rockit -- Ruby Object-oriented Compiler construction toolKIT
This package contains Rockit an object-oriented compiler construction
toolKIT in/for Ruby.
NOTE! This README is incomplete and will be updated for the 0.7 release!!
Rockit has the following features:
* Scannerless Generalized LR Parsing with a fast C backend
* Means: Can parse any context-free grammar and is still pretty fast
* Grammars are specified in Ruby so no special Grammar file format
* Means: You can use your ordinary Ruby skills when writing grammars (=>
shorter, more easily understandable, and powerful grammars)
* The actions taken during parsing can be easily changed by specifying Handler
objects.
* Rockit can directly build the AST (Abstract Syntax Tree) for you
* AST classes can be pattern matched
* Rockit has a library for pretty-printing AST's
Svn id: $Id: README 131 2004-09-03 12:11:29Z robert_feldt $
== Download
The latest version of rockit can be found at
* http://www.pronovomundo.com/projects/rockit
Documentation can be found at
* http://www.pronovomundo.com/projects/rockit/svn/doc
== Installation
=== Normal Installation
You can install rake with the following command.
% rake install
from the top of its distribution directory. For this to work you need to have
rake installed and a C compiler (that Ruby knows of). If you don't have the
latter you can install from prebuilt binaries, see below.
=== Installation from prebuilt binaries
To simplify installation rockit comes with prebuilt extensions so that you
can use it even if you have no C compiler installed. Rockit currently
comes with prebuilt extensions for cygwin and mingw32. Since the mswin32
platform uses the same format as the mingw32 platform you can use the
mingw32 files with the Ruby one-click installer.
To install from the prebuilt binaries for your platform and ruby version:
% rake install_prebuilt
% rake install_lib
Be sure to test your installation and report any problems since these
prebuilt installations have not had extensive testing.
=== Test the installation
You can test the installed rockit with the following command:
% rake test
from the top of its distribution directory. For this to work you need to have
rake installed.
== Roadmap
* If you want to see how to invoke rockit to generate your own parsers, read on.
* If you want to see the format of a Rockit grammar file
doc/rockitfile.rdoc[http://rockit.rubyforge.org/files/doc/rockitfile_rdoc.html].
* If you want to see a glossary of terms, see
doc/glossary.rdoc[http://rockit.rubyforge.org/files/doc/glossary_rdoc.html].
== Simple Example
Once installed, you can use rockit as follows:
== Other Parser generators...
There are a large number of parser generators available for Ruby.
Here are links to other projects with similar (and not so similar) goals.
* Racc
== Credits
[asdsad] For the .
== License
Rockit is available under the GPL2 license.
:include: LICENSE
== Support
The Rockit homepage is http://.
For other information, feel free to ask on the ruby-talk mailing list
(which is mirrored to comp.lang.ruby) or contact
mailto:robert.feldt@pronovomundo.com.
----
= Usage
Rockit is invoked from the command line using:
% rockit [targets...]
Options are:
[--help (-H)]
Display some help text and exit.
[--quiet (-q)]
Do not echo Sys commands.
[--trace (-t)]
Turn on invoke/execute tracing.
[--usage (-h)]
Display a usage message and exit.
[--verbose (-v)]
Echo the Sys commands to standard output.
[--version (-V)]
Display the program version and exit.
---
= Rockit grammar Format
See doc/grammar.rdoc[http://www.pronovomundo.com/projects/rockit/doc/grammar_rdoc.html]
for details on the Rockit grammar format.
---
= Other stuff
Author:: Robert Feldt
Address:: Robert Feldt c/o ProNovoMundo
Brolyckan 1
433 69 Sävedalen
Requires:: Ruby 1.8.2 or later (might work but not tested with earlier version)
License:: Copyright (C) 2001-2004 by Robert Feldt
Released under GNU General Public License 2. See the LICENSE file
included in this distribution.
== License and Warranty
Rockit - Ruby Object-oriented Compiler construction toolKIT
Copyright (C) 2001-2004 by Robert Feldt
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA