First NIT release and new clean mercurial repository
[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         Makefile: Update grammar and generate .nit files
7         nit.sablecc3xx: Extended sablecc3 grammar (see Makefile)
8         parser_nodes.nit: token and nodes classes hierarchy used by the parser ans lexer
9         test_parser.nit
10         xss/*.xss: Template files for the NIT language
11
12
13 The following are generated but present to avoid the need of sablecc3:
14
15         lexer.nit: generated lexer
16         parser.nit: generated parser
17         parser_prod.nit: All production with generated visit methods
18         parser_tables.nit: Tables needed py the parser
19         parser_abs.nit: Raw generated token and nodes classes used to maintain coherence of parser_nodes.nit
20
21
22 Other temp files produced by the Makefile:
23
24         nit.sablecc3: Sablecc3 grammar after processing (readolny to avoid modifying it)
25         nit.sablecc3.dump: Dump of the grammar to improve sablecc3 multiple runs
26         parser_abs.patch: Change between old and new parser_abs.nit to keep parser_nodes.nit in sync
27
28