[NEW] Add *.latex as a possible TeX file extension
[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                                     haskell
403 *****************************************************************************/
404 /* States */
405 State HASKELL_CODE = { "HASKELL_CODE", "haskell", semantic_code };
406 State HASKELL_DQUOTE_STRING = { "HASKELL_DQUOTE_STRING", "haskell", semantic_code };
407 State HASKELL_SQUOTE_STRING = { "HASKELL_SQUOTE_STRING", "haskell", semantic_code };
408 State HASKELL_LINE_COMMENT = { "HASKELL_LINE_COMMENT", "haskell", semantic_comment };
409 State HASKELL_BLOCK_COMMENT = { "HASKELL_BLOCK_COMMENT", "haskell", semantic_comment };
410 State *HASKELL_STATES[] = { &HASKELL_CODE, &HASKELL_DQUOTE_STRING, &HASKELL_SQUOTE_STRING, &HASKELL_LINE_COMMENT, &HASKELL_BLOCK_COMMENT, NULL };
411 /* Transitions */
412 Transition HASKELL_CODE__LINE_COMMENT_0 = { "--", &HASKELL_CODE, &HASKELL_LINE_COMMENT, ToEatsToken, false };
413 Transition HASKELL_LINE_COMMENT__RETURN = { "\n", &HASKELL_LINE_COMMENT, RETURN, FromEatsToken, false };
414 Transition HASKELL_CODE__BLOCK_COMMENT_0 = { "{\\-", &HASKELL_CODE, &HASKELL_BLOCK_COMMENT, ToEatsToken, false };
415 Transition HASKELL_BLOCK_COMMENT__RETURN_0 = { "\\-}", &HASKELL_BLOCK_COMMENT, RETURN, FromEatsToken, false };
416 Transition HASKELL_CODE__DQUOTE_STRING = { "\"", &HASKELL_CODE, &HASKELL_DQUOTE_STRING, ToEatsToken, false };
417 Transition HASKELL_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &HASKELL_DQUOTE_STRING, &HASKELL_DQUOTE_STRING, ToEatsToken, true };
418 Transition HASKELL_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &HASKELL_DQUOTE_STRING, &HASKELL_DQUOTE_STRING, ToEatsToken, true };
419 Transition HASKELL_DQUOTE_STRING__RETURN = { "\"", &HASKELL_DQUOTE_STRING, RETURN, FromEatsToken, false };
420 Transition *HASKELL_TRANSITIONS[] = { &HASKELL_CODE__LINE_COMMENT_0, &HASKELL_LINE_COMMENT__RETURN, &HASKELL_CODE__BLOCK_COMMENT_0, &HASKELL_BLOCK_COMMENT__RETURN_0, &HASKELL_CODE__DQUOTE_STRING, &HASKELL_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &HASKELL_DQUOTE_STRING__DQUOTE_STRING_ESC, &HASKELL_DQUOTE_STRING__RETURN, NULL};
421 Polyglot HASKELL_POLYGLOT = {
422         "haskell",
423                         HASKELL_STATES,
424                         HASKELL_TRANSITIONS,
425         NULL
426 };
427
428 /*****************************************************************************
429                                       lisp
430 *****************************************************************************/
431 /* States */
432 State LISP_CODE = { "LISP_CODE", "lisp", semantic_code };
433 State LISP_COMMENT = { "LISP_COMMENT", "lisp", semantic_comment };
434 State *LISP_STATES[] = { &LISP_CODE, &LISP_COMMENT, NULL };
435 /* Transitions */
436 Transition LISP_CODE__COMMENT_0 = { ";", &LISP_CODE, &LISP_COMMENT, ToEatsToken, false };
437 Transition LISP_COMMENT__RETURN = { "\n", &LISP_COMMENT, RETURN, FromEatsToken, false };
438 Transition *LISP_TRANSITIONS[] = { &LISP_CODE__COMMENT_0, &LISP_COMMENT__RETURN, NULL};
439 Polyglot LISP_POLYGLOT = {
440         "lisp",
441                         LISP_STATES,
442                         LISP_TRANSITIONS,
443         NULL
444 };
445
446 /*****************************************************************************
447                                       lua
448 *****************************************************************************/
449 /* States */
450 State LUA_CODE = { "LUA_CODE", "lua", semantic_code };
451 State LUA_DQUOTE_STRING = { "LUA_DQUOTE_STRING", "lua", semantic_code };
452 State LUA_SQUOTE_STRING = { "LUA_SQUOTE_STRING", "lua", semantic_code };
453 State LUA_LINE_COMMENT = { "LUA_LINE_COMMENT", "lua", semantic_comment };
454 State LUA_BLOCK_COMMENT = { "LUA_BLOCK_COMMENT", "lua", semantic_comment };
455 State *LUA_STATES[] = { &LUA_CODE, &LUA_DQUOTE_STRING, &LUA_SQUOTE_STRING, &LUA_LINE_COMMENT, &LUA_BLOCK_COMMENT, NULL };
456 /* Transitions */
457 Transition LUA_CODE__LINE_COMMENT_0 = { "--", &LUA_CODE, &LUA_LINE_COMMENT, ToEatsToken, false };
458 Transition LUA_LINE_COMMENT__RETURN = { "\n", &LUA_LINE_COMMENT, RETURN, FromEatsToken, false };
459 Transition LUA_CODE__SQUOTE_STRING = { "'", &LUA_CODE, &LUA_SQUOTE_STRING, ToEatsToken, false };
460 Transition LUA_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &LUA_SQUOTE_STRING, &LUA_SQUOTE_STRING, FromEatsToken, true };
461 Transition LUA_SQUOTE_STRING__SQUOTE_STRING_ESC = { "\\\\'", &LUA_SQUOTE_STRING, &LUA_SQUOTE_STRING, FromEatsToken, true };
462 Transition LUA_SQUOTE_STRING__RETURN = { "'", &LUA_SQUOTE_STRING, RETURN, FromEatsToken, false };
463 Transition LUA_CODE__DQUOTE_STRING = { "\"", &LUA_CODE, &LUA_DQUOTE_STRING, ToEatsToken, false };
464 Transition LUA_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &LUA_DQUOTE_STRING, &LUA_DQUOTE_STRING, ToEatsToken, true };
465 Transition LUA_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &LUA_DQUOTE_STRING, &LUA_DQUOTE_STRING, ToEatsToken, true };
466 Transition LUA_DQUOTE_STRING__RETURN = { "\"", &LUA_DQUOTE_STRING, RETURN, FromEatsToken, false };
467 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};
468 Polyglot LUA_POLYGLOT = {
469         "lua",
470                         LUA_STATES,
471                         LUA_TRANSITIONS,
472         NULL
473 };
474
475 /*****************************************************************************
476                                      matlab
477 *****************************************************************************/
478 /* States */
479 State MATLAB_CODE = { "MATLAB_CODE", "matlab", semantic_code };
480 State MATLAB_DQUOTE_STRING = { "MATLAB_DQUOTE_STRING", "matlab", semantic_code };
481 State MATLAB_SQUOTE_STRING = { "MATLAB_SQUOTE_STRING", "matlab", semantic_code };
482 State MATLAB_LINE_COMMENT = { "MATLAB_LINE_COMMENT", "matlab", semantic_comment };
483 State MATLAB_BLOCK_COMMENT = { "MATLAB_BLOCK_COMMENT", "matlab", semantic_comment };
484 State *MATLAB_STATES[] = { &MATLAB_CODE, &MATLAB_DQUOTE_STRING, &MATLAB_SQUOTE_STRING, &MATLAB_LINE_COMMENT, &MATLAB_BLOCK_COMMENT, NULL };
485 /* Transitions */
486 Transition MATLAB_CODE__LINE_COMMENT_0 = { "#|%", &MATLAB_CODE, &MATLAB_LINE_COMMENT, ToEatsToken, false };
487 Transition MATLAB_LINE_COMMENT__RETURN = { "\n", &MATLAB_LINE_COMMENT, RETURN, FromEatsToken, false };
488 Transition MATLAB_CODE__BLOCK_COMMENT_0 = { "{%", &MATLAB_CODE, &MATLAB_BLOCK_COMMENT, ToEatsToken, false };
489 Transition MATLAB_BLOCK_COMMENT__RETURN_0 = { "%}", &MATLAB_BLOCK_COMMENT, RETURN, FromEatsToken, false };
490 Transition MATLAB_CODE__SQUOTE_STRING = { "'", &MATLAB_CODE, &MATLAB_SQUOTE_STRING, ToEatsToken, false };
491 Transition MATLAB_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &MATLAB_SQUOTE_STRING, &MATLAB_SQUOTE_STRING, FromEatsToken, true };
492 Transition MATLAB_SQUOTE_STRING__SQUOTE_STRING_ESC = { "\\\\'", &MATLAB_SQUOTE_STRING, &MATLAB_SQUOTE_STRING, FromEatsToken, true };
493 Transition MATLAB_SQUOTE_STRING__RETURN = { "'", &MATLAB_SQUOTE_STRING, RETURN, FromEatsToken, false };
494 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};
495 Polyglot MATLAB_POLYGLOT = {
496         "matlab",
497                         MATLAB_STATES,
498                         MATLAB_TRANSITIONS,
499         NULL
500 };
501
502 /*****************************************************************************
503                                   objective_c
504 *****************************************************************************/
505 /* States */
506 State OBJECTIVE_C_CODE = { "OBJECTIVE_C_CODE", "objective_c", semantic_code };
507 State OBJECTIVE_C_DQUOTE_STRING = { "OBJECTIVE_C_DQUOTE_STRING", "objective_c", semantic_code };
508 State OBJECTIVE_C_SQUOTE_STRING = { "OBJECTIVE_C_SQUOTE_STRING", "objective_c", semantic_code };
509 State OBJECTIVE_C_LINE_COMMENT = { "OBJECTIVE_C_LINE_COMMENT", "objective_c", semantic_comment };
510 State OBJECTIVE_C_BLOCK_COMMENT = { "OBJECTIVE_C_BLOCK_COMMENT", "objective_c", semantic_comment };
511 State *OBJECTIVE_C_STATES[] = { &OBJECTIVE_C_CODE, &OBJECTIVE_C_DQUOTE_STRING, &OBJECTIVE_C_SQUOTE_STRING, &OBJECTIVE_C_LINE_COMMENT, &OBJECTIVE_C_BLOCK_COMMENT, NULL };
512 /* Transitions */
513 Transition OBJECTIVE_C_CODE__LINE_COMMENT_0 = { "//", &OBJECTIVE_C_CODE, &OBJECTIVE_C_LINE_COMMENT, ToEatsToken, false };
514 Transition OBJECTIVE_C_LINE_COMMENT__RETURN = { "\n", &OBJECTIVE_C_LINE_COMMENT, RETURN, FromEatsToken, false };
515 Transition OBJECTIVE_C_CODE__BLOCK_COMMENT_0 = { "/\\*", &OBJECTIVE_C_CODE, &OBJECTIVE_C_BLOCK_COMMENT, ToEatsToken, false };
516 Transition OBJECTIVE_C_BLOCK_COMMENT__RETURN_0 = { "\\*/", &OBJECTIVE_C_BLOCK_COMMENT, RETURN, FromEatsToken, false };
517 Transition OBJECTIVE_C_CODE__DQUOTE_STRING = { "\"", &OBJECTIVE_C_CODE, &OBJECTIVE_C_DQUOTE_STRING, ToEatsToken, false };
518 Transition OBJECTIVE_C_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &OBJECTIVE_C_DQUOTE_STRING, &OBJECTIVE_C_DQUOTE_STRING, ToEatsToken, true };
519 Transition OBJECTIVE_C_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &OBJECTIVE_C_DQUOTE_STRING, &OBJECTIVE_C_DQUOTE_STRING, ToEatsToken, true };
520 Transition OBJECTIVE_C_DQUOTE_STRING__RETURN = { "\"", &OBJECTIVE_C_DQUOTE_STRING, RETURN, FromEatsToken, false };
521 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};
522 Polyglot OBJECTIVE_C_POLYGLOT = {
523         "objective_c",
524                         OBJECTIVE_C_STATES,
525                         OBJECTIVE_C_TRANSITIONS,
526         NULL
527 };
528
529 /*****************************************************************************
530                                      pascal
531 *****************************************************************************/
532 /* States */
533 State PASCAL_CODE = { "PASCAL_CODE", "pascal", semantic_code };
534 State PASCAL_DQUOTE_STRING = { "PASCAL_DQUOTE_STRING", "pascal", semantic_code };
535 State PASCAL_SQUOTE_STRING = { "PASCAL_SQUOTE_STRING", "pascal", semantic_code };
536 State PASCAL_LINE_COMMENT = { "PASCAL_LINE_COMMENT", "pascal", semantic_comment };
537 State PASCAL_BLOCK_COMMENT = { "PASCAL_BLOCK_COMMENT", "pascal", semantic_comment };
538 State *PASCAL_STATES[] = { &PASCAL_CODE, &PASCAL_DQUOTE_STRING, &PASCAL_SQUOTE_STRING, &PASCAL_LINE_COMMENT, &PASCAL_BLOCK_COMMENT, NULL };
539 /* Transitions */
540 Transition PASCAL_CODE__LINE_COMMENT_0 = { "//", &PASCAL_CODE, &PASCAL_LINE_COMMENT, ToEatsToken, false };
541 Transition PASCAL_LINE_COMMENT__RETURN = { "\n", &PASCAL_LINE_COMMENT, RETURN, FromEatsToken, false };
542 Transition PASCAL_CODE__BLOCK_COMMENT_0 = { "{", &PASCAL_CODE, &PASCAL_BLOCK_COMMENT, ToEatsToken, false };
543 Transition PASCAL_BLOCK_COMMENT__RETURN_0 = { "}", &PASCAL_BLOCK_COMMENT, RETURN, FromEatsToken, false };
544 Transition PASCAL_CODE__DQUOTE_STRING = { "\"", &PASCAL_CODE, &PASCAL_DQUOTE_STRING, ToEatsToken, false };
545 Transition PASCAL_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &PASCAL_DQUOTE_STRING, &PASCAL_DQUOTE_STRING, ToEatsToken, true };
546 Transition PASCAL_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &PASCAL_DQUOTE_STRING, &PASCAL_DQUOTE_STRING, ToEatsToken, true };
547 Transition PASCAL_DQUOTE_STRING__RETURN = { "\"", &PASCAL_DQUOTE_STRING, RETURN, FromEatsToken, false };
548 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};
549 Polyglot PASCAL_POLYGLOT = {
550         "pascal",
551                         PASCAL_STATES,
552                         PASCAL_TRANSITIONS,
553         NULL
554 };
555
556 /*****************************************************************************
557                                       perl
558 *****************************************************************************/
559 /* States */
560 State PERL_CODE = { "PERL_CODE", "perl", semantic_code };
561 State PERL_DQUOTE_STRING = { "PERL_DQUOTE_STRING", "perl", semantic_code };
562 State PERL_SQUOTE_STRING = { "PERL_SQUOTE_STRING", "perl", semantic_code };
563 State PERL_LINE_COMMENT = { "PERL_LINE_COMMENT", "perl", semantic_comment };
564 State PERL_BLOCK_COMMENT = { "PERL_BLOCK_COMMENT", "perl", semantic_comment };
565 State *PERL_STATES[] = { &PERL_CODE, &PERL_DQUOTE_STRING, &PERL_SQUOTE_STRING, &PERL_LINE_COMMENT, &PERL_BLOCK_COMMENT, NULL };
566 /* Transitions */
567 Transition PERL_CODE__LINE_COMMENT_0 = { "#", &PERL_CODE, &PERL_LINE_COMMENT, ToEatsToken, false };
568 Transition PERL_LINE_COMMENT__RETURN = { "\n", &PERL_LINE_COMMENT, RETURN, FromEatsToken, false };
569 Transition PERL_CODE__SQUOTE_STRING = { "'", &PERL_CODE, &PERL_SQUOTE_STRING, ToEatsToken, false };
570 Transition PERL_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &PERL_SQUOTE_STRING, &PERL_SQUOTE_STRING, FromEatsToken, true };
571 Transition PERL_SQUOTE_STRING__SQUOTE_STRING_ESC = { "\\\\'", &PERL_SQUOTE_STRING, &PERL_SQUOTE_STRING, FromEatsToken, true };
572 Transition PERL_SQUOTE_STRING__RETURN = { "'", &PERL_SQUOTE_STRING, RETURN, FromEatsToken, false };
573 Transition PERL_CODE__DQUOTE_STRING = { "\"", &PERL_CODE, &PERL_DQUOTE_STRING, ToEatsToken, false };
574 Transition PERL_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &PERL_DQUOTE_STRING, &PERL_DQUOTE_STRING, ToEatsToken, true };
575 Transition PERL_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &PERL_DQUOTE_STRING, &PERL_DQUOTE_STRING, ToEatsToken, true };
576 Transition PERL_DQUOTE_STRING__RETURN = { "\"", &PERL_DQUOTE_STRING, RETURN, FromEatsToken, false };
577 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};
578 Polyglot PERL_POLYGLOT = {
579         "perl",
580                         PERL_STATES,
581                         PERL_TRANSITIONS,
582         NULL
583 };
584
585 /*****************************************************************************
586                                   phplanguage
587 *****************************************************************************/
588 /* States */
589 State PHP_CODE = { "PHP_CODE", "php", semantic_code };
590 State PHP_DQUOTE_STRING = { "PHP_DQUOTE_STRING", "php", semantic_code };
591 State PHP_SQUOTE_STRING = { "PHP_SQUOTE_STRING", "php", semantic_code };
592 State PHP_LINE_COMMENT = { "PHP_LINE_COMMENT", "php", semantic_comment };
593 State PHP_BLOCK_COMMENT = { "PHP_BLOCK_COMMENT", "php", semantic_comment };
594 State *PHPLANGUAGE_STATES[] = { &PHP_CODE, &PHP_DQUOTE_STRING, &PHP_SQUOTE_STRING, &PHP_LINE_COMMENT, &PHP_BLOCK_COMMENT, NULL };
595 /* Transitions */
596 Transition PHP_CODE__LINE_COMMENT_0 = { "//", &PHP_CODE, &PHP_LINE_COMMENT, ToEatsToken, false };
597 Transition PHP_LINE_COMMENT__RETURN = { "\n", &PHP_LINE_COMMENT, RETURN, FromEatsToken, false };
598 Transition PHP_CODE__BLOCK_COMMENT_0 = { "/\\*", &PHP_CODE, &PHP_BLOCK_COMMENT, ToEatsToken, false };
599 Transition PHP_BLOCK_COMMENT__RETURN_0 = { "\\*/", &PHP_BLOCK_COMMENT, RETURN, FromEatsToken, false };
600 Transition PHP_CODE__SQUOTE_STRING = { "'", &PHP_CODE, &PHP_SQUOTE_STRING, ToEatsToken, false };
601 Transition PHP_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &PHP_SQUOTE_STRING, &PHP_SQUOTE_STRING, FromEatsToken, true };
602 Transition PHP_SQUOTE_STRING__SQUOTE_STRING_ESC = { "\\\\'", &PHP_SQUOTE_STRING, &PHP_SQUOTE_STRING, FromEatsToken, true };
603 Transition PHP_SQUOTE_STRING__RETURN = { "'", &PHP_SQUOTE_STRING, RETURN, FromEatsToken, false };
604 Transition PHP_CODE__DQUOTE_STRING = { "\"", &PHP_CODE, &PHP_DQUOTE_STRING, ToEatsToken, false };
605 Transition PHP_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &PHP_DQUOTE_STRING, &PHP_DQUOTE_STRING, ToEatsToken, true };
606 Transition PHP_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &PHP_DQUOTE_STRING, &PHP_DQUOTE_STRING, ToEatsToken, true };
607 Transition PHP_DQUOTE_STRING__RETURN = { "\"", &PHP_DQUOTE_STRING, RETURN, FromEatsToken, false };
608 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};
609 Polyglot PHPLANGUAGE_POLYGLOT = {
610         "phplanguage",
611                         PHPLANGUAGE_STATES,
612                         PHPLANGUAGE_TRANSITIONS,
613         NULL
614 };
615
616 /*****************************************************************************
617                                      python
618 *****************************************************************************/
619 /* States */
620 State PYTHON_CODE = { "PYTHON_CODE", "python", semantic_code };
621 State PYTHON_MULTI_LINE_SQUOTE = { "PYTHON_MULTI_LINE_SQUOTE", "python", semantic_code };
622 State PYTHON_MULTI_LINE_DQUOTE = { "PYTHON_MULTI_LINE_DQUOTE", "python", semantic_code };
623 State PYTHON_RAW_DQUOTE = { "PYTHON_RAW_DQUOTE", "python", semantic_code };
624 State PYTHON_SQUOTE = { "PYTHON_SQUOTE", "python", semantic_code };
625 State PYTHON_DQUOTE = { "PYTHON_DQUOTE", "python", semantic_code };
626 State PYTHON_LINE_COMMENT = { "PYTHON_LINE_COMMENT", "python", semantic_comment };
627 State *PYTHON_STATES[] = { &PYTHON_CODE, &PYTHON_MULTI_LINE_SQUOTE, &PYTHON_MULTI_LINE_DQUOTE, &PYTHON_RAW_DQUOTE, &PYTHON_SQUOTE, &PYTHON_DQUOTE, &PYTHON_LINE_COMMENT, NULL };
628 /* Transitions */
629 Transition PYTHON_CODE__MULTI_LINE_SQUOTE = { "'''", &PYTHON_CODE, &PYTHON_MULTI_LINE_SQUOTE, FromEatsToken, false };
630 Transition PYTHON_MULTI_LINE_SQUOTE__RETURN = { "'''", &PYTHON_MULTI_LINE_SQUOTE, RETURN, FromEatsToken, false };
631 Transition PYTHON_CODE__MULTI_LINE_DQUOTE = { "\"\"\"", &PYTHON_CODE, &PYTHON_MULTI_LINE_DQUOTE, FromEatsToken, false };
632 Transition PYTHON_MULTI_LINE_DQUOTE__RETURN = { "\"\"\"", &PYTHON_MULTI_LINE_DQUOTE, RETURN, FromEatsToken, false };
633 Transition PYTHON_CODE__RAW_DQUOTE = { "r\"", &PYTHON_CODE, &PYTHON_RAW_DQUOTE, FromEatsToken, false };
634 Transition PYTHON_RAW_DQUOTE__RETURN = { "\"", &PYTHON_RAW_DQUOTE, RETURN, FromEatsToken, false };
635 Transition PYTHON_CODE__SQUOTE = { "'", &PYTHON_CODE, &PYTHON_SQUOTE, FromEatsToken, false };
636 Transition PYTHON_SQUOTE__RETURN_ESC = { "\\\\'", &PYTHON_SQUOTE, RETURN, FromEatsToken, true };
637 Transition PYTHON_SQUOTE__RETURN = { "'", &PYTHON_SQUOTE, RETURN, ToEatsToken, false };
638 Transition PYTHON_CODE__DQUOTE = { "\"", &PYTHON_CODE, &PYTHON_DQUOTE, ToEatsToken, false };
639 Transition PYTHON_DQUOTE__RETURN_ESC = { "\\\\\"", &PYTHON_DQUOTE, RETURN, FromEatsToken, true };
640 Transition PYTHON_DQUOTE__RETURN = { "\"", &PYTHON_DQUOTE, RETURN, ToEatsToken, false };
641 Transition PYTHON_CODE__LINE_COMMENT = { "#", &PYTHON_CODE, &PYTHON_LINE_COMMENT, ToEatsToken, false };
642 Transition PYTHON_LINE_COMMENT__RETURN = { "\n", &PYTHON_LINE_COMMENT, RETURN, FromEatsToken, false };
643 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};
644 Polyglot PYTHON_POLYGLOT = {
645         "python",
646                         PYTHON_STATES,
647                         PYTHON_TRANSITIONS,
648         NULL
649 };
650
651 /*****************************************************************************
652                                       ruby
653 *****************************************************************************/
654 /* States */
655 State RUBY_CODE = { "RUBY_CODE", "ruby", semantic_code };
656 State RUBY_DQUOTE_STRING = { "RUBY_DQUOTE_STRING", "ruby", semantic_code };
657 State RUBY_SQUOTE_STRING = { "RUBY_SQUOTE_STRING", "ruby", semantic_code };
658 State RUBY_LINE_COMMENT = { "RUBY_LINE_COMMENT", "ruby", semantic_comment };
659 State RUBY_BLOCK_COMMENT = { "RUBY_BLOCK_COMMENT", "ruby", semantic_comment };
660 State *RUBY_STATES[] = { &RUBY_CODE, &RUBY_DQUOTE_STRING, &RUBY_SQUOTE_STRING, &RUBY_LINE_COMMENT, &RUBY_BLOCK_COMMENT, NULL };
661 /* Transitions */
662 Transition RUBY_CODE__LINE_COMMENT_0 = { "#", &RUBY_CODE, &RUBY_LINE_COMMENT, ToEatsToken, false };
663 Transition RUBY_LINE_COMMENT__RETURN = { "\n", &RUBY_LINE_COMMENT, RETURN, FromEatsToken, false };
664 Transition RUBY_CODE__SQUOTE_STRING = { "'", &RUBY_CODE, &RUBY_SQUOTE_STRING, ToEatsToken, false };
665 Transition RUBY_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &RUBY_SQUOTE_STRING, &RUBY_SQUOTE_STRING, FromEatsToken, true };
666 Transition RUBY_SQUOTE_STRING__SQUOTE_STRING_ESC = { "\\\\'", &RUBY_SQUOTE_STRING, &RUBY_SQUOTE_STRING, FromEatsToken, true };
667 Transition RUBY_SQUOTE_STRING__RETURN = { "'", &RUBY_SQUOTE_STRING, RETURN, FromEatsToken, false };
668 Transition RUBY_CODE__DQUOTE_STRING = { "\"", &RUBY_CODE, &RUBY_DQUOTE_STRING, ToEatsToken, false };
669 Transition RUBY_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &RUBY_DQUOTE_STRING, &RUBY_DQUOTE_STRING, ToEatsToken, true };
670 Transition RUBY_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &RUBY_DQUOTE_STRING, &RUBY_DQUOTE_STRING, ToEatsToken, true };
671 Transition RUBY_DQUOTE_STRING__RETURN = { "\"", &RUBY_DQUOTE_STRING, RETURN, FromEatsToken, false };
672 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};
673 Polyglot RUBY_POLYGLOT = {
674         "ruby",
675                         RUBY_STATES,
676                         RUBY_TRANSITIONS,
677         NULL
678 };
679
680 /*****************************************************************************
681                                       rexx
682 *****************************************************************************/
683 /* States */
684 State REXX_CODE = { "REXX_CODE", "rexx", semantic_code };
685 State REXX_DQUOTE_STRING = { "REXX_DQUOTE_STRING", "rexx", semantic_code };
686 State REXX_SQUOTE_STRING = { "REXX_SQUOTE_STRING", "rexx", semantic_code };
687 State REXX_LINE_COMMENT = { "REXX_LINE_COMMENT", "rexx", semantic_comment };
688 State REXX_BLOCK_COMMENT = { "REXX_BLOCK_COMMENT", "rexx", semantic_comment };
689 State *REXX_STATES[] = { &REXX_CODE, &REXX_DQUOTE_STRING, &REXX_SQUOTE_STRING, &REXX_LINE_COMMENT, &REXX_BLOCK_COMMENT, NULL };
690 /* Transitions */
691 Transition REXX_CODE__BLOCK_COMMENT_0 = { "/\\*", &REXX_CODE, &REXX_BLOCK_COMMENT, ToEatsToken, false };
692 Transition REXX_BLOCK_COMMENT__RETURN_0 = { "\\*/", &REXX_BLOCK_COMMENT, RETURN, FromEatsToken, false };
693 Transition REXX_CODE__SQUOTE_STRING = { "'", &REXX_CODE, &REXX_SQUOTE_STRING, ToEatsToken, false };
694 Transition REXX_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &REXX_SQUOTE_STRING, &REXX_SQUOTE_STRING, FromEatsToken, true };
695 Transition REXX_SQUOTE_STRING__SQUOTE_STRING_ESC = { "\\\\'", &REXX_SQUOTE_STRING, &REXX_SQUOTE_STRING, FromEatsToken, true };
696 Transition REXX_SQUOTE_STRING__RETURN = { "'", &REXX_SQUOTE_STRING, RETURN, FromEatsToken, false };
697 Transition REXX_CODE__DQUOTE_STRING = { "\"", &REXX_CODE, &REXX_DQUOTE_STRING, ToEatsToken, false };
698 Transition REXX_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &REXX_DQUOTE_STRING, &REXX_DQUOTE_STRING, ToEatsToken, true };
699 Transition REXX_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &REXX_DQUOTE_STRING, &REXX_DQUOTE_STRING, ToEatsToken, true };
700 Transition REXX_DQUOTE_STRING__RETURN = { "\"", &REXX_DQUOTE_STRING, RETURN, FromEatsToken, false };
701 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};
702 Polyglot REXX_POLYGLOT = {
703         "rexx",
704                         REXX_STATES,
705                         REXX_TRANSITIONS,
706         NULL
707 };
708
709 /*****************************************************************************
710                                      scheme
711 *****************************************************************************/
712 /* States */
713 State SCHEME_CODE = { "SCHEME_CODE", "scheme", semantic_code };
714 State SCHEME_COMMENT = { "SCHEME_COMMENT", "scheme", semantic_comment };
715 State *SCHEME_STATES[] = { &SCHEME_CODE, &SCHEME_COMMENT, NULL };
716 /* Transitions */
717 Transition SCHEME_CODE__COMMENT_0 = { ";", &SCHEME_CODE, &SCHEME_COMMENT, ToEatsToken, false };
718 Transition SCHEME_COMMENT__RETURN = { "\n", &SCHEME_COMMENT, RETURN, FromEatsToken, false };
719 Transition *SCHEME_TRANSITIONS[] = { &SCHEME_CODE__COMMENT_0, &SCHEME_COMMENT__RETURN, NULL};
720 Polyglot SCHEME_POLYGLOT = {
721         "scheme",
722                         SCHEME_STATES,
723                         SCHEME_TRANSITIONS,
724         NULL
725 };
726
727 /*****************************************************************************
728                                      shell
729 *****************************************************************************/
730 /* States */
731 State SHELL_CODE = { "SHELL_CODE", "shell", semantic_code };
732 State SHELL_DQUOTE_STRING = { "SHELL_DQUOTE_STRING", "shell", semantic_code };
733 State SHELL_SQUOTE_STRING = { "SHELL_SQUOTE_STRING", "shell", semantic_code };
734 State SHELL_LINE_COMMENT = { "SHELL_LINE_COMMENT", "shell", semantic_comment };
735 State SHELL_BLOCK_COMMENT = { "SHELL_BLOCK_COMMENT", "shell", semantic_comment };
736 State *SHELL_STATES[] = { &SHELL_CODE, &SHELL_DQUOTE_STRING, &SHELL_SQUOTE_STRING, &SHELL_LINE_COMMENT, &SHELL_BLOCK_COMMENT, NULL };
737 /* Transitions */
738 Transition SHELL_CODE__LINE_COMMENT_0 = { "#", &SHELL_CODE, &SHELL_LINE_COMMENT, ToEatsToken, false };
739 Transition SHELL_LINE_COMMENT__RETURN = { "\n", &SHELL_LINE_COMMENT, RETURN, FromEatsToken, false };
740 Transition *SHELL_TRANSITIONS[] = { &SHELL_CODE__LINE_COMMENT_0, &SHELL_LINE_COMMENT__RETURN, NULL};
741 Polyglot SHELL_POLYGLOT = {
742         "shell",
743                         SHELL_STATES,
744                         SHELL_TRANSITIONS,
745         NULL
746 };
747
748 /*****************************************************************************
749                                       sql
750 *****************************************************************************/
751 /* States */
752 State SQL_CODE = { "SQL_CODE", "sql", semantic_code };
753 State SQL_DQUOTE_STRING = { "SQL_DQUOTE_STRING", "sql", semantic_code };
754 State SQL_SQUOTE_STRING = { "SQL_SQUOTE_STRING", "sql", semantic_code };
755 State SQL_LINE_COMMENT = { "SQL_LINE_COMMENT", "sql", semantic_comment };
756 State SQL_BLOCK_COMMENT = { "SQL_BLOCK_COMMENT", "sql", semantic_comment };
757 State *SQL_STATES[] = { &SQL_CODE, &SQL_DQUOTE_STRING, &SQL_SQUOTE_STRING, &SQL_LINE_COMMENT, &SQL_BLOCK_COMMENT, NULL };
758 /* Transitions */
759 Transition SQL_CODE__LINE_COMMENT_0 = { "--", &SQL_CODE, &SQL_LINE_COMMENT, ToEatsToken, false };
760 Transition SQL_CODE__LINE_COMMENT_1 = { "//", &SQL_CODE, &SQL_LINE_COMMENT, ToEatsToken, false };
761 Transition SQL_LINE_COMMENT__RETURN = { "\n", &SQL_LINE_COMMENT, RETURN, FromEatsToken, false };
762 Transition SQL_CODE__BLOCK_COMMENT_0 = { "{", &SQL_CODE, &SQL_BLOCK_COMMENT, ToEatsToken, false };
763 Transition SQL_BLOCK_COMMENT__RETURN_0 = { "}", &SQL_BLOCK_COMMENT, RETURN, FromEatsToken, false };
764 Transition SQL_CODE__BLOCK_COMMENT_1 = { "/\\*", &SQL_CODE, &SQL_BLOCK_COMMENT, ToEatsToken, false };
765 Transition SQL_BLOCK_COMMENT__RETURN_1 = { "\\*/", &SQL_BLOCK_COMMENT, RETURN, FromEatsToken, false };
766 Transition SQL_CODE__SQUOTE_STRING = { "'", &SQL_CODE, &SQL_SQUOTE_STRING, ToEatsToken, false };
767 Transition SQL_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &SQL_SQUOTE_STRING, &SQL_SQUOTE_STRING, FromEatsToken, true };
768 Transition SQL_SQUOTE_STRING__SQUOTE_STRING_ESC = { "\\\\'", &SQL_SQUOTE_STRING, &SQL_SQUOTE_STRING, FromEatsToken, true };
769 Transition SQL_SQUOTE_STRING__RETURN = { "'", &SQL_SQUOTE_STRING, RETURN, FromEatsToken, false };
770 Transition SQL_CODE__DQUOTE_STRING = { "\"", &SQL_CODE, &SQL_DQUOTE_STRING, ToEatsToken, false };
771 Transition SQL_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &SQL_DQUOTE_STRING, &SQL_DQUOTE_STRING, ToEatsToken, true };
772 Transition SQL_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &SQL_DQUOTE_STRING, &SQL_DQUOTE_STRING, ToEatsToken, true };
773 Transition SQL_DQUOTE_STRING__RETURN = { "\"", &SQL_DQUOTE_STRING, RETURN, FromEatsToken, false };
774 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};
775 Polyglot SQL_POLYGLOT = {
776         "sql",
777                         SQL_STATES,
778                         SQL_TRANSITIONS,
779         NULL
780 };
781
782 /*****************************************************************************
783                                       tcl
784 *****************************************************************************/
785 /* States */
786 State TCL_CODE = { "TCL_CODE", "tcl", semantic_code };
787 State TCL_DQUOTE_STRING = { "TCL_DQUOTE_STRING", "tcl", semantic_code };
788 State TCL_SQUOTE_STRING = { "TCL_SQUOTE_STRING", "tcl", semantic_code };
789 State TCL_LINE_COMMENT = { "TCL_LINE_COMMENT", "tcl", semantic_comment };
790 State TCL_BLOCK_COMMENT = { "TCL_BLOCK_COMMENT", "tcl", semantic_comment };
791 State *TCL_STATES[] = { &TCL_CODE, &TCL_DQUOTE_STRING, &TCL_SQUOTE_STRING, &TCL_LINE_COMMENT, &TCL_BLOCK_COMMENT, NULL };
792 /* Transitions */
793 Transition TCL_CODE__LINE_COMMENT_0 = { "#", &TCL_CODE, &TCL_LINE_COMMENT, ToEatsToken, false };
794 Transition TCL_LINE_COMMENT__RETURN = { "\n", &TCL_LINE_COMMENT, RETURN, FromEatsToken, false };
795 Transition TCL_CODE__DQUOTE_STRING = { "\"", &TCL_CODE, &TCL_DQUOTE_STRING, ToEatsToken, false };
796 Transition TCL_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &TCL_DQUOTE_STRING, &TCL_DQUOTE_STRING, ToEatsToken, true };
797 Transition TCL_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &TCL_DQUOTE_STRING, &TCL_DQUOTE_STRING, ToEatsToken, true };
798 Transition TCL_DQUOTE_STRING__RETURN = { "\"", &TCL_DQUOTE_STRING, RETURN, FromEatsToken, false };
799 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};
800 Polyglot TCL_POLYGLOT = {
801         "tcl",
802                         TCL_STATES,
803                         TCL_TRANSITIONS,
804         NULL
805 };
806
807 /*****************************************************************************
808                                       vala
809 *****************************************************************************/
810 /* States */
811 State VALA_CODE = { "VALA_CODE", "vala", semantic_code };
812 State VALA_DQUOTE_STRING = { "VALA_DQUOTE_STRING", "vala", semantic_code };
813 State VALA_SQUOTE_STRING = { "VALA_SQUOTE_STRING", "vala", semantic_code };
814 State VALA_LINE_COMMENT = { "VALA_LINE_COMMENT", "vala", semantic_comment };
815 State VALA_BLOCK_COMMENT = { "VALA_BLOCK_COMMENT", "vala", semantic_comment };
816 State *VALA_STATES[] = { &VALA_CODE, &VALA_DQUOTE_STRING, &VALA_SQUOTE_STRING, &VALA_LINE_COMMENT, &VALA_BLOCK_COMMENT, NULL };
817 /* Transitions */
818 Transition VALA_CODE__LINE_COMMENT_0 = { "//", &VALA_CODE, &VALA_LINE_COMMENT, ToEatsToken, false };
819 Transition VALA_LINE_COMMENT__RETURN = { "\n", &VALA_LINE_COMMENT, RETURN, FromEatsToken, false };
820 Transition VALA_CODE__BLOCK_COMMENT_0 = { "/\\*", &VALA_CODE, &VALA_BLOCK_COMMENT, ToEatsToken, false };
821 Transition VALA_BLOCK_COMMENT__RETURN_0 = { "\\*/", &VALA_BLOCK_COMMENT, RETURN, FromEatsToken, false };
822 Transition VALA_CODE__DQUOTE_STRING = { "\"", &VALA_CODE, &VALA_DQUOTE_STRING, ToEatsToken, false };
823 Transition VALA_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &VALA_DQUOTE_STRING, &VALA_DQUOTE_STRING, ToEatsToken, true };
824 Transition VALA_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &VALA_DQUOTE_STRING, &VALA_DQUOTE_STRING, ToEatsToken, true };
825 Transition VALA_DQUOTE_STRING__RETURN = { "\"", &VALA_DQUOTE_STRING, RETURN, FromEatsToken, false };
826 Transition *VALA_TRANSITIONS[] = { &VALA_CODE__LINE_COMMENT_0, &VALA_LINE_COMMENT__RETURN, &VALA_CODE__BLOCK_COMMENT_0, &VALA_BLOCK_COMMENT__RETURN_0, &VALA_CODE__DQUOTE_STRING, &VALA_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &VALA_DQUOTE_STRING__DQUOTE_STRING_ESC, &VALA_DQUOTE_STRING__RETURN, NULL};
827 Polyglot VALA_POLYGLOT = {
828         "vala",
829                         VALA_STATES,
830                         VALA_TRANSITIONS,
831         NULL
832 };
833
834 /*****************************************************************************
835                                   visualbasic
836 *****************************************************************************/
837 /* States */
838 State VISUALBASIC_CODE = { "VISUALBASIC_CODE", "visualbasic", semantic_code };
839 State VISUALBASIC_DQUOTE_STRING = { "VISUALBASIC_DQUOTE_STRING", "visualbasic", semantic_code };
840 State VISUALBASIC_SQUOTE_STRING = { "VISUALBASIC_SQUOTE_STRING", "visualbasic", semantic_code };
841 State VISUALBASIC_LINE_COMMENT = { "VISUALBASIC_LINE_COMMENT", "visualbasic", semantic_comment };
842 State VISUALBASIC_BLOCK_COMMENT = { "VISUALBASIC_BLOCK_COMMENT", "visualbasic", semantic_comment };
843 State *VISUALBASIC_STATES[] = { &VISUALBASIC_CODE, &VISUALBASIC_DQUOTE_STRING, &VISUALBASIC_SQUOTE_STRING, &VISUALBASIC_LINE_COMMENT, &VISUALBASIC_BLOCK_COMMENT, NULL };
844 /* Transitions */
845 Transition VISUALBASIC_CODE__LINE_COMMENT_0 = { "'", &VISUALBASIC_CODE, &VISUALBASIC_LINE_COMMENT, ToEatsToken, false };
846 Transition VISUALBASIC_LINE_COMMENT__RETURN = { "\n", &VISUALBASIC_LINE_COMMENT, RETURN, FromEatsToken, false };
847 Transition VISUALBASIC_CODE__DQUOTE_STRING = { "\"", &VISUALBASIC_CODE, &VISUALBASIC_DQUOTE_STRING, ToEatsToken, false };
848 Transition VISUALBASIC_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &VISUALBASIC_DQUOTE_STRING, &VISUALBASIC_DQUOTE_STRING, ToEatsToken, true };
849 Transition VISUALBASIC_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &VISUALBASIC_DQUOTE_STRING, &VISUALBASIC_DQUOTE_STRING, ToEatsToken, true };
850 Transition VISUALBASIC_DQUOTE_STRING__RETURN = { "\"", &VISUALBASIC_DQUOTE_STRING, RETURN, FromEatsToken, false };
851 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};
852 Polyglot VISUALBASIC_POLYGLOT = {
853         "visualbasic",
854                         VISUALBASIC_STATES,
855                         VISUALBASIC_TRANSITIONS,
856         NULL
857 };
858
859 /*****************************************************************************
860                                       xml
861 *****************************************************************************/
862 /* States */
863 State XML_MARKUP = { "XML_MARKUP", "xml", semantic_code };
864 State XML_SQUOTE = { "XML_SQUOTE", "xml", semantic_code };
865 State XML_DQUOTE = { "XML_DQUOTE", "xml", semantic_code };
866 State XML_CDATA = { "XML_CDATA", "xml", semantic_code };
867 State XML_COMMENT = { "XML_COMMENT", "xml", semantic_comment };
868 State *XML_STATES[] = { &XML_MARKUP, &XML_SQUOTE, &XML_DQUOTE, &XML_CDATA, &XML_COMMENT, NULL };
869 /* Transitions */
870 Transition XML_MARKUP__SQUOTE = { "'", &XML_MARKUP, &XML_SQUOTE, FromEatsToken, false };
871 Transition XML_SQUOTE__RETURN = { "'", &XML_SQUOTE, RETURN, ToEatsToken, false };
872 Transition XML_MARKUP__DQUOTE = { "\"", &XML_MARKUP, &XML_DQUOTE, FromEatsToken, false };
873 Transition XML_DQUOTE__RETURN = { "\"", &XML_DQUOTE, RETURN, ToEatsToken, false };
874 Transition XML_MARKUP__CDATA = { "<!\\[CDATA\\[", &XML_MARKUP, &XML_CDATA, FromEatsToken, false };
875 Transition XML_CDATA__RETURN = { "\\]\\]>", &XML_CDATA, RETURN, ToEatsToken, false };
876 Transition XML_MARKUP__COMMENT = { "<!--", &XML_MARKUP, &XML_COMMENT, ToEatsToken, false };
877 Transition XML_COMMENT__RETURN = { "-->", &XML_COMMENT, RETURN, FromEatsToken, false };
878 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};
879 Polyglot XML_POLYGLOT = {
880         "xml",
881                         XML_STATES,
882                         XML_TRANSITIONS,
883         NULL
884 };
885
886 /*****************************************************************************
887                                       dmd
888 *****************************************************************************/
889 /* States */
890 State DMD_CODE = { "DMD_CODE", "dmd", semantic_code };
891 State DMD_DQUOTE_STRING = { "DMD_DQUOTE_STRING", "dmd", semantic_code };
892 State DMD_SQUOTE_STRING = { "DMD_SQUOTE_STRING", "dmd", semantic_code };
893 State DMD_BACKTICK_STRING = { "DMD_BACKTICK_STRING", "dmd", semantic_code };
894 State DMD_LINE_COMMENT = { "DMD_LINE_COMMENT", "dmd", semantic_comment };
895 State DMD_BLOCK_COMMENT = { "DMD_BLOCK_COMMENT", "dmd", semantic_comment };
896 State DMD_NESTED_COMMENT = { "DMD_NESTED_COMMENT", "dmd", semantic_comment };
897 State *DMD_STATES[] = { &DMD_CODE, &DMD_DQUOTE_STRING, &DMD_SQUOTE_STRING, &DMD_BACKTICK_STRING, &DMD_LINE_COMMENT, &DMD_BLOCK_COMMENT, &DMD_NESTED_COMMENT, NULL };
898 /* Transitions */
899 Transition DMD_CODE__LINE_COMMENT = { "//", &DMD_CODE, &DMD_LINE_COMMENT, ToEatsToken, false };
900 Transition DMD_LINE_COMMENT__RETURN = { "\n", &DMD_LINE_COMMENT, RETURN, FromEatsToken, false };
901 Transition DMD_CODE__BLOCK_COMMENT = { "/\\*", &DMD_CODE, &DMD_BLOCK_COMMENT, ToEatsToken, false };
902 Transition DMD_NESTED_COMMENT__BLOCK_COMMENT = { "/\\*", &DMD_NESTED_COMMENT, &DMD_BLOCK_COMMENT, ToEatsToken, false };
903 Transition DMD_BLOCK_COMMENT__RETURN = { "\\*/", &DMD_BLOCK_COMMENT, RETURN, FromEatsToken, false };
904 Transition DMD_CODE__NESTED_COMMENT = { "/\\+", &DMD_CODE, &DMD_NESTED_COMMENT, ToEatsToken, false };
905 Transition DMD_NESTED_COMMENT__NESTED_COMMENT = { "/\\+", &DMD_NESTED_COMMENT, &DMD_NESTED_COMMENT, ToEatsToken, false };
906 Transition DMD_NESTED_COMMENT__RETURN = { "\\+/", &DMD_NESTED_COMMENT, RETURN, FromEatsToken, false };
907 Transition DMD_CODE__SQUOTE_STRING = { "'", &DMD_CODE, &DMD_SQUOTE_STRING, ToEatsToken, false };
908 Transition DMD_SQUOTE_STRING__SQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &DMD_SQUOTE_STRING, &DMD_SQUOTE_STRING, FromEatsToken, true };
909 Transition DMD_SQUOTE_STRING__SQUOTE_STRING_ESC = { "\\\\'", &DMD_SQUOTE_STRING, &DMD_SQUOTE_STRING, FromEatsToken, true };
910 Transition DMD_SQUOTE_STRING__RETURN = { "'", &DMD_SQUOTE_STRING, RETURN, FromEatsToken, false };
911 Transition DMD_CODE__BACKTICK_STRING = { "`", &DMD_CODE, &DMD_BACKTICK_STRING, ToEatsToken, false };
912 Transition DMD_BACKTICK_STRING__BACKTICK_STRING_ESC_SLASH = { "\\\\\\\\", &DMD_BACKTICK_STRING, &DMD_BACKTICK_STRING, FromEatsToken, true };
913 Transition DMD_BACKTICK_STRING__BACKTICK_STRING_ESC = { "\\\\`", &DMD_BACKTICK_STRING, &DMD_BACKTICK_STRING, FromEatsToken, true };
914 Transition DMD_BACKTICK_STRING__RETURN = { "`", &DMD_BACKTICK_STRING, RETURN, FromEatsToken, false };
915 Transition DMD_CODE__DQUOTE_STRING = { "\"", &DMD_CODE, &DMD_DQUOTE_STRING, ToEatsToken, false };
916 Transition DMD_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &DMD_DQUOTE_STRING, &DMD_DQUOTE_STRING, ToEatsToken, true };
917 Transition DMD_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &DMD_DQUOTE_STRING, &DMD_DQUOTE_STRING, ToEatsToken, true };
918 Transition DMD_DQUOTE_STRING__RETURN = { "\"", &DMD_DQUOTE_STRING, RETURN, FromEatsToken, false };
919 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};
920 Polyglot DMD_POLYGLOT = {
921         "dmd",
922                         DMD_STATES,
923                         DMD_TRANSITIONS,
924         NULL
925 };
926
927 /*****************************************************************************
928                                       html
929 *****************************************************************************/
930 /* States */
931 State HTML_MARKUP = { "HTML_MARKUP", "html", semantic_code };
932 State HTML_SQUOTE = { "HTML_SQUOTE", "html", semantic_code };
933 State HTML_DQUOTE = { "HTML_DQUOTE", "html", semantic_code };
934 State HTML_CDATA = { "HTML_CDATA", "html", semantic_code };
935 State HTML_COMMENT = { "HTML_COMMENT", "html", semantic_comment };
936 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 };
937 /* Transitions */
938 Transition HTML_MARKUP__SQUOTE = { "'", &HTML_MARKUP, &HTML_SQUOTE, FromEatsToken, false };
939 Transition HTML_SQUOTE__RETURN = { "'", &HTML_SQUOTE, RETURN, ToEatsToken, false };
940 Transition HTML_MARKUP__DQUOTE = { "\"", &HTML_MARKUP, &HTML_DQUOTE, FromEatsToken, false };
941 Transition HTML_DQUOTE__RETURN = { "\"", &HTML_DQUOTE, RETURN, ToEatsToken, false };
942 Transition HTML_MARKUP__CDATA = { "<!\\[CDATA\\[", &HTML_MARKUP, &HTML_CDATA, FromEatsToken, false };
943 Transition HTML_CDATA__RETURN = { "\\]\\]>", &HTML_CDATA, RETURN, ToEatsToken, false };
944 Transition HTML_MARKUP__COMMENT = { "<!--", &HTML_MARKUP, &HTML_COMMENT, ToEatsToken, false };
945 Transition HTML_COMMENT__RETURN = { "-->", &HTML_COMMENT, RETURN, FromEatsToken, false };
946 Transition HTML_HTML_MARKUP__CSS_CODE = { "<(?i)style(?-i)[^>]*(?i)css(?-i)[^>]*>", &HTML_MARKUP, &CSS_CODE, FromEatsToken, false };
947 Transition HTML_CSS_CODE__RETURN = { "</(?i)style(?-i)>", &CSS_CODE, RETURN, ToEatsToken, false };
948 Transition HTML_HTML_MARKUP__JAVASCRIPT_CODE = { "<(?i)script(?-i)\\ [^>]*(?i)javascript(?-i)[^>]*>", &HTML_MARKUP, &JAVASCRIPT_CODE, FromEatsToken, false };
949 Transition HTML_JAVASCRIPT_CODE__RETURN = { "</(?i)script(?-i)>", &JAVASCRIPT_CODE, RETURN, ToEatsToken, false };
950 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};
951 Polyglot HTML_POLYGLOT = {
952         "html",
953                         HTML_STATES,
954                         HTML_TRANSITIONS,
955         NULL
956 };
957
958 /*****************************************************************************
959                                       php
960 *****************************************************************************/
961 /* States */
962 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 };
963 /* Transitions */
964 Transition PHP_HTML_MARKUP__PHP_CODE = { "<\\?", &HTML_MARKUP, &PHP_CODE, ToEatsToken, false };
965 Transition PHP_HTML_COMMENT__PHP_CODE = { "<\\?", &HTML_COMMENT, &PHP_CODE, ToEatsToken, false };
966 Transition PHP_HTML_SQUOTE__PHP_CODE = { "<\\?", &HTML_SQUOTE, &PHP_CODE, ToEatsToken, false };
967 Transition PHP_HTML_DQUOTE__PHP_CODE = { "<\\?", &HTML_DQUOTE, &PHP_CODE, ToEatsToken, false };
968 Transition PHP_PHP_CODE__RETURN = { "\\?>", &PHP_CODE, RETURN, FromEatsToken, false };
969 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};
970 Polyglot PHP_POLYGLOT = {
971         "php",
972                         PHP_STATES,
973                         PHP_TRANSITIONS,
974         NULL
975 };
976
977 /*****************************************************************************
978                                      rhtml
979 *****************************************************************************/
980 /* States */
981 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 };
982 /* Transitions */
983 Transition RHTML_HTML_MARKUP__RUBY_CODE = { "<%", &HTML_MARKUP, &RUBY_CODE, FromEatsToken, false };
984 Transition RHTML_HTML_COMMENT__RUBY_CODE = { "<%", &HTML_COMMENT, &RUBY_CODE, FromEatsToken, false };
985 Transition RHTML_HTML_SQUOTE__RUBY_CODE = { "<%", &HTML_SQUOTE, &RUBY_CODE, FromEatsToken, false };
986 Transition RHTML_HTML_DQUOTE__RUBY_CODE = { "<%", &HTML_DQUOTE, &RUBY_CODE, FromEatsToken, false };
987 Transition RHTML_RUBY_CODE__RETURN = { "%>", &RUBY_CODE, RETURN, ToEatsToken, false };
988 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};
989 Polyglot RHTML_POLYGLOT = {
990         "rhtml",
991                         RHTML_STATES,
992                         RHTML_TRANSITIONS,
993         NULL
994 };
995
996 /*****************************************************************************
997                                       jsp
998 *****************************************************************************/
999 /* States */
1000 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 };
1001 /* Transitions */
1002 Transition JSP_HTML_MARKUP__JAVA_CODE = { "<%", &HTML_MARKUP, &JAVA_CODE, FromEatsToken, false };
1003 Transition JSP_HTML_COMMENT__JAVA_CODE = { "<%", &HTML_COMMENT, &JAVA_CODE, FromEatsToken, false };
1004 Transition JSP_HTML_SQUOTE__JAVA_CODE = { "<%", &HTML_SQUOTE, &JAVA_CODE, FromEatsToken, false };
1005 Transition JSP_HTML_DQUOTE__JAVA_CODE = { "<%", &HTML_DQUOTE, &JAVA_CODE, FromEatsToken, false };
1006 Transition JSP_JAVA_CODE__RETURN = { "%>", &JAVA_CODE, RETURN, ToEatsToken, false };
1007 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};
1008 Polyglot JSP_POLYGLOT = {
1009         "jsp",
1010                         JSP_STATES,
1011                         JSP_TRANSITIONS,
1012         NULL
1013 };
1014
1015 /*****************************************************************************
1016                               clearsilver_template
1017 *****************************************************************************/
1018 /* States */
1019 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 };
1020 /* Transitions */
1021 Transition CLEARSILVER_TEMPLATE_HTML_MARKUP__CLEARSILVER_CODE = { "<\\?cs", &HTML_MARKUP, &CLEARSILVER_CODE, FromEatsToken, false };
1022 Transition CLEARSILVER_TEMPLATE_HTML_COMMENT__CLEARSILVER_CODE = { "<\\?cs", &HTML_COMMENT, &CLEARSILVER_CODE, FromEatsToken, false };
1023 Transition CLEARSILVER_TEMPLATE_HTML_SQUOTE__CLEARSILVER_CODE = { "<\\?cs", &HTML_SQUOTE, &CLEARSILVER_CODE, FromEatsToken, false };
1024 Transition CLEARSILVER_TEMPLATE_HTML_DQUOTE__CLEARSILVER_CODE = { "<\\?cs", &HTML_DQUOTE, &CLEARSILVER_CODE, FromEatsToken, false };
1025 Transition CLEARSILVER_TEMPLATE_CLEARSILVER_CODE__RETURN = { "\\?>", &CLEARSILVER_CODE, RETURN, ToEatsToken, false };
1026 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};
1027 Polyglot CLEARSILVER_TEMPLATE_POLYGLOT = {
1028         "clearsilver_template",
1029                         CLEARSILVER_TEMPLATE_STATES,
1030                         CLEARSILVER_TEMPLATE_TRANSITIONS,
1031         NULL
1032 };
1033
1034 /*****************************************************************************
1035                                       tex
1036 *****************************************************************************/
1037 /* States */
1038 State TEX_CODE = { "TEX_CODE", "tex", semantic_code };
1039 State TEX_DQUOTE_STRING = { "TEX_DQUOTE_STRING", "tex", semantic_code };
1040 State TEX_SQUOTE_STRING = { "TEX_SQUOTE_STRING", "tex", semantic_code };
1041 State TEX_LINE_COMMENT = { "TEX_LINE_COMMENT", "tex", semantic_comment };
1042 State TEX_BLOCK_COMMENT = { "TEX_BLOCK_COMMENT", "tex", semantic_comment };
1043 State *TEX_STATES[] = { &TEX_CODE, &TEX_DQUOTE_STRING, &TEX_SQUOTE_STRING, &TEX_LINE_COMMENT, &TEX_BLOCK_COMMENT, NULL };
1044 /* Transitions */
1045 Transition TEX_CODE__LINE_COMMENT_0 = { "%", &TEX_CODE, &TEX_LINE_COMMENT, ToEatsToken, false };
1046 Transition TEX_LINE_COMMENT__RETURN = { "\n", &TEX_LINE_COMMENT, RETURN, FromEatsToken, false };
1047 Transition *TEX_TRANSITIONS[] = { &TEX_CODE__LINE_COMMENT_0, &TEX_LINE_COMMENT__RETURN, NULL};
1048 Polyglot TEX_POLYGLOT = {
1049         "tex",
1050                         TEX_STATES,
1051                         TEX_TRANSITIONS,
1052         NULL
1053 };
1054
1055
1056 /*****************************************************************************
1057                                    POLYGLOTS
1058 *****************************************************************************/
1059 Polyglot *POLYGLOTS[] = {
1060         &ADA_POLYGLOT,
1061         &ASSEMBLER_POLYGLOT,
1062         &AWK_POLYGLOT,
1063         &BAT_POLYGLOT,
1064         &BOO_POLYGLOT,
1065         &CLEARSILVER_POLYGLOT,
1066         &CNCPP_POLYGLOT,
1067         &CSHARP_POLYGLOT,
1068         &CSS_POLYGLOT,
1069         &DYLAN_POLYGLOT,
1070         &ERLANG_POLYGLOT,
1071         &GROOVY_POLYGLOT,
1072         &JAVA_POLYGLOT,
1073         &JAVASCRIPT_POLYGLOT,
1074         &EMACSLISP_POLYGLOT,
1075         &HASKELL_POLYGLOT,
1076         &LISP_POLYGLOT,
1077         &LUA_POLYGLOT,
1078         &MATLAB_POLYGLOT,
1079         &OBJECTIVE_C_POLYGLOT,
1080         &PASCAL_POLYGLOT,
1081         &PERL_POLYGLOT,
1082         &PHPLANGUAGE_POLYGLOT,
1083         &PYTHON_POLYGLOT,
1084         &RUBY_POLYGLOT,
1085         &REXX_POLYGLOT,
1086         &SCHEME_POLYGLOT,
1087         &SHELL_POLYGLOT,
1088         &SQL_POLYGLOT,
1089         &TCL_POLYGLOT,
1090         &VALA_POLYGLOT,
1091         &VISUALBASIC_POLYGLOT,
1092         &XML_POLYGLOT,
1093         &DMD_POLYGLOT,
1094         &HTML_POLYGLOT,
1095         &PHP_POLYGLOT,
1096         &RHTML_POLYGLOT,
1097         &JSP_POLYGLOT,
1098         &CLEARSILVER_TEMPLATE_POLYGLOT,
1099         &TEX_POLYGLOT,
1100         NULL
1101 };