Merge: share/libgc: option to use a local version of the source pkgs
[nit.git] / contrib / pep8analysis / src / parser / README
1 This directory contains the nit parser. It is generated from a grammar for sablecc3 ( http://www.sablecc.org ).
2 In order to generate nit parser, you need the alternate SableCC3 generator ( http://www.mare.ee/indrek/sablecc/ ).
3
4 Contents:
5
6         fact_parser.pl: Script used to factorize parser.nit
7         Makefile: Update grammar and generate .nit files
8         nit.sablecc3xx: Extended sablecc3 grammar (see prescc.sh)
9         prescc.sh: Program to transform an extended sablecc3 to a standard one
10         parser_nodes.nit: token and nodes classes hierarchy used by the parser and the lexer
11         tables.nit, tables_nit.h: Interfaces to access the tables needed by the parser and the lexer
12         test_parser.nit:
13         xss/*.xss: alternate SableCC3 template files for the Nit language
14
15
16 The following are generated but present to avoid the need of sablecc3:
17
18         lexer.nit: generated lexer
19         parser.nit: generated parser
20         parser_prod.nit: All production with generated visit methods
21         tables_nit.c: The tables needed by the parser and the lexer
22         parser_abs.nit: Raw generated token and nodes classes used to maintain coherence of parser_nodes.nit
23
24
25 Other temp files produced by the Makefile:
26
27         .nit.sablecc3: Sablecc3 grammar after processing
28         .nit.sablecc3.dump: Dump of the grammar to improve sablecc3 multiple runs
29         .parser-nofact.nit: The parser generated by SableCC3 before factorization by fact_parser.pl
30