Initial Revision
[ohcount] / ext / ohcount_native / polyglots.c
1 /*
2  * polyglots.c
3  * Ohcount
4  *
5  * GENERATED FILE **DO NOT EDIT**
6  *
7  */
8
9 #define __polyglots_c__
10 #include "common.h"
11
12 #define RETURN (State *)NULL
13
14 /*****************************************************************************
15                                       ada
16 *****************************************************************************/
17 /* States */
18 State ADA_CODE = { "ADA_CODE", "ada", semantic_code };
19 State ADA_DQUOTE_STRING = { "ADA_DQUOTE_STRING", "ada", semantic_code };
20 State ADA_SQUOTE_STRING = { "ADA_SQUOTE_STRING", "ada", semantic_code };
21 State ADA_LINE_COMMENT = { "ADA_LINE_COMMENT", "ada", semantic_comment };
22 State ADA_BLOCK_COMMENT = { "ADA_BLOCK_COMMENT", "ada", semantic_comment };
23 State *ADA_STATES[] = { &ADA_CODE, &ADA_DQUOTE_STRING, &ADA_SQUOTE_STRING, &ADA_LINE_COMMENT, &ADA_BLOCK_COMMENT, NULL };
24 /* Transitions */
25 Transition ADA_CODE__LINE_COMMENT_0 = { "--", &ADA_CODE, &ADA_LINE_COMMENT, ToEatsToken, false };
26 Transition ADA_LINE_COMMENT__RETURN = { "\n", &ADA_LINE_COMMENT, RETURN, FromEatsToken, false };
27 Transition ADA_CODE__DQUOTE_STRING = { "\"", &ADA_CODE, &ADA_DQUOTE_STRING, ToEatsToken, false };
28 Transition ADA_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &ADA_DQUOTE_STRING, &ADA_DQUOTE_STRING, ToEatsToken, true };
29 Transition ADA_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &ADA_DQUOTE_STRING, &ADA_DQUOTE_STRING, ToEatsToken, true };
30 Transition ADA_DQUOTE_STRING__RETURN = { "\"", &ADA_DQUOTE_STRING, RETURN, FromEatsToken, false };
31 Transition *ADA_TRANSITIONS[] = { &ADA_CODE__LINE_COMMENT_0, &ADA_LINE_COMMENT__RETURN, &ADA_CODE__DQUOTE_STRING, &ADA_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &ADA_DQUOTE_STRING__DQUOTE_STRING_ESC, &ADA_DQUOTE_STRING__RETURN, NULL};
32 Polyglot ADA_POLYGLOT = {
33         "ada",
34                         ADA_STATES,
35                         ADA_TRANSITIONS,
36         NULL
37 };
38
39 /*****************************************************************************
40                                    assembler
41 *****************************************************************************/
42 /* States */
43 State ASSEMBLER_CODE = { "ASSEMBLER_CODE", "assembler", semantic_code };
44 State ASSEMBLER_DQUOTE_STRING = { "ASSEMBLER_DQUOTE_STRING", "assembler", semantic_code };
45 State ASSEMBLER_SQUOTE_STRING = { "ASSEMBLER_SQUOTE_STRING", "assembler", semantic_code };
46 State ASSEMBLER_LINE_COMMENT = { "ASSEMBLER_LINE_COMMENT", "assembler", semantic_comment };
47 State ASSEMBLER_BLOCK_COMMENT = { "ASSEMBLER_BLOCK_COMMENT", "assembler", semantic_comment };
48 State *ASSEMBLER_STATES[] = { &ASSEMBLER_CODE, &ASSEMBLER_DQUOTE_STRING, &ASSEMBLER_SQUOTE_STRING, &ASSEMBLER_LINE_COMMENT, &ASSEMBLER_BLOCK_COMMENT, NULL };
49 /* Transitions */
50 Transition ASSEMBLER_CODE__LINE_COMMENT_0 = { ";", &ASSEMBLER_CODE, &ASSEMBLER_LINE_COMMENT, ToEatsToken, false };
51 Transition ASSEMBLER_CODE__LINE_COMMENT_1 = { "!", &ASSEMBLER_CODE, &ASSEMBLER_LINE_COMMENT, ToEatsToken, false };
52 Transition ASSEMBLER_CODE__LINE_COMMENT_2 = { "//", &ASSEMBLER_CODE, &ASSEMBLER_LINE_COMMENT, ToEatsToken, false };
53 Transition ASSEMBLER_LINE_COMMENT__RETURN = { "\n", &ASSEMBLER_LINE_COMMENT, RETURN, FromEatsToken, false };
54 Transition ASSEMBLER_CODE__BLOCK_COMMENT_0 = { "/\\*", &ASSEMBLER_CODE, &ASSEMBLER_BLOCK_COMMENT, ToEatsToken, false };
55 Transition ASSEMBLER_BLOCK_COMMENT__RETURN_0 = { "\\*/", &ASSEMBLER_BLOCK_COMMENT, RETURN, FromEatsToken, false };
56 Transition *ASSEMBLER_TRANSITIONS[] = { &ASSEMBLER_CODE__LINE_COMMENT_0, &ASSEMBLER_CODE__LINE_COMMENT_1, &ASSEMBLER_CODE__LINE_COMMENT_2, &ASSEMBLER_LINE_COMMENT__RETURN, &ASSEMBLER_CODE__BLOCK_COMMENT_0, &ASSEMBLER_BLOCK_COMMENT__RETURN_0, NULL};
57 Polyglot ASSEMBLER_POLYGLOT = {
58         "assembler",
59                         ASSEMBLER_STATES,
60                         ASSEMBLER_TRANSITIONS,
61         NULL
62 };
63
64 /*****************************************************************************
65                                       awk
66 *****************************************************************************/
67 /* States */
68 State AWK_CODE = { "AWK_CODE", "awk", semantic_code };
69 State AWK_DQUOTE_STRING = { "AWK_DQUOTE_STRING", "awk", semantic_code };
70 State AWK_SQUOTE_STRING = { "AWK_SQUOTE_STRING", "awk", semantic_code };
71 State AWK_LINE_COMMENT = { "AWK_LINE_COMMENT", "awk", semantic_comment };
72 State AWK_BLOCK_COMMENT = { "AWK_BLOCK_COMMENT", "awk", semantic_comment };
73 State *AWK_STATES[] = { &AWK_CODE, &AWK_DQUOTE_STRING, &AWK_SQUOTE_STRING, &AWK_LINE_COMMENT, &AWK_BLOCK_COMMENT, NULL };
74 /* Transitions */
75 Transition AWK_CODE__LINE_COMMENT_0 = { "#", &AWK_CODE, &AWK_LINE_COMMENT, ToEatsToken, false };
76 Transition AWK_LINE_COMMENT__RETURN = { "\n", &AWK_LINE_COMMENT, RETURN, FromEatsToken, false };
77 Transition AWK_CODE__DQUOTE_STRING = { "\"", &AWK_CODE, &AWK_DQUOTE_STRING, ToEatsToken, false };
78 Transition AWK_DQUOTE_STRING__RETURN = { "\"", &AWK_DQUOTE_STRING, RETURN, FromEatsToken, false };
79 Transition *AWK_TRANSITIONS[] = { &AWK_CODE__LINE_COMMENT_0, &AWK_LINE_COMMENT__RETURN, &AWK_CODE__DQUOTE_STRING, &AWK_DQUOTE_STRING__RETURN, NULL};
80 Polyglot AWK_POLYGLOT = {
81         "awk",
82                         AWK_STATES,
83                         AWK_TRANSITIONS,
84         NULL
85 };
86
87 /*****************************************************************************
88                                       bat
89 *****************************************************************************/
90 /* States */
91 State BAT_CODE = { "BAT_CODE", "bat", semantic_code };
92 State BAT_COMMENT = { "BAT_COMMENT", "bat", semantic_comment };
93 State *BAT_STATES[] = { &BAT_CODE, &BAT_COMMENT, NULL };
94 /* Transitions */
95 Transition BAT_CODE__COMMENT_0 = { "^\\s*(?i)REM(?-i)", &BAT_CODE, &BAT_COMMENT, ToEatsToken, false };
96 Transition BAT_COMMENT__RETURN = { "\n", &BAT_COMMENT, RETURN, FromEatsToken, false };
97 Transition *BAT_TRANSITIONS[] = { &BAT_CODE__COMMENT_0, &BAT_COMMENT__RETURN, NULL};
98 Polyglot BAT_POLYGLOT = {
99         "bat",
100                         BAT_STATES,
101                         BAT_TRANSITIONS,
102         NULL
103 };
104
105 /*****************************************************************************
106                                       boo
107 *****************************************************************************/
108 /* States */
109 State BOO_CODE = { "BOO_CODE", "boo", semantic_code };
110 State BOO_MULTI_LINE_SQUOTE = { "BOO_MULTI_LINE_SQUOTE", "boo", semantic_code };
111 State BOO_MULTI_LINE_DQUOTE = { "BOO_MULTI_LINE_DQUOTE", "boo", semantic_code };
112 State BOO_RAW_DQUOTE = { "BOO_RAW_DQUOTE", "boo", semantic_code };
113 State BOO_SQUOTE = { "BOO_SQUOTE", "boo", semantic_code };
114 State BOO_DQUOTE = { "BOO_DQUOTE", "boo", semantic_code };
115 State BOO_LINE_COMMENT = { "BOO_LINE_COMMENT", "boo", semantic_comment };
116 State *BOO_STATES[] = { &BOO_CODE, &BOO_MULTI_LINE_SQUOTE, &BOO_MULTI_LINE_DQUOTE, &BOO_RAW_DQUOTE, &BOO_SQUOTE, &BOO_DQUOTE, &BOO_LINE_COMMENT, NULL };
117 /* Transitions */
118 Transition BOO_CODE__MULTI_LINE_SQUOTE = { "'''", &BOO_CODE, &BOO_MULTI_LINE_SQUOTE, FromEatsToken, false };
119 Transition BOO_MULTI_LINE_SQUOTE__RETURN = { "'''", &BOO_MULTI_LINE_SQUOTE, RETURN, FromEatsToken, false };
120 Transition BOO_CODE__MULTI_LINE_DQUOTE = { "\"\"\"", &BOO_CODE, &BOO_MULTI_LINE_DQUOTE, FromEatsToken, false };
121 Transition BOO_MULTI_LINE_DQUOTE__RETURN = { "\"\"\"", &BOO_MULTI_LINE_DQUOTE, RETURN, FromEatsToken, false };
122 Transition BOO_CODE__RAW_DQUOTE = { "r\"", &BOO_CODE, &BOO_RAW_DQUOTE, FromEatsToken, false };
123 Transition BOO_RAW_DQUOTE__RETURN = { "\"", &BOO_RAW_DQUOTE, RETURN, FromEatsToken, false };
124 Transition BOO_CODE__SQUOTE = { "'", &BOO_CODE, &BOO_SQUOTE, FromEatsToken, false };
125 Transition BOO_SQUOTE__RETURN_ESC = { "\\\\'", &BOO_SQUOTE, RETURN, FromEatsToken, true };
126 Transition BOO_SQUOTE__RETURN = { "'", &BOO_SQUOTE, RETURN, ToEatsToken, false };
127 Transition BOO_CODE__DQUOTE = { "\"", &BOO_CODE, &BOO_DQUOTE, ToEatsToken, false };
128 Transition BOO_DQUOTE__RETURN_ESC = { "\\\\\"", &BOO_DQUOTE, RETURN, FromEatsToken, true };
129 Transition BOO_DQUOTE__RETURN = { "\"", &BOO_DQUOTE, RETURN, ToEatsToken, false };
130 Transition BOO_CODE__LINE_COMMENT = { "#", &BOO_CODE, &BOO_LINE_COMMENT, ToEatsToken, false };
131 Transition BOO_LINE_COMMENT__RETURN = { "\n", &BOO_LINE_COMMENT, RETURN, FromEatsToken, false };
132 Transition *BOO_TRANSITIONS[] = { &BOO_CODE__MULTI_LINE_SQUOTE, &BOO_MULTI_LINE_SQUOTE__RETURN, &BOO_CODE__MULTI_LINE_DQUOTE, &BOO_MULTI_LINE_DQUOTE__RETURN, &BOO_CODE__RAW_DQUOTE, &BOO_RAW_DQUOTE__RETURN, &BOO_CODE__SQUOTE, &BOO_SQUOTE__RETURN_ESC, &BOO_SQUOTE__RETURN, &BOO_CODE__DQUOTE, &BOO_DQUOTE__RETURN_ESC, &BOO_DQUOTE__RETURN, &BOO_CODE__LINE_COMMENT, &BOO_LINE_COMMENT__RETURN, NULL};
133 Polyglot BOO_POLYGLOT = {
134         "boo",
135                         BOO_STATES,
136                         BOO_TRANSITIONS,
137         NULL
138 };
139
140 /*****************************************************************************
141                                   clearsilver
142 *****************************************************************************/
143 /* States */
144 State CLEARSILVER_CODE = { "CLEARSILVER_CODE", "clearsilver", semantic_code };
145 State CLEARSILVER_DQUOTE_STRING = { "CLEARSILVER_DQUOTE_STRING", "clearsilver", semantic_code };
146 State CLEARSILVER_SQUOTE_STRING = { "CLEARSILVER_SQUOTE_STRING", "clearsilver", semantic_code };
147 State CLEARSILVER_LINE_COMMENT = { "CLEARSILVER_LINE_COMMENT", "clearsilver", semantic_comment };
148 State CLEARSILVER_BLOCK_COMMENT = { "CLEARSILVER_BLOCK_COMMENT", "clearsilver", semantic_comment };
149 State *CLEARSILVER_STATES[] = { &CLEARSILVER_CODE, &CLEARSILVER_DQUOTE_STRING, &CLEARSILVER_SQUOTE_STRING, &CLEARSILVER_LINE_COMMENT, &CLEARSILVER_BLOCK_COMMENT, NULL };
150 /* Transitions */
151 Transition CLEARSILVER_CODE__LINE_COMMENT_0 = { "#", &CLEARSILVER_CODE, &CLEARSILVER_LINE_COMMENT, ToEatsToken, false };
152 Transition CLEARSILVER_LINE_COMMENT__RETURN = { "\n", &CLEARSILVER_LINE_COMMENT, RETURN, FromEatsToken, false };
153 Transition CLEARSILVER_CODE__SQUOTE_STRING = { "'", &CLEARSILVER_CODE, &CLEARSILVER_SQUOTE_STRING, ToEatsToken, false };
154 Transition CLEARSILVER_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &CLEARSILVER_SQUOTE_STRING, &CLEARSILVER_SQUOTE_STRING, FromEatsToken, true };
155 Transition CLEARSILVER_SQUOTE_STRING__SQUOTE_STRING_ESC = { "\\\\'", &CLEARSILVER_SQUOTE_STRING, &CLEARSILVER_SQUOTE_STRING, FromEatsToken, true };
156 Transition CLEARSILVER_SQUOTE_STRING__RETURN = { "'", &CLEARSILVER_SQUOTE_STRING, RETURN, FromEatsToken, false };
157 Transition CLEARSILVER_CODE__DQUOTE_STRING = { "\"", &CLEARSILVER_CODE, &CLEARSILVER_DQUOTE_STRING, ToEatsToken, false };
158 Transition CLEARSILVER_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &CLEARSILVER_DQUOTE_STRING, &CLEARSILVER_DQUOTE_STRING, ToEatsToken, true };
159 Transition CLEARSILVER_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &CLEARSILVER_DQUOTE_STRING, &CLEARSILVER_DQUOTE_STRING, ToEatsToken, true };
160 Transition CLEARSILVER_DQUOTE_STRING__RETURN = { "\"", &CLEARSILVER_DQUOTE_STRING, RETURN, FromEatsToken, false };
161 Transition *CLEARSILVER_TRANSITIONS[] = { &CLEARSILVER_CODE__LINE_COMMENT_0, &CLEARSILVER_LINE_COMMENT__RETURN, &CLEARSILVER_CODE__SQUOTE_STRING, &CLEARSILVER_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH, &CLEARSILVER_SQUOTE_STRING__SQUOTE_STRING_ESC, &CLEARSILVER_SQUOTE_STRING__RETURN, &CLEARSILVER_CODE__DQUOTE_STRING, &CLEARSILVER_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &CLEARSILVER_DQUOTE_STRING__DQUOTE_STRING_ESC, &CLEARSILVER_DQUOTE_STRING__RETURN, NULL};
162 Polyglot CLEARSILVER_POLYGLOT = {
163         "clearsilver",
164                         CLEARSILVER_STATES,
165                         CLEARSILVER_TRANSITIONS,
166         NULL
167 };
168
169 /*****************************************************************************
170                                      cncpp
171 *****************************************************************************/
172 /* States */
173 State CNCPP_CODE = { "CNCPP_CODE", "cncpp", semantic_code };
174 State CNCPP_DQUOTE_STRING = { "CNCPP_DQUOTE_STRING", "cncpp", semantic_code };
175 State CNCPP_SQUOTE_STRING = { "CNCPP_SQUOTE_STRING", "cncpp", semantic_code };
176 State CNCPP_LINE_COMMENT = { "CNCPP_LINE_COMMENT", "cncpp", semantic_comment };
177 State CNCPP_BLOCK_COMMENT = { "CNCPP_BLOCK_COMMENT", "cncpp", semantic_comment };
178 State *CNCPP_STATES[] = { &CNCPP_CODE, &CNCPP_DQUOTE_STRING, &CNCPP_SQUOTE_STRING, &CNCPP_LINE_COMMENT, &CNCPP_BLOCK_COMMENT, NULL };
179 /* Transitions */
180 Transition CNCPP_CODE__LINE_COMMENT_0 = { "//", &CNCPP_CODE, &CNCPP_LINE_COMMENT, ToEatsToken, false };
181 Transition CNCPP_LINE_COMMENT__RETURN = { "\n", &CNCPP_LINE_COMMENT, RETURN, FromEatsToken, false };
182 Transition CNCPP_CODE__BLOCK_COMMENT_0 = { "/\\*", &CNCPP_CODE, &CNCPP_BLOCK_COMMENT, ToEatsToken, false };
183 Transition CNCPP_BLOCK_COMMENT__RETURN_0 = { "\\*/", &CNCPP_BLOCK_COMMENT, RETURN, FromEatsToken, false };
184 Transition CNCPP_CODE__DQUOTE_STRING = { "\"", &CNCPP_CODE, &CNCPP_DQUOTE_STRING, ToEatsToken, false };
185 Transition CNCPP_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &CNCPP_DQUOTE_STRING, &CNCPP_DQUOTE_STRING, ToEatsToken, true };
186 Transition CNCPP_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &CNCPP_DQUOTE_STRING, &CNCPP_DQUOTE_STRING, ToEatsToken, true };
187 Transition CNCPP_DQUOTE_STRING__RETURN = { "\"", &CNCPP_DQUOTE_STRING, RETURN, FromEatsToken, false };
188 Transition *CNCPP_TRANSITIONS[] = { &CNCPP_CODE__LINE_COMMENT_0, &CNCPP_LINE_COMMENT__RETURN, &CNCPP_CODE__BLOCK_COMMENT_0, &CNCPP_BLOCK_COMMENT__RETURN_0, &CNCPP_CODE__DQUOTE_STRING, &CNCPP_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &CNCPP_DQUOTE_STRING__DQUOTE_STRING_ESC, &CNCPP_DQUOTE_STRING__RETURN, NULL};
189 Polyglot CNCPP_POLYGLOT = {
190         "cncpp",
191                         CNCPP_STATES,
192                         CNCPP_TRANSITIONS,
193         NULL
194 };
195
196 /*****************************************************************************
197                                      csharp
198 *****************************************************************************/
199 /* States */
200 State CSHARP_CODE = { "CSHARP_CODE", "csharp", semantic_code };
201 State CSHARP_DQUOTE_STRING = { "CSHARP_DQUOTE_STRING", "csharp", semantic_code };
202 State CSHARP_SQUOTE_STRING = { "CSHARP_SQUOTE_STRING", "csharp", semantic_code };
203 State CSHARP_LINE_COMMENT = { "CSHARP_LINE_COMMENT", "csharp", semantic_comment };
204 State CSHARP_BLOCK_COMMENT = { "CSHARP_BLOCK_COMMENT", "csharp", semantic_comment };
205 State *CSHARP_STATES[] = { &CSHARP_CODE, &CSHARP_DQUOTE_STRING, &CSHARP_SQUOTE_STRING, &CSHARP_LINE_COMMENT, &CSHARP_BLOCK_COMMENT, NULL };
206 /* Transitions */
207 Transition CSHARP_CODE__LINE_COMMENT_0 = { "//", &CSHARP_CODE, &CSHARP_LINE_COMMENT, ToEatsToken, false };
208 Transition CSHARP_LINE_COMMENT__RETURN = { "\n", &CSHARP_LINE_COMMENT, RETURN, FromEatsToken, false };
209 Transition CSHARP_CODE__BLOCK_COMMENT_0 = { "/\\*", &CSHARP_CODE, &CSHARP_BLOCK_COMMENT, ToEatsToken, false };
210 Transition CSHARP_BLOCK_COMMENT__RETURN_0 = { "\\*/", &CSHARP_BLOCK_COMMENT, RETURN, FromEatsToken, false };
211 Transition CSHARP_CODE__DQUOTE_STRING = { "\"", &CSHARP_CODE, &CSHARP_DQUOTE_STRING, ToEatsToken, false };
212 Transition CSHARP_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &CSHARP_DQUOTE_STRING, &CSHARP_DQUOTE_STRING, ToEatsToken, true };
213 Transition CSHARP_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &CSHARP_DQUOTE_STRING, &CSHARP_DQUOTE_STRING, ToEatsToken, true };
214 Transition CSHARP_DQUOTE_STRING__RETURN = { "\"", &CSHARP_DQUOTE_STRING, RETURN, FromEatsToken, false };
215 Transition *CSHARP_TRANSITIONS[] = { &CSHARP_CODE__LINE_COMMENT_0, &CSHARP_LINE_COMMENT__RETURN, &CSHARP_CODE__BLOCK_COMMENT_0, &CSHARP_BLOCK_COMMENT__RETURN_0, &CSHARP_CODE__DQUOTE_STRING, &CSHARP_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &CSHARP_DQUOTE_STRING__DQUOTE_STRING_ESC, &CSHARP_DQUOTE_STRING__RETURN, NULL};
216 Polyglot CSHARP_POLYGLOT = {
217         "csharp",
218                         CSHARP_STATES,
219                         CSHARP_TRANSITIONS,
220         NULL
221 };
222
223 /*****************************************************************************
224                                       css
225 *****************************************************************************/
226 /* States */
227 State CSS_CODE = { "CSS_CODE", "css", semantic_code };
228 State CSS_DQUOTE_STRING = { "CSS_DQUOTE_STRING", "css", semantic_code };
229 State CSS_SQUOTE_STRING = { "CSS_SQUOTE_STRING", "css", semantic_code };
230 State CSS_LINE_COMMENT = { "CSS_LINE_COMMENT", "css", semantic_comment };
231 State CSS_BLOCK_COMMENT = { "CSS_BLOCK_COMMENT", "css", semantic_comment };
232 State *CSS_STATES[] = { &CSS_CODE, &CSS_DQUOTE_STRING, &CSS_SQUOTE_STRING, &CSS_LINE_COMMENT, &CSS_BLOCK_COMMENT, NULL };
233 /* Transitions */
234 Transition CSS_CODE__BLOCK_COMMENT_0 = { "/\\*", &CSS_CODE, &CSS_BLOCK_COMMENT, ToEatsToken, false };
235 Transition CSS_BLOCK_COMMENT__RETURN_0 = { "\\*/", &CSS_BLOCK_COMMENT, RETURN, FromEatsToken, false };
236 Transition *CSS_TRANSITIONS[] = { &CSS_CODE__BLOCK_COMMENT_0, &CSS_BLOCK_COMMENT__RETURN_0, NULL};
237 Polyglot CSS_POLYGLOT = {
238         "css",
239                         CSS_STATES,
240                         CSS_TRANSITIONS,
241         NULL
242 };
243
244 /*****************************************************************************
245                                      dylan
246 *****************************************************************************/
247 /* States */
248 State DYLAN_CODE = { "DYLAN_CODE", "dylan", semantic_code };
249 State DYLAN_DQUOTE_STRING = { "DYLAN_DQUOTE_STRING", "dylan", semantic_code };
250 State DYLAN_SQUOTE_STRING = { "DYLAN_SQUOTE_STRING", "dylan", semantic_code };
251 State DYLAN_LINE_COMMENT = { "DYLAN_LINE_COMMENT", "dylan", semantic_comment };
252 State DYLAN_BLOCK_COMMENT = { "DYLAN_BLOCK_COMMENT", "dylan", semantic_comment };
253 State *DYLAN_STATES[] = { &DYLAN_CODE, &DYLAN_DQUOTE_STRING, &DYLAN_SQUOTE_STRING, &DYLAN_LINE_COMMENT, &DYLAN_BLOCK_COMMENT, NULL };
254 /* Transitions */
255 Transition DYLAN_CODE__LINE_COMMENT_0 = { "//", &DYLAN_CODE, &DYLAN_LINE_COMMENT, ToEatsToken, false };
256 Transition DYLAN_LINE_COMMENT__RETURN = { "\n", &DYLAN_LINE_COMMENT, RETURN, FromEatsToken, false };
257 Transition DYLAN_CODE__DQUOTE_STRING = { "\"", &DYLAN_CODE, &DYLAN_DQUOTE_STRING, ToEatsToken, false };
258 Transition DYLAN_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &DYLAN_DQUOTE_STRING, &DYLAN_DQUOTE_STRING, ToEatsToken, true };
259 Transition DYLAN_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &DYLAN_DQUOTE_STRING, &DYLAN_DQUOTE_STRING, ToEatsToken, true };
260 Transition DYLAN_DQUOTE_STRING__RETURN = { "\"", &DYLAN_DQUOTE_STRING, RETURN, FromEatsToken, false };
261 Transition *DYLAN_TRANSITIONS[] = { &DYLAN_CODE__LINE_COMMENT_0, &DYLAN_LINE_COMMENT__RETURN, &DYLAN_CODE__DQUOTE_STRING, &DYLAN_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &DYLAN_DQUOTE_STRING__DQUOTE_STRING_ESC, &DYLAN_DQUOTE_STRING__RETURN, NULL};
262 Polyglot DYLAN_POLYGLOT = {
263         "dylan",
264                         DYLAN_STATES,
265                         DYLAN_TRANSITIONS,
266         NULL
267 };
268
269 /*****************************************************************************
270                                      erlang
271 *****************************************************************************/
272 /* States */
273 State ERLANG_CODE = { "ERLANG_CODE", "erlang", semantic_code };
274 State ERLANG_DQUOTE_STRING = { "ERLANG_DQUOTE_STRING", "erlang", semantic_code };
275 State ERLANG_SQUOTE_STRING = { "ERLANG_SQUOTE_STRING", "erlang", semantic_code };
276 State ERLANG_LINE_COMMENT = { "ERLANG_LINE_COMMENT", "erlang", semantic_comment };
277 State ERLANG_BLOCK_COMMENT = { "ERLANG_BLOCK_COMMENT", "erlang", semantic_comment };
278 State *ERLANG_STATES[] = { &ERLANG_CODE, &ERLANG_DQUOTE_STRING, &ERLANG_SQUOTE_STRING, &ERLANG_LINE_COMMENT, &ERLANG_BLOCK_COMMENT, NULL };
279 /* Transitions */
280 Transition ERLANG_CODE__LINE_COMMENT_0 = { "%%", &ERLANG_CODE, &ERLANG_LINE_COMMENT, ToEatsToken, false };
281 Transition ERLANG_LINE_COMMENT__RETURN = { "\n", &ERLANG_LINE_COMMENT, RETURN, FromEatsToken, false };
282 Transition ERLANG_CODE__SQUOTE_STRING = { "'", &ERLANG_CODE, &ERLANG_SQUOTE_STRING, ToEatsToken, false };
283 Transition ERLANG_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &ERLANG_SQUOTE_STRING, &ERLANG_SQUOTE_STRING, FromEatsToken, true };
284 Transition ERLANG_SQUOTE_STRING__SQUOTE_STRING_ESC = { "\\\\'", &ERLANG_SQUOTE_STRING, &ERLANG_SQUOTE_STRING, FromEatsToken, true };
285 Transition ERLANG_SQUOTE_STRING__RETURN = { "'", &ERLANG_SQUOTE_STRING, RETURN, FromEatsToken, false };
286 Transition ERLANG_CODE__DQUOTE_STRING = { "\"", &ERLANG_CODE, &ERLANG_DQUOTE_STRING, ToEatsToken, false };
287 Transition ERLANG_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &ERLANG_DQUOTE_STRING, &ERLANG_DQUOTE_STRING, ToEatsToken, true };
288 Transition ERLANG_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &ERLANG_DQUOTE_STRING, &ERLANG_DQUOTE_STRING, ToEatsToken, true };
289 Transition ERLANG_DQUOTE_STRING__RETURN = { "\"", &ERLANG_DQUOTE_STRING, RETURN, FromEatsToken, false };
290 Transition *ERLANG_TRANSITIONS[] = { &ERLANG_CODE__LINE_COMMENT_0, &ERLANG_LINE_COMMENT__RETURN, &ERLANG_CODE__SQUOTE_STRING, &ERLANG_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH, &ERLANG_SQUOTE_STRING__SQUOTE_STRING_ESC, &ERLANG_SQUOTE_STRING__RETURN, &ERLANG_CODE__DQUOTE_STRING, &ERLANG_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &ERLANG_DQUOTE_STRING__DQUOTE_STRING_ESC, &ERLANG_DQUOTE_STRING__RETURN, NULL};
291 Polyglot ERLANG_POLYGLOT = {
292         "erlang",
293                         ERLANG_STATES,
294                         ERLANG_TRANSITIONS,
295         NULL
296 };
297
298 /*****************************************************************************
299                                      groovy
300 *****************************************************************************/
301 /* States */
302 State GROOVY_CODE = { "GROOVY_CODE", "groovy", semantic_code };
303 State GROOVY_DQUOTE_STRING = { "GROOVY_DQUOTE_STRING", "groovy", semantic_code };
304 State GROOVY_SQUOTE_STRING = { "GROOVY_SQUOTE_STRING", "groovy", semantic_code };
305 State GROOVY_LINE_COMMENT = { "GROOVY_LINE_COMMENT", "groovy", semantic_comment };
306 State GROOVY_BLOCK_COMMENT = { "GROOVY_BLOCK_COMMENT", "groovy", semantic_comment };
307 State *GROOVY_STATES[] = { &GROOVY_CODE, &GROOVY_DQUOTE_STRING, &GROOVY_SQUOTE_STRING, &GROOVY_LINE_COMMENT, &GROOVY_BLOCK_COMMENT, NULL };
308 /* Transitions */
309 Transition GROOVY_CODE__LINE_COMMENT_0 = { "//", &GROOVY_CODE, &GROOVY_LINE_COMMENT, ToEatsToken, false };
310 Transition GROOVY_LINE_COMMENT__RETURN = { "\n", &GROOVY_LINE_COMMENT, RETURN, FromEatsToken, false };
311 Transition GROOVY_CODE__BLOCK_COMMENT_0 = { "/\\*", &GROOVY_CODE, &GROOVY_BLOCK_COMMENT, ToEatsToken, false };
312 Transition GROOVY_BLOCK_COMMENT__RETURN_0 = { "\\*/", &GROOVY_BLOCK_COMMENT, RETURN, FromEatsToken, false };
313 Transition GROOVY_CODE__DQUOTE_STRING = { "\"", &GROOVY_CODE, &GROOVY_DQUOTE_STRING, ToEatsToken, false };
314 Transition GROOVY_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &GROOVY_DQUOTE_STRING, &GROOVY_DQUOTE_STRING, ToEatsToken, true };
315 Transition GROOVY_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &GROOVY_DQUOTE_STRING, &GROOVY_DQUOTE_STRING, ToEatsToken, true };
316 Transition GROOVY_DQUOTE_STRING__RETURN = { "\"", &GROOVY_DQUOTE_STRING, RETURN, FromEatsToken, false };
317 Transition *GROOVY_TRANSITIONS[] = { &GROOVY_CODE__LINE_COMMENT_0, &GROOVY_LINE_COMMENT__RETURN, &GROOVY_CODE__BLOCK_COMMENT_0, &GROOVY_BLOCK_COMMENT__RETURN_0, &GROOVY_CODE__DQUOTE_STRING, &GROOVY_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &GROOVY_DQUOTE_STRING__DQUOTE_STRING_ESC, &GROOVY_DQUOTE_STRING__RETURN, NULL};
318 Polyglot GROOVY_POLYGLOT = {
319         "groovy",
320                         GROOVY_STATES,
321                         GROOVY_TRANSITIONS,
322         NULL
323 };
324
325 /*****************************************************************************
326                                       java
327 *****************************************************************************/
328 /* States */
329 State JAVA_CODE = { "JAVA_CODE", "java", semantic_code };
330 State JAVA_DQUOTE_STRING = { "JAVA_DQUOTE_STRING", "java", semantic_code };
331 State JAVA_SQUOTE_STRING = { "JAVA_SQUOTE_STRING", "java", semantic_code };
332 State JAVA_LINE_COMMENT = { "JAVA_LINE_COMMENT", "java", semantic_comment };
333 State JAVA_BLOCK_COMMENT = { "JAVA_BLOCK_COMMENT", "java", semantic_comment };
334 State *JAVA_STATES[] = { &JAVA_CODE, &JAVA_DQUOTE_STRING, &JAVA_SQUOTE_STRING, &JAVA_LINE_COMMENT, &JAVA_BLOCK_COMMENT, NULL };
335 /* Transitions */
336 Transition JAVA_CODE__LINE_COMMENT_0 = { "//", &JAVA_CODE, &JAVA_LINE_COMMENT, ToEatsToken, false };
337 Transition JAVA_LINE_COMMENT__RETURN = { "\n", &JAVA_LINE_COMMENT, RETURN, FromEatsToken, false };
338 Transition JAVA_CODE__BLOCK_COMMENT_0 = { "/\\*", &JAVA_CODE, &JAVA_BLOCK_COMMENT, ToEatsToken, false };
339 Transition JAVA_BLOCK_COMMENT__RETURN_0 = { "\\*/", &JAVA_BLOCK_COMMENT, RETURN, FromEatsToken, false };
340 Transition JAVA_CODE__DQUOTE_STRING = { "\"", &JAVA_CODE, &JAVA_DQUOTE_STRING, ToEatsToken, false };
341 Transition JAVA_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &JAVA_DQUOTE_STRING, &JAVA_DQUOTE_STRING, ToEatsToken, true };
342 Transition JAVA_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &JAVA_DQUOTE_STRING, &JAVA_DQUOTE_STRING, ToEatsToken, true };
343 Transition JAVA_DQUOTE_STRING__RETURN = { "\"", &JAVA_DQUOTE_STRING, RETURN, FromEatsToken, false };
344 Transition *JAVA_TRANSITIONS[] = { &JAVA_CODE__LINE_COMMENT_0, &JAVA_LINE_COMMENT__RETURN, &JAVA_CODE__BLOCK_COMMENT_0, &JAVA_BLOCK_COMMENT__RETURN_0, &JAVA_CODE__DQUOTE_STRING, &JAVA_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &JAVA_DQUOTE_STRING__DQUOTE_STRING_ESC, &JAVA_DQUOTE_STRING__RETURN, NULL};
345 Polyglot JAVA_POLYGLOT = {
346         "java",
347                         JAVA_STATES,
348                         JAVA_TRANSITIONS,
349         NULL
350 };
351
352 /*****************************************************************************
353                                    javascript
354 *****************************************************************************/
355 /* States */
356 State JAVASCRIPT_CODE = { "JAVASCRIPT_CODE", "javascript", semantic_code };
357 State JAVASCRIPT_DQUOTE_STRING = { "JAVASCRIPT_DQUOTE_STRING", "javascript", semantic_code };
358 State JAVASCRIPT_SQUOTE_STRING = { "JAVASCRIPT_SQUOTE_STRING", "javascript", semantic_code };
359 State JAVASCRIPT_LINE_COMMENT = { "JAVASCRIPT_LINE_COMMENT", "javascript", semantic_comment };
360 State JAVASCRIPT_BLOCK_COMMENT = { "JAVASCRIPT_BLOCK_COMMENT", "javascript", semantic_comment };
361 State *JAVASCRIPT_STATES[] = { &JAVASCRIPT_CODE, &JAVASCRIPT_DQUOTE_STRING, &JAVASCRIPT_SQUOTE_STRING, &JAVASCRIPT_LINE_COMMENT, &JAVASCRIPT_BLOCK_COMMENT, NULL };
362 /* Transitions */
363 Transition JAVASCRIPT_CODE__LINE_COMMENT_0 = { "//", &JAVASCRIPT_CODE, &JAVASCRIPT_LINE_COMMENT, ToEatsToken, false };
364 Transition JAVASCRIPT_LINE_COMMENT__RETURN = { "\n", &JAVASCRIPT_LINE_COMMENT, RETURN, FromEatsToken, false };
365 Transition JAVASCRIPT_CODE__BLOCK_COMMENT_0 = { "/\\*", &JAVASCRIPT_CODE, &JAVASCRIPT_BLOCK_COMMENT, ToEatsToken, false };
366 Transition JAVASCRIPT_BLOCK_COMMENT__RETURN_0 = { "\\*/", &JAVASCRIPT_BLOCK_COMMENT, RETURN, FromEatsToken, false };
367 Transition JAVASCRIPT_CODE__SQUOTE_STRING = { "'", &JAVASCRIPT_CODE, &JAVASCRIPT_SQUOTE_STRING, ToEatsToken, false };
368 Transition JAVASCRIPT_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &JAVASCRIPT_SQUOTE_STRING, &JAVASCRIPT_SQUOTE_STRING, FromEatsToken, true };
369 Transition JAVASCRIPT_SQUOTE_STRING__SQUOTE_STRING_ESC = { "\\\\'", &JAVASCRIPT_SQUOTE_STRING, &JAVASCRIPT_SQUOTE_STRING, FromEatsToken, true };
370 Transition JAVASCRIPT_SQUOTE_STRING__RETURN = { "'", &JAVASCRIPT_SQUOTE_STRING, RETURN, FromEatsToken, false };
371 Transition JAVASCRIPT_CODE__DQUOTE_STRING = { "\"", &JAVASCRIPT_CODE, &JAVASCRIPT_DQUOTE_STRING, ToEatsToken, false };
372 Transition JAVASCRIPT_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &JAVASCRIPT_DQUOTE_STRING, &JAVASCRIPT_DQUOTE_STRING, ToEatsToken, true };
373 Transition JAVASCRIPT_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &JAVASCRIPT_DQUOTE_STRING, &JAVASCRIPT_DQUOTE_STRING, ToEatsToken, true };
374 Transition JAVASCRIPT_DQUOTE_STRING__RETURN = { "\"", &JAVASCRIPT_DQUOTE_STRING, RETURN, FromEatsToken, false };
375 Transition *JAVASCRIPT_TRANSITIONS[] = { &JAVASCRIPT_CODE__LINE_COMMENT_0, &JAVASCRIPT_LINE_COMMENT__RETURN, &JAVASCRIPT_CODE__BLOCK_COMMENT_0, &JAVASCRIPT_BLOCK_COMMENT__RETURN_0, &JAVASCRIPT_CODE__SQUOTE_STRING, &JAVASCRIPT_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH, &JAVASCRIPT_SQUOTE_STRING__SQUOTE_STRING_ESC, &JAVASCRIPT_SQUOTE_STRING__RETURN, &JAVASCRIPT_CODE__DQUOTE_STRING, &JAVASCRIPT_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &JAVASCRIPT_DQUOTE_STRING__DQUOTE_STRING_ESC, &JAVASCRIPT_DQUOTE_STRING__RETURN, NULL};
376 Polyglot JAVASCRIPT_POLYGLOT = {
377         "javascript",
378                         JAVASCRIPT_STATES,
379                         JAVASCRIPT_TRANSITIONS,
380         NULL
381 };
382
383 /*****************************************************************************
384                                    emacslisp
385 *****************************************************************************/
386 /* States */
387 State EMACSLISP_CODE = { "EMACSLISP_CODE", "emacslisp", semantic_code };
388 State EMACSLISP_COMMENT = { "EMACSLISP_COMMENT", "emacslisp", semantic_comment };
389 State *EMACSLISP_STATES[] = { &EMACSLISP_CODE, &EMACSLISP_COMMENT, NULL };
390 /* Transitions */
391 Transition EMACSLISP_CODE__COMMENT_0 = { ";", &EMACSLISP_CODE, &EMACSLISP_COMMENT, ToEatsToken, false };
392 Transition EMACSLISP_COMMENT__RETURN = { "\n", &EMACSLISP_COMMENT, RETURN, FromEatsToken, false };
393 Transition *EMACSLISP_TRANSITIONS[] = { &EMACSLISP_CODE__COMMENT_0, &EMACSLISP_COMMENT__RETURN, NULL};
394 Polyglot EMACSLISP_POLYGLOT = {
395         "emacslisp",
396                         EMACSLISP_STATES,
397                         EMACSLISP_TRANSITIONS,
398         NULL
399 };
400
401 /*****************************************************************************
402                                       lisp
403 *****************************************************************************/
404 /* States */
405 State LISP_CODE = { "LISP_CODE", "lisp", semantic_code };
406 State LISP_COMMENT = { "LISP_COMMENT", "lisp", semantic_comment };
407 State *LISP_STATES[] = { &LISP_CODE, &LISP_COMMENT, NULL };
408 /* Transitions */
409 Transition LISP_CODE__COMMENT_0 = { ";", &LISP_CODE, &LISP_COMMENT, ToEatsToken, false };
410 Transition LISP_COMMENT__RETURN = { "\n", &LISP_COMMENT, RETURN, FromEatsToken, false };
411 Transition *LISP_TRANSITIONS[] = { &LISP_CODE__COMMENT_0, &LISP_COMMENT__RETURN, NULL};
412 Polyglot LISP_POLYGLOT = {
413         "lisp",
414                         LISP_STATES,
415                         LISP_TRANSITIONS,
416         NULL
417 };
418
419 /*****************************************************************************
420                                       lua
421 *****************************************************************************/
422 /* States */
423 State LUA_CODE = { "LUA_CODE", "lua", semantic_code };
424 State LUA_DQUOTE_STRING = { "LUA_DQUOTE_STRING", "lua", semantic_code };
425 State LUA_SQUOTE_STRING = { "LUA_SQUOTE_STRING", "lua", semantic_code };
426 State LUA_LINE_COMMENT = { "LUA_LINE_COMMENT", "lua", semantic_comment };
427 State LUA_BLOCK_COMMENT = { "LUA_BLOCK_COMMENT", "lua", semantic_comment };
428 State *LUA_STATES[] = { &LUA_CODE, &LUA_DQUOTE_STRING, &LUA_SQUOTE_STRING, &LUA_LINE_COMMENT, &LUA_BLOCK_COMMENT, NULL };
429 /* Transitions */
430 Transition LUA_CODE__LINE_COMMENT_0 = { "--", &LUA_CODE, &LUA_LINE_COMMENT, ToEatsToken, false };
431 Transition LUA_LINE_COMMENT__RETURN = { "\n", &LUA_LINE_COMMENT, RETURN, FromEatsToken, false };
432 Transition LUA_CODE__SQUOTE_STRING = { "'", &LUA_CODE, &LUA_SQUOTE_STRING, ToEatsToken, false };
433 Transition LUA_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &LUA_SQUOTE_STRING, &LUA_SQUOTE_STRING, FromEatsToken, true };
434 Transition LUA_SQUOTE_STRING__SQUOTE_STRING_ESC = { "\\\\'", &LUA_SQUOTE_STRING, &LUA_SQUOTE_STRING, FromEatsToken, true };
435 Transition LUA_SQUOTE_STRING__RETURN = { "'", &LUA_SQUOTE_STRING, RETURN, FromEatsToken, false };
436 Transition LUA_CODE__DQUOTE_STRING = { "\"", &LUA_CODE, &LUA_DQUOTE_STRING, ToEatsToken, false };
437 Transition LUA_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &LUA_DQUOTE_STRING, &LUA_DQUOTE_STRING, ToEatsToken, true };
438 Transition LUA_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &LUA_DQUOTE_STRING, &LUA_DQUOTE_STRING, ToEatsToken, true };
439 Transition LUA_DQUOTE_STRING__RETURN = { "\"", &LUA_DQUOTE_STRING, RETURN, FromEatsToken, false };
440 Transition *LUA_TRANSITIONS[] = { &LUA_CODE__LINE_COMMENT_0, &LUA_LINE_COMMENT__RETURN, &LUA_CODE__SQUOTE_STRING, &LUA_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH, &LUA_SQUOTE_STRING__SQUOTE_STRING_ESC, &LUA_SQUOTE_STRING__RETURN, &LUA_CODE__DQUOTE_STRING, &LUA_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &LUA_DQUOTE_STRING__DQUOTE_STRING_ESC, &LUA_DQUOTE_STRING__RETURN, NULL};
441 Polyglot LUA_POLYGLOT = {
442         "lua",
443                         LUA_STATES,
444                         LUA_TRANSITIONS,
445         NULL
446 };
447
448 /*****************************************************************************
449                                      matlab
450 *****************************************************************************/
451 /* States */
452 State MATLAB_CODE = { "MATLAB_CODE", "matlab", semantic_code };
453 State MATLAB_DQUOTE_STRING = { "MATLAB_DQUOTE_STRING", "matlab", semantic_code };
454 State MATLAB_SQUOTE_STRING = { "MATLAB_SQUOTE_STRING", "matlab", semantic_code };
455 State MATLAB_LINE_COMMENT = { "MATLAB_LINE_COMMENT", "matlab", semantic_comment };
456 State MATLAB_BLOCK_COMMENT = { "MATLAB_BLOCK_COMMENT", "matlab", semantic_comment };
457 State *MATLAB_STATES[] = { &MATLAB_CODE, &MATLAB_DQUOTE_STRING, &MATLAB_SQUOTE_STRING, &MATLAB_LINE_COMMENT, &MATLAB_BLOCK_COMMENT, NULL };
458 /* Transitions */
459 Transition MATLAB_CODE__LINE_COMMENT_0 = { "#|%", &MATLAB_CODE, &MATLAB_LINE_COMMENT, ToEatsToken, false };
460 Transition MATLAB_LINE_COMMENT__RETURN = { "\n", &MATLAB_LINE_COMMENT, RETURN, FromEatsToken, false };
461 Transition MATLAB_CODE__BLOCK_COMMENT_0 = { "{%", &MATLAB_CODE, &MATLAB_BLOCK_COMMENT, ToEatsToken, false };
462 Transition MATLAB_BLOCK_COMMENT__RETURN_0 = { "%}", &MATLAB_BLOCK_COMMENT, RETURN, FromEatsToken, false };
463 Transition MATLAB_CODE__SQUOTE_STRING = { "'", &MATLAB_CODE, &MATLAB_SQUOTE_STRING, ToEatsToken, false };
464 Transition MATLAB_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &MATLAB_SQUOTE_STRING, &MATLAB_SQUOTE_STRING, FromEatsToken, true };
465 Transition MATLAB_SQUOTE_STRING__SQUOTE_STRING_ESC = { "\\\\'", &MATLAB_SQUOTE_STRING, &MATLAB_SQUOTE_STRING, FromEatsToken, true };
466 Transition MATLAB_SQUOTE_STRING__RETURN = { "'", &MATLAB_SQUOTE_STRING, RETURN, FromEatsToken, false };
467 Transition *MATLAB_TRANSITIONS[] = { &MATLAB_CODE__LINE_COMMENT_0, &MATLAB_LINE_COMMENT__RETURN, &MATLAB_CODE__BLOCK_COMMENT_0, &MATLAB_BLOCK_COMMENT__RETURN_0, &MATLAB_CODE__SQUOTE_STRING, &MATLAB_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH, &MATLAB_SQUOTE_STRING__SQUOTE_STRING_ESC, &MATLAB_SQUOTE_STRING__RETURN, NULL};
468 Polyglot MATLAB_POLYGLOT = {
469         "matlab",
470                         MATLAB_STATES,
471                         MATLAB_TRANSITIONS,
472         NULL
473 };
474
475 /*****************************************************************************
476                                   objective_c
477 *****************************************************************************/
478 /* States */
479 State OBJECTIVE_C_CODE = { "OBJECTIVE_C_CODE", "objective_c", semantic_code };
480 State OBJECTIVE_C_DQUOTE_STRING = { "OBJECTIVE_C_DQUOTE_STRING", "objective_c", semantic_code };
481 State OBJECTIVE_C_SQUOTE_STRING = { "OBJECTIVE_C_SQUOTE_STRING", "objective_c", semantic_code };
482 State OBJECTIVE_C_LINE_COMMENT = { "OBJECTIVE_C_LINE_COMMENT", "objective_c", semantic_comment };
483 State OBJECTIVE_C_BLOCK_COMMENT = { "OBJECTIVE_C_BLOCK_COMMENT", "objective_c", semantic_comment };
484 State *OBJECTIVE_C_STATES[] = { &OBJECTIVE_C_CODE, &OBJECTIVE_C_DQUOTE_STRING, &OBJECTIVE_C_SQUOTE_STRING, &OBJECTIVE_C_LINE_COMMENT, &OBJECTIVE_C_BLOCK_COMMENT, NULL };
485 /* Transitions */
486 Transition OBJECTIVE_C_CODE__LINE_COMMENT_0 = { "//", &OBJECTIVE_C_CODE, &OBJECTIVE_C_LINE_COMMENT, ToEatsToken, false };
487 Transition OBJECTIVE_C_LINE_COMMENT__RETURN = { "\n", &OBJECTIVE_C_LINE_COMMENT, RETURN, FromEatsToken, false };
488 Transition OBJECTIVE_C_CODE__BLOCK_COMMENT_0 = { "/\\*", &OBJECTIVE_C_CODE, &OBJECTIVE_C_BLOCK_COMMENT, ToEatsToken, false };
489 Transition OBJECTIVE_C_BLOCK_COMMENT__RETURN_0 = { "\\*/", &OBJECTIVE_C_BLOCK_COMMENT, RETURN, FromEatsToken, false };
490 Transition OBJECTIVE_C_CODE__DQUOTE_STRING = { "\"", &OBJECTIVE_C_CODE, &OBJECTIVE_C_DQUOTE_STRING, ToEatsToken, false };
491 Transition OBJECTIVE_C_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &OBJECTIVE_C_DQUOTE_STRING, &OBJECTIVE_C_DQUOTE_STRING, ToEatsToken, true };
492 Transition OBJECTIVE_C_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &OBJECTIVE_C_DQUOTE_STRING, &OBJECTIVE_C_DQUOTE_STRING, ToEatsToken, true };
493 Transition OBJECTIVE_C_DQUOTE_STRING__RETURN = { "\"", &OBJECTIVE_C_DQUOTE_STRING, RETURN, FromEatsToken, false };
494 Transition *OBJECTIVE_C_TRANSITIONS[] = { &OBJECTIVE_C_CODE__LINE_COMMENT_0, &OBJECTIVE_C_LINE_COMMENT__RETURN, &OBJECTIVE_C_CODE__BLOCK_COMMENT_0, &OBJECTIVE_C_BLOCK_COMMENT__RETURN_0, &OBJECTIVE_C_CODE__DQUOTE_STRING, &OBJECTIVE_C_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &OBJECTIVE_C_DQUOTE_STRING__DQUOTE_STRING_ESC, &OBJECTIVE_C_DQUOTE_STRING__RETURN, NULL};
495 Polyglot OBJECTIVE_C_POLYGLOT = {
496         "objective_c",
497                         OBJECTIVE_C_STATES,
498                         OBJECTIVE_C_TRANSITIONS,
499         NULL
500 };
501
502 /*****************************************************************************
503                                      pascal
504 *****************************************************************************/
505 /* States */
506 State PASCAL_CODE = { "PASCAL_CODE", "pascal", semantic_code };
507 State PASCAL_DQUOTE_STRING = { "PASCAL_DQUOTE_STRING", "pascal", semantic_code };
508 State PASCAL_SQUOTE_STRING = { "PASCAL_SQUOTE_STRING", "pascal", semantic_code };
509 State PASCAL_LINE_COMMENT = { "PASCAL_LINE_COMMENT", "pascal", semantic_comment };
510 State PASCAL_BLOCK_COMMENT = { "PASCAL_BLOCK_COMMENT", "pascal", semantic_comment };
511 State *PASCAL_STATES[] = { &PASCAL_CODE, &PASCAL_DQUOTE_STRING, &PASCAL_SQUOTE_STRING, &PASCAL_LINE_COMMENT, &PASCAL_BLOCK_COMMENT, NULL };
512 /* Transitions */
513 Transition PASCAL_CODE__LINE_COMMENT_0 = { "//", &PASCAL_CODE, &PASCAL_LINE_COMMENT, ToEatsToken, false };
514 Transition PASCAL_LINE_COMMENT__RETURN = { "\n", &PASCAL_LINE_COMMENT, RETURN, FromEatsToken, false };
515 Transition PASCAL_CODE__BLOCK_COMMENT_0 = { "{", &PASCAL_CODE, &PASCAL_BLOCK_COMMENT, ToEatsToken, false };
516 Transition PASCAL_BLOCK_COMMENT__RETURN_0 = { "}", &PASCAL_BLOCK_COMMENT, RETURN, FromEatsToken, false };
517 Transition PASCAL_CODE__DQUOTE_STRING = { "\"", &PASCAL_CODE, &PASCAL_DQUOTE_STRING, ToEatsToken, false };
518 Transition PASCAL_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &PASCAL_DQUOTE_STRING, &PASCAL_DQUOTE_STRING, ToEatsToken, true };
519 Transition PASCAL_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &PASCAL_DQUOTE_STRING, &PASCAL_DQUOTE_STRING, ToEatsToken, true };
520 Transition PASCAL_DQUOTE_STRING__RETURN = { "\"", &PASCAL_DQUOTE_STRING, RETURN, FromEatsToken, false };
521 Transition *PASCAL_TRANSITIONS[] = { &PASCAL_CODE__LINE_COMMENT_0, &PASCAL_LINE_COMMENT__RETURN, &PASCAL_CODE__BLOCK_COMMENT_0, &PASCAL_BLOCK_COMMENT__RETURN_0, &PASCAL_CODE__DQUOTE_STRING, &PASCAL_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &PASCAL_DQUOTE_STRING__DQUOTE_STRING_ESC, &PASCAL_DQUOTE_STRING__RETURN, NULL};
522 Polyglot PASCAL_POLYGLOT = {
523         "pascal",
524                         PASCAL_STATES,
525                         PASCAL_TRANSITIONS,
526         NULL
527 };
528
529 /*****************************************************************************
530                                       perl
531 *****************************************************************************/
532 /* States */
533 State PERL_CODE = { "PERL_CODE", "perl", semantic_code };
534 State PERL_DQUOTE_STRING = { "PERL_DQUOTE_STRING", "perl", semantic_code };
535 State PERL_SQUOTE_STRING = { "PERL_SQUOTE_STRING", "perl", semantic_code };
536 State PERL_LINE_COMMENT = { "PERL_LINE_COMMENT", "perl", semantic_comment };
537 State PERL_BLOCK_COMMENT = { "PERL_BLOCK_COMMENT", "perl", semantic_comment };
538 State *PERL_STATES[] = { &PERL_CODE, &PERL_DQUOTE_STRING, &PERL_SQUOTE_STRING, &PERL_LINE_COMMENT, &PERL_BLOCK_COMMENT, NULL };
539 /* Transitions */
540 Transition PERL_CODE__LINE_COMMENT_0 = { "#", &PERL_CODE, &PERL_LINE_COMMENT, ToEatsToken, false };
541 Transition PERL_LINE_COMMENT__RETURN = { "\n", &PERL_LINE_COMMENT, RETURN, FromEatsToken, false };
542 Transition PERL_CODE__SQUOTE_STRING = { "'", &PERL_CODE, &PERL_SQUOTE_STRING, ToEatsToken, false };
543 Transition PERL_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &PERL_SQUOTE_STRING, &PERL_SQUOTE_STRING, FromEatsToken, true };
544 Transition PERL_SQUOTE_STRING__SQUOTE_STRING_ESC = { "\\\\'", &PERL_SQUOTE_STRING, &PERL_SQUOTE_STRING, FromEatsToken, true };
545 Transition PERL_SQUOTE_STRING__RETURN = { "'", &PERL_SQUOTE_STRING, RETURN, FromEatsToken, false };
546 Transition PERL_CODE__DQUOTE_STRING = { "\"", &PERL_CODE, &PERL_DQUOTE_STRING, ToEatsToken, false };
547 Transition PERL_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &PERL_DQUOTE_STRING, &PERL_DQUOTE_STRING, ToEatsToken, true };
548 Transition PERL_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &PERL_DQUOTE_STRING, &PERL_DQUOTE_STRING, ToEatsToken, true };
549 Transition PERL_DQUOTE_STRING__RETURN = { "\"", &PERL_DQUOTE_STRING, RETURN, FromEatsToken, false };
550 Transition *PERL_TRANSITIONS[] = { &PERL_CODE__LINE_COMMENT_0, &PERL_LINE_COMMENT__RETURN, &PERL_CODE__SQUOTE_STRING, &PERL_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH, &PERL_SQUOTE_STRING__SQUOTE_STRING_ESC, &PERL_SQUOTE_STRING__RETURN, &PERL_CODE__DQUOTE_STRING, &PERL_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &PERL_DQUOTE_STRING__DQUOTE_STRING_ESC, &PERL_DQUOTE_STRING__RETURN, NULL};
551 Polyglot PERL_POLYGLOT = {
552         "perl",
553                         PERL_STATES,
554                         PERL_TRANSITIONS,
555         NULL
556 };
557
558 /*****************************************************************************
559                                   phplanguage
560 *****************************************************************************/
561 /* States */
562 State PHP_CODE = { "PHP_CODE", "php", semantic_code };
563 State PHP_DQUOTE_STRING = { "PHP_DQUOTE_STRING", "php", semantic_code };
564 State PHP_SQUOTE_STRING = { "PHP_SQUOTE_STRING", "php", semantic_code };
565 State PHP_LINE_COMMENT = { "PHP_LINE_COMMENT", "php", semantic_comment };
566 State PHP_BLOCK_COMMENT = { "PHP_BLOCK_COMMENT", "php", semantic_comment };
567 State *PHPLANGUAGE_STATES[] = { &PHP_CODE, &PHP_DQUOTE_STRING, &PHP_SQUOTE_STRING, &PHP_LINE_COMMENT, &PHP_BLOCK_COMMENT, NULL };
568 /* Transitions */
569 Transition PHP_CODE__LINE_COMMENT_0 = { "//", &PHP_CODE, &PHP_LINE_COMMENT, ToEatsToken, false };
570 Transition PHP_LINE_COMMENT__RETURN = { "\n", &PHP_LINE_COMMENT, RETURN, FromEatsToken, false };
571 Transition PHP_CODE__BLOCK_COMMENT_0 = { "/\\*", &PHP_CODE, &PHP_BLOCK_COMMENT, ToEatsToken, false };
572 Transition PHP_BLOCK_COMMENT__RETURN_0 = { "\\*/", &PHP_BLOCK_COMMENT, RETURN, FromEatsToken, false };
573 Transition PHP_CODE__SQUOTE_STRING = { "'", &PHP_CODE, &PHP_SQUOTE_STRING, ToEatsToken, false };
574 Transition PHP_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &PHP_SQUOTE_STRING, &PHP_SQUOTE_STRING, FromEatsToken, true };
575 Transition PHP_SQUOTE_STRING__SQUOTE_STRING_ESC = { "\\\\'", &PHP_SQUOTE_STRING, &PHP_SQUOTE_STRING, FromEatsToken, true };
576 Transition PHP_SQUOTE_STRING__RETURN = { "'", &PHP_SQUOTE_STRING, RETURN, FromEatsToken, false };
577 Transition PHP_CODE__DQUOTE_STRING = { "\"", &PHP_CODE, &PHP_DQUOTE_STRING, ToEatsToken, false };
578 Transition PHP_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &PHP_DQUOTE_STRING, &PHP_DQUOTE_STRING, ToEatsToken, true };
579 Transition PHP_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &PHP_DQUOTE_STRING, &PHP_DQUOTE_STRING, ToEatsToken, true };
580 Transition PHP_DQUOTE_STRING__RETURN = { "\"", &PHP_DQUOTE_STRING, RETURN, FromEatsToken, false };
581 Transition *PHPLANGUAGE_TRANSITIONS[] = { &PHP_CODE__LINE_COMMENT_0, &PHP_LINE_COMMENT__RETURN, &PHP_CODE__BLOCK_COMMENT_0, &PHP_BLOCK_COMMENT__RETURN_0, &PHP_CODE__SQUOTE_STRING, &PHP_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH, &PHP_SQUOTE_STRING__SQUOTE_STRING_ESC, &PHP_SQUOTE_STRING__RETURN, &PHP_CODE__DQUOTE_STRING, &PHP_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &PHP_DQUOTE_STRING__DQUOTE_STRING_ESC, &PHP_DQUOTE_STRING__RETURN, NULL};
582 Polyglot PHPLANGUAGE_POLYGLOT = {
583         "phplanguage",
584                         PHPLANGUAGE_STATES,
585                         PHPLANGUAGE_TRANSITIONS,
586         NULL
587 };
588
589 /*****************************************************************************
590                                      python
591 *****************************************************************************/
592 /* States */
593 State PYTHON_CODE = { "PYTHON_CODE", "python", semantic_code };
594 State PYTHON_MULTI_LINE_SQUOTE = { "PYTHON_MULTI_LINE_SQUOTE", "python", semantic_code };
595 State PYTHON_MULTI_LINE_DQUOTE = { "PYTHON_MULTI_LINE_DQUOTE", "python", semantic_code };
596 State PYTHON_RAW_DQUOTE = { "PYTHON_RAW_DQUOTE", "python", semantic_code };
597 State PYTHON_SQUOTE = { "PYTHON_SQUOTE", "python", semantic_code };
598 State PYTHON_DQUOTE = { "PYTHON_DQUOTE", "python", semantic_code };
599 State PYTHON_LINE_COMMENT = { "PYTHON_LINE_COMMENT", "python", semantic_comment };
600 State *PYTHON_STATES[] = { &PYTHON_CODE, &PYTHON_MULTI_LINE_SQUOTE, &PYTHON_MULTI_LINE_DQUOTE, &PYTHON_RAW_DQUOTE, &PYTHON_SQUOTE, &PYTHON_DQUOTE, &PYTHON_LINE_COMMENT, NULL };
601 /* Transitions */
602 Transition PYTHON_CODE__MULTI_LINE_SQUOTE = { "'''", &PYTHON_CODE, &PYTHON_MULTI_LINE_SQUOTE, FromEatsToken, false };
603 Transition PYTHON_MULTI_LINE_SQUOTE__RETURN = { "'''", &PYTHON_MULTI_LINE_SQUOTE, RETURN, FromEatsToken, false };
604 Transition PYTHON_CODE__MULTI_LINE_DQUOTE = { "\"\"\"", &PYTHON_CODE, &PYTHON_MULTI_LINE_DQUOTE, FromEatsToken, false };
605 Transition PYTHON_MULTI_LINE_DQUOTE__RETURN = { "\"\"\"", &PYTHON_MULTI_LINE_DQUOTE, RETURN, FromEatsToken, false };
606 Transition PYTHON_CODE__RAW_DQUOTE = { "r\"", &PYTHON_CODE, &PYTHON_RAW_DQUOTE, FromEatsToken, false };
607 Transition PYTHON_RAW_DQUOTE__RETURN = { "\"", &PYTHON_RAW_DQUOTE, RETURN, FromEatsToken, false };
608 Transition PYTHON_CODE__SQUOTE = { "'", &PYTHON_CODE, &PYTHON_SQUOTE, FromEatsToken, false };
609 Transition PYTHON_SQUOTE__RETURN_ESC = { "\\\\'", &PYTHON_SQUOTE, RETURN, FromEatsToken, true };
610 Transition PYTHON_SQUOTE__RETURN = { "'", &PYTHON_SQUOTE, RETURN, ToEatsToken, false };
611 Transition PYTHON_CODE__DQUOTE = { "\"", &PYTHON_CODE, &PYTHON_DQUOTE, ToEatsToken, false };
612 Transition PYTHON_DQUOTE__RETURN_ESC = { "\\\\\"", &PYTHON_DQUOTE, RETURN, FromEatsToken, true };
613 Transition PYTHON_DQUOTE__RETURN = { "\"", &PYTHON_DQUOTE, RETURN, ToEatsToken, false };
614 Transition PYTHON_CODE__LINE_COMMENT = { "#", &PYTHON_CODE, &PYTHON_LINE_COMMENT, ToEatsToken, false };
615 Transition PYTHON_LINE_COMMENT__RETURN = { "\n", &PYTHON_LINE_COMMENT, RETURN, FromEatsToken, false };
616 Transition *PYTHON_TRANSITIONS[] = { &PYTHON_CODE__MULTI_LINE_SQUOTE, &PYTHON_MULTI_LINE_SQUOTE__RETURN, &PYTHON_CODE__MULTI_LINE_DQUOTE, &PYTHON_MULTI_LINE_DQUOTE__RETURN, &PYTHON_CODE__RAW_DQUOTE, &PYTHON_RAW_DQUOTE__RETURN, &PYTHON_CODE__SQUOTE, &PYTHON_SQUOTE__RETURN_ESC, &PYTHON_SQUOTE__RETURN, &PYTHON_CODE__DQUOTE, &PYTHON_DQUOTE__RETURN_ESC, &PYTHON_DQUOTE__RETURN, &PYTHON_CODE__LINE_COMMENT, &PYTHON_LINE_COMMENT__RETURN, NULL};
617 Polyglot PYTHON_POLYGLOT = {
618         "python",
619                         PYTHON_STATES,
620                         PYTHON_TRANSITIONS,
621         NULL
622 };
623
624 /*****************************************************************************
625                                       ruby
626 *****************************************************************************/
627 /* States */
628 State RUBY_CODE = { "RUBY_CODE", "ruby", semantic_code };
629 State RUBY_DQUOTE_STRING = { "RUBY_DQUOTE_STRING", "ruby", semantic_code };
630 State RUBY_SQUOTE_STRING = { "RUBY_SQUOTE_STRING", "ruby", semantic_code };
631 State RUBY_LINE_COMMENT = { "RUBY_LINE_COMMENT", "ruby", semantic_comment };
632 State RUBY_BLOCK_COMMENT = { "RUBY_BLOCK_COMMENT", "ruby", semantic_comment };
633 State *RUBY_STATES[] = { &RUBY_CODE, &RUBY_DQUOTE_STRING, &RUBY_SQUOTE_STRING, &RUBY_LINE_COMMENT, &RUBY_BLOCK_COMMENT, NULL };
634 /* Transitions */
635 Transition RUBY_CODE__LINE_COMMENT_0 = { "#", &RUBY_CODE, &RUBY_LINE_COMMENT, ToEatsToken, false };
636 Transition RUBY_LINE_COMMENT__RETURN = { "\n", &RUBY_LINE_COMMENT, RETURN, FromEatsToken, false };
637 Transition RUBY_CODE__SQUOTE_STRING = { "'", &RUBY_CODE, &RUBY_SQUOTE_STRING, ToEatsToken, false };
638 Transition RUBY_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &RUBY_SQUOTE_STRING, &RUBY_SQUOTE_STRING, FromEatsToken, true };
639 Transition RUBY_SQUOTE_STRING__SQUOTE_STRING_ESC = { "\\\\'", &RUBY_SQUOTE_STRING, &RUBY_SQUOTE_STRING, FromEatsToken, true };
640 Transition RUBY_SQUOTE_STRING__RETURN = { "'", &RUBY_SQUOTE_STRING, RETURN, FromEatsToken, false };
641 Transition RUBY_CODE__DQUOTE_STRING = { "\"", &RUBY_CODE, &RUBY_DQUOTE_STRING, ToEatsToken, false };
642 Transition RUBY_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &RUBY_DQUOTE_STRING, &RUBY_DQUOTE_STRING, ToEatsToken, true };
643 Transition RUBY_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &RUBY_DQUOTE_STRING, &RUBY_DQUOTE_STRING, ToEatsToken, true };
644 Transition RUBY_DQUOTE_STRING__RETURN = { "\"", &RUBY_DQUOTE_STRING, RETURN, FromEatsToken, false };
645 Transition *RUBY_TRANSITIONS[] = { &RUBY_CODE__LINE_COMMENT_0, &RUBY_LINE_COMMENT__RETURN, &RUBY_CODE__SQUOTE_STRING, &RUBY_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH, &RUBY_SQUOTE_STRING__SQUOTE_STRING_ESC, &RUBY_SQUOTE_STRING__RETURN, &RUBY_CODE__DQUOTE_STRING, &RUBY_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &RUBY_DQUOTE_STRING__DQUOTE_STRING_ESC, &RUBY_DQUOTE_STRING__RETURN, NULL};
646 Polyglot RUBY_POLYGLOT = {
647         "ruby",
648                         RUBY_STATES,
649                         RUBY_TRANSITIONS,
650         NULL
651 };
652
653 /*****************************************************************************
654                                       rexx
655 *****************************************************************************/
656 /* States */
657 State REXX_CODE = { "REXX_CODE", "rexx", semantic_code };
658 State REXX_DQUOTE_STRING = { "REXX_DQUOTE_STRING", "rexx", semantic_code };
659 State REXX_SQUOTE_STRING = { "REXX_SQUOTE_STRING", "rexx", semantic_code };
660 State REXX_LINE_COMMENT = { "REXX_LINE_COMMENT", "rexx", semantic_comment };
661 State REXX_BLOCK_COMMENT = { "REXX_BLOCK_COMMENT", "rexx", semantic_comment };
662 State *REXX_STATES[] = { &REXX_CODE, &REXX_DQUOTE_STRING, &REXX_SQUOTE_STRING, &REXX_LINE_COMMENT, &REXX_BLOCK_COMMENT, NULL };
663 /* Transitions */
664 Transition REXX_CODE__BLOCK_COMMENT_0 = { "/\\*", &REXX_CODE, &REXX_BLOCK_COMMENT, ToEatsToken, false };
665 Transition REXX_BLOCK_COMMENT__RETURN_0 = { "\\*/", &REXX_BLOCK_COMMENT, RETURN, FromEatsToken, false };
666 Transition REXX_CODE__SQUOTE_STRING = { "'", &REXX_CODE, &REXX_SQUOTE_STRING, ToEatsToken, false };
667 Transition REXX_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &REXX_SQUOTE_STRING, &REXX_SQUOTE_STRING, FromEatsToken, true };
668 Transition REXX_SQUOTE_STRING__SQUOTE_STRING_ESC = { "\\\\'", &REXX_SQUOTE_STRING, &REXX_SQUOTE_STRING, FromEatsToken, true };
669 Transition REXX_SQUOTE_STRING__RETURN = { "'", &REXX_SQUOTE_STRING, RETURN, FromEatsToken, false };
670 Transition REXX_CODE__DQUOTE_STRING = { "\"", &REXX_CODE, &REXX_DQUOTE_STRING, ToEatsToken, false };
671 Transition REXX_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &REXX_DQUOTE_STRING, &REXX_DQUOTE_STRING, ToEatsToken, true };
672 Transition REXX_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &REXX_DQUOTE_STRING, &REXX_DQUOTE_STRING, ToEatsToken, true };
673 Transition REXX_DQUOTE_STRING__RETURN = { "\"", &REXX_DQUOTE_STRING, RETURN, FromEatsToken, false };
674 Transition *REXX_TRANSITIONS[] = { &REXX_CODE__BLOCK_COMMENT_0, &REXX_BLOCK_COMMENT__RETURN_0, &REXX_CODE__SQUOTE_STRING, &REXX_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH, &REXX_SQUOTE_STRING__SQUOTE_STRING_ESC, &REXX_SQUOTE_STRING__RETURN, &REXX_CODE__DQUOTE_STRING, &REXX_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &REXX_DQUOTE_STRING__DQUOTE_STRING_ESC, &REXX_DQUOTE_STRING__RETURN, NULL};
675 Polyglot REXX_POLYGLOT = {
676         "rexx",
677                         REXX_STATES,
678                         REXX_TRANSITIONS,
679         NULL
680 };
681
682 /*****************************************************************************
683                                      scheme
684 *****************************************************************************/
685 /* States */
686 State SCHEME_CODE = { "SCHEME_CODE", "scheme", semantic_code };
687 State SCHEME_COMMENT = { "SCHEME_COMMENT", "scheme", semantic_comment };
688 State *SCHEME_STATES[] = { &SCHEME_CODE, &SCHEME_COMMENT, NULL };
689 /* Transitions */
690 Transition SCHEME_CODE__COMMENT_0 = { ";", &SCHEME_CODE, &SCHEME_COMMENT, ToEatsToken, false };
691 Transition SCHEME_COMMENT__RETURN = { "\n", &SCHEME_COMMENT, RETURN, FromEatsToken, false };
692 Transition *SCHEME_TRANSITIONS[] = { &SCHEME_CODE__COMMENT_0, &SCHEME_COMMENT__RETURN, NULL};
693 Polyglot SCHEME_POLYGLOT = {
694         "scheme",
695                         SCHEME_STATES,
696                         SCHEME_TRANSITIONS,
697         NULL
698 };
699
700 /*****************************************************************************
701                                      shell
702 *****************************************************************************/
703 /* States */
704 State SHELL_CODE = { "SHELL_CODE", "shell", semantic_code };
705 State SHELL_DQUOTE_STRING = { "SHELL_DQUOTE_STRING", "shell", semantic_code };
706 State SHELL_SQUOTE_STRING = { "SHELL_SQUOTE_STRING", "shell", semantic_code };
707 State SHELL_LINE_COMMENT = { "SHELL_LINE_COMMENT", "shell", semantic_comment };
708 State SHELL_BLOCK_COMMENT = { "SHELL_BLOCK_COMMENT", "shell", semantic_comment };
709 State *SHELL_STATES[] = { &SHELL_CODE, &SHELL_DQUOTE_STRING, &SHELL_SQUOTE_STRING, &SHELL_LINE_COMMENT, &SHELL_BLOCK_COMMENT, NULL };
710 /* Transitions */
711 Transition SHELL_CODE__LINE_COMMENT_0 = { "#", &SHELL_CODE, &SHELL_LINE_COMMENT, ToEatsToken, false };
712 Transition SHELL_LINE_COMMENT__RETURN = { "\n", &SHELL_LINE_COMMENT, RETURN, FromEatsToken, false };
713 Transition *SHELL_TRANSITIONS[] = { &SHELL_CODE__LINE_COMMENT_0, &SHELL_LINE_COMMENT__RETURN, NULL};
714 Polyglot SHELL_POLYGLOT = {
715         "shell",
716                         SHELL_STATES,
717                         SHELL_TRANSITIONS,
718         NULL
719 };
720
721 /*****************************************************************************
722                                       sql
723 *****************************************************************************/
724 /* States */
725 State SQL_CODE = { "SQL_CODE", "sql", semantic_code };
726 State SQL_DQUOTE_STRING = { "SQL_DQUOTE_STRING", "sql", semantic_code };
727 State SQL_SQUOTE_STRING = { "SQL_SQUOTE_STRING", "sql", semantic_code };
728 State SQL_LINE_COMMENT = { "SQL_LINE_COMMENT", "sql", semantic_comment };
729 State SQL_BLOCK_COMMENT = { "SQL_BLOCK_COMMENT", "sql", semantic_comment };
730 State *SQL_STATES[] = { &SQL_CODE, &SQL_DQUOTE_STRING, &SQL_SQUOTE_STRING, &SQL_LINE_COMMENT, &SQL_BLOCK_COMMENT, NULL };
731 /* Transitions */
732 Transition SQL_CODE__LINE_COMMENT_0 = { "--", &SQL_CODE, &SQL_LINE_COMMENT, ToEatsToken, false };
733 Transition SQL_CODE__LINE_COMMENT_1 = { "//", &SQL_CODE, &SQL_LINE_COMMENT, ToEatsToken, false };
734 Transition SQL_LINE_COMMENT__RETURN = { "\n", &SQL_LINE_COMMENT, RETURN, FromEatsToken, false };
735 Transition SQL_CODE__BLOCK_COMMENT_0 = { "{", &SQL_CODE, &SQL_BLOCK_COMMENT, ToEatsToken, false };
736 Transition SQL_BLOCK_COMMENT__RETURN_0 = { "}", &SQL_BLOCK_COMMENT, RETURN, FromEatsToken, false };
737 Transition SQL_CODE__BLOCK_COMMENT_1 = { "/\\*", &SQL_CODE, &SQL_BLOCK_COMMENT, ToEatsToken, false };
738 Transition SQL_BLOCK_COMMENT__RETURN_1 = { "\\*/", &SQL_BLOCK_COMMENT, RETURN, FromEatsToken, false };
739 Transition SQL_CODE__SQUOTE_STRING = { "'", &SQL_CODE, &SQL_SQUOTE_STRING, ToEatsToken, false };
740 Transition SQL_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &SQL_SQUOTE_STRING, &SQL_SQUOTE_STRING, FromEatsToken, true };
741 Transition SQL_SQUOTE_STRING__SQUOTE_STRING_ESC = { "\\\\'", &SQL_SQUOTE_STRING, &SQL_SQUOTE_STRING, FromEatsToken, true };
742 Transition SQL_SQUOTE_STRING__RETURN = { "'", &SQL_SQUOTE_STRING, RETURN, FromEatsToken, false };
743 Transition SQL_CODE__DQUOTE_STRING = { "\"", &SQL_CODE, &SQL_DQUOTE_STRING, ToEatsToken, false };
744 Transition SQL_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &SQL_DQUOTE_STRING, &SQL_DQUOTE_STRING, ToEatsToken, true };
745 Transition SQL_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &SQL_DQUOTE_STRING, &SQL_DQUOTE_STRING, ToEatsToken, true };
746 Transition SQL_DQUOTE_STRING__RETURN = { "\"", &SQL_DQUOTE_STRING, RETURN, FromEatsToken, false };
747 Transition *SQL_TRANSITIONS[] = { &SQL_CODE__LINE_COMMENT_0, &SQL_CODE__LINE_COMMENT_1, &SQL_LINE_COMMENT__RETURN, &SQL_CODE__BLOCK_COMMENT_0, &SQL_BLOCK_COMMENT__RETURN_0, &SQL_CODE__BLOCK_COMMENT_1, &SQL_BLOCK_COMMENT__RETURN_1, &SQL_CODE__SQUOTE_STRING, &SQL_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH, &SQL_SQUOTE_STRING__SQUOTE_STRING_ESC, &SQL_SQUOTE_STRING__RETURN, &SQL_CODE__DQUOTE_STRING, &SQL_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &SQL_DQUOTE_STRING__DQUOTE_STRING_ESC, &SQL_DQUOTE_STRING__RETURN, NULL};
748 Polyglot SQL_POLYGLOT = {
749         "sql",
750                         SQL_STATES,
751                         SQL_TRANSITIONS,
752         NULL
753 };
754
755 /*****************************************************************************
756                                       tcl
757 *****************************************************************************/
758 /* States */
759 State TCL_CODE = { "TCL_CODE", "tcl", semantic_code };
760 State TCL_DQUOTE_STRING = { "TCL_DQUOTE_STRING", "tcl", semantic_code };
761 State TCL_SQUOTE_STRING = { "TCL_SQUOTE_STRING", "tcl", semantic_code };
762 State TCL_LINE_COMMENT = { "TCL_LINE_COMMENT", "tcl", semantic_comment };
763 State TCL_BLOCK_COMMENT = { "TCL_BLOCK_COMMENT", "tcl", semantic_comment };
764 State *TCL_STATES[] = { &TCL_CODE, &TCL_DQUOTE_STRING, &TCL_SQUOTE_STRING, &TCL_LINE_COMMENT, &TCL_BLOCK_COMMENT, NULL };
765 /* Transitions */
766 Transition TCL_CODE__LINE_COMMENT_0 = { "#", &TCL_CODE, &TCL_LINE_COMMENT, ToEatsToken, false };
767 Transition TCL_LINE_COMMENT__RETURN = { "\n", &TCL_LINE_COMMENT, RETURN, FromEatsToken, false };
768 Transition TCL_CODE__DQUOTE_STRING = { "\"", &TCL_CODE, &TCL_DQUOTE_STRING, ToEatsToken, false };
769 Transition TCL_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &TCL_DQUOTE_STRING, &TCL_DQUOTE_STRING, ToEatsToken, true };
770 Transition TCL_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &TCL_DQUOTE_STRING, &TCL_DQUOTE_STRING, ToEatsToken, true };
771 Transition TCL_DQUOTE_STRING__RETURN = { "\"", &TCL_DQUOTE_STRING, RETURN, FromEatsToken, false };
772 Transition *TCL_TRANSITIONS[] = { &TCL_CODE__LINE_COMMENT_0, &TCL_LINE_COMMENT__RETURN, &TCL_CODE__DQUOTE_STRING, &TCL_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &TCL_DQUOTE_STRING__DQUOTE_STRING_ESC, &TCL_DQUOTE_STRING__RETURN, NULL};
773 Polyglot TCL_POLYGLOT = {
774         "tcl",
775                         TCL_STATES,
776                         TCL_TRANSITIONS,
777         NULL
778 };
779
780 /*****************************************************************************
781                                   visualbasic
782 *****************************************************************************/
783 /* States */
784 State VISUALBASIC_CODE = { "VISUALBASIC_CODE", "visualbasic", semantic_code };
785 State VISUALBASIC_DQUOTE_STRING = { "VISUALBASIC_DQUOTE_STRING", "visualbasic", semantic_code };
786 State VISUALBASIC_SQUOTE_STRING = { "VISUALBASIC_SQUOTE_STRING", "visualbasic", semantic_code };
787 State VISUALBASIC_LINE_COMMENT = { "VISUALBASIC_LINE_COMMENT", "visualbasic", semantic_comment };
788 State VISUALBASIC_BLOCK_COMMENT = { "VISUALBASIC_BLOCK_COMMENT", "visualbasic", semantic_comment };
789 State *VISUALBASIC_STATES[] = { &VISUALBASIC_CODE, &VISUALBASIC_DQUOTE_STRING, &VISUALBASIC_SQUOTE_STRING, &VISUALBASIC_LINE_COMMENT, &VISUALBASIC_BLOCK_COMMENT, NULL };
790 /* Transitions */
791 Transition VISUALBASIC_CODE__LINE_COMMENT_0 = { "'", &VISUALBASIC_CODE, &VISUALBASIC_LINE_COMMENT, ToEatsToken, false };
792 Transition VISUALBASIC_LINE_COMMENT__RETURN = { "\n", &VISUALBASIC_LINE_COMMENT, RETURN, FromEatsToken, false };
793 Transition VISUALBASIC_CODE__DQUOTE_STRING = { "\"", &VISUALBASIC_CODE, &VISUALBASIC_DQUOTE_STRING, ToEatsToken, false };
794 Transition VISUALBASIC_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &VISUALBASIC_DQUOTE_STRING, &VISUALBASIC_DQUOTE_STRING, ToEatsToken, true };
795 Transition VISUALBASIC_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &VISUALBASIC_DQUOTE_STRING, &VISUALBASIC_DQUOTE_STRING, ToEatsToken, true };
796 Transition VISUALBASIC_DQUOTE_STRING__RETURN = { "\"", &VISUALBASIC_DQUOTE_STRING, RETURN, FromEatsToken, false };
797 Transition *VISUALBASIC_TRANSITIONS[] = { &VISUALBASIC_CODE__LINE_COMMENT_0, &VISUALBASIC_LINE_COMMENT__RETURN, &VISUALBASIC_CODE__DQUOTE_STRING, &VISUALBASIC_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &VISUALBASIC_DQUOTE_STRING__DQUOTE_STRING_ESC, &VISUALBASIC_DQUOTE_STRING__RETURN, NULL};
798 Polyglot VISUALBASIC_POLYGLOT = {
799         "visualbasic",
800                         VISUALBASIC_STATES,
801                         VISUALBASIC_TRANSITIONS,
802         NULL
803 };
804
805 /*****************************************************************************
806                                       xml
807 *****************************************************************************/
808 /* States */
809 State XML_MARKUP = { "XML_MARKUP", "xml", semantic_code };
810 State XML_SQUOTE = { "XML_SQUOTE", "xml", semantic_code };
811 State XML_DQUOTE = { "XML_DQUOTE", "xml", semantic_code };
812 State XML_CDATA = { "XML_CDATA", "xml", semantic_code };
813 State XML_COMMENT = { "XML_COMMENT", "xml", semantic_comment };
814 State *XML_STATES[] = { &XML_MARKUP, &XML_SQUOTE, &XML_DQUOTE, &XML_CDATA, &XML_COMMENT, NULL };
815 /* Transitions */
816 Transition XML_MARKUP__SQUOTE = { "'", &XML_MARKUP, &XML_SQUOTE, FromEatsToken, false };
817 Transition XML_SQUOTE__RETURN = { "'", &XML_SQUOTE, RETURN, ToEatsToken, false };
818 Transition XML_MARKUP__DQUOTE = { "\"", &XML_MARKUP, &XML_DQUOTE, FromEatsToken, false };
819 Transition XML_DQUOTE__RETURN = { "\"", &XML_DQUOTE, RETURN, ToEatsToken, false };
820 Transition XML_MARKUP__CDATA = { "<!\\[CDATA\\[", &XML_MARKUP, &XML_CDATA, FromEatsToken, false };
821 Transition XML_CDATA__RETURN = { "\\]\\]>", &XML_CDATA, RETURN, ToEatsToken, false };
822 Transition XML_MARKUP__COMMENT = { "<!--", &XML_MARKUP, &XML_COMMENT, ToEatsToken, false };
823 Transition XML_COMMENT__RETURN = { "-->", &XML_COMMENT, RETURN, FromEatsToken, false };
824 Transition *XML_TRANSITIONS[] = { &XML_MARKUP__SQUOTE, &XML_SQUOTE__RETURN, &XML_MARKUP__DQUOTE, &XML_DQUOTE__RETURN, &XML_MARKUP__CDATA, &XML_CDATA__RETURN, &XML_MARKUP__COMMENT, &XML_COMMENT__RETURN, NULL};
825 Polyglot XML_POLYGLOT = {
826         "xml",
827                         XML_STATES,
828                         XML_TRANSITIONS,
829         NULL
830 };
831
832 /*****************************************************************************
833                                       dmd
834 *****************************************************************************/
835 /* States */
836 State DMD_CODE = { "DMD_CODE", "dmd", semantic_code };
837 State DMD_DQUOTE_STRING = { "DMD_DQUOTE_STRING", "dmd", semantic_code };
838 State DMD_SQUOTE_STRING = { "DMD_SQUOTE_STRING", "dmd", semantic_code };
839 State DMD_BACKTICK_STRING = { "DMD_BACKTICK_STRING", "dmd", semantic_code };
840 State DMD_LINE_COMMENT = { "DMD_LINE_COMMENT", "dmd", semantic_comment };
841 State DMD_BLOCK_COMMENT = { "DMD_BLOCK_COMMENT", "dmd", semantic_comment };
842 State DMD_NESTED_COMMENT = { "DMD_NESTED_COMMENT", "dmd", semantic_comment };
843 State *DMD_STATES[] = { &DMD_CODE, &DMD_DQUOTE_STRING, &DMD_SQUOTE_STRING, &DMD_BACKTICK_STRING, &DMD_LINE_COMMENT, &DMD_BLOCK_COMMENT, &DMD_NESTED_COMMENT, NULL };
844 /* Transitions */
845 Transition DMD_CODE__LINE_COMMENT = { "//", &DMD_CODE, &DMD_LINE_COMMENT, ToEatsToken, false };
846 Transition DMD_LINE_COMMENT__RETURN = { "\n", &DMD_LINE_COMMENT, RETURN, FromEatsToken, false };
847 Transition DMD_CODE__BLOCK_COMMENT = { "/\\*", &DMD_CODE, &DMD_BLOCK_COMMENT, ToEatsToken, false };
848 Transition DMD_NESTED_COMMENT__BLOCK_COMMENT = { "/\\*", &DMD_NESTED_COMMENT, &DMD_BLOCK_COMMENT, ToEatsToken, false };
849 Transition DMD_BLOCK_COMMENT__RETURN = { "\\*/", &DMD_BLOCK_COMMENT, RETURN, FromEatsToken, false };
850 Transition DMD_CODE__NESTED_COMMENT = { "/\\+", &DMD_CODE, &DMD_NESTED_COMMENT, ToEatsToken, false };
851 Transition DMD_NESTED_COMMENT__NESTED_COMMENT = { "/\\+", &DMD_NESTED_COMMENT, &DMD_NESTED_COMMENT, ToEatsToken, false };
852 Transition DMD_NESTED_COMMENT__RETURN = { "\\+/", &DMD_NESTED_COMMENT, RETURN, FromEatsToken, false };
853 Transition DMD_CODE__SQUOTE_STRING = { "'", &DMD_CODE, &DMD_SQUOTE_STRING, ToEatsToken, false };
854 Transition DMD_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &DMD_SQUOTE_STRING, &DMD_SQUOTE_STRING, FromEatsToken, true };
855 Transition DMD_SQUOTE_STRING__SQUOTE_STRING_ESC = { "\\\\'", &DMD_SQUOTE_STRING, &DMD_SQUOTE_STRING, FromEatsToken, true };
856 Transition DMD_SQUOTE_STRING__RETURN = { "'", &DMD_SQUOTE_STRING, RETURN, FromEatsToken, false };
857 Transition DMD_CODE__BACKTICK_STRING = { "`", &DMD_CODE, &DMD_BACKTICK_STRING, ToEatsToken, false };
858 Transition DMD_BACKTICK_STRING__BACKTICK_STRING_ESC_SLASH = { "\\\\\\\\", &DMD_BACKTICK_STRING, &DMD_BACKTICK_STRING, FromEatsToken, true };
859 Transition DMD_BACKTICK_STRING__BACKTICK_STRING_ESC = { "\\\\`", &DMD_BACKTICK_STRING, &DMD_BACKTICK_STRING, FromEatsToken, true };
860 Transition DMD_BACKTICK_STRING__RETURN = { "`", &DMD_BACKTICK_STRING, RETURN, FromEatsToken, false };
861 Transition DMD_CODE__DQUOTE_STRING = { "\"", &DMD_CODE, &DMD_DQUOTE_STRING, ToEatsToken, false };
862 Transition DMD_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &DMD_DQUOTE_STRING, &DMD_DQUOTE_STRING, ToEatsToken, true };
863 Transition DMD_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &DMD_DQUOTE_STRING, &DMD_DQUOTE_STRING, ToEatsToken, true };
864 Transition DMD_DQUOTE_STRING__RETURN = { "\"", &DMD_DQUOTE_STRING, RETURN, FromEatsToken, false };
865 Transition *DMD_TRANSITIONS[] = { &DMD_CODE__LINE_COMMENT, &DMD_LINE_COMMENT__RETURN, &DMD_CODE__BLOCK_COMMENT, &DMD_NESTED_COMMENT__BLOCK_COMMENT, &DMD_BLOCK_COMMENT__RETURN, &DMD_CODE__NESTED_COMMENT, &DMD_NESTED_COMMENT__NESTED_COMMENT, &DMD_NESTED_COMMENT__RETURN, &DMD_CODE__SQUOTE_STRING, &DMD_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH, &DMD_SQUOTE_STRING__SQUOTE_STRING_ESC, &DMD_SQUOTE_STRING__RETURN, &DMD_CODE__BACKTICK_STRING, &DMD_BACKTICK_STRING__BACKTICK_STRING_ESC_SLASH, &DMD_BACKTICK_STRING__BACKTICK_STRING_ESC, &DMD_BACKTICK_STRING__RETURN, &DMD_CODE__DQUOTE_STRING, &DMD_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &DMD_DQUOTE_STRING__DQUOTE_STRING_ESC, &DMD_DQUOTE_STRING__RETURN, NULL};
866 Polyglot DMD_POLYGLOT = {
867         "dmd",
868                         DMD_STATES,
869                         DMD_TRANSITIONS,
870         NULL
871 };
872
873 /*****************************************************************************
874                                       html
875 *****************************************************************************/
876 /* States */
877 State HTML_MARKUP = { "HTML_MARKUP", "html", semantic_code };
878 State HTML_SQUOTE = { "HTML_SQUOTE", "html", semantic_code };
879 State HTML_DQUOTE = { "HTML_DQUOTE", "html", semantic_code };
880 State HTML_CDATA = { "HTML_CDATA", "html", semantic_code };
881 State HTML_COMMENT = { "HTML_COMMENT", "html", semantic_comment };
882 State *HTML_STATES[] = { &HTML_MARKUP, &HTML_SQUOTE, &HTML_DQUOTE, &HTML_CDATA, &HTML_COMMENT, &JAVASCRIPT_CODE, &JAVASCRIPT_DQUOTE_STRING, &JAVASCRIPT_SQUOTE_STRING, &JAVASCRIPT_LINE_COMMENT, &JAVASCRIPT_BLOCK_COMMENT, &CSS_CODE, &CSS_DQUOTE_STRING, &CSS_SQUOTE_STRING, &CSS_LINE_COMMENT, &CSS_BLOCK_COMMENT, NULL };
883 /* Transitions */
884 Transition HTML_MARKUP__SQUOTE = { "'", &HTML_MARKUP, &HTML_SQUOTE, FromEatsToken, false };
885 Transition HTML_SQUOTE__RETURN = { "'", &HTML_SQUOTE, RETURN, ToEatsToken, false };
886 Transition HTML_MARKUP__DQUOTE = { "\"", &HTML_MARKUP, &HTML_DQUOTE, FromEatsToken, false };
887 Transition HTML_DQUOTE__RETURN = { "\"", &HTML_DQUOTE, RETURN, ToEatsToken, false };
888 Transition HTML_MARKUP__CDATA = { "<!\\[CDATA\\[", &HTML_MARKUP, &HTML_CDATA, FromEatsToken, false };
889 Transition HTML_CDATA__RETURN = { "\\]\\]>", &HTML_CDATA, RETURN, ToEatsToken, false };
890 Transition HTML_MARKUP__COMMENT = { "<!--", &HTML_MARKUP, &HTML_COMMENT, ToEatsToken, false };
891 Transition HTML_COMMENT__RETURN = { "-->", &HTML_COMMENT, RETURN, FromEatsToken, false };
892 Transition HTML_HTML_MARKUP__CSS_CODE = { "<(?i)style(?-i)[^>]*(?i)css(?-i)[^>]*>", &HTML_MARKUP, &CSS_CODE, FromEatsToken, false };
893 Transition HTML_CSS_CODE__RETURN = { "</(?i)style(?-i)>", &CSS_CODE, RETURN, ToEatsToken, false };
894 Transition HTML_HTML_MARKUP__JAVASCRIPT_CODE = { "<(?i)script(?-i)\\ [^>]*(?i)javascript(?-i)[^>]*>", &HTML_MARKUP, &JAVASCRIPT_CODE, FromEatsToken, false };
895 Transition HTML_JAVASCRIPT_CODE__RETURN = { "</(?i)script(?-i)>", &JAVASCRIPT_CODE, RETURN, ToEatsToken, false };
896 Transition *HTML_TRANSITIONS[] = { &HTML_MARKUP__SQUOTE, &HTML_SQUOTE__RETURN, &HTML_MARKUP__DQUOTE, &HTML_DQUOTE__RETURN, &HTML_MARKUP__CDATA, &HTML_CDATA__RETURN, &HTML_MARKUP__COMMENT, &HTML_COMMENT__RETURN, &HTML_HTML_MARKUP__CSS_CODE, &HTML_CSS_CODE__RETURN, &HTML_HTML_MARKUP__JAVASCRIPT_CODE, &HTML_JAVASCRIPT_CODE__RETURN, &JAVASCRIPT_CODE__LINE_COMMENT_0, &JAVASCRIPT_LINE_COMMENT__RETURN, &JAVASCRIPT_CODE__BLOCK_COMMENT_0, &JAVASCRIPT_BLOCK_COMMENT__RETURN_0, &JAVASCRIPT_CODE__SQUOTE_STRING, &JAVASCRIPT_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH, &JAVASCRIPT_SQUOTE_STRING__SQUOTE_STRING_ESC, &JAVASCRIPT_SQUOTE_STRING__RETURN, &JAVASCRIPT_CODE__DQUOTE_STRING, &JAVASCRIPT_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &JAVASCRIPT_DQUOTE_STRING__DQUOTE_STRING_ESC, &JAVASCRIPT_DQUOTE_STRING__RETURN, &CSS_CODE__BLOCK_COMMENT_0, &CSS_BLOCK_COMMENT__RETURN_0, NULL};
897 Polyglot HTML_POLYGLOT = {
898         "html",
899                         HTML_STATES,
900                         HTML_TRANSITIONS,
901         NULL
902 };
903
904 /*****************************************************************************
905                                       php
906 *****************************************************************************/
907 /* States */
908 State *PHP_STATES[] = { &HTML_MARKUP, &HTML_SQUOTE, &HTML_DQUOTE, &HTML_CDATA, &HTML_COMMENT, &JAVASCRIPT_CODE, &JAVASCRIPT_DQUOTE_STRING, &JAVASCRIPT_SQUOTE_STRING, &JAVASCRIPT_LINE_COMMENT, &JAVASCRIPT_BLOCK_COMMENT, &CSS_CODE, &CSS_DQUOTE_STRING, &CSS_SQUOTE_STRING, &CSS_LINE_COMMENT, &CSS_BLOCK_COMMENT, &PHP_CODE, &PHP_DQUOTE_STRING, &PHP_SQUOTE_STRING, &PHP_LINE_COMMENT, &PHP_BLOCK_COMMENT, NULL };
909 /* Transitions */
910 Transition PHP_HTML_MARKUP__PHP_CODE = { "<\\?", &HTML_MARKUP, &PHP_CODE, ToEatsToken, false };
911 Transition PHP_HTML_COMMENT__PHP_CODE = { "<\\?", &HTML_COMMENT, &PHP_CODE, ToEatsToken, false };
912 Transition PHP_HTML_SQUOTE__PHP_CODE = { "<\\?", &HTML_SQUOTE, &PHP_CODE, ToEatsToken, false };
913 Transition PHP_HTML_DQUOTE__PHP_CODE = { "<\\?", &HTML_DQUOTE, &PHP_CODE, ToEatsToken, false };
914 Transition PHP_PHP_CODE__RETURN = { "\\?>", &PHP_CODE, RETURN, FromEatsToken, false };
915 Transition *PHP_TRANSITIONS[] = { &PHP_HTML_MARKUP__PHP_CODE, &PHP_HTML_COMMENT__PHP_CODE, &PHP_HTML_SQUOTE__PHP_CODE, &PHP_HTML_DQUOTE__PHP_CODE, &PHP_PHP_CODE__RETURN, &HTML_MARKUP__SQUOTE, &HTML_SQUOTE__RETURN, &HTML_MARKUP__DQUOTE, &HTML_DQUOTE__RETURN, &HTML_MARKUP__CDATA, &HTML_CDATA__RETURN, &HTML_MARKUP__COMMENT, &HTML_COMMENT__RETURN, &HTML_HTML_MARKUP__CSS_CODE, &HTML_CSS_CODE__RETURN, &HTML_HTML_MARKUP__JAVASCRIPT_CODE, &HTML_JAVASCRIPT_CODE__RETURN, &JAVASCRIPT_CODE__LINE_COMMENT_0, &JAVASCRIPT_LINE_COMMENT__RETURN, &JAVASCRIPT_CODE__BLOCK_COMMENT_0, &JAVASCRIPT_BLOCK_COMMENT__RETURN_0, &JAVASCRIPT_CODE__SQUOTE_STRING, &JAVASCRIPT_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH, &JAVASCRIPT_SQUOTE_STRING__SQUOTE_STRING_ESC, &JAVASCRIPT_SQUOTE_STRING__RETURN, &JAVASCRIPT_CODE__DQUOTE_STRING, &JAVASCRIPT_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &JAVASCRIPT_DQUOTE_STRING__DQUOTE_STRING_ESC, &JAVASCRIPT_DQUOTE_STRING__RETURN, &CSS_CODE__BLOCK_COMMENT_0, &CSS_BLOCK_COMMENT__RETURN_0, &PHP_CODE__LINE_COMMENT_0, &PHP_LINE_COMMENT__RETURN, &PHP_CODE__BLOCK_COMMENT_0, &PHP_BLOCK_COMMENT__RETURN_0, &PHP_CODE__SQUOTE_STRING, &PHP_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH, &PHP_SQUOTE_STRING__SQUOTE_STRING_ESC, &PHP_SQUOTE_STRING__RETURN, &PHP_CODE__DQUOTE_STRING, &PHP_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &PHP_DQUOTE_STRING__DQUOTE_STRING_ESC, &PHP_DQUOTE_STRING__RETURN, NULL};
916 Polyglot PHP_POLYGLOT = {
917         "php",
918                         PHP_STATES,
919                         PHP_TRANSITIONS,
920         NULL
921 };
922
923 /*****************************************************************************
924                                      rhtml
925 *****************************************************************************/
926 /* States */
927 State *RHTML_STATES[] = { &HTML_MARKUP, &HTML_SQUOTE, &HTML_DQUOTE, &HTML_CDATA, &HTML_COMMENT, &JAVASCRIPT_CODE, &JAVASCRIPT_DQUOTE_STRING, &JAVASCRIPT_SQUOTE_STRING, &JAVASCRIPT_LINE_COMMENT, &JAVASCRIPT_BLOCK_COMMENT, &CSS_CODE, &CSS_DQUOTE_STRING, &CSS_SQUOTE_STRING, &CSS_LINE_COMMENT, &CSS_BLOCK_COMMENT, &RUBY_CODE, &RUBY_DQUOTE_STRING, &RUBY_SQUOTE_STRING, &RUBY_LINE_COMMENT, &RUBY_BLOCK_COMMENT, NULL };
928 /* Transitions */
929 Transition RHTML_HTML_MARKUP__RUBY_CODE = { "<%", &HTML_MARKUP, &RUBY_CODE, FromEatsToken, false };
930 Transition RHTML_HTML_COMMENT__RUBY_CODE = { "<%", &HTML_COMMENT, &RUBY_CODE, FromEatsToken, false };
931 Transition RHTML_HTML_SQUOTE__RUBY_CODE = { "<%", &HTML_SQUOTE, &RUBY_CODE, FromEatsToken, false };
932 Transition RHTML_HTML_DQUOTE__RUBY_CODE = { "<%", &HTML_DQUOTE, &RUBY_CODE, FromEatsToken, false };
933 Transition RHTML_RUBY_CODE__RETURN = { "%>", &RUBY_CODE, RETURN, ToEatsToken, false };
934 Transition *RHTML_TRANSITIONS[] = { &RHTML_HTML_MARKUP__RUBY_CODE, &RHTML_HTML_COMMENT__RUBY_CODE, &RHTML_HTML_SQUOTE__RUBY_CODE, &RHTML_HTML_DQUOTE__RUBY_CODE, &RHTML_RUBY_CODE__RETURN, &HTML_MARKUP__SQUOTE, &HTML_SQUOTE__RETURN, &HTML_MARKUP__DQUOTE, &HTML_DQUOTE__RETURN, &HTML_MARKUP__CDATA, &HTML_CDATA__RETURN, &HTML_MARKUP__COMMENT, &HTML_COMMENT__RETURN, &HTML_HTML_MARKUP__CSS_CODE, &HTML_CSS_CODE__RETURN, &HTML_HTML_MARKUP__JAVASCRIPT_CODE, &HTML_JAVASCRIPT_CODE__RETURN, &JAVASCRIPT_CODE__LINE_COMMENT_0, &JAVASCRIPT_LINE_COMMENT__RETURN, &JAVASCRIPT_CODE__BLOCK_COMMENT_0, &JAVASCRIPT_BLOCK_COMMENT__RETURN_0, &JAVASCRIPT_CODE__SQUOTE_STRING, &JAVASCRIPT_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH, &JAVASCRIPT_SQUOTE_STRING__SQUOTE_STRING_ESC, &JAVASCRIPT_SQUOTE_STRING__RETURN, &JAVASCRIPT_CODE__DQUOTE_STRING, &JAVASCRIPT_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &JAVASCRIPT_DQUOTE_STRING__DQUOTE_STRING_ESC, &JAVASCRIPT_DQUOTE_STRING__RETURN, &CSS_CODE__BLOCK_COMMENT_0, &CSS_BLOCK_COMMENT__RETURN_0, &RUBY_CODE__LINE_COMMENT_0, &RUBY_LINE_COMMENT__RETURN, &RUBY_CODE__SQUOTE_STRING, &RUBY_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH, &RUBY_SQUOTE_STRING__SQUOTE_STRING_ESC, &RUBY_SQUOTE_STRING__RETURN, &RUBY_CODE__DQUOTE_STRING, &RUBY_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &RUBY_DQUOTE_STRING__DQUOTE_STRING_ESC, &RUBY_DQUOTE_STRING__RETURN, NULL};
935 Polyglot RHTML_POLYGLOT = {
936         "rhtml",
937                         RHTML_STATES,
938                         RHTML_TRANSITIONS,
939         NULL
940 };
941
942 /*****************************************************************************
943                                       jsp
944 *****************************************************************************/
945 /* States */
946 State *JSP_STATES[] = { &HTML_MARKUP, &HTML_SQUOTE, &HTML_DQUOTE, &HTML_CDATA, &HTML_COMMENT, &JAVASCRIPT_CODE, &JAVASCRIPT_DQUOTE_STRING, &JAVASCRIPT_SQUOTE_STRING, &JAVASCRIPT_LINE_COMMENT, &JAVASCRIPT_BLOCK_COMMENT, &CSS_CODE, &CSS_DQUOTE_STRING, &CSS_SQUOTE_STRING, &CSS_LINE_COMMENT, &CSS_BLOCK_COMMENT, &JAVA_CODE, &JAVA_DQUOTE_STRING, &JAVA_SQUOTE_STRING, &JAVA_LINE_COMMENT, &JAVA_BLOCK_COMMENT, NULL };
947 /* Transitions */
948 Transition JSP_HTML_MARKUP__JAVA_CODE = { "<%", &HTML_MARKUP, &JAVA_CODE, FromEatsToken, false };
949 Transition JSP_HTML_COMMENT__JAVA_CODE = { "<%", &HTML_COMMENT, &JAVA_CODE, FromEatsToken, false };
950 Transition JSP_HTML_SQUOTE__JAVA_CODE = { "<%", &HTML_SQUOTE, &JAVA_CODE, FromEatsToken, false };
951 Transition JSP_HTML_DQUOTE__JAVA_CODE = { "<%", &HTML_DQUOTE, &JAVA_CODE, FromEatsToken, false };
952 Transition JSP_JAVA_CODE__RETURN = { "%>", &JAVA_CODE, RETURN, ToEatsToken, false };
953 Transition *JSP_TRANSITIONS[] = { &JSP_HTML_MARKUP__JAVA_CODE, &JSP_HTML_COMMENT__JAVA_CODE, &JSP_HTML_SQUOTE__JAVA_CODE, &JSP_HTML_DQUOTE__JAVA_CODE, &JSP_JAVA_CODE__RETURN, &HTML_MARKUP__SQUOTE, &HTML_SQUOTE__RETURN, &HTML_MARKUP__DQUOTE, &HTML_DQUOTE__RETURN, &HTML_MARKUP__CDATA, &HTML_CDATA__RETURN, &HTML_MARKUP__COMMENT, &HTML_COMMENT__RETURN, &HTML_HTML_MARKUP__CSS_CODE, &HTML_CSS_CODE__RETURN, &HTML_HTML_MARKUP__JAVASCRIPT_CODE, &HTML_JAVASCRIPT_CODE__RETURN, &JAVASCRIPT_CODE__LINE_COMMENT_0, &JAVASCRIPT_LINE_COMMENT__RETURN, &JAVASCRIPT_CODE__BLOCK_COMMENT_0, &JAVASCRIPT_BLOCK_COMMENT__RETURN_0, &JAVASCRIPT_CODE__SQUOTE_STRING, &JAVASCRIPT_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH, &JAVASCRIPT_SQUOTE_STRING__SQUOTE_STRING_ESC, &JAVASCRIPT_SQUOTE_STRING__RETURN, &JAVASCRIPT_CODE__DQUOTE_STRING, &JAVASCRIPT_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &JAVASCRIPT_DQUOTE_STRING__DQUOTE_STRING_ESC, &JAVASCRIPT_DQUOTE_STRING__RETURN, &CSS_CODE__BLOCK_COMMENT_0, &CSS_BLOCK_COMMENT__RETURN_0, &JAVA_CODE__LINE_COMMENT_0, &JAVA_LINE_COMMENT__RETURN, &JAVA_CODE__BLOCK_COMMENT_0, &JAVA_BLOCK_COMMENT__RETURN_0, &JAVA_CODE__DQUOTE_STRING, &JAVA_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &JAVA_DQUOTE_STRING__DQUOTE_STRING_ESC, &JAVA_DQUOTE_STRING__RETURN, NULL};
954 Polyglot JSP_POLYGLOT = {
955         "jsp",
956                         JSP_STATES,
957                         JSP_TRANSITIONS,
958         NULL
959 };
960
961 /*****************************************************************************
962                               clearsilver_template
963 *****************************************************************************/
964 /* States */
965 State *CLEARSILVER_TEMPLATE_STATES[] = { &HTML_MARKUP, &HTML_SQUOTE, &HTML_DQUOTE, &HTML_CDATA, &HTML_COMMENT, &JAVASCRIPT_CODE, &JAVASCRIPT_DQUOTE_STRING, &JAVASCRIPT_SQUOTE_STRING, &JAVASCRIPT_LINE_COMMENT, &JAVASCRIPT_BLOCK_COMMENT, &CSS_CODE, &CSS_DQUOTE_STRING, &CSS_SQUOTE_STRING, &CSS_LINE_COMMENT, &CSS_BLOCK_COMMENT, &CLEARSILVER_CODE, &CLEARSILVER_DQUOTE_STRING, &CLEARSILVER_SQUOTE_STRING, &CLEARSILVER_LINE_COMMENT, &CLEARSILVER_BLOCK_COMMENT, NULL };
966 /* Transitions */
967 Transition CLEARSILVER_TEMPLATE_HTML_MARKUP__CLEARSILVER_CODE = { "<\\?cs", &HTML_MARKUP, &CLEARSILVER_CODE, FromEatsToken, false };
968 Transition CLEARSILVER_TEMPLATE_HTML_COMMENT__CLEARSILVER_CODE = { "<\\?cs", &HTML_COMMENT, &CLEARSILVER_CODE, FromEatsToken, false };
969 Transition CLEARSILVER_TEMPLATE_HTML_SQUOTE__CLEARSILVER_CODE = { "<\\?cs", &HTML_SQUOTE, &CLEARSILVER_CODE, FromEatsToken, false };
970 Transition CLEARSILVER_TEMPLATE_HTML_DQUOTE__CLEARSILVER_CODE = { "<\\?cs", &HTML_DQUOTE, &CLEARSILVER_CODE, FromEatsToken, false };
971 Transition CLEARSILVER_TEMPLATE_CLEARSILVER_CODE__RETURN = { "\\?>", &CLEARSILVER_CODE, RETURN, ToEatsToken, false };
972 Transition *CLEARSILVER_TEMPLATE_TRANSITIONS[] = { &CLEARSILVER_TEMPLATE_HTML_MARKUP__CLEARSILVER_CODE, &CLEARSILVER_TEMPLATE_HTML_COMMENT__CLEARSILVER_CODE, &CLEARSILVER_TEMPLATE_HTML_SQUOTE__CLEARSILVER_CODE, &CLEARSILVER_TEMPLATE_HTML_DQUOTE__CLEARSILVER_CODE, &CLEARSILVER_TEMPLATE_CLEARSILVER_CODE__RETURN, &HTML_MARKUP__SQUOTE, &HTML_SQUOTE__RETURN, &HTML_MARKUP__DQUOTE, &HTML_DQUOTE__RETURN, &HTML_MARKUP__CDATA, &HTML_CDATA__RETURN, &HTML_MARKUP__COMMENT, &HTML_COMMENT__RETURN, &HTML_HTML_MARKUP__CSS_CODE, &HTML_CSS_CODE__RETURN, &HTML_HTML_MARKUP__JAVASCRIPT_CODE, &HTML_JAVASCRIPT_CODE__RETURN, &JAVASCRIPT_CODE__LINE_COMMENT_0, &JAVASCRIPT_LINE_COMMENT__RETURN, &JAVASCRIPT_CODE__BLOCK_COMMENT_0, &JAVASCRIPT_BLOCK_COMMENT__RETURN_0, &JAVASCRIPT_CODE__SQUOTE_STRING, &JAVASCRIPT_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH, &JAVASCRIPT_SQUOTE_STRING__SQUOTE_STRING_ESC, &JAVASCRIPT_SQUOTE_STRING__RETURN, &JAVASCRIPT_CODE__DQUOTE_STRING, &JAVASCRIPT_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &JAVASCRIPT_DQUOTE_STRING__DQUOTE_STRING_ESC, &JAVASCRIPT_DQUOTE_STRING__RETURN, &CSS_CODE__BLOCK_COMMENT_0, &CSS_BLOCK_COMMENT__RETURN_0, &CLEARSILVER_CODE__LINE_COMMENT_0, &CLEARSILVER_LINE_COMMENT__RETURN, &CLEARSILVER_CODE__SQUOTE_STRING, &CLEARSILVER_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH, &CLEARSILVER_SQUOTE_STRING__SQUOTE_STRING_ESC, &CLEARSILVER_SQUOTE_STRING__RETURN, &CLEARSILVER_CODE__DQUOTE_STRING, &CLEARSILVER_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &CLEARSILVER_DQUOTE_STRING__DQUOTE_STRING_ESC, &CLEARSILVER_DQUOTE_STRING__RETURN, NULL};
973 Polyglot CLEARSILVER_TEMPLATE_POLYGLOT = {
974         "clearsilver_template",
975                         CLEARSILVER_TEMPLATE_STATES,
976                         CLEARSILVER_TEMPLATE_TRANSITIONS,
977         NULL
978 };
979
980
981 /*****************************************************************************
982                                    POLYGLOTS
983 *****************************************************************************/
984 Polyglot *POLYGLOTS[] = {
985         &ADA_POLYGLOT,
986         &ASSEMBLER_POLYGLOT,
987         &AWK_POLYGLOT,
988         &BAT_POLYGLOT,
989         &BOO_POLYGLOT,
990         &CLEARSILVER_POLYGLOT,
991         &CNCPP_POLYGLOT,
992         &CSHARP_POLYGLOT,
993         &CSS_POLYGLOT,
994         &DYLAN_POLYGLOT,
995         &ERLANG_POLYGLOT,
996         &GROOVY_POLYGLOT,
997         &JAVA_POLYGLOT,
998         &JAVASCRIPT_POLYGLOT,
999         &EMACSLISP_POLYGLOT,
1000         &LISP_POLYGLOT,
1001         &LUA_POLYGLOT,
1002         &MATLAB_POLYGLOT,
1003         &OBJECTIVE_C_POLYGLOT,
1004         &PASCAL_POLYGLOT,
1005         &PERL_POLYGLOT,
1006         &PHPLANGUAGE_POLYGLOT,
1007         &PYTHON_POLYGLOT,
1008         &RUBY_POLYGLOT,
1009         &REXX_POLYGLOT,
1010         &SCHEME_POLYGLOT,
1011         &SHELL_POLYGLOT,
1012         &SQL_POLYGLOT,
1013         &TCL_POLYGLOT,
1014         &VISUALBASIC_POLYGLOT,
1015         &XML_POLYGLOT,
1016         &DMD_POLYGLOT,
1017         &HTML_POLYGLOT,
1018         &PHP_POLYGLOT,
1019         &RHTML_POLYGLOT,
1020         &JSP_POLYGLOT,
1021         &CLEARSILVER_TEMPLATE_POLYGLOT,
1022         NULL
1023 };