1 /******************************************************************************
2 *
3 * Copyright (C) 2006, The Gentee Group. All rights reserved.
4 * This file is part of the Gentee open source project - http://www.gentee.com.
5 *
6 * THIS FILE IS PROVIDED UNDER THE TERMS OF THE GENTEE LICENSE ("AGREEMENT").
7 * ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE CONSTITUTES RECIPIENTS
8 * ACCEPTANCE OF THE AGREEMENT.
9 *
10 * ID: gt 18.10.06 0.0.A.
11 *
12 * Author: Alexey Krivonogov ( gentee )
13 *
14 * Summary: This file contains a description of the lexical table for
15 loading GT language data.
16 *
17 ******************************************************************************/
18
19 <gt prefix = "GT_" desc = "Loading GT data" gout = "..\..\lib\gt\lexgt.g">
20 <MAIN cmd = SKIP >
21 <_ ch = '<' state = ISBEGIN pos try push trycmd = TRYBEGIN />
22 </>
23 <ISBEGIN ret >
24 <_ ch = '-' state = COMMENT itstate />
25 <_ ch = '*' state = STAR />
26 <_ ch = '|' state = VLINE />
27 <_ numname state = BEGIN itstate pushli />
28 </>
29 <TRYBEGIN pop cmd = SKIP />
30 <COMMENT cmd = OK comment = Comments >
31 <_ cmd = OK pop multi = '->' />
32 </>
33 <VLINE ret >
34 <_ ch = '*' state = STAR />
35 <_ numname state = BEGIN itstate pushli />
36 </>
37 <STAR ret >
38 <_ ch = '|' state = VLINE />
39 <_ numname state = BEGIN itstate pushli />
40 </>
41 <BEGIN state = ATTRIB stay comment = "Begin of the GT object">
42 <_ numname cmd = OK />
43 </>
44 <ATTRIB cmd = SKIP >
45 <_ name state = NAME itstate pos />
46 <_ ch = '/' state = ISEND pos try trycmd = TRYISEND />
47 <_ ch = '=' state = EQUAL itstate pos />
48 <_ ch = '>' state = ENDATTR />
49 </>
50 <NAME state = ATTRIB stay comment = "Identifier name">
51 <_ numname cmd = OK />
52 </>
53 <EQUAL state = STRATTR itstate pos comment = "Equal sign">
54 <_ lespace cmd = SKIP />
55 <_ ch = '/>' state = ATTRIB stay />
56 <_ ch = '"' state = STRDQ itstate pos />
57 <_ ch = "'" state = STRQ itstate pos />
58 </>
59 <STRATTR cmd = OK comment = "Value of the attribute">
60 <_ lespace ch = '>/' state = ATTRIB stay />
61 </>
62 <STRDQ cmd = OK comment = "Value of the attribute in the double quotes">
63 <_ ch = '"' cmd = OK state = ATTRIB />
64 </>
65 <STRQ cmd = OK comment = "Value of the attribute in the apostrophes">
66 <_ ch = "'" cmd = OK state = ATTRIB />
67 </>
68 <ISEND ret >
69 <_ ch = '>' cmd = END itcmd pop popli />
70 <_ numname cmd = GTNAME />
71 </>
72 <TRYISEND state = ATTRIB cmd = SKIP />
73 <ENDATTR state = DATA itstate pos>
74 <_ lespace cmd = SKIP />
75 <_ ch = '<' state = ISBEGIN pos push try trycmd = TRYDATABEG />
76 <_ multi = '</' state = ISEND try trycmd = TRYWHAT />
77 </>
78 <DATA cmd = OK comment = "Value of the GT object">
79 <_ multi = '</' state = ISEND try trycmd = TRYENDDATA />
80 </>
81 <TRYENDDATA state = DATA cmd = OK />
82 <TRYWHAT state = DATA itstate />
83 <TRYDATABEG state = DATA itstate pop />
84
85 <commands skip>
86 <END comment = "End of the GT object">
87 </commands>
88 </gt>
89