Permalink
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
70 lines (53 sloc) 1.85 KB

|TatSu|

At least for the people who send me mail about a new language that they're designing, the general advice is: do it to learn about how to write a compiler. Don't have any expectations that anyone will use it, unless you hook up with some sort of organization in a position to push it hard. It's a lottery, and some can buy a lot of the tickets. There are plenty of beautiful languages (more beautiful than C) that didn't catch on. But someone does win the lottery, and doing a language at least teaches you something.

`Dennis Ritchie`_ (1941-2011) Creator of the C_ programming language and of Unix_

|TatSu| (for grammar compiler) is a tool that takes grammars in a variation of `EBNF`_ as input, and outputs `memoizing`_ (`Packrat`_) `PEG`_ parsers in `Python`_.

|TatSu| can compile a grammar stored in a string into a tatsu.grammars.Grammar object that can be used to parse any given input, much like the `re`_ module does with regular expressions, or it can generate a Python_ module that implements the parser.

|TatSu| has experimental support for `left-recursive`_ rules in PEG_ grammars, and it honors left-associativity in the resulting parse trees.

.. toctree::
    :maxdepth: 2

    intro
    rationale
    install
    use
    syntax
    ast
    semantics
    models
    left_recursion
    mini-tutorial
    traces
    grako
    antlr
    examples
    support
    credits
    contributors
    contributing
    license

.. toctree::
    :hidden: