source\example\autoformat\lexfc.g
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 * lexfc 20.11.2007
11 *
12 * Author: Generated with 'lextbl' program
13 *
14 * Description: This file contains a lexical table for the lexical analizer.
15 *
16 ******************************************************************************/
17
18
19 define
20 {
21 // States
22 FC_BINARY = 0x190000 // Binary data
23 FC_COMMENT = 0x80000 // Comment /* ... */
24 FC_UNKNOWN = 0x30000 // Unknown characters
25 FC_LINE = 0x2000000 // New line 0x0D0A or 0x0A
26 FC_NUMBER = 0x3000000 // Number decimal, hexadecimal, float or double
27 FC_IGNLINE = 0x20000 // Ignore line character \
28 FC_SYSCHAR = 0x4000000 // Punctuation marks
29 FC_STRING = 0x180000 // String
30 FC_OPERCHAR = 0x1000000 // Operations
31 FC_NAME = 0xA0000 // Name identifier
32 FC_SPACE = 0x40000 // Space characters
33 FC_LINECOMMENT = 0x90000 // Comment //...
34 FC_TAB = 0x50000 // Tab characters
35
36 // Keywords
37 KEY_BREAK = 0x1
38 KEY_CASE = 0x2
39 KEY_CDECLCALL = 0x3
40 KEY_CONTINUE = 0x4
41 KEY_DEFAULT = 0x5
42 KEY_#DEFINE = 0x6
43 KEY_DO = 0x7
44 KEY_#ELIF = 0x8
45 KEY_ELSE = 0x9
46 KEY_EXTERN = 0xA
47 KEY_FOR = 0xB
48 KEY_FOREACH = 0xC
49 KEY_GOTO = 0xD
50 KEY_IF = 0xE
51 KEY_#IFDEF = 0xF
52 KEY_#INCLUDE = 0x10
53 KEY_RETURN = 0x11
54 KEY_SIZEOF = 0x12
55 KEY_STDCALL = 0x13
56 KEY_SWITCH = 0x14
57 KEY_TYPEDEF = 0x15
58 KEY_WHILE = 0x16
59 KEY_#ELSE = 0x17
60 KEY_#ENDIF = 0x18
61 KEY_#IFNDEF = 0x19
62 KEY_ENUM = 0x1A
63 KEY_CONST = 0x1B
64 KEY_STRUCT = 0x1C
65 KEY_BYTE = 0x100
66 KEY_DOUBLE = 0x101
67 KEY_FLOAT = 0x102
68 KEY_INT = 0x103
69 KEY_LONG = 0x104
70 KEY_SHORT = 0x105
71 KEY_UBYTE = 0x106
72 KEY_UINT = 0x107
73 KEY_ULONG = 0x108
74 KEY_USHORT = 0x109
75 KEY_VOID = 0x10A
76 KEY_PVOID = 0x10B
77 KEY_PUBYTE = 0x10C
78
79 }
80
81 global
82 {
83 buf lexfc = '\h4 19 1A 30005 2020 40005 3F2E2E 1000046 7E7E
84 1000046 909 50005 A0A 2000006 D0D 60004 2F2F
85 70004 2A3D2121 110004 5E5E 110004 2B2B 120004 2D2D
86 130004 3C3C 140004 3E3E 150004 5C5C 20005 2525
87 1000046 2626 160004 7C7C 170004 2323 A1005 4100
88 A1005 2222 180085 2727 190085 3030 30B0006 3139
89 30C0006 29282C2C 4000046 7D7B3B3B 4000046 5D5B3A3A 4000046 2
90 10008 D0D FE000000 A0A FE010000 2 FE000000 20FF
91 10008 A0D0909 10008 1 10008 2020 FE000000 1
92 10008 909 FE000000 1 30009 A0A 2010002 3
93 101004A 2A2A 80001 2F2F 90001 3D3D 1010042 1
94 FE000000 2F2A FE010800 1 FE000000 A0D0D 10008 1
95 10008 3000 FE000000 5 10008 3039 FE0C0000 587878
96 FE0D0000 4C6C6C FE010000 456565 FE0F0000 2E2E FE0E0000 4
97 10008 3039 FE000000 4C6C6C FE010000 456565 FE0F0000 2E2E
98 FE0E0000 2 10008 5800 FE000000 4C6C6C FE010000 2
99 10008 456565 FE0F0000 3039 FE000000 1 100008 2D2B2B
100 FE100000 1 10008 3039 FE000000 1 101004A 3D3D
101 1010042 1 101004A 2B3D3D 1010042 1 101004A 3E2D3D3D
102 1010042 2 101004A 3D3D 1010042 3C3C 110000 2
103 101004A 3D3D 1010042 3E3E 110000 1 101004A 263D3D
104 1010042 1 101004A 7C3D3D 1010042 3 FE000000 2222
105 FE000100 5C5C FE000800 225C FE000800 1 FE000000 2727
106 FE000100 10002 72620000 6B6165 65736163 45444300 41434C43 63004C4C
107 69746E6F 65756E 61666564 746C75 66656423 656E69 23006F64 66696C65
108 736C6500 78650065 6E726574 726F6600 726F6600 68636165 746F6700 6669006F
109 66692300 666564 636E6923 6564756C 74657200 6E7275 657A6973 5300666F
110 41434454 73004C4C 63746977 79740068 65646570 68770066 656C69 736C6523
111 65230065 6669646E 66692300 6665646E 756E6500 6F63006D 74736E 75727473
112 7463 100 65747962 756F6400 656C62 616F6C66 6E690074 6F6C0074
113 7300676E 74726F68 79627500 75006574 746E69 6E6F6C75 73750067 74726F68
114 696F7600 76700064 64696F 79627570 6574 0'
115 }
116