parser: factorize reduce actions
[nit.git] / 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         test_parser.nit:
12         xss/*.xss: alternate SableCC3 template files for the Nit language
13
14
15 The following are generated but present to avoid the need of sablecc3:
16
17         lexer.nit: generated lexer
18         parser.nit: generated parser
19         parser_prod.nit: All production with generated visit methods
20         parser_tables.nit: Tables needed py the parser
21         parser_abs.nit: Raw generated token and nodes classes used to maintain coherence of parser_nodes.nit
22
23
24 Other temp files produced by the Makefile:
25
26         .nit.sablecc3: Sablecc3 grammar after processing
27         .nit.sablecc3.dump: Dump of the grammar to improve sablecc3 multiple runs
28         .parser-nofact.nit: The parser generated by SableCC3 before factorization by fact_parser.pl
29