1   // $ANTLR 3.5.2 org/daisy/pipeline/css/sass/impl/Doxygen.g 2025-01-27 18:34:25
2    package org.daisy.pipeline.css.sass.impl; 
3   
4   import org.antlr.runtime.*;
5   import java.util.Stack;
6   import java.util.List;
7   import java.util.ArrayList;
8   
9   @SuppressWarnings("all")
10  public class DoxygenLexer extends Lexer {
11  	public static final int EOF=-1;
12  	public static final int ANY=4;
13  	public static final int AT_COMMAND=5;
14  	public static final int BRIEF=6;
15  	public static final int CODE_FENCE=7;
16  	public static final int DOLLAR=8;
17  	public static final int EOL=9;
18  	public static final int S=10;
19  	public static final int VAR=11;
20  	public static final int XML_COMMAND_CLOSE=12;
21  	public static final int XML_COMMAND_OPEN=13;
22  
23  	// delegates
24  	// delegators
25  	public Lexer[] getDelegates() {
26  		return new Lexer[] {};
27  	}
28  
29  	public DoxygenLexer() {} 
30  	public DoxygenLexer(CharStream input) {
31  		this(input, new RecognizerSharedState());
32  	}
33  	public DoxygenLexer(CharStream input, RecognizerSharedState state) {
34  		super(input,state);
35  	}
36  	@Override public String getGrammarFileName() { return "org/daisy/pipeline/css/sass/impl/Doxygen.g"; }
37  
38  	// $ANTLR start "DOLLAR"
39  	public final void mDOLLAR() throws RecognitionException {
40  		try {
41  			int _type = DOLLAR;
42  			int _channel = DEFAULT_TOKEN_CHANNEL;
43  			// org/daisy/pipeline/css/sass/impl/Doxygen.g:274:8: ( '$' )
44  			// org/daisy/pipeline/css/sass/impl/Doxygen.g:274:10: '$'
45  			{
46  			match('$'); 
47  			}
48  
49  			state.type = _type;
50  			state.channel = _channel;
51  		}
52  		finally {
53  			// do for sure before leaving
54  		}
55  	}
56  	// $ANTLR end "DOLLAR"
57  
58  	// $ANTLR start "VAR"
59  	public final void mVAR() throws RecognitionException {
60  		try {
61  			int _type = VAR;
62  			int _channel = DEFAULT_TOKEN_CHANNEL;
63  			// org/daisy/pipeline/css/sass/impl/Doxygen.g:276:5: ( '@var' )
64  			// org/daisy/pipeline/css/sass/impl/Doxygen.g:276:7: '@var'
65  			{
66  			match("@var"); 
67  
68  			}
69  
70  			state.type = _type;
71  			state.channel = _channel;
72  		}
73  		finally {
74  			// do for sure before leaving
75  		}
76  	}
77  	// $ANTLR end "VAR"
78  
79  	// $ANTLR start "BRIEF"
80  	public final void mBRIEF() throws RecognitionException {
81  		try {
82  			int _type = BRIEF;
83  			int _channel = DEFAULT_TOKEN_CHANNEL;
84  			// org/daisy/pipeline/css/sass/impl/Doxygen.g:278:7: ( '@brief' )
85  			// org/daisy/pipeline/css/sass/impl/Doxygen.g:278:9: '@brief'
86  			{
87  			match("@brief"); 
88  
89  			}
90  
91  			state.type = _type;
92  			state.channel = _channel;
93  		}
94  		finally {
95  			// do for sure before leaving
96  		}
97  	}
98  	// $ANTLR end "BRIEF"
99  
100 	// $ANTLR start "CODE_FENCE"
101 	public final void mCODE_FENCE() throws RecognitionException {
102 		try {
103 			int _type = CODE_FENCE;
104 			int _channel = DEFAULT_TOKEN_CHANNEL;
105 			// org/daisy/pipeline/css/sass/impl/Doxygen.g:280:12: ( '~~~' )
106 			// org/daisy/pipeline/css/sass/impl/Doxygen.g:280:14: '~~~'
107 			{
108 			match("~~~"); 
109 
110 			}
111 
112 			state.type = _type;
113 			state.channel = _channel;
114 		}
115 		finally {
116 			// do for sure before leaving
117 		}
118 	}
119 	// $ANTLR end "CODE_FENCE"
120 
121 	// $ANTLR start "AT_COMMAND"
122 	public final void mAT_COMMAND() throws RecognitionException {
123 		try {
124 			int _type = AT_COMMAND;
125 			int _channel = DEFAULT_TOKEN_CHANNEL;
126 			// org/daisy/pipeline/css/sass/impl/Doxygen.g:283:5: ( '@' (~ ( '\\u0020' | '\\u0009' | '\\r' | '\\n' ) )+ )
127 			// org/daisy/pipeline/css/sass/impl/Doxygen.g:283:7: '@' (~ ( '\\u0020' | '\\u0009' | '\\r' | '\\n' ) )+
128 			{
129 			match('@'); 
130 			// org/daisy/pipeline/css/sass/impl/Doxygen.g:283:11: (~ ( '\\u0020' | '\\u0009' | '\\r' | '\\n' ) )+
131 			int cnt1=0;
132 			loop1:
133 			while (true) {
134 				int alt1=2;
135 				int LA1_0 = input.LA(1);
136 				if ( ((LA1_0 >= '\u0000' && LA1_0 <= '\b')||(LA1_0 >= '\u000B' && LA1_0 <= '\f')||(LA1_0 >= '\u000E' && LA1_0 <= '\u001F')||(LA1_0 >= '!' && LA1_0 <= '\uFFFF')) ) {
137 					alt1=1;
138 				}
139 
140 				switch (alt1) {
141 				case 1 :
142 					// org/daisy/pipeline/css/sass/impl/Doxygen.g:
143 					{
144 					if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\b')||(input.LA(1) >= '\u000B' && input.LA(1) <= '\f')||(input.LA(1) >= '\u000E' && input.LA(1) <= '\u001F')||(input.LA(1) >= '!' && input.LA(1) <= '\uFFFF') ) {
145 						input.consume();
146 					}
147 					else {
148 						MismatchedSetException mse = new MismatchedSetException(null,input);
149 						recover(mse);
150 						throw mse;
151 					}
152 					}
153 					break;
154 
155 				default :
156 					if ( cnt1 >= 1 ) break loop1;
157 					EarlyExitException eee = new EarlyExitException(1, input);
158 					throw eee;
159 				}
160 				cnt1++;
161 			}
162 
163 			}
164 
165 			state.type = _type;
166 			state.channel = _channel;
167 		}
168 		finally {
169 			// do for sure before leaving
170 		}
171 	}
172 	// $ANTLR end "AT_COMMAND"
173 
174 	// $ANTLR start "XML_COMMAND_OPEN"
175 	public final void mXML_COMMAND_OPEN() throws RecognitionException {
176 		try {
177 			int _type = XML_COMMAND_OPEN;
178 			int _channel = DEFAULT_TOKEN_CHANNEL;
179 			// org/daisy/pipeline/css/sass/impl/Doxygen.g:287:5: ( '<' (~ ( '\\u0020' | '\\u0009' | '\\r' | '\\n' | '<' | '>' | '/' ) )+ ( ( '\\u0020' | '\\u0009' | '\\r' | '\\n' )+ (~ ( '\\u0020' | '\\u0009' | '\\r' | '\\n' | '<' | '=' ) )+ ( '\\u0020' | '\\u0009' | '\\r' | '\\n' )* '=' ( '\\u0020' | '\\u0009' | '\\r' | '\\n' )* ( ( '\"' (~ '\"' )* '\"' ) | ( '\\'' (~ '\\'' )* '\\'' ) ) )* ( '\\u0020' | '\\u0009' | '\\r' | '\\n' )* '>' )
180 			// org/daisy/pipeline/css/sass/impl/Doxygen.g:287:7: '<' (~ ( '\\u0020' | '\\u0009' | '\\r' | '\\n' | '<' | '>' | '/' ) )+ ( ( '\\u0020' | '\\u0009' | '\\r' | '\\n' )+ (~ ( '\\u0020' | '\\u0009' | '\\r' | '\\n' | '<' | '=' ) )+ ( '\\u0020' | '\\u0009' | '\\r' | '\\n' )* '=' ( '\\u0020' | '\\u0009' | '\\r' | '\\n' )* ( ( '\"' (~ '\"' )* '\"' ) | ( '\\'' (~ '\\'' )* '\\'' ) ) )* ( '\\u0020' | '\\u0009' | '\\r' | '\\n' )* '>'
181 			{
182 			match('<'); 
183 			// org/daisy/pipeline/css/sass/impl/Doxygen.g:288:7: (~ ( '\\u0020' | '\\u0009' | '\\r' | '\\n' | '<' | '>' | '/' ) )+
184 			int cnt2=0;
185 			loop2:
186 			while (true) {
187 				int alt2=2;
188 				int LA2_0 = input.LA(1);
189 				if ( ((LA2_0 >= '\u0000' && LA2_0 <= '\b')||(LA2_0 >= '\u000B' && LA2_0 <= '\f')||(LA2_0 >= '\u000E' && LA2_0 <= '\u001F')||(LA2_0 >= '!' && LA2_0 <= '.')||(LA2_0 >= '0' && LA2_0 <= ';')||LA2_0=='='||(LA2_0 >= '?' && LA2_0 <= '\uFFFF')) ) {
190 					alt2=1;
191 				}
192 
193 				switch (alt2) {
194 				case 1 :
195 					// org/daisy/pipeline/css/sass/impl/Doxygen.g:
196 					{
197 					if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\b')||(input.LA(1) >= '\u000B' && input.LA(1) <= '\f')||(input.LA(1) >= '\u000E' && input.LA(1) <= '\u001F')||(input.LA(1) >= '!' && input.LA(1) <= '.')||(input.LA(1) >= '0' && input.LA(1) <= ';')||input.LA(1)=='='||(input.LA(1) >= '?' && input.LA(1) <= '\uFFFF') ) {
198 						input.consume();
199 					}
200 					else {
201 						MismatchedSetException mse = new MismatchedSetException(null,input);
202 						recover(mse);
203 						throw mse;
204 					}
205 					}
206 					break;
207 
208 				default :
209 					if ( cnt2 >= 1 ) break loop2;
210 					EarlyExitException eee = new EarlyExitException(2, input);
211 					throw eee;
212 				}
213 				cnt2++;
214 			}
215 
216 			// org/daisy/pipeline/css/sass/impl/Doxygen.g:289:7: ( ( '\\u0020' | '\\u0009' | '\\r' | '\\n' )+ (~ ( '\\u0020' | '\\u0009' | '\\r' | '\\n' | '<' | '=' ) )+ ( '\\u0020' | '\\u0009' | '\\r' | '\\n' )* '=' ( '\\u0020' | '\\u0009' | '\\r' | '\\n' )* ( ( '\"' (~ '\"' )* '\"' ) | ( '\\'' (~ '\\'' )* '\\'' ) ) )*
217 			loop10:
218 			while (true) {
219 				int alt10=2;
220 				alt10 = dfa10.predict(input);
221 				switch (alt10) {
222 				case 1 :
223 					// org/daisy/pipeline/css/sass/impl/Doxygen.g:290:11: ( '\\u0020' | '\\u0009' | '\\r' | '\\n' )+ (~ ( '\\u0020' | '\\u0009' | '\\r' | '\\n' | '<' | '=' ) )+ ( '\\u0020' | '\\u0009' | '\\r' | '\\n' )* '=' ( '\\u0020' | '\\u0009' | '\\r' | '\\n' )* ( ( '\"' (~ '\"' )* '\"' ) | ( '\\'' (~ '\\'' )* '\\'' ) )
224 					{
225 					// org/daisy/pipeline/css/sass/impl/Doxygen.g:290:11: ( '\\u0020' | '\\u0009' | '\\r' | '\\n' )+
226 					int cnt3=0;
227 					loop3:
228 					while (true) {
229 						int alt3=2;
230 						int LA3_0 = input.LA(1);
231 						if ( ((LA3_0 >= '\t' && LA3_0 <= '\n')||LA3_0=='\r'||LA3_0==' ') ) {
232 							alt3=1;
233 						}
234 
235 						switch (alt3) {
236 						case 1 :
237 							// org/daisy/pipeline/css/sass/impl/Doxygen.g:
238 							{
239 							if ( (input.LA(1) >= '\t' && input.LA(1) <= '\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
240 								input.consume();
241 							}
242 							else {
243 								MismatchedSetException mse = new MismatchedSetException(null,input);
244 								recover(mse);
245 								throw mse;
246 							}
247 							}
248 							break;
249 
250 						default :
251 							if ( cnt3 >= 1 ) break loop3;
252 							EarlyExitException eee = new EarlyExitException(3, input);
253 							throw eee;
254 						}
255 						cnt3++;
256 					}
257 
258 					// org/daisy/pipeline/css/sass/impl/Doxygen.g:291:11: (~ ( '\\u0020' | '\\u0009' | '\\r' | '\\n' | '<' | '=' ) )+
259 					int cnt4=0;
260 					loop4:
261 					while (true) {
262 						int alt4=2;
263 						int LA4_0 = input.LA(1);
264 						if ( ((LA4_0 >= '\u0000' && LA4_0 <= '\b')||(LA4_0 >= '\u000B' && LA4_0 <= '\f')||(LA4_0 >= '\u000E' && LA4_0 <= '\u001F')||(LA4_0 >= '!' && LA4_0 <= ';')||(LA4_0 >= '>' && LA4_0 <= '\uFFFF')) ) {
265 							alt4=1;
266 						}
267 
268 						switch (alt4) {
269 						case 1 :
270 							// org/daisy/pipeline/css/sass/impl/Doxygen.g:
271 							{
272 							if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\b')||(input.LA(1) >= '\u000B' && input.LA(1) <= '\f')||(input.LA(1) >= '\u000E' && input.LA(1) <= '\u001F')||(input.LA(1) >= '!' && input.LA(1) <= ';')||(input.LA(1) >= '>' && input.LA(1) <= '\uFFFF') ) {
273 								input.consume();
274 							}
275 							else {
276 								MismatchedSetException mse = new MismatchedSetException(null,input);
277 								recover(mse);
278 								throw mse;
279 							}
280 							}
281 							break;
282 
283 						default :
284 							if ( cnt4 >= 1 ) break loop4;
285 							EarlyExitException eee = new EarlyExitException(4, input);
286 							throw eee;
287 						}
288 						cnt4++;
289 					}
290 
291 					// org/daisy/pipeline/css/sass/impl/Doxygen.g:292:11: ( '\\u0020' | '\\u0009' | '\\r' | '\\n' )*
292 					loop5:
293 					while (true) {
294 						int alt5=2;
295 						int LA5_0 = input.LA(1);
296 						if ( ((LA5_0 >= '\t' && LA5_0 <= '\n')||LA5_0=='\r'||LA5_0==' ') ) {
297 							alt5=1;
298 						}
299 
300 						switch (alt5) {
301 						case 1 :
302 							// org/daisy/pipeline/css/sass/impl/Doxygen.g:
303 							{
304 							if ( (input.LA(1) >= '\t' && input.LA(1) <= '\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
305 								input.consume();
306 							}
307 							else {
308 								MismatchedSetException mse = new MismatchedSetException(null,input);
309 								recover(mse);
310 								throw mse;
311 							}
312 							}
313 							break;
314 
315 						default :
316 							break loop5;
317 						}
318 					}
319 
320 					match('='); 
321 					// org/daisy/pipeline/css/sass/impl/Doxygen.g:294:11: ( '\\u0020' | '\\u0009' | '\\r' | '\\n' )*
322 					loop6:
323 					while (true) {
324 						int alt6=2;
325 						int LA6_0 = input.LA(1);
326 						if ( ((LA6_0 >= '\t' && LA6_0 <= '\n')||LA6_0=='\r'||LA6_0==' ') ) {
327 							alt6=1;
328 						}
329 
330 						switch (alt6) {
331 						case 1 :
332 							// org/daisy/pipeline/css/sass/impl/Doxygen.g:
333 							{
334 							if ( (input.LA(1) >= '\t' && input.LA(1) <= '\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
335 								input.consume();
336 							}
337 							else {
338 								MismatchedSetException mse = new MismatchedSetException(null,input);
339 								recover(mse);
340 								throw mse;
341 							}
342 							}
343 							break;
344 
345 						default :
346 							break loop6;
347 						}
348 					}
349 
350 					// org/daisy/pipeline/css/sass/impl/Doxygen.g:295:11: ( ( '\"' (~ '\"' )* '\"' ) | ( '\\'' (~ '\\'' )* '\\'' ) )
351 					int alt9=2;
352 					int LA9_0 = input.LA(1);
353 					if ( (LA9_0=='\"') ) {
354 						alt9=1;
355 					}
356 					else if ( (LA9_0=='\'') ) {
357 						alt9=2;
358 					}
359 
360 					else {
361 						NoViableAltException nvae =
362 							new NoViableAltException("", 9, 0, input);
363 						throw nvae;
364 					}
365 
366 					switch (alt9) {
367 						case 1 :
368 							// org/daisy/pipeline/css/sass/impl/Doxygen.g:296:13: ( '\"' (~ '\"' )* '\"' )
369 							{
370 							// org/daisy/pipeline/css/sass/impl/Doxygen.g:296:13: ( '\"' (~ '\"' )* '\"' )
371 							// org/daisy/pipeline/css/sass/impl/Doxygen.g:296:14: '\"' (~ '\"' )* '\"'
372 							{
373 							match('\"'); 
374 							// org/daisy/pipeline/css/sass/impl/Doxygen.g:296:18: (~ '\"' )*
375 							loop7:
376 							while (true) {
377 								int alt7=2;
378 								int LA7_0 = input.LA(1);
379 								if ( ((LA7_0 >= '\u0000' && LA7_0 <= '!')||(LA7_0 >= '#' && LA7_0 <= '\uFFFF')) ) {
380 									alt7=1;
381 								}
382 
383 								switch (alt7) {
384 								case 1 :
385 									// org/daisy/pipeline/css/sass/impl/Doxygen.g:
386 									{
387 									if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '!')||(input.LA(1) >= '#' && input.LA(1) <= '\uFFFF') ) {
388 										input.consume();
389 									}
390 									else {
391 										MismatchedSetException mse = new MismatchedSetException(null,input);
392 										recover(mse);
393 										throw mse;
394 									}
395 									}
396 									break;
397 
398 								default :
399 									break loop7;
400 								}
401 							}
402 
403 							match('\"'); 
404 							}
405 
406 							}
407 							break;
408 						case 2 :
409 							// org/daisy/pipeline/css/sass/impl/Doxygen.g:297:13: ( '\\'' (~ '\\'' )* '\\'' )
410 							{
411 							// org/daisy/pipeline/css/sass/impl/Doxygen.g:297:13: ( '\\'' (~ '\\'' )* '\\'' )
412 							// org/daisy/pipeline/css/sass/impl/Doxygen.g:297:14: '\\'' (~ '\\'' )* '\\''
413 							{
414 							match('\''); 
415 							// org/daisy/pipeline/css/sass/impl/Doxygen.g:297:19: (~ '\\'' )*
416 							loop8:
417 							while (true) {
418 								int alt8=2;
419 								int LA8_0 = input.LA(1);
420 								if ( ((LA8_0 >= '\u0000' && LA8_0 <= '&')||(LA8_0 >= '(' && LA8_0 <= '\uFFFF')) ) {
421 									alt8=1;
422 								}
423 
424 								switch (alt8) {
425 								case 1 :
426 									// org/daisy/pipeline/css/sass/impl/Doxygen.g:
427 									{
428 									if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '&')||(input.LA(1) >= '(' && input.LA(1) <= '\uFFFF') ) {
429 										input.consume();
430 									}
431 									else {
432 										MismatchedSetException mse = new MismatchedSetException(null,input);
433 										recover(mse);
434 										throw mse;
435 									}
436 									}
437 									break;
438 
439 								default :
440 									break loop8;
441 								}
442 							}
443 
444 							match('\''); 
445 							}
446 
447 							}
448 							break;
449 
450 					}
451 
452 					}
453 					break;
454 
455 				default :
456 					break loop10;
457 				}
458 			}
459 
460 			// org/daisy/pipeline/css/sass/impl/Doxygen.g:300:7: ( '\\u0020' | '\\u0009' | '\\r' | '\\n' )*
461 			loop11:
462 			while (true) {
463 				int alt11=2;
464 				int LA11_0 = input.LA(1);
465 				if ( ((LA11_0 >= '\t' && LA11_0 <= '\n')||LA11_0=='\r'||LA11_0==' ') ) {
466 					alt11=1;
467 				}
468 
469 				switch (alt11) {
470 				case 1 :
471 					// org/daisy/pipeline/css/sass/impl/Doxygen.g:
472 					{
473 					if ( (input.LA(1) >= '\t' && input.LA(1) <= '\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
474 						input.consume();
475 					}
476 					else {
477 						MismatchedSetException mse = new MismatchedSetException(null,input);
478 						recover(mse);
479 						throw mse;
480 					}
481 					}
482 					break;
483 
484 				default :
485 					break loop11;
486 				}
487 			}
488 
489 			match('>'); 
490 			}
491 
492 			state.type = _type;
493 			state.channel = _channel;
494 		}
495 		finally {
496 			// do for sure before leaving
497 		}
498 	}
499 	// $ANTLR end "XML_COMMAND_OPEN"
500 
501 	// $ANTLR start "XML_COMMAND_CLOSE"
502 	public final void mXML_COMMAND_CLOSE() throws RecognitionException {
503 		try {
504 			int _type = XML_COMMAND_CLOSE;
505 			int _channel = DEFAULT_TOKEN_CHANNEL;
506 			// org/daisy/pipeline/css/sass/impl/Doxygen.g:305:5: ( '</' (~ ( '\\u0020' | '\\u0009' | '\\r' | '\\n' | '<' | '>' | '/' ) )+ '>' )
507 			// org/daisy/pipeline/css/sass/impl/Doxygen.g:305:7: '</' (~ ( '\\u0020' | '\\u0009' | '\\r' | '\\n' | '<' | '>' | '/' ) )+ '>'
508 			{
509 			match("</"); 
510 
511 			// org/daisy/pipeline/css/sass/impl/Doxygen.g:306:7: (~ ( '\\u0020' | '\\u0009' | '\\r' | '\\n' | '<' | '>' | '/' ) )+
512 			int cnt12=0;
513 			loop12:
514 			while (true) {
515 				int alt12=2;
516 				int LA12_0 = input.LA(1);
517 				if ( ((LA12_0 >= '\u0000' && LA12_0 <= '\b')||(LA12_0 >= '\u000B' && LA12_0 <= '\f')||(LA12_0 >= '\u000E' && LA12_0 <= '\u001F')||(LA12_0 >= '!' && LA12_0 <= '.')||(LA12_0 >= '0' && LA12_0 <= ';')||LA12_0=='='||(LA12_0 >= '?' && LA12_0 <= '\uFFFF')) ) {
518 					alt12=1;
519 				}
520 
521 				switch (alt12) {
522 				case 1 :
523 					// org/daisy/pipeline/css/sass/impl/Doxygen.g:
524 					{
525 					if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\b')||(input.LA(1) >= '\u000B' && input.LA(1) <= '\f')||(input.LA(1) >= '\u000E' && input.LA(1) <= '\u001F')||(input.LA(1) >= '!' && input.LA(1) <= '.')||(input.LA(1) >= '0' && input.LA(1) <= ';')||input.LA(1)=='='||(input.LA(1) >= '?' && input.LA(1) <= '\uFFFF') ) {
526 						input.consume();
527 					}
528 					else {
529 						MismatchedSetException mse = new MismatchedSetException(null,input);
530 						recover(mse);
531 						throw mse;
532 					}
533 					}
534 					break;
535 
536 				default :
537 					if ( cnt12 >= 1 ) break loop12;
538 					EarlyExitException eee = new EarlyExitException(12, input);
539 					throw eee;
540 				}
541 				cnt12++;
542 			}
543 
544 			match('>'); 
545 			}
546 
547 			state.type = _type;
548 			state.channel = _channel;
549 		}
550 		finally {
551 			// do for sure before leaving
552 		}
553 	}
554 	// $ANTLR end "XML_COMMAND_CLOSE"
555 
556 	// $ANTLR start "S"
557 	public final void mS() throws RecognitionException {
558 		try {
559 			int _type = S;
560 			int _channel = DEFAULT_TOKEN_CHANNEL;
561 			// org/daisy/pipeline/css/sass/impl/Doxygen.g:311:5: ( ( '\\u0020' | '\\u0009' )+ )
562 			// org/daisy/pipeline/css/sass/impl/Doxygen.g:311:7: ( '\\u0020' | '\\u0009' )+
563 			{
564 			// org/daisy/pipeline/css/sass/impl/Doxygen.g:311:7: ( '\\u0020' | '\\u0009' )+
565 			int cnt13=0;
566 			loop13:
567 			while (true) {
568 				int alt13=2;
569 				int LA13_0 = input.LA(1);
570 				if ( (LA13_0=='\t'||LA13_0==' ') ) {
571 					alt13=1;
572 				}
573 
574 				switch (alt13) {
575 				case 1 :
576 					// org/daisy/pipeline/css/sass/impl/Doxygen.g:
577 					{
578 					if ( input.LA(1)=='\t'||input.LA(1)==' ' ) {
579 						input.consume();
580 					}
581 					else {
582 						MismatchedSetException mse = new MismatchedSetException(null,input);
583 						recover(mse);
584 						throw mse;
585 					}
586 					}
587 					break;
588 
589 				default :
590 					if ( cnt13 >= 1 ) break loop13;
591 					EarlyExitException eee = new EarlyExitException(13, input);
592 					throw eee;
593 				}
594 				cnt13++;
595 			}
596 
597 			}
598 
599 			state.type = _type;
600 			state.channel = _channel;
601 		}
602 		finally {
603 			// do for sure before leaving
604 		}
605 	}
606 	// $ANTLR end "S"
607 
608 	// $ANTLR start "EOL"
609 	public final void mEOL() throws RecognitionException {
610 		try {
611 			int _type = EOL;
612 			int _channel = DEFAULT_TOKEN_CHANNEL;
613 			// org/daisy/pipeline/css/sass/impl/Doxygen.g:318:5: ( ( '\\r\\n' | '\\n' | '\\r' ) ( '\\u0020' | '\\u0009' )* ( '*' ( '\\u0020' | '\\u0009' )* )? )
614 			// org/daisy/pipeline/css/sass/impl/Doxygen.g:318:7: ( '\\r\\n' | '\\n' | '\\r' ) ( '\\u0020' | '\\u0009' )* ( '*' ( '\\u0020' | '\\u0009' )* )?
615 			{
616 			// org/daisy/pipeline/css/sass/impl/Doxygen.g:318:7: ( '\\r\\n' | '\\n' | '\\r' )
617 			int alt14=3;
618 			int LA14_0 = input.LA(1);
619 			if ( (LA14_0=='\r') ) {
620 				int LA14_1 = input.LA(2);
621 				if ( (LA14_1=='\n') ) {
622 					alt14=1;
623 				}
624 
625 				else {
626 					alt14=3;
627 				}
628 
629 			}
630 			else if ( (LA14_0=='\n') ) {
631 				alt14=2;
632 			}
633 
634 			else {
635 				NoViableAltException nvae =
636 					new NoViableAltException("", 14, 0, input);
637 				throw nvae;
638 			}
639 
640 			switch (alt14) {
641 				case 1 :
642 					// org/daisy/pipeline/css/sass/impl/Doxygen.g:318:9: '\\r\\n'
643 					{
644 					match("\r\n"); 
645 
646 					}
647 					break;
648 				case 2 :
649 					// org/daisy/pipeline/css/sass/impl/Doxygen.g:319:9: '\\n'
650 					{
651 					match('\n'); 
652 					}
653 					break;
654 				case 3 :
655 					// org/daisy/pipeline/css/sass/impl/Doxygen.g:320:9: '\\r'
656 					{
657 					match('\r'); 
658 					}
659 					break;
660 
661 			}
662 
663 			// org/daisy/pipeline/css/sass/impl/Doxygen.g:321:7: ( '\\u0020' | '\\u0009' )*
664 			loop15:
665 			while (true) {
666 				int alt15=2;
667 				int LA15_0 = input.LA(1);
668 				if ( (LA15_0=='\t'||LA15_0==' ') ) {
669 					alt15=1;
670 				}
671 
672 				switch (alt15) {
673 				case 1 :
674 					// org/daisy/pipeline/css/sass/impl/Doxygen.g:
675 					{
676 					if ( input.LA(1)=='\t'||input.LA(1)==' ' ) {
677 						input.consume();
678 					}
679 					else {
680 						MismatchedSetException mse = new MismatchedSetException(null,input);
681 						recover(mse);
682 						throw mse;
683 					}
684 					}
685 					break;
686 
687 				default :
688 					break loop15;
689 				}
690 			}
691 
692 			// org/daisy/pipeline/css/sass/impl/Doxygen.g:324:7: ( '*' ( '\\u0020' | '\\u0009' )* )?
693 			int alt17=2;
694 			int LA17_0 = input.LA(1);
695 			if ( (LA17_0=='*') ) {
696 				alt17=1;
697 			}
698 			switch (alt17) {
699 				case 1 :
700 					// org/daisy/pipeline/css/sass/impl/Doxygen.g:324:9: '*' ( '\\u0020' | '\\u0009' )*
701 					{
702 					match('*'); 
703 					// org/daisy/pipeline/css/sass/impl/Doxygen.g:325:9: ( '\\u0020' | '\\u0009' )*
704 					loop16:
705 					while (true) {
706 						int alt16=2;
707 						int LA16_0 = input.LA(1);
708 						if ( (LA16_0=='\t'||LA16_0==' ') ) {
709 							alt16=1;
710 						}
711 
712 						switch (alt16) {
713 						case 1 :
714 							// org/daisy/pipeline/css/sass/impl/Doxygen.g:
715 							{
716 							if ( input.LA(1)=='\t'||input.LA(1)==' ' ) {
717 								input.consume();
718 							}
719 							else {
720 								MismatchedSetException mse = new MismatchedSetException(null,input);
721 								recover(mse);
722 								throw mse;
723 							}
724 							}
725 							break;
726 
727 						default :
728 							break loop16;
729 						}
730 					}
731 
732 					}
733 					break;
734 
735 			}
736 
737 			}
738 
739 			state.type = _type;
740 			state.channel = _channel;
741 		}
742 		finally {
743 			// do for sure before leaving
744 		}
745 	}
746 	// $ANTLR end "EOL"
747 
748 	// $ANTLR start "ANY"
749 	public final void mANY() throws RecognitionException {
750 		try {
751 			int _type = ANY;
752 			int _channel = DEFAULT_TOKEN_CHANNEL;
753 			// org/daisy/pipeline/css/sass/impl/Doxygen.g:332:5: ( . )
754 			// org/daisy/pipeline/css/sass/impl/Doxygen.g:332:7: .
755 			{
756 			matchAny(); 
757 			}
758 
759 			state.type = _type;
760 			state.channel = _channel;
761 		}
762 		finally {
763 			// do for sure before leaving
764 		}
765 	}
766 	// $ANTLR end "ANY"
767 
768 	@Override
769 	public void mTokens() throws RecognitionException {
770 		// org/daisy/pipeline/css/sass/impl/Doxygen.g:1:8: ( DOLLAR | VAR | BRIEF | CODE_FENCE | AT_COMMAND | XML_COMMAND_OPEN | XML_COMMAND_CLOSE | S | EOL | ANY )
771 		int alt18=10;
772 		int LA18_0 = input.LA(1);
773 		if ( (LA18_0=='$') ) {
774 			alt18=1;
775 		}
776 		else if ( (LA18_0=='@') ) {
777 			int LA18_2 = input.LA(2);
778 			if ( (LA18_2=='v') ) {
779 				int LA18_10 = input.LA(3);
780 				if ( (LA18_10=='a') ) {
781 					int LA18_18 = input.LA(4);
782 					if ( (LA18_18=='r') ) {
783 						int LA18_20 = input.LA(5);
784 						if ( ((LA18_20 >= '\u0000' && LA18_20 <= '\b')||(LA18_20 >= '\u000B' && LA18_20 <= '\f')||(LA18_20 >= '\u000E' && LA18_20 <= '\u001F')||(LA18_20 >= '!' && LA18_20 <= '\uFFFF')) ) {
785 							alt18=5;
786 						}
787 
788 						else {
789 							alt18=2;
790 						}
791 
792 					}
793 
794 					else {
795 						alt18=5;
796 					}
797 
798 				}
799 
800 				else {
801 					alt18=5;
802 				}
803 
804 			}
805 			else if ( (LA18_2=='b') ) {
806 				int LA18_11 = input.LA(3);
807 				if ( (LA18_11=='r') ) {
808 					int LA18_19 = input.LA(4);
809 					if ( (LA18_19=='i') ) {
810 						int LA18_21 = input.LA(5);
811 						if ( (LA18_21=='e') ) {
812 							int LA18_23 = input.LA(6);
813 							if ( (LA18_23=='f') ) {
814 								int LA18_24 = input.LA(7);
815 								if ( ((LA18_24 >= '\u0000' && LA18_24 <= '\b')||(LA18_24 >= '\u000B' && LA18_24 <= '\f')||(LA18_24 >= '\u000E' && LA18_24 <= '\u001F')||(LA18_24 >= '!' && LA18_24 <= '\uFFFF')) ) {
816 									alt18=5;
817 								}
818 
819 								else {
820 									alt18=3;
821 								}
822 
823 							}
824 
825 							else {
826 								alt18=5;
827 							}
828 
829 						}
830 
831 						else {
832 							alt18=5;
833 						}
834 
835 					}
836 
837 					else {
838 						alt18=5;
839 					}
840 
841 				}
842 
843 				else {
844 					alt18=5;
845 				}
846 
847 			}
848 			else if ( ((LA18_2 >= '\u0000' && LA18_2 <= '\b')||(LA18_2 >= '\u000B' && LA18_2 <= '\f')||(LA18_2 >= '\u000E' && LA18_2 <= '\u001F')||(LA18_2 >= '!' && LA18_2 <= 'a')||(LA18_2 >= 'c' && LA18_2 <= 'u')||(LA18_2 >= 'w' && LA18_2 <= '\uFFFF')) ) {
849 				alt18=5;
850 			}
851 
852 			else {
853 				alt18=10;
854 			}
855 
856 		}
857 		else if ( (LA18_0=='~') ) {
858 			int LA18_3 = input.LA(2);
859 			if ( (LA18_3=='~') ) {
860 				alt18=4;
861 			}
862 
863 			else {
864 				alt18=10;
865 			}
866 
867 		}
868 		else if ( (LA18_0=='<') ) {
869 			int LA18_4 = input.LA(2);
870 			if ( (LA18_4=='/') ) {
871 				alt18=7;
872 			}
873 			else if ( ((LA18_4 >= '\u0000' && LA18_4 <= '\b')||(LA18_4 >= '\u000B' && LA18_4 <= '\f')||(LA18_4 >= '\u000E' && LA18_4 <= '\u001F')||(LA18_4 >= '!' && LA18_4 <= '.')||(LA18_4 >= '0' && LA18_4 <= ';')||LA18_4=='='||(LA18_4 >= '?' && LA18_4 <= '\uFFFF')) ) {
874 				alt18=6;
875 			}
876 
877 			else {
878 				alt18=10;
879 			}
880 
881 		}
882 		else if ( (LA18_0=='\t'||LA18_0==' ') ) {
883 			alt18=8;
884 		}
885 		else if ( (LA18_0=='\r') ) {
886 			alt18=9;
887 		}
888 		else if ( (LA18_0=='\n') ) {
889 			alt18=9;
890 		}
891 		else if ( ((LA18_0 >= '\u0000' && LA18_0 <= '\b')||(LA18_0 >= '\u000B' && LA18_0 <= '\f')||(LA18_0 >= '\u000E' && LA18_0 <= '\u001F')||(LA18_0 >= '!' && LA18_0 <= '#')||(LA18_0 >= '%' && LA18_0 <= ';')||(LA18_0 >= '=' && LA18_0 <= '?')||(LA18_0 >= 'A' && LA18_0 <= '}')||(LA18_0 >= '\u007F' && LA18_0 <= '\uFFFF')) ) {
892 			alt18=10;
893 		}
894 
895 		else {
896 			NoViableAltException nvae =
897 				new NoViableAltException("", 18, 0, input);
898 			throw nvae;
899 		}
900 
901 		switch (alt18) {
902 			case 1 :
903 				// org/daisy/pipeline/css/sass/impl/Doxygen.g:1:10: DOLLAR
904 				{
905 				mDOLLAR(); 
906 
907 				}
908 				break;
909 			case 2 :
910 				// org/daisy/pipeline/css/sass/impl/Doxygen.g:1:17: VAR
911 				{
912 				mVAR(); 
913 
914 				}
915 				break;
916 			case 3 :
917 				// org/daisy/pipeline/css/sass/impl/Doxygen.g:1:21: BRIEF
918 				{
919 				mBRIEF(); 
920 
921 				}
922 				break;
923 			case 4 :
924 				// org/daisy/pipeline/css/sass/impl/Doxygen.g:1:27: CODE_FENCE
925 				{
926 				mCODE_FENCE(); 
927 
928 				}
929 				break;
930 			case 5 :
931 				// org/daisy/pipeline/css/sass/impl/Doxygen.g:1:38: AT_COMMAND
932 				{
933 				mAT_COMMAND(); 
934 
935 				}
936 				break;
937 			case 6 :
938 				// org/daisy/pipeline/css/sass/impl/Doxygen.g:1:49: XML_COMMAND_OPEN
939 				{
940 				mXML_COMMAND_OPEN(); 
941 
942 				}
943 				break;
944 			case 7 :
945 				// org/daisy/pipeline/css/sass/impl/Doxygen.g:1:66: XML_COMMAND_CLOSE
946 				{
947 				mXML_COMMAND_CLOSE(); 
948 
949 				}
950 				break;
951 			case 8 :
952 				// org/daisy/pipeline/css/sass/impl/Doxygen.g:1:84: S
953 				{
954 				mS(); 
955 
956 				}
957 				break;
958 			case 9 :
959 				// org/daisy/pipeline/css/sass/impl/Doxygen.g:1:86: EOL
960 				{
961 				mEOL(); 
962 
963 				}
964 				break;
965 			case 10 :
966 				// org/daisy/pipeline/css/sass/impl/Doxygen.g:1:90: ANY
967 				{
968 				mANY(); 
969 
970 				}
971 				break;
972 
973 		}
974 	}
975 
976 
977 	protected DFA10 dfa10 = new DFA10(this);
978 	static final String DFA10_eotS =
979 		"\3\uffff\1\2\1\uffff";
980 	static final String DFA10_eofS =
981 		"\5\uffff";
982 	static final String DFA10_minS =
983 		"\1\11\1\0\1\uffff\1\0\1\uffff";
984 	static final String DFA10_maxS =
985 		"\1\76\1\uffff\1\uffff\1\uffff\1\uffff";
986 	static final String DFA10_acceptS =
987 		"\2\uffff\1\2\1\uffff\1\1";
988 	static final String DFA10_specialS =
989 		"\1\uffff\1\1\1\uffff\1\0\1\uffff}>";
990 	static final String[] DFA10_transitionS = {
991 			"\2\1\2\uffff\1\1\22\uffff\1\1\35\uffff\1\2",
992 			"\11\4\2\1\2\4\1\1\22\4\1\1\33\4\2\uffff\1\3\uffc1\4",
993 			"",
994 			"\74\4\1\uffff\uffc3\4",
995 			""
996 	};
997 
998 	static final short[] DFA10_eot = DFA.unpackEncodedString(DFA10_eotS);
999 	static final short[] DFA10_eof = DFA.unpackEncodedString(DFA10_eofS);
1000 	static final char[] DFA10_min = DFA.unpackEncodedStringToUnsignedChars(DFA10_minS);
1001 	static final char[] DFA10_max = DFA.unpackEncodedStringToUnsignedChars(DFA10_maxS);
1002 	static final short[] DFA10_accept = DFA.unpackEncodedString(DFA10_acceptS);
1003 	static final short[] DFA10_special = DFA.unpackEncodedString(DFA10_specialS);
1004 	static final short[][] DFA10_transition;
1005 
1006 	static {
1007 		int numStates = DFA10_transitionS.length;
1008 		DFA10_transition = new short[numStates][];
1009 		for (int i=0; i<numStates; i++) {
1010 			DFA10_transition[i] = DFA.unpackEncodedString(DFA10_transitionS[i]);
1011 		}
1012 	}
1013 
1014 	protected class DFA10 extends DFA {
1015 
1016 		public DFA10(BaseRecognizer recognizer) {
1017 			this.recognizer = recognizer;
1018 			this.decisionNumber = 10;
1019 			this.eot = DFA10_eot;
1020 			this.eof = DFA10_eof;
1021 			this.min = DFA10_min;
1022 			this.max = DFA10_max;
1023 			this.accept = DFA10_accept;
1024 			this.special = DFA10_special;
1025 			this.transition = DFA10_transition;
1026 		}
1027 		@Override
1028 		public String getDescription() {
1029 			return "()* loopback of 289:7: ( ( '\\u0020' | '\\u0009' | '\\r' | '\\n' )+ (~ ( '\\u0020' | '\\u0009' | '\\r' | '\\n' | '<' | '=' ) )+ ( '\\u0020' | '\\u0009' | '\\r' | '\\n' )* '=' ( '\\u0020' | '\\u0009' | '\\r' | '\\n' )* ( ( '\"' (~ '\"' )* '\"' ) | ( '\\'' (~ '\\'' )* '\\'' ) ) )*";
1030 		}
1031 		@Override
1032 		public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
1033 			IntStream input = _input;
1034 			int _s = s;
1035 			switch ( s ) {
1036 					case 0 : 
1037 						int LA10_3 = input.LA(1);
1038 						s = -1;
1039 						if ( ((LA10_3 >= '\u0000' && LA10_3 <= ';')||(LA10_3 >= '=' && LA10_3 <= '\uFFFF')) ) {s = 4;}
1040 						else s = 2;
1041 						if ( s>=0 ) return s;
1042 						break;
1043 
1044 					case 1 : 
1045 						int LA10_1 = input.LA(1);
1046 						s = -1;
1047 						if ( (LA10_1=='>') ) {s = 3;}
1048 						else if ( ((LA10_1 >= '\t' && LA10_1 <= '\n')||LA10_1=='\r'||LA10_1==' ') ) {s = 1;}
1049 						else if ( ((LA10_1 >= '\u0000' && LA10_1 <= '\b')||(LA10_1 >= '\u000B' && LA10_1 <= '\f')||(LA10_1 >= '\u000E' && LA10_1 <= '\u001F')||(LA10_1 >= '!' && LA10_1 <= ';')||(LA10_1 >= '?' && LA10_1 <= '\uFFFF')) ) {s = 4;}
1050 						if ( s>=0 ) return s;
1051 						break;
1052 			}
1053 			NoViableAltException nvae =
1054 				new NoViableAltException(getDescription(), 10, _s, input);
1055 			error(nvae);
1056 			throw nvae;
1057 		}
1058 	}
1059 
1060 }