File: examples.rst

package info (click to toggle)
python-tatsu 5.13.1%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 892 kB
  • sloc: python: 10,202; makefile: 54
file content (37 lines) | stat: -rw-r--r-- 1,107 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
.. include:: links.rst


Examples
--------

Tatsu
~~~~~

The file ``grammar/tatsu.ebnf`` contains a grammar for the |TatSu| grammar
language written in its own grammar language. It is used in the
*bootstrap* test suite to prove that |TatSu| can generate a parser to
parse its own language, and the resulting parser is made the bootstrap
parser every time |TatSu| is stable (see ``tatsu/bootstrap.py`` for
the generated parser).

|TatSu| uses |TatSu| to translate grammars into parsers, so it is a
good example of end-to-end translation.


Calc
~~~~

The project ``examples/calc`` implements a calculator for simple
expressions, and is written as a tutorial over most of the features
provided by |TatSu|.


g2e
~~~

The project ``examples/g2e`` contains an example `ANTLR`_ to |TatSu| grammar
translation. The project is a good example of the use ``g2e``. It generates the
|TatSu| grammar on standard output, but because the model used is
|TatSu|'s own, the same code can be used to directly generate a parser
from any `ANTLR`_ grammar. Please take a look at the examples *README* to
know about limitations.