summaryrefslogtreecommitdiff
path: root/web/yacco2/compiler/grammars/yacco2_T_enumeration.T
blob: de883be96296b6a643a816679d8ecf3354b07773 (plain)
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
38
39
/*
  Copyright Dave Bone 1998 - 2014 
  All Rights Reserved. 
  No part of this document may be reproduced without written consent from the author.

File:   yacco2_T_enumeration.lex
Date:   10 July 00
Author: Dave Bone
Purpose: 
  Supplies emitted enumeration file name and namespace. The lr1 compiler/compiler
  generates the "enum" type for the 4 classes of terminals:
	1) lr1 constants
	2) raw characters
	3) errors
	4) terminals
 Note:	
	The enumerated type is emitted which is referenced in the other
	emitted grammars via the "#include" directive having a symbol ordering:
	0 <= Lr1_K < raw chars < error terminals < Terminals < grammar's Rules
    The subrules of a grammar's rule are locally enumerated within the grammar
    starting from 1.
    
	This order is per emitted grammar. That is to say, each parallel grammar has
	its own generated lr1 table using the enumerated terminal class symbols with
	its enumerated rules starting 1 after the high bound of the enumerated terminal
	 classes.
	After the parameters, a { k-body } can follow. This k-body 
	is used for global definitions of contants:
	{
	  constant-defs
	       C++ syntax directed code for constant definitions
	  ***
	}

*/
T-enumeration
(file-name	yacco2_T_enumeration
,name-space	NS_yacco2_T_enum) {
}