Code Monkey home page Code Monkey logo

gazelle's Introduction

Gazelle: a system for building fast, reusable parsers

<http://www.reverberate.org/gazelle/>

PRELIMINARY WARNING
===================

While Gazelle is getting quite usable, the language and the APIs are still quite
subject to change.

Still with me?  Great. :)

BUILDING
========

You need to have Lua installed to do anything interesting.  The C runtime
doesn't need Lua, but without Lua you can't compile any grammars.

Gazelle should build mostly out-of-the-box on UNIX-like systems if Lua 5.1 is
installed, but you may need to tweak the Makefile to point to your local Lua
installation.  Ubuntu Linux, Debian and Mac OS X are tested.  To install
dependencies on Ubuntu or Debian, type:

$ sudo aptitude install lua5.1 liblua5.1-0-dev

To build and install Gazelle, type:

$ make
$ make install

You can change the installation location as follows:

$ make PREFIX=/usr/local
$ make install PREFIX=/usr/local DESTDIR=/tmp

This will install Gazelle into /tmp/usr/local.

To build the documentation, you need to have asciidoc installed, as well
as graphviz if you want to see the graphics. 

$ make doc

Alternatively you can just read the manual on the Gazelle website.

ROADMAP OF THE SOURCE
=====================

compiler/
  what parses the grammar, turns it into state machines, and dumps into bytcode
compiler/bootstrap
  compiler code that will not be needed once Gazelle is self-hosting
lang_ext/
  wrappers around the C runtime, for high-level languages (currently only Lua)
runtime/
  the tiny, fast, small-memory-footprint C runtime that actually does the parsing
runtime/include
  public header files for the runtime.
sketches/
  code that is either half-written or for debugging-only
tests/
  unit tests (not very many at the moment)
utilities/
  command-line utilities for doing useful things

CONTACT
=======

For questions, comments, etc. please post to the gazelle-users group.  I read
and respond to posts on this list.
http://groups.google.com/group/gazelle-users

If you need to contact me directly, I am:
Joshua Haberman <[email protected]>

gazelle's People

Contributors

haberman avatar mbrubeck avatar ott avatar smtlaissezfaire avatar vic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gazelle's Issues

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.