001    // $ANTLR 3.0.1 Creole10.g 2016-08-08 12:28:42
002    
003    /**
004     * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved.
005     *
006     * This library is free software; you can redistribute it and/or modify it under
007     * the terms of the GNU Lesser General Public License as published by the Free
008     * Software Foundation; either version 2.1 of the License, or (at your option)
009     * any later version.
010     *
011     * This library is distributed in the hope that it will be useful, but WITHOUT
012     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
013     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
014     * details.
015     */
016    
017    package com.liferay.portal.parsers.creole.parser;
018    
019    import com.liferay.portal.kernel.util.StringBundler;
020    import com.liferay.portal.parsers.creole.ast.ASTNode;
021    import com.liferay.portal.parsers.creole.ast.BaseListNode;
022    import com.liferay.portal.parsers.creole.ast.BaseParentableNode;
023    import com.liferay.portal.parsers.creole.ast.BoldTextNode;
024    import com.liferay.portal.parsers.creole.ast.CollectionNode;
025    import com.liferay.portal.parsers.creole.ast.extension.TableOfContentsNode;
026    import com.liferay.portal.parsers.creole.ast.ForcedEndOfLineNode;
027    import com.liferay.portal.parsers.creole.ast.FormattedTextNode;
028    import com.liferay.portal.parsers.creole.ast.HeadingNode;
029    import com.liferay.portal.parsers.creole.ast.HorizontalNode;
030    import com.liferay.portal.parsers.creole.ast.ImageNode;
031    import com.liferay.portal.parsers.creole.ast.ItalicTextNode;
032    import com.liferay.portal.parsers.creole.ast.ItemNode;
033    import com.liferay.portal.parsers.creole.ast.LineNode;
034    import com.liferay.portal.parsers.creole.ast.ListNode;
035    import com.liferay.portal.parsers.creole.ast.link.interwiki.C2InterwikiLinkNode;
036    import com.liferay.portal.parsers.creole.ast.link.interwiki.DokuWikiInterwikiLinkNode;
037    import com.liferay.portal.parsers.creole.ast.link.interwiki.FlickrInterwikiLinkNode;
038    import com.liferay.portal.parsers.creole.ast.link.interwiki.GoogleInterwikiLinkNode;
039    import com.liferay.portal.parsers.creole.ast.link.interwiki.InterwikiLinkNode;
040    import com.liferay.portal.parsers.creole.ast.link.interwiki.JSPWikiInterwikiLinkNode;
041    import com.liferay.portal.parsers.creole.ast.link.interwiki.MeatballInterwikiLinkNode;
042    import com.liferay.portal.parsers.creole.ast.link.interwiki.MediaWikiInterwikiLinkNode;
043    import com.liferay.portal.parsers.creole.ast.link.interwiki.MoinMoinInterwikiLinkNode;
044    import com.liferay.portal.parsers.creole.ast.link.interwiki.OddmuseInterwikiLinkNode;
045    import com.liferay.portal.parsers.creole.ast.link.interwiki.OhanaInterwikiLinkNode;
046    import com.liferay.portal.parsers.creole.ast.link.interwiki.PmWikiInterwikiLinkNode;
047    import com.liferay.portal.parsers.creole.ast.link.interwiki.PukiWikiInterwikiLinkNode;
048    import com.liferay.portal.parsers.creole.ast.link.interwiki.PurpleWikiInterwikiLinkNode;
049    import com.liferay.portal.parsers.creole.ast.link.interwiki.RadeoxInterwikiLinkNode;
050    import com.liferay.portal.parsers.creole.ast.link.interwiki.SnipSnapInterwikiLinkNode;
051    import com.liferay.portal.parsers.creole.ast.link.interwiki.TWikiInterwikiLinkNode;
052    import com.liferay.portal.parsers.creole.ast.link.interwiki.TiddlyWikiInterwikiLinkNode;
053    import com.liferay.portal.parsers.creole.ast.link.interwiki.UsemodInterwikiLinkNode;
054    import com.liferay.portal.parsers.creole.ast.link.interwiki.WikipediaInterwikiLinkNode;
055    import com.liferay.portal.parsers.creole.ast.link.interwiki.XWikiInterwikiLinkNode;
056    import com.liferay.portal.parsers.creole.ast.link.LinkNode;
057    import com.liferay.portal.parsers.creole.ast.NoWikiSectionNode;
058    import com.liferay.portal.parsers.creole.ast.OrderedListItemNode;
059    import com.liferay.portal.parsers.creole.ast.OrderedListNode;
060    import com.liferay.portal.parsers.creole.ast.ParagraphNode;
061    import com.liferay.portal.parsers.creole.ast.ScapedNode;
062    import com.liferay.portal.parsers.creole.ast.table.TableCellNode;
063    import com.liferay.portal.parsers.creole.ast.table.TableDataNode;
064    import com.liferay.portal.parsers.creole.ast.table.TableHeaderNode;
065    import com.liferay.portal.parsers.creole.ast.table.TableNode;
066    import com.liferay.portal.parsers.creole.ast.UnorderedListItemNode;
067    import com.liferay.portal.parsers.creole.ast.UnorderedListNode;
068    import com.liferay.portal.parsers.creole.ast.UnformattedTextNode;
069    import com.liferay.portal.parsers.creole.ast.WikiPageNode;
070    
071    import java.util.Stack;
072    
073    /**
074    * This is a generated file from Creole10.g. DO NOT MODIFY THIS FILE MANUALLY!!
075    * If needed, modify the grammar and rerun the ant generation task
076    * (ant build-creole-parser)
077    */
078    
079    
080    import org.antlr.runtime.*;
081    import java.util.Stack;
082    import java.util.List;
083    import java.util.ArrayList;
084    import java.util.Map;
085    import java.util.HashMap;
086    @SuppressWarnings("all")
087    public class Creole10Parser extends Parser {
088        public static final String[] tokenNames = new String[] {
089            "<invalid>", "<EOR>", "<DOWN>", "<UP>", "FORCED_END_OF_LINE", "HEADING_SECTION", "HORIZONTAL_SECTION", "LIST_ITEM", "LIST_ITEM_PART", "NOWIKI_SECTION", "SCAPE_NODE", "TEXT_NODE", "UNORDERED_LIST", "UNFORMATTED_TEXT", "WIKI", "NEWLINE", "POUND", "STAR", "EQUAL", "PIPE", "ITAL", "LINK_OPEN", "IMAGE_OPEN", "NOWIKI_OPEN", "EXTENSION", "FORCED_LINEBREAK", "ESCAPE", "NOWIKI_BLOCK_CLOSE", "NOWIKI_CLOSE", "LINK_CLOSE", "IMAGE_CLOSE", "BLANKS", "DASH", "CR", "LF", "SPACE", "TABULATOR", "BRACE_CLOSE", "COLON_SLASH", "SLASH", "INSIGNIFICANT_CHAR", "':'", "'C'", "'2'", "'D'", "'o'", "'k'", "'u'", "'W'", "'i'", "'F'", "'l'", "'c'", "'r'", "'G'", "'g'", "'e'", "'J'", "'S'", "'P'", "'M'", "'a'", "'t'", "'b'", "'d'", "'n'", "'O'", "'m'", "'s'", "'h'", "'p'", "'R'", "'x'", "'T'", "'y'", "'U'", "'X'", "'<<TableOfContents>>'", "'<<TableOfContents title='", "'\\\"'", "'>>'"
090        };
091        public static final int BLANKS=31;
092        public static final int INSIGNIFICANT_CHAR=40;
093        public static final int FORCED_LINEBREAK=25;
094        public static final int UNORDERED_LIST=12;
095        public static final int STAR=17;
096        public static final int DASH=32;
097        public static final int POUND=16;
098        public static final int HEADING_SECTION=5;
099        public static final int NOWIKI_OPEN=23;
100        public static final int FORCED_END_OF_LINE=4;
101        public static final int HORIZONTAL_SECTION=6;
102        public static final int NOWIKI_BLOCK_CLOSE=27;
103        public static final int UNFORMATTED_TEXT=13;
104        public static final int NOWIKI_SECTION=9;
105        public static final int SPACE=35;
106        public static final int NOWIKI_CLOSE=28;
107        public static final int IMAGE_OPEN=22;
108        public static final int ITAL=20;
109        public static final int EOF=-1;
110        public static final int COLON_SLASH=38;
111        public static final int LIST_ITEM=7;
112        public static final int TEXT_NODE=11;
113        public static final int WIKI=14;
114        public static final int SLASH=39;
115        public static final int ESCAPE=26;
116        public static final int NEWLINE=15;
117        public static final int BRACE_CLOSE=37;
118        public static final int SCAPE_NODE=10;
119        public static final int IMAGE_CLOSE=30;
120        public static final int EQUAL=18;
121        public static final int TABULATOR=36;
122        public static final int LINK_CLOSE=29;
123        public static final int PIPE=19;
124        public static final int LIST_ITEM_PART=8;
125        public static final int LINK_OPEN=21;
126        public static final int CR=33;
127        public static final int EXTENSION=24;
128        public static final int LF=34;
129        protected static class CountLevel_scope {
130            int level;
131            String currentMarkup;
132            String groups;
133        }
134        protected Stack CountLevel_stack = new Stack();
135    
136    
137            public Creole10Parser(TokenStream input) {
138                super(input);
139                ruleMemo = new HashMap[128+1];
140             }
141            
142    
143        public String[] getTokenNames() { return tokenNames; }
144        public String getGrammarFileName() { return "Creole10.g"; }
145    
146    
147            public void displayRecognitionError(String[] tokenNames,RecognitionException e) {
148                    String header = getErrorHeader(e);
149                    String message = getErrorMessage(e, tokenNames);
150    
151                    _errors.add(header + " " + message);
152            }
153    
154            public List<String> getErrors() {
155                    return _errors;
156            }
157    
158            public WikiPageNode getWikiPageNode() {
159                    if (_wikipage == null)
160                            throw new IllegalStateException("No succesful parsing process");
161    
162                    return _wikipage;
163            }
164    
165            protected static final String GROUPING_SEPARATOR = "-";
166    
167            protected BaseParentableNode buildAndComposeListNode(BaseParentableNode baseParentableNode, ItemNode itemNode, boolean ordered) {
168                    BaseParentableNode listNode = null;
169                    
170                    if (ordered) {
171                            listNode = new OrderedListNode(baseParentableNode);
172                    } 
173                    else {
174                            listNode = new UnorderedListNode(baseParentableNode);
175                    }
176    
177                    itemNode.setBaseParentableNode(listNode);
178                    listNode.addChildASTNode(itemNode);
179    
180                    baseParentableNode.addChildASTNode(listNode);
181    
182                    return listNode;
183            }
184    
185            private List<String> _errors = new ArrayList<String>();
186            private WikiPageNode _wikipage;
187    
188    
189    
190    
191        // $ANTLR start wikipage
192        // Creole10.g:167:1: wikipage : ( whitespaces )? p= paragraphs EOF ;
193        public final void wikipage() throws RecognitionException {
194            CollectionNode p = null;
195    
196    
197            try {
198                // Creole10.g:168:2: ( ( whitespaces )? p= paragraphs EOF )
199                // Creole10.g:168:4: ( whitespaces )? p= paragraphs EOF
200                {
201                // Creole10.g:168:4: ( whitespaces )?
202                int alt1=2;
203                int LA1_0 = input.LA(1);
204    
205                if ( (LA1_0==NEWLINE||LA1_0==BLANKS) ) {
206                    alt1=1;
207                }
208                switch (alt1) {
209                    case 1 :
210                        // Creole10.g:168:6: whitespaces
211                        {
212                        pushFollow(FOLLOW_whitespaces_in_wikipage111);
213                        whitespaces();
214                        _fsp--;
215                        if (failed) return ;
216    
217                        }
218                        break;
219    
220                }
221    
222                pushFollow(FOLLOW_paragraphs_in_wikipage119);
223                p=paragraphs();
224                _fsp--;
225                if (failed) return ;
226                if ( backtracking==0 ) {
227                   _wikipage = new WikiPageNode(p); 
228                }
229                match(input,EOF,FOLLOW_EOF_in_wikipage124); if (failed) return ;
230    
231                }
232    
233            }
234            catch (RecognitionException re) {
235                reportError(re);
236                recover(input,re);
237            }
238            finally {
239            }
240            return ;
241        }
242        // $ANTLR end wikipage
243    
244    
245        // $ANTLR start paragraphs
246        // Creole10.g:170:1: paragraphs returns [CollectionNode sections = new CollectionNode()] : (p= paragraph )* ;
247        public final CollectionNode paragraphs() throws RecognitionException {
248            CollectionNode sections =  new CollectionNode();
249    
250            ASTNode p = null;
251    
252    
253            try {
254                // Creole10.g:171:2: ( (p= paragraph )* )
255                // Creole10.g:171:4: (p= paragraph )*
256                {
257                // Creole10.g:171:4: (p= paragraph )*
258                loop2:
259                do {
260                    int alt2=2;
261                    int LA2_0 = input.LA(1);
262    
263                    if ( ((LA2_0>=FORCED_END_OF_LINE && LA2_0<=WIKI)||(LA2_0>=POUND && LA2_0<=80)) ) {
264                        alt2=1;
265                    }
266    
267    
268                    switch (alt2) {
269                    case 1 :
270                        // Creole10.g:171:5: p= paragraph
271                        {
272                        pushFollow(FOLLOW_paragraph_in_paragraphs142);
273                        p=paragraph();
274                        _fsp--;
275                        if (failed) return sections;
276                        if ( backtracking==0 ) {
277    
278                                            if (p != null){ // at this moment we ignore paragraps with blanks
279                                                    sections.add(p);
280                                            }
281                                            
282                        }
283    
284                        }
285                        break;
286    
287                    default :
288                        break loop2;
289                    }
290                } while (true);
291    
292    
293                }
294    
295            }
296            catch (RecognitionException re) {
297                reportError(re);
298                recover(input,re);
299            }
300            finally {
301            }
302            return sections;
303        }
304        // $ANTLR end paragraphs
305    
306    
307        // $ANTLR start paragraph
308        // Creole10.g:177:1: paragraph returns [ASTNode node = null] : (n= nowiki_block | blanks paragraph_separator | ( blanks )? (tof= table_of_contents | h= heading | {...}?hn= horizontalrule | l= list | t= table | tp= text_paragraph ) ( paragraph_separator )? );
309        public final ASTNode paragraph() throws RecognitionException {
310            ASTNode node =  null;
311    
312            NoWikiSectionNode n = null;
313    
314            TableOfContentsNode tof = null;
315    
316            ASTNode h = null;
317    
318            ASTNode hn = null;
319    
320            ListNode l = null;
321    
322            TableNode t = null;
323    
324            ParagraphNode tp = null;
325    
326    
327            try {
328                // Creole10.g:178:2: (n= nowiki_block | blanks paragraph_separator | ( blanks )? (tof= table_of_contents | h= heading | {...}?hn= horizontalrule | l= list | t= table | tp= text_paragraph ) ( paragraph_separator )? )
329                int alt6=3;
330                switch ( input.LA(1) ) {
331                case NOWIKI_OPEN:
332                    {
333                    int LA6_1 = input.LA(2);
334    
335                    if ( (LA6_1==NEWLINE) ) {
336                        alt6=1;
337                    }
338                    else if ( ((LA6_1>=FORCED_END_OF_LINE && LA6_1<=WIKI)||(LA6_1>=POUND && LA6_1<=80)) ) {
339                        alt6=3;
340                    }
341                    else {
342                        if (backtracking>0) {failed=true; return node;}
343                        NoViableAltException nvae =
344                            new NoViableAltException("177:1: paragraph returns [ASTNode node = null] : (n= nowiki_block | blanks paragraph_separator | ( blanks )? (tof= table_of_contents | h= heading | {...}?hn= horizontalrule | l= list | t= table | tp= text_paragraph ) ( paragraph_separator )? );", 6, 1, input);
345    
346                        throw nvae;
347                    }
348                    }
349                    break;
350                case BLANKS:
351                    {
352                    switch ( input.LA(2) ) {
353                    case NEWLINE:
354                        {
355                        alt6=2;
356                        }
357                        break;
358                    case EOF:
359                        {
360                        alt6=2;
361                        }
362                        break;
363                    case FORCED_END_OF_LINE:
364                    case HEADING_SECTION:
365                    case HORIZONTAL_SECTION:
366                    case LIST_ITEM:
367                    case LIST_ITEM_PART:
368                    case NOWIKI_SECTION:
369                    case SCAPE_NODE:
370                    case TEXT_NODE:
371                    case UNORDERED_LIST:
372                    case UNFORMATTED_TEXT:
373                    case WIKI:
374                    case POUND:
375                    case STAR:
376                    case EQUAL:
377                    case PIPE:
378                    case ITAL:
379                    case LINK_OPEN:
380                    case IMAGE_OPEN:
381                    case NOWIKI_OPEN:
382                    case EXTENSION:
383                    case FORCED_LINEBREAK:
384                    case ESCAPE:
385                    case NOWIKI_BLOCK_CLOSE:
386                    case NOWIKI_CLOSE:
387                    case LINK_CLOSE:
388                    case IMAGE_CLOSE:
389                    case BLANKS:
390                    case DASH:
391                    case CR:
392                    case LF:
393                    case SPACE:
394                    case TABULATOR:
395                    case BRACE_CLOSE:
396                    case COLON_SLASH:
397                    case SLASH:
398                    case INSIGNIFICANT_CHAR:
399                    case 41:
400                    case 42:
401                    case 43:
402                    case 44:
403                    case 45:
404                    case 46:
405                    case 47:
406                    case 48:
407                    case 49:
408                    case 50:
409                    case 51:
410                    case 52:
411                    case 53:
412                    case 54:
413                    case 55:
414                    case 56:
415                    case 57:
416                    case 58:
417                    case 59:
418                    case 60:
419                    case 61:
420                    case 62:
421                    case 63:
422                    case 64:
423                    case 65:
424                    case 66:
425                    case 67:
426                    case 68:
427                    case 69:
428                    case 70:
429                    case 71:
430                    case 72:
431                    case 73:
432                    case 74:
433                    case 75:
434                    case 76:
435                    case 77:
436                    case 78:
437                    case 79:
438                    case 80:
439                        {
440                        alt6=3;
441                        }
442                        break;
443                    default:
444                        if (backtracking>0) {failed=true; return node;}
445                        NoViableAltException nvae =
446                            new NoViableAltException("177:1: paragraph returns [ASTNode node = null] : (n= nowiki_block | blanks paragraph_separator | ( blanks )? (tof= table_of_contents | h= heading | {...}?hn= horizontalrule | l= list | t= table | tp= text_paragraph ) ( paragraph_separator )? );", 6, 2, input);
447    
448                        throw nvae;
449                    }
450    
451                    }
452                    break;
453                case FORCED_END_OF_LINE:
454                case HEADING_SECTION:
455                case HORIZONTAL_SECTION:
456                case LIST_ITEM:
457                case LIST_ITEM_PART:
458                case NOWIKI_SECTION:
459                case SCAPE_NODE:
460                case TEXT_NODE:
461                case UNORDERED_LIST:
462                case UNFORMATTED_TEXT:
463                case WIKI:
464                case POUND:
465                case STAR:
466                case EQUAL:
467                case PIPE:
468                case ITAL:
469                case LINK_OPEN:
470                case IMAGE_OPEN:
471                case EXTENSION:
472                case FORCED_LINEBREAK:
473                case ESCAPE:
474                case NOWIKI_BLOCK_CLOSE:
475                case NOWIKI_CLOSE:
476                case LINK_CLOSE:
477                case IMAGE_CLOSE:
478                case DASH:
479                case CR:
480                case LF:
481                case SPACE:
482                case TABULATOR:
483                case BRACE_CLOSE:
484                case COLON_SLASH:
485                case SLASH:
486                case INSIGNIFICANT_CHAR:
487                case 41:
488                case 42:
489                case 43:
490                case 44:
491                case 45:
492                case 46:
493                case 47:
494                case 48:
495                case 49:
496                case 50:
497                case 51:
498                case 52:
499                case 53:
500                case 54:
501                case 55:
502                case 56:
503                case 57:
504                case 58:
505                case 59:
506                case 60:
507                case 61:
508                case 62:
509                case 63:
510                case 64:
511                case 65:
512                case 66:
513                case 67:
514                case 68:
515                case 69:
516                case 70:
517                case 71:
518                case 72:
519                case 73:
520                case 74:
521                case 75:
522                case 76:
523                case 77:
524                case 78:
525                case 79:
526                case 80:
527                    {
528                    alt6=3;
529                    }
530                    break;
531                default:
532                    if (backtracking>0) {failed=true; return node;}
533                    NoViableAltException nvae =
534                        new NoViableAltException("177:1: paragraph returns [ASTNode node = null] : (n= nowiki_block | blanks paragraph_separator | ( blanks )? (tof= table_of_contents | h= heading | {...}?hn= horizontalrule | l= list | t= table | tp= text_paragraph ) ( paragraph_separator )? );", 6, 0, input);
535    
536                    throw nvae;
537                }
538    
539                switch (alt6) {
540                    case 1 :
541                        // Creole10.g:178:4: n= nowiki_block
542                        {
543                        pushFollow(FOLLOW_nowiki_block_in_paragraph163);
544                        n=nowiki_block();
545                        _fsp--;
546                        if (failed) return node;
547                        if ( backtracking==0 ) {
548                           node = n; 
549                        }
550    
551                        }
552                        break;
553                    case 2 :
554                        // Creole10.g:179:4: blanks paragraph_separator
555                        {
556                        pushFollow(FOLLOW_blanks_in_paragraph170);
557                        blanks();
558                        _fsp--;
559                        if (failed) return node;
560                        pushFollow(FOLLOW_paragraph_separator_in_paragraph173);
561                        paragraph_separator();
562                        _fsp--;
563                        if (failed) return node;
564    
565                        }
566                        break;
567                    case 3 :
568                        // Creole10.g:180:4: ( blanks )? (tof= table_of_contents | h= heading | {...}?hn= horizontalrule | l= list | t= table | tp= text_paragraph ) ( paragraph_separator )?
569                        {
570                        // Creole10.g:180:4: ( blanks )?
571                        int alt3=2;
572                        int LA3_0 = input.LA(1);
573    
574                        if ( (LA3_0==BLANKS) ) {
575                            alt3=1;
576                        }
577                        switch (alt3) {
578                            case 1 :
579                                // Creole10.g:180:6: blanks
580                                {
581                                pushFollow(FOLLOW_blanks_in_paragraph180);
582                                blanks();
583                                _fsp--;
584                                if (failed) return node;
585    
586                                }
587                                break;
588    
589                        }
590    
591                        // Creole10.g:181:4: (tof= table_of_contents | h= heading | {...}?hn= horizontalrule | l= list | t= table | tp= text_paragraph )
592                        int alt4=6;
593                        switch ( input.LA(1) ) {
594                        case 77:
595                            {
596                            alt4=1;
597                            }
598                            break;
599                        case 78:
600                            {
601                            alt4=1;
602                            }
603                            break;
604                        case EQUAL:
605                            {
606                            alt4=2;
607                            }
608                            break;
609                        case DASH:
610                            {
611                            int LA4_4 = input.LA(2);
612    
613                            if ( ( input.LA(1) == DASH && input.LA(2) == DASH &&
614                                                            input.LA(3) == DASH && input.LA(4) == DASH ) ) {
615                                alt4=3;
616                            }
617                            else if ( (true) ) {
618                                alt4=6;
619                            }
620                            else {
621                                if (backtracking>0) {failed=true; return node;}
622                                NoViableAltException nvae =
623                                    new NoViableAltException("181:4: (tof= table_of_contents | h= heading | {...}?hn= horizontalrule | l= list | t= table | tp= text_paragraph )", 4, 4, input);
624    
625                                throw nvae;
626                            }
627                            }
628                            break;
629                        case POUND:
630                            {
631                            alt4=4;
632                            }
633                            break;
634                        case STAR:
635                            {
636                            int LA4_6 = input.LA(2);
637    
638                            if ( (!( input.LA(1) != STAR || (input.LA(1) == STAR && input.LA(2) == STAR) )) ) {
639                                alt4=4;
640                            }
641                            else if ( ( input.LA(1) != STAR || (input.LA(1) == STAR && input.LA(2) == STAR) ) ) {
642                                alt4=6;
643                            }
644                            else {
645                                if (backtracking>0) {failed=true; return node;}
646                                NoViableAltException nvae =
647                                    new NoViableAltException("181:4: (tof= table_of_contents | h= heading | {...}?hn= horizontalrule | l= list | t= table | tp= text_paragraph )", 4, 6, input);
648    
649                                throw nvae;
650                            }
651                            }
652                            break;
653                        case PIPE:
654                            {
655                            alt4=5;
656                            }
657                            break;
658                        case FORCED_END_OF_LINE:
659                        case HEADING_SECTION:
660                        case HORIZONTAL_SECTION:
661                        case LIST_ITEM:
662                        case LIST_ITEM_PART:
663                        case NOWIKI_SECTION:
664                        case SCAPE_NODE:
665                        case TEXT_NODE:
666                        case UNORDERED_LIST:
667                        case UNFORMATTED_TEXT:
668                        case WIKI:
669                        case ITAL:
670                        case LINK_OPEN:
671                        case IMAGE_OPEN:
672                        case NOWIKI_OPEN:
673                        case EXTENSION:
674                        case FORCED_LINEBREAK:
675                        case ESCAPE:
676                        case NOWIKI_BLOCK_CLOSE:
677                        case NOWIKI_CLOSE:
678                        case LINK_CLOSE:
679                        case IMAGE_CLOSE:
680                        case BLANKS:
681                        case CR:
682                        case LF:
683                        case SPACE:
684                        case TABULATOR:
685                        case BRACE_CLOSE:
686                        case COLON_SLASH:
687                        case SLASH:
688                        case INSIGNIFICANT_CHAR:
689                        case 41:
690                        case 42:
691                        case 43:
692                        case 44:
693                        case 45:
694                        case 46:
695                        case 47:
696                        case 48:
697                        case 49:
698                        case 50:
699                        case 51:
700                        case 52:
701                        case 53:
702                        case 54:
703                        case 55:
704                        case 56:
705                        case 57:
706                        case 58:
707                        case 59:
708                        case 60:
709                        case 61:
710                        case 62:
711                        case 63:
712                        case 64:
713                        case 65:
714                        case 66:
715                        case 67:
716                        case 68:
717                        case 69:
718                        case 70:
719                        case 71:
720                        case 72:
721                        case 73:
722                        case 74:
723                        case 75:
724                        case 76:
725                        case 79:
726                        case 80:
727                            {
728                            alt4=6;
729                            }
730                            break;
731                        default:
732                            if (backtracking>0) {failed=true; return node;}
733                            NoViableAltException nvae =
734                                new NoViableAltException("181:4: (tof= table_of_contents | h= heading | {...}?hn= horizontalrule | l= list | t= table | tp= text_paragraph )", 4, 0, input);
735    
736                            throw nvae;
737                        }
738    
739                        switch (alt4) {
740                            case 1 :
741                                // Creole10.g:181:6: tof= table_of_contents
742                                {
743                                pushFollow(FOLLOW_table_of_contents_in_paragraph194);
744                                tof=table_of_contents();
745                                _fsp--;
746                                if (failed) return node;
747                                if ( backtracking==0 ) {
748                                  node = tof;
749                                }
750    
751                                }
752                                break;
753                            case 2 :
754                                // Creole10.g:182:6: h= heading
755                                {
756                                pushFollow(FOLLOW_heading_in_paragraph208);
757                                h=heading();
758                                _fsp--;
759                                if (failed) return node;
760                                if ( backtracking==0 ) {
761                                   node = h;
762                                }
763    
764                                }
765                                break;
766                            case 3 :
767                                // Creole10.g:183:6: {...}?hn= horizontalrule
768                                {
769                                if ( !( input.LA(1) == DASH && input.LA(2) == DASH &&
770                                                            input.LA(3) == DASH && input.LA(4) == DASH ) ) {
771                                    if (backtracking>0) {failed=true; return node;}
772                                    throw new FailedPredicateException(input, "paragraph", " input.LA(1) == DASH && input.LA(2) == DASH &&\n\t\t\t\tinput.LA(3) == DASH && input.LA(4) == DASH ");
773                                }
774                                pushFollow(FOLLOW_horizontalrule_in_paragraph227);
775                                hn=horizontalrule();
776                                _fsp--;
777                                if (failed) return node;
778                                if ( backtracking==0 ) {
779                                  node = hn;
780                                }
781    
782                                }
783                                break;
784                            case 4 :
785                                // Creole10.g:186:6: l= list
786                                {
787                                pushFollow(FOLLOW_list_in_paragraph240);
788                                l=list();
789                                _fsp--;
790                                if (failed) return node;
791                                if ( backtracking==0 ) {
792                                  node = l;
793                                }
794    
795                                }
796                                break;
797                            case 5 :
798                                // Creole10.g:187:6: t= table
799                                {
800                                pushFollow(FOLLOW_table_in_paragraph253);
801                                t=table();
802                                _fsp--;
803                                if (failed) return node;
804                                if ( backtracking==0 ) {
805                                   node = t; 
806                                }
807    
808                                }
809                                break;
810                            case 6 :
811                                // Creole10.g:188:6: tp= text_paragraph
812                                {
813                                pushFollow(FOLLOW_text_paragraph_in_paragraph266);
814                                tp=text_paragraph();
815                                _fsp--;
816                                if (failed) return node;
817                                if ( backtracking==0 ) {
818                                  node = tp; 
819                                }
820    
821                                }
822                                break;
823    
824                        }
825    
826                        // Creole10.g:189:7: ( paragraph_separator )?
827                        int alt5=2;
828                        int LA5_0 = input.LA(1);
829    
830                        if ( (LA5_0==NEWLINE) ) {
831                            alt5=1;
832                        }
833                        else if ( (LA5_0==EOF) ) {
834                            int LA5_2 = input.LA(2);
835    
836                            if ( (LA5_2==EOF) ) {
837                                int LA5_4 = input.LA(3);
838    
839                                if ( (LA5_4==EOF) ) {
840                                    alt5=1;
841                                }
842                            }
843                            else if ( ((LA5_2>=FORCED_END_OF_LINE && LA5_2<=WIKI)||(LA5_2>=POUND && LA5_2<=80)) ) {
844                                alt5=1;
845                            }
846                        }
847                        switch (alt5) {
848                            case 1 :
849                                // Creole10.g:189:9: paragraph_separator
850                                {
851                                pushFollow(FOLLOW_paragraph_separator_in_paragraph279);
852                                paragraph_separator();
853                                _fsp--;
854                                if (failed) return node;
855    
856                                }
857                                break;
858    
859                        }
860    
861    
862                        }
863                        break;
864    
865                }
866            }
867            catch (RecognitionException re) {
868                reportError(re);
869                recover(input,re);
870            }
871            finally {
872            }
873            return node;
874        }
875        // $ANTLR end paragraph
876    
877    
878        // $ANTLR start text_paragraph
879        // Creole10.g:196:1: text_paragraph returns [ ParagraphNode paragraph = new ParagraphNode() ] : (tl= text_line | ( NOWIKI_OPEN ~ ( NEWLINE ) )=>nw= nowiki_inline (te= text_element )* text_lineseparator )+ ;
880        public final ParagraphNode text_paragraph() throws RecognitionException {
881            ParagraphNode paragraph =  new ParagraphNode();
882    
883            LineNode tl = null;
884    
885            NoWikiSectionNode nw = null;
886    
887            ASTNode te = null;
888    
889    
890            try {
891                // Creole10.g:197:2: ( (tl= text_line | ( NOWIKI_OPEN ~ ( NEWLINE ) )=>nw= nowiki_inline (te= text_element )* text_lineseparator )+ )
892                // Creole10.g:197:4: (tl= text_line | ( NOWIKI_OPEN ~ ( NEWLINE ) )=>nw= nowiki_inline (te= text_element )* text_lineseparator )+
893                {
894                // Creole10.g:197:4: (tl= text_line | ( NOWIKI_OPEN ~ ( NEWLINE ) )=>nw= nowiki_inline (te= text_element )* text_lineseparator )+
895                int cnt8=0;
896                loop8:
897                do {
898                    int alt8=3;
899                    switch ( input.LA(1) ) {
900                    case NOWIKI_OPEN:
901                        {
902                        int LA8_2 = input.LA(2);
903    
904                        if ( (synpred1()) ) {
905                            alt8=2;
906                        }
907    
908    
909                        }
910                        break;
911                    case BLANKS:
912                        {
913                        alt8=1;
914                        }
915                        break;
916                    case 77:
917                        {
918                        alt8=1;
919                        }
920                        break;
921                    case 78:
922                        {
923                        alt8=1;
924                        }
925                        break;
926                    case DASH:
927                        {
928                        alt8=1;
929                        }
930                        break;
931                    case STAR:
932                        {
933                        int LA8_7 = input.LA(2);
934    
935                        if ( ( input.LA(1) != STAR || (input.LA(1) == STAR && input.LA(2) == STAR) ) ) {
936                            alt8=1;
937                        }
938    
939    
940                        }
941                        break;
942                    case ITAL:
943                        {
944                        int LA8_8 = input.LA(2);
945    
946                        if ( ( input.LA(1) != STAR || (input.LA(1) == STAR && input.LA(2) == STAR) ) ) {
947                            alt8=1;
948                        }
949    
950    
951                        }
952                        break;
953                    case FORCED_END_OF_LINE:
954                    case HEADING_SECTION:
955                    case HORIZONTAL_SECTION:
956                    case LIST_ITEM:
957                    case LIST_ITEM_PART:
958                    case NOWIKI_SECTION:
959                    case SCAPE_NODE:
960                    case TEXT_NODE:
961                    case UNORDERED_LIST:
962                    case UNFORMATTED_TEXT:
963                    case WIKI:
964                    case NOWIKI_BLOCK_CLOSE:
965                    case NOWIKI_CLOSE:
966                    case LINK_CLOSE:
967                    case IMAGE_CLOSE:
968                    case CR:
969                    case LF:
970                    case SPACE:
971                    case TABULATOR:
972                    case BRACE_CLOSE:
973                    case COLON_SLASH:
974                    case SLASH:
975                    case INSIGNIFICANT_CHAR:
976                    case 41:
977                    case 42:
978                    case 43:
979                    case 44:
980                    case 45:
981                    case 46:
982                    case 47:
983                    case 48:
984                    case 49:
985                    case 50:
986                    case 51:
987                    case 52:
988                    case 53:
989                    case 54:
990                    case 55:
991                    case 56:
992                    case 57:
993                    case 58:
994                    case 59:
995                    case 60:
996                    case 61:
997                    case 62:
998                    case 63:
999                    case 64:
1000                    case 65:
1001                    case 66:
1002                    case 67:
1003                    case 68:
1004                    case 69:
1005                    case 70:
1006                    case 71:
1007                    case 72:
1008                    case 73:
1009                    case 74:
1010                    case 75:
1011                    case 76:
1012                    case 79:
1013                    case 80:
1014                        {
1015                        alt8=1;
1016                        }
1017                        break;
1018                    case FORCED_LINEBREAK:
1019                        {
1020                        alt8=1;
1021                        }
1022                        break;
1023                    case ESCAPE:
1024                        {
1025                        alt8=1;
1026                        }
1027                        break;
1028                    case LINK_OPEN:
1029                        {
1030                        alt8=1;
1031                        }
1032                        break;
1033                    case IMAGE_OPEN:
1034                        {
1035                        alt8=1;
1036                        }
1037                        break;
1038                    case EXTENSION:
1039                        {
1040                        alt8=1;
1041                        }
1042                        break;
1043    
1044                    }
1045    
1046                    switch (alt8) {
1047                    case 1 :
1048                        // Creole10.g:197:6: tl= text_line
1049                        {
1050                        pushFollow(FOLLOW_text_line_in_text_paragraph307);
1051                        tl=text_line();
1052                        _fsp--;
1053                        if (failed) return paragraph;
1054                        if ( backtracking==0 ) {
1055                            paragraph.addChildASTNode(tl);  
1056                        }
1057    
1058                        }
1059                        break;
1060                    case 2 :
1061                        // Creole10.g:198:5: ( NOWIKI_OPEN ~ ( NEWLINE ) )=>nw= nowiki_inline (te= text_element )* text_lineseparator
1062                        {
1063                        pushFollow(FOLLOW_nowiki_inline_in_text_paragraph339);
1064                        nw=nowiki_inline();
1065                        _fsp--;
1066                        if (failed) return paragraph;
1067                        if ( backtracking==0 ) {
1068                          paragraph.addChildASTNode(nw);
1069                        }
1070                        // Creole10.g:199:66: (te= text_element )*
1071                        loop7:
1072                        do {
1073                            int alt7=2;
1074                            int LA7_0 = input.LA(1);
1075    
1076                            if ( ((LA7_0>=FORCED_END_OF_LINE && LA7_0<=WIKI)||(LA7_0>=POUND && LA7_0<=80)) ) {
1077                                alt7=1;
1078                            }
1079    
1080    
1081                            switch (alt7) {
1082                            case 1 :
1083                                // Creole10.g:199:68: te= text_element
1084                                {
1085                                pushFollow(FOLLOW_text_element_in_text_paragraph350);
1086                                te=text_element();
1087                                _fsp--;
1088                                if (failed) return paragraph;
1089                                if ( backtracking==0 ) {
1090                                  paragraph.addChildASTNode(te);
1091                                }
1092    
1093                                }
1094                                break;
1095    
1096                            default :
1097                                break loop7;
1098                            }
1099                        } while (true);
1100    
1101                        pushFollow(FOLLOW_text_lineseparator_in_text_paragraph359);
1102                        text_lineseparator();
1103                        _fsp--;
1104                        if (failed) return paragraph;
1105    
1106                        }
1107                        break;
1108    
1109                    default :
1110                        if ( cnt8 >= 1 ) break loop8;
1111                        if (backtracking>0) {failed=true; return paragraph;}
1112                            EarlyExitException eee =
1113                                new EarlyExitException(8, input);
1114                            throw eee;
1115                    }
1116                    cnt8++;
1117                } while (true);
1118    
1119    
1120                }
1121    
1122            }
1123            catch (RecognitionException re) {
1124                reportError(re);
1125                recover(input,re);
1126            }
1127            finally {
1128            }
1129            return paragraph;
1130        }
1131        // $ANTLR end text_paragraph
1132    
1133    
1134        // $ANTLR start text_line
1135        // Creole10.g:202:1: text_line returns [LineNode line = new LineNode()] : first= text_firstelement (element= text_element )* text_lineseparator ;
1136        public final LineNode text_line() throws RecognitionException {
1137            LineNode line =  new LineNode();
1138    
1139            ASTNode first = null;
1140    
1141            ASTNode element = null;
1142    
1143    
1144            try {
1145                // Creole10.g:203:2: (first= text_firstelement (element= text_element )* text_lineseparator )
1146                // Creole10.g:203:4: first= text_firstelement (element= text_element )* text_lineseparator
1147                {
1148                pushFollow(FOLLOW_text_firstelement_in_text_line382);
1149                first=text_firstelement();
1150                _fsp--;
1151                if (failed) return line;
1152                if ( backtracking==0 ) {
1153    
1154                                                                                            if (first != null) { // recovering from errors
1155                                                                                                    line.addChildASTNode(first);
1156                                                                                            }
1157                                                                                    
1158                }
1159                // Creole10.g:208:9: (element= text_element )*
1160                loop9:
1161                do {
1162                    int alt9=2;
1163                    int LA9_0 = input.LA(1);
1164    
1165                    if ( ((LA9_0>=FORCED_END_OF_LINE && LA9_0<=WIKI)||(LA9_0>=POUND && LA9_0<=80)) ) {
1166                        alt9=1;
1167                    }
1168    
1169    
1170                    switch (alt9) {
1171                    case 1 :
1172                        // Creole10.g:208:11: element= text_element
1173                        {
1174                        pushFollow(FOLLOW_text_element_in_text_line401);
1175                        element=text_element();
1176                        _fsp--;
1177                        if (failed) return line;
1178                        if ( backtracking==0 ) {
1179    
1180                                                                                    if (element != null) // recovering from errors
1181                                                                                            line.addChildASTNode(element);
1182                                                                            
1183                        }
1184    
1185                        }
1186                        break;
1187    
1188                    default :
1189                        break loop9;
1190                    }
1191                } while (true);
1192    
1193                pushFollow(FOLLOW_text_lineseparator_in_text_line415);
1194                text_lineseparator();
1195                _fsp--;
1196                if (failed) return line;
1197    
1198                }
1199    
1200            }
1201            catch (RecognitionException re) {
1202                reportError(re);
1203                recover(input,re);
1204            }
1205            finally {
1206            }
1207            return line;
1208        }
1209        // $ANTLR end text_line
1210    
1211    
1212        // $ANTLR start text_firstelement
1213        // Creole10.g:214:1: text_firstelement returns [ASTNode item = null] : ({...}?tf= text_formattedelement | tu= text_first_unformattedelement );
1214        public final ASTNode text_firstelement() throws RecognitionException {
1215            ASTNode item =  null;
1216    
1217            FormattedTextNode tf = null;
1218    
1219            ASTNode tu = null;
1220    
1221    
1222            try {
1223                // Creole10.g:215:2: ({...}?tf= text_formattedelement | tu= text_first_unformattedelement )
1224                int alt10=2;
1225                int LA10_0 = input.LA(1);
1226    
1227                if ( (LA10_0==STAR||LA10_0==ITAL) ) {
1228                    alt10=1;
1229                }
1230                else if ( ((LA10_0>=FORCED_END_OF_LINE && LA10_0<=WIKI)||(LA10_0>=LINK_OPEN && LA10_0<=IMAGE_OPEN)||(LA10_0>=EXTENSION && LA10_0<=80)) ) {
1231                    alt10=2;
1232                }
1233                else {
1234                    if (backtracking>0) {failed=true; return item;}
1235                    NoViableAltException nvae =
1236                        new NoViableAltException("214:1: text_firstelement returns [ASTNode item = null] : ({...}?tf= text_formattedelement | tu= text_first_unformattedelement );", 10, 0, input);
1237    
1238                    throw nvae;
1239                }
1240                switch (alt10) {
1241                    case 1 :
1242                        // Creole10.g:215:4: {...}?tf= text_formattedelement
1243                        {
1244                        if ( !( input.LA(1) != STAR || (input.LA(1) == STAR && input.LA(2) == STAR) ) ) {
1245                            if (backtracking>0) {failed=true; return item;}
1246                            throw new FailedPredicateException(input, "text_firstelement", " input.LA(1) != STAR || (input.LA(1) == STAR && input.LA(2) == STAR) ");
1247                        }
1248                        pushFollow(FOLLOW_text_formattedelement_in_text_firstelement437);
1249                        tf=text_formattedelement();
1250                        _fsp--;
1251                        if (failed) return item;
1252                        if ( backtracking==0 ) {
1253                           item = tf; 
1254                        }
1255    
1256                        }
1257                        break;
1258                    case 2 :
1259                        // Creole10.g:217:4: tu= text_first_unformattedelement
1260                        {
1261                        pushFollow(FOLLOW_text_first_unformattedelement_in_text_firstelement448);
1262                        tu=text_first_unformattedelement();
1263                        _fsp--;
1264                        if (failed) return item;
1265                        if ( backtracking==0 ) {
1266                           item = tu; 
1267                        }
1268    
1269                        }
1270                        break;
1271    
1272                }
1273            }
1274            catch (RecognitionException re) {
1275                reportError(re);
1276                recover(input,re);
1277            }
1278            finally {
1279            }
1280            return item;
1281        }
1282        // $ANTLR end text_firstelement
1283    
1284    
1285        // $ANTLR start text_formattedelement
1286        // Creole10.g:219:1: text_formattedelement returns [FormattedTextNode item = null] : ( ital_markup ic= text_italcontent ( ( NEWLINE )? ital_markup )? | bold_markup bc= text_boldcontent ( ( NEWLINE )? bold_markup )? );
1287        public final FormattedTextNode text_formattedelement() throws RecognitionException {
1288            FormattedTextNode item =  null;
1289    
1290            CollectionNode ic = null;
1291    
1292            CollectionNode bc = null;
1293    
1294    
1295            try {
1296                // Creole10.g:220:2: ( ital_markup ic= text_italcontent ( ( NEWLINE )? ital_markup )? | bold_markup bc= text_boldcontent ( ( NEWLINE )? bold_markup )? )
1297                int alt15=2;
1298                int LA15_0 = input.LA(1);
1299    
1300                if ( (LA15_0==ITAL) ) {
1301                    alt15=1;
1302                }
1303                else if ( (LA15_0==STAR) ) {
1304                    alt15=2;
1305                }
1306                else {
1307                    if (backtracking>0) {failed=true; return item;}
1308                    NoViableAltException nvae =
1309                        new NoViableAltException("219:1: text_formattedelement returns [FormattedTextNode item = null] : ( ital_markup ic= text_italcontent ( ( NEWLINE )? ital_markup )? | bold_markup bc= text_boldcontent ( ( NEWLINE )? bold_markup )? );", 15, 0, input);
1310    
1311                    throw nvae;
1312                }
1313                switch (alt15) {
1314                    case 1 :
1315                        // Creole10.g:220:4: ital_markup ic= text_italcontent ( ( NEWLINE )? ital_markup )?
1316                        {
1317                        pushFollow(FOLLOW_ital_markup_in_text_formattedelement464);
1318                        ital_markup();
1319                        _fsp--;
1320                        if (failed) return item;
1321                        pushFollow(FOLLOW_text_italcontent_in_text_formattedelement470);
1322                        ic=text_italcontent();
1323                        _fsp--;
1324                        if (failed) return item;
1325                        if ( backtracking==0 ) {
1326                           item = new ItalicTextNode(ic); 
1327                        }
1328                        // Creole10.g:220:81: ( ( NEWLINE )? ital_markup )?
1329                        int alt12=2;
1330                        int LA12_0 = input.LA(1);
1331    
1332                        if ( (LA12_0==NEWLINE) ) {
1333                            int LA12_1 = input.LA(2);
1334    
1335                            if ( (LA12_1==ITAL) ) {
1336                                alt12=1;
1337                            }
1338                        }
1339                        else if ( (LA12_0==ITAL) ) {
1340                            alt12=1;
1341                        }
1342                        switch (alt12) {
1343                            case 1 :
1344                                // Creole10.g:220:83: ( NEWLINE )? ital_markup
1345                                {
1346                                // Creole10.g:220:83: ( NEWLINE )?
1347                                int alt11=2;
1348                                int LA11_0 = input.LA(1);
1349    
1350                                if ( (LA11_0==NEWLINE) ) {
1351                                    alt11=1;
1352                                }
1353                                switch (alt11) {
1354                                    case 1 :
1355                                        // Creole10.g:220:85: NEWLINE
1356                                        {
1357                                        match(input,NEWLINE,FOLLOW_NEWLINE_in_text_formattedelement479); if (failed) return item;
1358    
1359                                        }
1360                                        break;
1361    
1362                                }
1363    
1364                                pushFollow(FOLLOW_ital_markup_in_text_formattedelement485);
1365                                ital_markup();
1366                                _fsp--;
1367                                if (failed) return item;
1368    
1369                                }
1370                                break;
1371    
1372                        }
1373    
1374    
1375                        }
1376                        break;
1377                    case 2 :
1378                        // Creole10.g:221:4: bold_markup bc= text_boldcontent ( ( NEWLINE )? bold_markup )?
1379                        {
1380                        pushFollow(FOLLOW_bold_markup_in_text_formattedelement493);
1381                        bold_markup();
1382                        _fsp--;
1383                        if (failed) return item;
1384                        pushFollow(FOLLOW_text_boldcontent_in_text_formattedelement500);
1385                        bc=text_boldcontent();
1386                        _fsp--;
1387                        if (failed) return item;
1388                        if ( backtracking==0 ) {
1389                          item = new BoldTextNode(bc); 
1390                        }
1391                        // Creole10.g:221:79: ( ( NEWLINE )? bold_markup )?
1392                        int alt14=2;
1393                        int LA14_0 = input.LA(1);
1394    
1395                        if ( (LA14_0==NEWLINE) ) {
1396                            int LA14_1 = input.LA(2);
1397    
1398                            if ( (LA14_1==STAR) ) {
1399                                int LA14_4 = input.LA(3);
1400    
1401                                if ( (LA14_4==STAR) ) {
1402                                    alt14=1;
1403                                }
1404                            }
1405                        }
1406                        else if ( (LA14_0==STAR) ) {
1407                            int LA14_2 = input.LA(2);
1408    
1409                            if ( (LA14_2==STAR) ) {
1410                                alt14=1;
1411                            }
1412                        }
1413                        switch (alt14) {
1414                            case 1 :
1415                                // Creole10.g:221:81: ( NEWLINE )? bold_markup
1416                                {
1417                                // Creole10.g:221:81: ( NEWLINE )?
1418                                int alt13=2;
1419                                int LA13_0 = input.LA(1);
1420    
1421                                if ( (LA13_0==NEWLINE) ) {
1422                                    alt13=1;
1423                                }
1424                                switch (alt13) {
1425                                    case 1 :
1426                                        // Creole10.g:221:83: NEWLINE
1427                                        {
1428                                        match(input,NEWLINE,FOLLOW_NEWLINE_in_text_formattedelement509); if (failed) return item;
1429    
1430                                        }
1431                                        break;
1432    
1433                                }
1434    
1435                                pushFollow(FOLLOW_bold_markup_in_text_formattedelement515);
1436                                bold_markup();
1437                                _fsp--;
1438                                if (failed) return item;
1439    
1440                                }
1441                                break;
1442    
1443                        }
1444    
1445    
1446                        }
1447                        break;
1448    
1449                }
1450            }
1451            catch (RecognitionException re) {
1452                reportError(re);
1453                recover(input,re);
1454            }
1455            finally {
1456            }
1457            return item;
1458        }
1459        // $ANTLR end text_formattedelement
1460    
1461    
1462        // $ANTLR start text_boldcontent
1463        // Creole10.g:223:1: text_boldcontent returns [ CollectionNode text = new CollectionNode() ] : ( ( NEWLINE )? (p= text_boldcontentpart )* | EOF );
1464        public final CollectionNode text_boldcontent() throws RecognitionException {
1465            CollectionNode text =  new CollectionNode();
1466    
1467            FormattedTextNode p = null;
1468    
1469    
1470            try {
1471                // Creole10.g:224:2: ( ( NEWLINE )? (p= text_boldcontentpart )* | EOF )
1472                int alt18=2;
1473                int LA18_0 = input.LA(1);
1474    
1475                if ( ((LA18_0>=FORCED_END_OF_LINE && LA18_0<=80)) ) {
1476                    alt18=1;
1477                }
1478                else if ( (LA18_0==EOF) ) {
1479                    alt18=1;
1480                }
1481                else {
1482                    if (backtracking>0) {failed=true; return text;}
1483                    NoViableAltException nvae =
1484                        new NoViableAltException("223:1: text_boldcontent returns [ CollectionNode text = new CollectionNode() ] : ( ( NEWLINE )? (p= text_boldcontentpart )* | EOF );", 18, 0, input);
1485    
1486                    throw nvae;
1487                }
1488                switch (alt18) {
1489                    case 1 :
1490                        // Creole10.g:224:4: ( NEWLINE )? (p= text_boldcontentpart )*
1491                        {
1492                        // Creole10.g:224:4: ( NEWLINE )?
1493                        int alt16=2;
1494                        int LA16_0 = input.LA(1);
1495    
1496                        if ( (LA16_0==NEWLINE) ) {
1497                            alt16=1;
1498                        }
1499                        switch (alt16) {
1500                            case 1 :
1501                                // Creole10.g:224:6: NEWLINE
1502                                {
1503                                match(input,NEWLINE,FOLLOW_NEWLINE_in_text_boldcontent534); if (failed) return text;
1504    
1505                                }
1506                                break;
1507    
1508                        }
1509    
1510                        // Creole10.g:224:18: (p= text_boldcontentpart )*
1511                        loop17:
1512                        do {
1513                            int alt17=2;
1514                            switch ( input.LA(1) ) {
1515                            case STAR:
1516                                {
1517                                int LA17_2 = input.LA(2);
1518    
1519                                if ( ( input.LA(2) != STAR ) ) {
1520                                    alt17=1;
1521                                }
1522    
1523    
1524                                }
1525                                break;
1526                            case FORCED_END_OF_LINE:
1527                            case HEADING_SECTION:
1528                            case HORIZONTAL_SECTION:
1529                            case LIST_ITEM:
1530                            case LIST_ITEM_PART:
1531                            case NOWIKI_SECTION:
1532                            case SCAPE_NODE:
1533                            case TEXT_NODE:
1534                            case UNORDERED_LIST:
1535                            case UNFORMATTED_TEXT:
1536                            case WIKI:
1537                            case POUND:
1538                            case EQUAL:
1539                            case PIPE:
1540                            case NOWIKI_BLOCK_CLOSE:
1541                            case NOWIKI_CLOSE:
1542                            case LINK_CLOSE:
1543                            case IMAGE_CLOSE:
1544                            case BLANKS:
1545                            case DASH:
1546                            case CR:
1547                            case LF:
1548                            case SPACE:
1549                            case TABULATOR:
1550                            case BRACE_CLOSE:
1551                            case COLON_SLASH:
1552                            case SLASH:
1553                            case INSIGNIFICANT_CHAR:
1554                            case 41:
1555                            case 42:
1556                            case 43:
1557                            case 44:
1558                            case 45:
1559                            case 46:
1560                            case 47:
1561                            case 48:
1562                            case 49:
1563                            case 50:
1564                            case 51:
1565                            case 52:
1566                            case 53:
1567                            case 54:
1568                            case 55:
1569                            case 56:
1570                            case 57:
1571                            case 58:
1572                            case 59:
1573                            case 60:
1574                            case 61:
1575                            case 62:
1576                            case 63:
1577                            case 64:
1578                            case 65:
1579                            case 66:
1580                            case 67:
1581                            case 68:
1582                            case 69:
1583                            case 70:
1584                            case 71:
1585                            case 72:
1586                            case 73:
1587                            case 74:
1588                            case 75:
1589                            case 76:
1590                            case 77:
1591                            case 78:
1592                            case 79:
1593                            case 80:
1594                                {
1595                                alt17=1;
1596                                }
1597                                break;
1598                            case FORCED_LINEBREAK:
1599                                {
1600                                alt17=1;
1601                                }
1602                                break;
1603                            case ESCAPE:
1604                                {
1605                                alt17=1;
1606                                }
1607                                break;
1608                            case LINK_OPEN:
1609                                {
1610                                alt17=1;
1611                                }
1612                                break;
1613                            case IMAGE_OPEN:
1614                                {
1615                                alt17=1;
1616                                }
1617                                break;
1618                            case EXTENSION:
1619                                {
1620                                alt17=1;
1621                                }
1622                                break;
1623                            case NOWIKI_OPEN:
1624                                {
1625                                alt17=1;
1626                                }
1627                                break;
1628                            case ITAL:
1629                                {
1630                                alt17=1;
1631                                }
1632                                break;
1633    
1634                            }
1635    
1636                            switch (alt17) {
1637                            case 1 :
1638                                // Creole10.g:224:20: p= text_boldcontentpart
1639                                {
1640                                pushFollow(FOLLOW_text_boldcontentpart_in_text_boldcontent546);
1641                                p=text_boldcontentpart();
1642                                _fsp--;
1643                                if (failed) return text;
1644                                if ( backtracking==0 ) {
1645                                   text.add(p); 
1646                                }
1647    
1648                                }
1649                                break;
1650    
1651                            default :
1652                                break loop17;
1653                            }
1654                        } while (true);
1655    
1656    
1657                        }
1658                        break;
1659                    case 2 :
1660                        // Creole10.g:225:4: EOF
1661                        {
1662                        match(input,EOF,FOLLOW_EOF_in_text_boldcontent557); if (failed) return text;
1663    
1664                        }
1665                        break;
1666    
1667                }
1668            }
1669            catch (RecognitionException re) {
1670                reportError(re);
1671                recover(input,re);
1672            }
1673            finally {
1674            }
1675            return text;
1676        }
1677        // $ANTLR end text_boldcontent
1678    
1679    
1680        // $ANTLR start text_italcontent
1681        // Creole10.g:227:1: text_italcontent returns [ CollectionNode text = new CollectionNode() ] : ( ( NEWLINE )? (p= text_italcontentpart )* | EOF );
1682        public final CollectionNode text_italcontent() throws RecognitionException {
1683            CollectionNode text =  new CollectionNode();
1684    
1685            FormattedTextNode p = null;
1686    
1687    
1688            try {
1689                // Creole10.g:228:2: ( ( NEWLINE )? (p= text_italcontentpart )* | EOF )
1690                int alt21=2;
1691                int LA21_0 = input.LA(1);
1692    
1693                if ( ((LA21_0>=FORCED_END_OF_LINE && LA21_0<=80)) ) {
1694                    alt21=1;
1695                }
1696                else if ( (LA21_0==EOF) ) {
1697                    alt21=1;
1698                }
1699                else {
1700                    if (backtracking>0) {failed=true; return text;}
1701                    NoViableAltException nvae =
1702                        new NoViableAltException("227:1: text_italcontent returns [ CollectionNode text = new CollectionNode() ] : ( ( NEWLINE )? (p= text_italcontentpart )* | EOF );", 21, 0, input);
1703    
1704                    throw nvae;
1705                }
1706                switch (alt21) {
1707                    case 1 :
1708                        // Creole10.g:228:4: ( NEWLINE )? (p= text_italcontentpart )*
1709                        {
1710                        // Creole10.g:228:4: ( NEWLINE )?
1711                        int alt19=2;
1712                        int LA19_0 = input.LA(1);
1713    
1714                        if ( (LA19_0==NEWLINE) ) {
1715                            alt19=1;
1716                        }
1717                        switch (alt19) {
1718                            case 1 :
1719                                // Creole10.g:228:6: NEWLINE
1720                                {
1721                                match(input,NEWLINE,FOLLOW_NEWLINE_in_text_italcontent573); if (failed) return text;
1722    
1723                                }
1724                                break;
1725    
1726                        }
1727    
1728                        // Creole10.g:228:18: (p= text_italcontentpart )*
1729                        loop20:
1730                        do {
1731                            int alt20=2;
1732                            switch ( input.LA(1) ) {
1733                            case STAR:
1734                                {
1735                                alt20=1;
1736                                }
1737                                break;
1738                            case FORCED_END_OF_LINE:
1739                            case HEADING_SECTION:
1740                            case HORIZONTAL_SECTION:
1741                            case LIST_ITEM:
1742                            case LIST_ITEM_PART:
1743                            case NOWIKI_SECTION:
1744                            case SCAPE_NODE:
1745                            case TEXT_NODE:
1746                            case UNORDERED_LIST:
1747                            case UNFORMATTED_TEXT:
1748                            case WIKI:
1749                            case POUND:
1750                            case EQUAL:
1751                            case PIPE:
1752                            case NOWIKI_BLOCK_CLOSE:
1753                            case NOWIKI_CLOSE:
1754                            case LINK_CLOSE:
1755                            case IMAGE_CLOSE:
1756                            case BLANKS:
1757                            case DASH:
1758                            case CR:
1759                            case LF:
1760                            case SPACE:
1761                            case TABULATOR:
1762                            case BRACE_CLOSE:
1763                            case COLON_SLASH:
1764                            case SLASH:
1765                            case INSIGNIFICANT_CHAR:
1766                            case 41:
1767                            case 42:
1768                            case 43:
1769                            case 44:
1770                            case 45:
1771                            case 46:
1772                            case 47:
1773                            case 48:
1774                            case 49:
1775                            case 50:
1776                            case 51:
1777                            case 52:
1778                            case 53:
1779                            case 54:
1780                            case 55:
1781                            case 56:
1782                            case 57:
1783                            case 58:
1784                            case 59:
1785                            case 60:
1786                            case 61:
1787                            case 62:
1788                            case 63:
1789                            case 64:
1790                            case 65:
1791                            case 66:
1792                            case 67:
1793                            case 68:
1794                            case 69:
1795                            case 70:
1796                            case 71:
1797                            case 72:
1798                            case 73:
1799                            case 74:
1800                            case 75:
1801                            case 76:
1802                            case 77:
1803                            case 78:
1804                            case 79:
1805                            case 80:
1806                                {
1807                                alt20=1;
1808                                }
1809                                break;
1810                            case FORCED_LINEBREAK:
1811                                {
1812                                alt20=1;
1813                                }
1814                                break;
1815                            case ESCAPE:
1816                                {
1817                                alt20=1;
1818                                }
1819                                break;
1820                            case LINK_OPEN:
1821                                {
1822                                alt20=1;
1823                                }
1824                                break;
1825                            case IMAGE_OPEN:
1826                                {
1827                                alt20=1;
1828                                }
1829                                break;
1830                            case EXTENSION:
1831                                {
1832                                alt20=1;
1833                                }
1834                                break;
1835                            case NOWIKI_OPEN:
1836                                {
1837                                alt20=1;
1838                                }
1839                                break;
1840    
1841                            }
1842    
1843                            switch (alt20) {
1844                            case 1 :
1845                                // Creole10.g:228:20: p= text_italcontentpart
1846                                {
1847                                pushFollow(FOLLOW_text_italcontentpart_in_text_italcontent585);
1848                                p=text_italcontentpart();
1849                                _fsp--;
1850                                if (failed) return text;
1851                                if ( backtracking==0 ) {
1852                                   text.add(p); 
1853                                }
1854    
1855                                }
1856                                break;
1857    
1858                            default :
1859                                break loop20;
1860                            }
1861                        } while (true);
1862    
1863    
1864                        }
1865                        break;
1866                    case 2 :
1867                        // Creole10.g:229:4: EOF
1868                        {
1869                        match(input,EOF,FOLLOW_EOF_in_text_italcontent596); if (failed) return text;
1870    
1871                        }
1872                        break;
1873    
1874                }
1875            }
1876            catch (RecognitionException re) {
1877                reportError(re);
1878                recover(input,re);
1879            }
1880            finally {
1881            }
1882            return text;
1883        }
1884        // $ANTLR end text_italcontent
1885    
1886    
1887        // $ANTLR start text_element
1888        // Creole10.g:231:1: text_element returns [ASTNode item = null] : ( onestar tu1= text_unformattedelement | tu2= text_unformattedelement onestar | tf= text_formattedelement );
1889        public final ASTNode text_element() throws RecognitionException {
1890            ASTNode item =  null;
1891    
1892            ASTNode tu1 = null;
1893    
1894            ASTNode tu2 = null;
1895    
1896            FormattedTextNode tf = null;
1897    
1898    
1899            try {
1900                // Creole10.g:232:2: ( onestar tu1= text_unformattedelement | tu2= text_unformattedelement onestar | tf= text_formattedelement )
1901                int alt22=3;
1902                switch ( input.LA(1) ) {
1903                case STAR:
1904                    {
1905                    int LA22_1 = input.LA(2);
1906    
1907                    if ( ( input.LA(2) != STAR ) ) {
1908                        alt22=1;
1909                    }
1910                    else if ( (true) ) {
1911                        alt22=3;
1912                    }
1913                    else {
1914                        if (backtracking>0) {failed=true; return item;}
1915                        NoViableAltException nvae =
1916                            new NoViableAltException("231:1: text_element returns [ASTNode item = null] : ( onestar tu1= text_unformattedelement | tu2= text_unformattedelement onestar | tf= text_formattedelement );", 22, 1, input);
1917    
1918                        throw nvae;
1919                    }
1920                    }
1921                    break;
1922                case FORCED_END_OF_LINE:
1923                case HEADING_SECTION:
1924                case HORIZONTAL_SECTION:
1925                case LIST_ITEM:
1926                case LIST_ITEM_PART:
1927                case NOWIKI_SECTION:
1928                case SCAPE_NODE:
1929                case TEXT_NODE:
1930                case UNORDERED_LIST:
1931                case UNFORMATTED_TEXT:
1932                case WIKI:
1933                case POUND:
1934                case EQUAL:
1935                case PIPE:
1936                case NOWIKI_BLOCK_CLOSE:
1937                case NOWIKI_CLOSE:
1938                case LINK_CLOSE:
1939                case IMAGE_CLOSE:
1940                case BLANKS:
1941                case DASH:
1942                case CR:
1943                case LF:
1944                case SPACE:
1945                case TABULATOR:
1946                case BRACE_CLOSE:
1947                case COLON_SLASH:
1948                case SLASH:
1949                case INSIGNIFICANT_CHAR:
1950                case 41:
1951                case 42:
1952                case 43:
1953                case 44:
1954                case 45:
1955                case 46:
1956                case 47:
1957                case 48:
1958                case 49:
1959                case 50:
1960                case 51:
1961                case 52:
1962                case 53:
1963                case 54:
1964                case 55:
1965                case 56:
1966                case 57:
1967                case 58:
1968                case 59:
1969                case 60:
1970                case 61:
1971                case 62:
1972                case 63:
1973                case 64:
1974                case 65:
1975                case 66:
1976                case 67:
1977                case 68:
1978                case 69:
1979                case 70:
1980                case 71:
1981                case 72:
1982                case 73:
1983                case 74:
1984                case 75:
1985                case 76:
1986                case 77:
1987                case 78:
1988                case 79:
1989                case 80:
1990                    {
1991                    alt22=1;
1992                    }
1993                    break;
1994                case FORCED_LINEBREAK:
1995                    {
1996                    alt22=1;
1997                    }
1998                    break;
1999                case ESCAPE:
2000                    {
2001                    alt22=1;
2002                    }
2003                    break;
2004                case LINK_OPEN:
2005                    {
2006                    alt22=1;
2007                    }
2008                    break;
2009                case IMAGE_OPEN:
2010                    {
2011                    alt22=1;
2012                    }
2013                    break;
2014                case EXTENSION:
2015                    {
2016                    alt22=1;
2017                    }
2018                    break;
2019                case NOWIKI_OPEN:
2020                    {
2021                    alt22=1;
2022                    }
2023                    break;
2024                case ITAL:
2025                    {
2026                    alt22=3;
2027                    }
2028                    break;
2029                default:
2030                    if (backtracking>0) {failed=true; return item;}
2031                    NoViableAltException nvae =
2032                        new NoViableAltException("231:1: text_element returns [ASTNode item = null] : ( onestar tu1= text_unformattedelement | tu2= text_unformattedelement onestar | tf= text_formattedelement );", 22, 0, input);
2033    
2034                    throw nvae;
2035                }
2036    
2037                switch (alt22) {
2038                    case 1 :
2039                        // Creole10.g:232:4: onestar tu1= text_unformattedelement
2040                        {
2041                        pushFollow(FOLLOW_onestar_in_text_element610);
2042                        onestar();
2043                        _fsp--;
2044                        if (failed) return item;
2045                        pushFollow(FOLLOW_text_unformattedelement_in_text_element617);
2046                        tu1=text_unformattedelement();
2047                        _fsp--;
2048                        if (failed) return item;
2049                        if ( backtracking==0 ) {
2050                           item = tu1; 
2051                        }
2052    
2053                        }
2054                        break;
2055                    case 2 :
2056                        // Creole10.g:233:4: tu2= text_unformattedelement onestar
2057                        {
2058                        pushFollow(FOLLOW_text_unformattedelement_in_text_element628);
2059                        tu2=text_unformattedelement();
2060                        _fsp--;
2061                        if (failed) return item;
2062                        pushFollow(FOLLOW_onestar_in_text_element631);
2063                        onestar();
2064                        _fsp--;
2065                        if (failed) return item;
2066                        if ( backtracking==0 ) {
2067                           item = tu2; 
2068                        }
2069    
2070                        }
2071                        break;
2072                    case 3 :
2073                        // Creole10.g:234:4: tf= text_formattedelement
2074                        {
2075                        pushFollow(FOLLOW_text_formattedelement_in_text_element642);
2076                        tf=text_formattedelement();
2077                        _fsp--;
2078                        if (failed) return item;
2079                        if ( backtracking==0 ) {
2080                           item = tf; 
2081                        }
2082    
2083                        }
2084                        break;
2085    
2086                }
2087            }
2088            catch (RecognitionException re) {
2089                reportError(re);
2090                recover(input,re);
2091            }
2092            finally {
2093            }
2094            return item;
2095        }
2096        // $ANTLR end text_element
2097    
2098    
2099        // $ANTLR start text_boldcontentpart
2100        // Creole10.g:237:1: text_boldcontentpart returns [FormattedTextNode node = null] : ( ital_markup t= text_bolditalcontent ( ital_markup )? | tf= text_formattedcontent );
2101        public final FormattedTextNode text_boldcontentpart() throws RecognitionException {
2102            FormattedTextNode node =  null;
2103    
2104            ASTNode t = null;
2105    
2106            CollectionNode tf = null;
2107    
2108    
2109            try {
2110                // Creole10.g:238:2: ( ital_markup t= text_bolditalcontent ( ital_markup )? | tf= text_formattedcontent )
2111                int alt24=2;
2112                int LA24_0 = input.LA(1);
2113    
2114                if ( (LA24_0==ITAL) ) {
2115                    alt24=1;
2116                }
2117                else if ( ((LA24_0>=FORCED_END_OF_LINE && LA24_0<=WIKI)||(LA24_0>=POUND && LA24_0<=PIPE)||(LA24_0>=LINK_OPEN && LA24_0<=80)) ) {
2118                    alt24=2;
2119                }
2120                else {
2121                    if (backtracking>0) {failed=true; return node;}
2122                    NoViableAltException nvae =
2123                        new NoViableAltException("237:1: text_boldcontentpart returns [FormattedTextNode node = null] : ( ital_markup t= text_bolditalcontent ( ital_markup )? | tf= text_formattedcontent );", 24, 0, input);
2124    
2125                    throw nvae;
2126                }
2127                switch (alt24) {
2128                    case 1 :
2129                        // Creole10.g:238:4: ital_markup t= text_bolditalcontent ( ital_markup )?
2130                        {
2131                        pushFollow(FOLLOW_ital_markup_in_text_boldcontentpart659);
2132                        ital_markup();
2133                        _fsp--;
2134                        if (failed) return node;
2135                        pushFollow(FOLLOW_text_bolditalcontent_in_text_boldcontentpart666);
2136                        t=text_bolditalcontent();
2137                        _fsp--;
2138                        if (failed) return node;
2139                        if ( backtracking==0 ) {
2140                          node = new ItalicTextNode(t); 
2141                        }
2142                        // Creole10.g:238:84: ( ital_markup )?
2143                        int alt23=2;
2144                        int LA23_0 = input.LA(1);
2145    
2146                        if ( (LA23_0==ITAL) ) {
2147                            alt23=1;
2148                        }
2149                        switch (alt23) {
2150                            case 1 :
2151                                // Creole10.g:238:86: ital_markup
2152                                {
2153                                pushFollow(FOLLOW_ital_markup_in_text_boldcontentpart673);
2154                                ital_markup();
2155                                _fsp--;
2156                                if (failed) return node;
2157    
2158                                }
2159                                break;
2160    
2161                        }
2162    
2163    
2164                        }
2165                        break;
2166                    case 2 :
2167                        // Creole10.g:239:4: tf= text_formattedcontent
2168                        {
2169                        pushFollow(FOLLOW_text_formattedcontent_in_text_boldcontentpart685);
2170                        tf=text_formattedcontent();
2171                        _fsp--;
2172                        if (failed) return node;
2173                        if ( backtracking==0 ) {
2174                          node = new FormattedTextNode(tf); 
2175                        }
2176    
2177                        }
2178                        break;
2179    
2180                }
2181            }
2182            catch (RecognitionException re) {
2183                reportError(re);
2184                recover(input,re);
2185            }
2186            finally {
2187            }
2188            return node;
2189        }
2190        // $ANTLR end text_boldcontentpart
2191    
2192    
2193        // $ANTLR start text_italcontentpart
2194        // Creole10.g:241:1: text_italcontentpart returns [FormattedTextNode node = null] : ( bold_markup t= text_bolditalcontent ( bold_markup )? | tf= text_formattedcontent );
2195        public final FormattedTextNode text_italcontentpart() throws RecognitionException {
2196            FormattedTextNode node =  null;
2197    
2198            ASTNode t = null;
2199    
2200            CollectionNode tf = null;
2201    
2202    
2203            try {
2204                // Creole10.g:242:2: ( bold_markup t= text_bolditalcontent ( bold_markup )? | tf= text_formattedcontent )
2205                int alt26=2;
2206                int LA26_0 = input.LA(1);
2207    
2208                if ( (LA26_0==STAR) ) {
2209                    int LA26_1 = input.LA(2);
2210    
2211                    if ( (LA26_1==STAR) ) {
2212                        alt26=1;
2213                    }
2214                    else if ( ((LA26_1>=FORCED_END_OF_LINE && LA26_1<=WIKI)||LA26_1==POUND||(LA26_1>=EQUAL && LA26_1<=PIPE)||(LA26_1>=LINK_OPEN && LA26_1<=80)) ) {
2215                        alt26=2;
2216                    }
2217                    else {
2218                        if (backtracking>0) {failed=true; return node;}
2219                        NoViableAltException nvae =
2220                            new NoViableAltException("241:1: text_italcontentpart returns [FormattedTextNode node = null] : ( bold_markup t= text_bolditalcontent ( bold_markup )? | tf= text_formattedcontent );", 26, 1, input);
2221    
2222                        throw nvae;
2223                    }
2224                }
2225                else if ( ((LA26_0>=FORCED_END_OF_LINE && LA26_0<=WIKI)||LA26_0==POUND||(LA26_0>=EQUAL && LA26_0<=PIPE)||(LA26_0>=LINK_OPEN && LA26_0<=80)) ) {
2226                    alt26=2;
2227                }
2228                else {
2229                    if (backtracking>0) {failed=true; return node;}
2230                    NoViableAltException nvae =
2231                        new NoViableAltException("241:1: text_italcontentpart returns [FormattedTextNode node = null] : ( bold_markup t= text_bolditalcontent ( bold_markup )? | tf= text_formattedcontent );", 26, 0, input);
2232    
2233                    throw nvae;
2234                }
2235                switch (alt26) {
2236                    case 1 :
2237                        // Creole10.g:242:4: bold_markup t= text_bolditalcontent ( bold_markup )?
2238                        {
2239                        pushFollow(FOLLOW_bold_markup_in_text_italcontentpart701);
2240                        bold_markup();
2241                        _fsp--;
2242                        if (failed) return node;
2243                        pushFollow(FOLLOW_text_bolditalcontent_in_text_italcontentpart708);
2244                        t=text_bolditalcontent();
2245                        _fsp--;
2246                        if (failed) return node;
2247                        if ( backtracking==0 ) {
2248                           node = new BoldTextNode(t); 
2249                        }
2250                        // Creole10.g:242:82: ( bold_markup )?
2251                        int alt25=2;
2252                        int LA25_0 = input.LA(1);
2253    
2254                        if ( (LA25_0==STAR) ) {
2255                            int LA25_1 = input.LA(2);
2256    
2257                            if ( (LA25_1==STAR) ) {
2258                                alt25=1;
2259                            }
2260                        }
2261                        switch (alt25) {
2262                            case 1 :
2263                                // Creole10.g:242:84: bold_markup
2264                                {
2265                                pushFollow(FOLLOW_bold_markup_in_text_italcontentpart714);
2266                                bold_markup();
2267                                _fsp--;
2268                                if (failed) return node;
2269    
2270                                }
2271                                break;
2272    
2273                        }
2274    
2275    
2276                        }
2277                        break;
2278                    case 2 :
2279                        // Creole10.g:243:4: tf= text_formattedcontent
2280                        {
2281                        pushFollow(FOLLOW_text_formattedcontent_in_text_italcontentpart725);
2282                        tf=text_formattedcontent();
2283                        _fsp--;
2284                        if (failed) return node;
2285                        if ( backtracking==0 ) {
2286                          node = new FormattedTextNode(tf); 
2287                        }
2288    
2289                        }
2290                        break;
2291    
2292                }
2293            }
2294            catch (RecognitionException re) {
2295                reportError(re);
2296                recover(input,re);
2297            }
2298            finally {
2299            }
2300            return node;
2301        }
2302        // $ANTLR end text_italcontentpart
2303    
2304    
2305        // $ANTLR start text_bolditalcontent
2306        // Creole10.g:245:1: text_bolditalcontent returns [ASTNode items = null] : ( ( NEWLINE )? (tf= text_formattedcontent )? | EOF );
2307        public final ASTNode text_bolditalcontent() throws RecognitionException {
2308            ASTNode items =  null;
2309    
2310            CollectionNode tf = null;
2311    
2312    
2313            try {
2314                // Creole10.g:246:2: ( ( NEWLINE )? (tf= text_formattedcontent )? | EOF )
2315                int alt29=2;
2316                int LA29_0 = input.LA(1);
2317    
2318                if ( ((LA29_0>=FORCED_END_OF_LINE && LA29_0<=80)) ) {
2319                    alt29=1;
2320                }
2321                else if ( (LA29_0==EOF) ) {
2322                    alt29=1;
2323                }
2324                else {
2325                    if (backtracking>0) {failed=true; return items;}
2326                    NoViableAltException nvae =
2327                        new NoViableAltException("245:1: text_bolditalcontent returns [ASTNode items = null] : ( ( NEWLINE )? (tf= text_formattedcontent )? | EOF );", 29, 0, input);
2328    
2329                    throw nvae;
2330                }
2331                switch (alt29) {
2332                    case 1 :
2333                        // Creole10.g:246:4: ( NEWLINE )? (tf= text_formattedcontent )?
2334                        {
2335                        // Creole10.g:246:4: ( NEWLINE )?
2336                        int alt27=2;
2337                        int LA27_0 = input.LA(1);
2338    
2339                        if ( (LA27_0==NEWLINE) ) {
2340                            alt27=1;
2341                        }
2342                        switch (alt27) {
2343                            case 1 :
2344                                // Creole10.g:246:6: NEWLINE
2345                                {
2346                                match(input,NEWLINE,FOLLOW_NEWLINE_in_text_bolditalcontent743); if (failed) return items;
2347    
2348                                }
2349                                break;
2350    
2351                        }
2352    
2353                        // Creole10.g:246:18: (tf= text_formattedcontent )?
2354                        int alt28=2;
2355                        switch ( input.LA(1) ) {
2356                            case STAR:
2357                                {
2358                                int LA28_1 = input.LA(2);
2359    
2360                                if ( ( input.LA(2) != STAR ) ) {
2361                                    alt28=1;
2362                                }
2363                                }
2364                                break;
2365                            case FORCED_END_OF_LINE:
2366                            case HEADING_SECTION:
2367                            case HORIZONTAL_SECTION:
2368                            case LIST_ITEM:
2369                            case LIST_ITEM_PART:
2370                            case NOWIKI_SECTION:
2371                            case SCAPE_NODE:
2372                            case TEXT_NODE:
2373                            case UNORDERED_LIST:
2374                            case UNFORMATTED_TEXT:
2375                            case WIKI:
2376                            case POUND:
2377                            case EQUAL:
2378                            case PIPE:
2379                            case NOWIKI_BLOCK_CLOSE:
2380                            case NOWIKI_CLOSE:
2381                            case LINK_CLOSE:
2382                            case IMAGE_CLOSE:
2383                            case BLANKS:
2384                            case DASH:
2385                            case CR:
2386                            case LF:
2387                            case SPACE:
2388                            case TABULATOR:
2389                            case BRACE_CLOSE:
2390                            case COLON_SLASH:
2391                            case SLASH:
2392                            case INSIGNIFICANT_CHAR:
2393                            case 41:
2394                            case 42:
2395                            case 43:
2396                            case 44:
2397                            case 45:
2398                            case 46:
2399                            case 47:
2400                            case 48:
2401                            case 49:
2402                            case 50:
2403                            case 51:
2404                            case 52:
2405                            case 53:
2406                            case 54:
2407                            case 55:
2408                            case 56:
2409                            case 57:
2410                            case 58:
2411                            case 59:
2412                            case 60:
2413                            case 61:
2414                            case 62:
2415                            case 63:
2416                            case 64:
2417                            case 65:
2418                            case 66:
2419                            case 67:
2420                            case 68:
2421                            case 69:
2422                            case 70:
2423                            case 71:
2424                            case 72:
2425                            case 73:
2426                            case 74:
2427                            case 75:
2428                            case 76:
2429                            case 77:
2430                            case 78:
2431                            case 79:
2432                            case 80:
2433                                {
2434                                alt28=1;
2435                                }
2436                                break;
2437                            case FORCED_LINEBREAK:
2438                                {
2439                                alt28=1;
2440                                }
2441                                break;
2442                            case ESCAPE:
2443                                {
2444                                alt28=1;
2445                                }
2446                                break;
2447                            case LINK_OPEN:
2448                                {
2449                                alt28=1;
2450                                }
2451                                break;
2452                            case IMAGE_OPEN:
2453                                {
2454                                alt28=1;
2455                                }
2456                                break;
2457                            case EXTENSION:
2458                                {
2459                                alt28=1;
2460                                }
2461                                break;
2462                            case NOWIKI_OPEN:
2463                                {
2464                                alt28=1;
2465                                }
2466                                break;
2467                        }
2468    
2469                        switch (alt28) {
2470                            case 1 :
2471                                // Creole10.g:246:20: tf= text_formattedcontent
2472                                {
2473                                pushFollow(FOLLOW_text_formattedcontent_in_text_bolditalcontent754);
2474                                tf=text_formattedcontent();
2475                                _fsp--;
2476                                if (failed) return items;
2477                                if ( backtracking==0 ) {
2478                                  items = tf; 
2479                                }
2480    
2481                                }
2482                                break;
2483    
2484                        }
2485    
2486    
2487                        }
2488                        break;
2489                    case 2 :
2490                        // Creole10.g:247:4: EOF
2491                        {
2492                        match(input,EOF,FOLLOW_EOF_in_text_bolditalcontent764); if (failed) return items;
2493    
2494                        }
2495                        break;
2496    
2497                }
2498            }
2499            catch (RecognitionException re) {
2500                reportError(re);
2501                recover(input,re);
2502            }
2503            finally {
2504            }
2505            return items;
2506        }
2507        // $ANTLR end text_bolditalcontent
2508    
2509    
2510        // $ANTLR start text_formattedcontent
2511        // Creole10.g:249:1: text_formattedcontent returns [CollectionNode items = new CollectionNode ()] : onestar (t= text_unformattedelement onestar ( text_linebreak )? )+ ;
2512        public final CollectionNode text_formattedcontent() throws RecognitionException {
2513            CollectionNode items =  new CollectionNode ();
2514    
2515            ASTNode t = null;
2516    
2517    
2518            try {
2519                // Creole10.g:250:2: ( onestar (t= text_unformattedelement onestar ( text_linebreak )? )+ )
2520                // Creole10.g:250:4: onestar (t= text_unformattedelement onestar ( text_linebreak )? )+
2521                {
2522                pushFollow(FOLLOW_onestar_in_text_formattedcontent778);
2523                onestar();
2524                _fsp--;
2525                if (failed) return items;
2526                // Creole10.g:250:13: (t= text_unformattedelement onestar ( text_linebreak )? )+
2527                int cnt31=0;
2528                loop31:
2529                do {
2530                    int alt31=2;
2531                    switch ( input.LA(1) ) {
2532                    case FORCED_END_OF_LINE:
2533                    case HEADING_SECTION:
2534                    case HORIZONTAL_SECTION:
2535                    case LIST_ITEM:
2536                    case LIST_ITEM_PART:
2537                    case NOWIKI_SECTION:
2538                    case SCAPE_NODE:
2539                    case TEXT_NODE:
2540                    case UNORDERED_LIST:
2541                    case UNFORMATTED_TEXT:
2542                    case WIKI:
2543                    case POUND:
2544                    case EQUAL:
2545                    case PIPE:
2546                    case NOWIKI_BLOCK_CLOSE:
2547                    case NOWIKI_CLOSE:
2548                    case LINK_CLOSE:
2549                    case IMAGE_CLOSE:
2550                    case BLANKS:
2551                    case DASH:
2552                    case CR:
2553                    case LF:
2554                    case SPACE:
2555                    case TABULATOR:
2556                    case BRACE_CLOSE:
2557                    case COLON_SLASH:
2558                    case SLASH:
2559                    case INSIGNIFICANT_CHAR:
2560                    case 41:
2561                    case 42:
2562                    case 43:
2563                    case 44:
2564                    case 45:
2565                    case 46:
2566                    case 47:
2567                    case 48:
2568                    case 49:
2569                    case 50:
2570                    case 51:
2571                    case 52:
2572                    case 53:
2573                    case 54:
2574                    case 55:
2575                    case 56:
2576                    case 57:
2577                    case 58:
2578                    case 59:
2579                    case 60:
2580                    case 61:
2581                    case 62:
2582                    case 63:
2583                    case 64:
2584                    case 65:
2585                    case 66:
2586                    case 67:
2587                    case 68:
2588                    case 69:
2589                    case 70:
2590                    case 71:
2591                    case 72:
2592                    case 73:
2593                    case 74:
2594                    case 75:
2595                    case 76:
2596                    case 77:
2597                    case 78:
2598                    case 79:
2599                    case 80:
2600                        {
2601                        alt31=1;
2602                        }
2603                        break;
2604                    case FORCED_LINEBREAK:
2605                        {
2606                        alt31=1;
2607                        }
2608                        break;
2609                    case ESCAPE:
2610                        {
2611                        alt31=1;
2612                        }
2613                        break;
2614                    case LINK_OPEN:
2615                        {
2616                        alt31=1;
2617                        }
2618                        break;
2619                    case IMAGE_OPEN:
2620                        {
2621                        alt31=1;
2622                        }
2623                        break;
2624                    case EXTENSION:
2625                        {
2626                        alt31=1;
2627                        }
2628                        break;
2629                    case NOWIKI_OPEN:
2630                        {
2631                        alt31=1;
2632                        }
2633                        break;
2634    
2635                    }
2636    
2637                    switch (alt31) {
2638                    case 1 :
2639                        // Creole10.g:250:15: t= text_unformattedelement onestar ( text_linebreak )?
2640                        {
2641                        pushFollow(FOLLOW_text_unformattedelement_in_text_formattedcontent787);
2642                        t=text_unformattedelement();
2643                        _fsp--;
2644                        if (failed) return items;
2645                        if ( backtracking==0 ) {
2646                          items.add(t); 
2647                        }
2648                        pushFollow(FOLLOW_onestar_in_text_formattedcontent792);
2649                        onestar();
2650                        _fsp--;
2651                        if (failed) return items;
2652                        // Creole10.g:250:81: ( text_linebreak )?
2653                        int alt30=2;
2654                        int LA30_0 = input.LA(1);
2655    
2656                        if ( (LA30_0==NEWLINE) ) {
2657                            int LA30_1 = input.LA(2);
2658    
2659                            if ( ( input.LA(2) != DASH && input.LA(2) != POUND &&
2660                                            input.LA(2) != EQUAL && input.LA(2) != NEWLINE ) ) {
2661                                alt30=1;
2662                            }
2663                        }
2664                        else if ( (LA30_0==EOF) ) {
2665                            int LA30_2 = input.LA(2);
2666    
2667                            if ( ( input.LA(2) != DASH && input.LA(2) != POUND &&
2668                                            input.LA(2) != EQUAL && input.LA(2) != NEWLINE ) ) {
2669                                alt30=1;
2670                            }
2671                        }
2672                        switch (alt30) {
2673                            case 1 :
2674                                // Creole10.g:250:83: text_linebreak
2675                                {
2676                                pushFollow(FOLLOW_text_linebreak_in_text_formattedcontent797);
2677                                text_linebreak();
2678                                _fsp--;
2679                                if (failed) return items;
2680    
2681                                }
2682                                break;
2683    
2684                        }
2685    
2686    
2687                        }
2688                        break;
2689    
2690                    default :
2691                        if ( cnt31 >= 1 ) break loop31;
2692                        if (backtracking>0) {failed=true; return items;}
2693                            EarlyExitException eee =
2694                                new EarlyExitException(31, input);
2695                            throw eee;
2696                    }
2697                    cnt31++;
2698                } while (true);
2699    
2700    
2701                }
2702    
2703            }
2704            catch (RecognitionException re) {
2705                reportError(re);
2706                recover(input,re);
2707            }
2708            finally {
2709            }
2710            return items;
2711        }
2712        // $ANTLR end text_formattedcontent
2713    
2714    
2715        // $ANTLR start text_linebreak
2716        // Creole10.g:252:1: text_linebreak : {...}? text_lineseparator ;
2717        public final void text_linebreak() throws RecognitionException {
2718            try {
2719                // Creole10.g:253:2: ({...}? text_lineseparator )
2720                // Creole10.g:253:4: {...}? text_lineseparator
2721                {
2722                if ( !( input.LA(2) != DASH && input.LA(2) != POUND &&
2723                            input.LA(2) != EQUAL && input.LA(2) != NEWLINE ) ) {
2724                    if (backtracking>0) {failed=true; return ;}
2725                    throw new FailedPredicateException(input, "text_linebreak", " input.LA(2) != DASH && input.LA(2) != POUND &&\n\t\tinput.LA(2) != EQUAL && input.LA(2) != NEWLINE ");
2726                }
2727                pushFollow(FOLLOW_text_lineseparator_in_text_linebreak817);
2728                text_lineseparator();
2729                _fsp--;
2730                if (failed) return ;
2731    
2732                }
2733    
2734            }
2735            catch (RecognitionException re) {
2736                reportError(re);
2737                recover(input,re);
2738            }
2739            finally {
2740            }
2741            return ;
2742        }
2743        // $ANTLR end text_linebreak
2744    
2745    
2746        // $ANTLR start text_inlineelement
2747        // Creole10.g:257:1: text_inlineelement returns [ASTNode element = null ] : (tf= text_first_inlineelement | nwi= nowiki_inline );
2748        public final ASTNode text_inlineelement() throws RecognitionException {
2749            ASTNode element =  null;
2750    
2751            ASTNode tf = null;
2752    
2753            NoWikiSectionNode nwi = null;
2754    
2755    
2756            try {
2757                // Creole10.g:258:2: (tf= text_first_inlineelement | nwi= nowiki_inline )
2758                int alt32=2;
2759                int LA32_0 = input.LA(1);
2760    
2761                if ( ((LA32_0>=LINK_OPEN && LA32_0<=IMAGE_OPEN)||LA32_0==EXTENSION) ) {
2762                    alt32=1;
2763                }
2764                else if ( (LA32_0==NOWIKI_OPEN) ) {
2765                    alt32=2;
2766                }
2767                else {
2768                    if (backtracking>0) {failed=true; return element;}
2769                    NoViableAltException nvae =
2770                        new NoViableAltException("257:1: text_inlineelement returns [ASTNode element = null ] : (tf= text_first_inlineelement | nwi= nowiki_inline );", 32, 0, input);
2771    
2772                    throw nvae;
2773                }
2774                switch (alt32) {
2775                    case 1 :
2776                        // Creole10.g:258:4: tf= text_first_inlineelement
2777                        {
2778                        pushFollow(FOLLOW_text_first_inlineelement_in_text_inlineelement835);
2779                        tf=text_first_inlineelement();
2780                        _fsp--;
2781                        if (failed) return element;
2782                        if ( backtracking==0 ) {
2783                          element = tf; 
2784                        }
2785    
2786                        }
2787                        break;
2788                    case 2 :
2789                        // Creole10.g:259:4: nwi= nowiki_inline
2790                        {
2791                        pushFollow(FOLLOW_nowiki_inline_in_text_inlineelement846);
2792                        nwi=nowiki_inline();
2793                        _fsp--;
2794                        if (failed) return element;
2795                        if ( backtracking==0 ) {
2796                          element = nwi; 
2797                        }
2798    
2799                        }
2800                        break;
2801    
2802                }
2803            }
2804            catch (RecognitionException re) {
2805                reportError(re);
2806                recover(input,re);
2807            }
2808            finally {
2809            }
2810            return element;
2811        }
2812        // $ANTLR end text_inlineelement
2813    
2814    
2815        // $ANTLR start text_first_inlineelement
2816        // Creole10.g:261:1: text_first_inlineelement returns [ASTNode element = null] : (l= link | i= image | e= extension );
2817        public final ASTNode text_first_inlineelement() throws RecognitionException {
2818            ASTNode element =  null;
2819    
2820            LinkNode l = null;
2821    
2822            ImageNode i = null;
2823    
2824            ASTNode e = null;
2825    
2826    
2827            try {
2828                // Creole10.g:262:2: (l= link | i= image | e= extension )
2829                int alt33=3;
2830                switch ( input.LA(1) ) {
2831                case LINK_OPEN:
2832                    {
2833                    alt33=1;
2834                    }
2835                    break;
2836                case IMAGE_OPEN:
2837                    {
2838                    alt33=2;
2839                    }
2840                    break;
2841                case EXTENSION:
2842                    {
2843                    alt33=3;
2844                    }
2845                    break;
2846                default:
2847                    if (backtracking>0) {failed=true; return element;}
2848                    NoViableAltException nvae =
2849                        new NoViableAltException("261:1: text_first_inlineelement returns [ASTNode element = null] : (l= link | i= image | e= extension );", 33, 0, input);
2850    
2851                    throw nvae;
2852                }
2853    
2854                switch (alt33) {
2855                    case 1 :
2856                        // Creole10.g:263:3: l= link
2857                        {
2858                        pushFollow(FOLLOW_link_in_text_first_inlineelement867);
2859                        l=link();
2860                        _fsp--;
2861                        if (failed) return element;
2862                        if ( backtracking==0 ) {
2863                          element = l;
2864                        }
2865    
2866                        }
2867                        break;
2868                    case 2 :
2869                        // Creole10.g:264:4: i= image
2870                        {
2871                        pushFollow(FOLLOW_image_in_text_first_inlineelement878);
2872                        i=image();
2873                        _fsp--;
2874                        if (failed) return element;
2875                        if ( backtracking==0 ) {
2876                          element = i;
2877                        }
2878    
2879                        }
2880                        break;
2881                    case 3 :
2882                        // Creole10.g:265:4: e= extension
2883                        {
2884                        pushFollow(FOLLOW_extension_in_text_first_inlineelement888);
2885                        e=extension();
2886                        _fsp--;
2887                        if (failed) return element;
2888                        if ( backtracking==0 ) {
2889                          element = e;
2890                        }
2891    
2892                        }
2893                        break;
2894    
2895                }
2896            }
2897            catch (RecognitionException re) {
2898                reportError(re);
2899                recover(input,re);
2900            }
2901            finally {
2902            }
2903            return element;
2904        }
2905        // $ANTLR end text_first_inlineelement
2906    
2907    
2908        // $ANTLR start text_first_unformattedelement
2909        // Creole10.g:267:1: text_first_unformattedelement returns [ASTNode item = null] : (tfu= text_first_unformatted | tfi= text_first_inlineelement );
2910        public final ASTNode text_first_unformattedelement() throws RecognitionException {
2911            ASTNode item =  null;
2912    
2913            CollectionNode tfu = null;
2914    
2915            ASTNode tfi = null;
2916    
2917    
2918            try {
2919                // Creole10.g:268:2: (tfu= text_first_unformatted | tfi= text_first_inlineelement )
2920                int alt34=2;
2921                int LA34_0 = input.LA(1);
2922    
2923                if ( ((LA34_0>=FORCED_END_OF_LINE && LA34_0<=WIKI)||(LA34_0>=FORCED_LINEBREAK && LA34_0<=80)) ) {
2924                    alt34=1;
2925                }
2926                else if ( ((LA34_0>=LINK_OPEN && LA34_0<=IMAGE_OPEN)||LA34_0==EXTENSION) ) {
2927                    alt34=2;
2928                }
2929                else {
2930                    if (backtracking>0) {failed=true; return item;}
2931                    NoViableAltException nvae =
2932                        new NoViableAltException("267:1: text_first_unformattedelement returns [ASTNode item = null] : (tfu= text_first_unformatted | tfi= text_first_inlineelement );", 34, 0, input);
2933    
2934                    throw nvae;
2935                }
2936                switch (alt34) {
2937                    case 1 :
2938                        // Creole10.g:268:4: tfu= text_first_unformatted
2939                        {
2940                        pushFollow(FOLLOW_text_first_unformatted_in_text_first_unformattedelement908);
2941                        tfu=text_first_unformatted();
2942                        _fsp--;
2943                        if (failed) return item;
2944                        if ( backtracking==0 ) {
2945                          item = new UnformattedTextNode(tfu);
2946                        }
2947    
2948                        }
2949                        break;
2950                    case 2 :
2951                        // Creole10.g:269:4: tfi= text_first_inlineelement
2952                        {
2953                        pushFollow(FOLLOW_text_first_inlineelement_in_text_first_unformattedelement919);
2954                        tfi=text_first_inlineelement();
2955                        _fsp--;
2956                        if (failed) return item;
2957                        if ( backtracking==0 ) {
2958                           item = tfi; 
2959                        }
2960    
2961                        }
2962                        break;
2963    
2964                }
2965            }
2966            catch (RecognitionException re) {
2967                reportError(re);
2968                recover(input,re);
2969            }
2970            finally {
2971            }
2972            return item;
2973        }
2974        // $ANTLR end text_first_unformattedelement
2975    
2976    
2977        // $ANTLR start text_first_unformatted
2978        // Creole10.g:271:1: text_first_unformatted returns [CollectionNode items = new CollectionNode()] : (t= text_first_unformmatted_text | ( forced_linebreak | e= escaped )+ );
2979        public final CollectionNode text_first_unformatted() throws RecognitionException {
2980            CollectionNode items =  new CollectionNode();
2981    
2982            StringBundler t = null;
2983    
2984            ScapedNode e = null;
2985    
2986    
2987            try {
2988                // Creole10.g:272:2: (t= text_first_unformmatted_text | ( forced_linebreak | e= escaped )+ )
2989                int alt36=2;
2990                int LA36_0 = input.LA(1);
2991    
2992                if ( ((LA36_0>=FORCED_END_OF_LINE && LA36_0<=WIKI)||(LA36_0>=NOWIKI_BLOCK_CLOSE && LA36_0<=80)) ) {
2993                    alt36=1;
2994                }
2995                else if ( ((LA36_0>=FORCED_LINEBREAK && LA36_0<=ESCAPE)) ) {
2996                    alt36=2;
2997                }
2998                else {
2999                    if (backtracking>0) {failed=true; return items;}
3000                    NoViableAltException nvae =
3001                        new NoViableAltException("271:1: text_first_unformatted returns [CollectionNode items = new CollectionNode()] : (t= text_first_unformmatted_text | ( forced_linebreak | e= escaped )+ );", 36, 0, input);
3002    
3003                    throw nvae;
3004                }
3005                switch (alt36) {
3006                    case 1 :
3007                        // Creole10.g:272:6: t= text_first_unformmatted_text
3008                        {
3009                        pushFollow(FOLLOW_text_first_unformmatted_text_in_text_first_unformatted941);
3010                        t=text_first_unformmatted_text();
3011                        _fsp--;
3012                        if (failed) return items;
3013                        if ( backtracking==0 ) {
3014                          items.add(new UnformattedTextNode(t.toString()));
3015                        }
3016    
3017                        }
3018                        break;
3019                    case 2 :
3020                        // Creole10.g:273:5: ( forced_linebreak | e= escaped )+
3021                        {
3022                        // Creole10.g:273:5: ( forced_linebreak | e= escaped )+
3023                        int cnt35=0;
3024                        loop35:
3025                        do {
3026                            int alt35=3;
3027                            int LA35_0 = input.LA(1);
3028    
3029                            if ( (LA35_0==FORCED_LINEBREAK) ) {
3030                                alt35=1;
3031                            }
3032                            else if ( (LA35_0==ESCAPE) ) {
3033                                int LA35_3 = input.LA(2);
3034    
3035                                if ( ((LA35_3>=FORCED_END_OF_LINE && LA35_3<=80)) ) {
3036                                    alt35=2;
3037                                }
3038    
3039    
3040                            }
3041    
3042    
3043                            switch (alt35) {
3044                            case 1 :
3045                                // Creole10.g:273:6: forced_linebreak
3046                                {
3047                                pushFollow(FOLLOW_forced_linebreak_in_text_first_unformatted950);
3048                                forced_linebreak();
3049                                _fsp--;
3050                                if (failed) return items;
3051                                if ( backtracking==0 ) {
3052                                   items.add(new ForcedEndOfLineNode()); 
3053                                }
3054    
3055                                }
3056                                break;
3057                            case 2 :
3058                                // Creole10.g:274:5: e= escaped
3059                                {
3060                                pushFollow(FOLLOW_escaped_in_text_first_unformatted962);
3061                                e=escaped();
3062                                _fsp--;
3063                                if (failed) return items;
3064                                if ( backtracking==0 ) {
3065                                  items.add(e);
3066                                }
3067    
3068                                }
3069                                break;
3070    
3071                            default :
3072                                if ( cnt35 >= 1 ) break loop35;
3073                                if (backtracking>0) {failed=true; return items;}
3074                                    EarlyExitException eee =
3075                                        new EarlyExitException(35, input);
3076                                    throw eee;
3077                            }
3078                            cnt35++;
3079                        } while (true);
3080    
3081    
3082                        }
3083                        break;
3084    
3085                }
3086            }
3087            catch (RecognitionException re) {
3088                reportError(re);
3089                recover(input,re);
3090            }
3091            finally {
3092            }
3093            return items;
3094        }
3095        // $ANTLR end text_first_unformatted
3096    
3097    
3098        // $ANTLR start text_first_unformmatted_text
3099        // Creole10.g:277:1: text_first_unformmatted_text returns [StringBundler text = new StringBundler()] : (c=~ ( POUND | STAR | EQUAL | PIPE | ITAL | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+ ;
3100        public final StringBundler text_first_unformmatted_text() throws RecognitionException {
3101            StringBundler text =  new StringBundler();
3102    
3103            Token c=null;
3104    
3105            try {
3106                // Creole10.g:278:2: ( (c=~ ( POUND | STAR | EQUAL | PIPE | ITAL | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+ )
3107                // Creole10.g:279:3: (c=~ ( POUND | STAR | EQUAL | PIPE | ITAL | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+
3108                {
3109                // Creole10.g:279:3: (c=~ ( POUND | STAR | EQUAL | PIPE | ITAL | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+
3110                int cnt37=0;
3111                loop37:
3112                do {
3113                    int alt37=2;
3114                    int LA37_0 = input.LA(1);
3115    
3116                    if ( ((LA37_0>=FORCED_END_OF_LINE && LA37_0<=WIKI)||(LA37_0>=NOWIKI_BLOCK_CLOSE && LA37_0<=80)) ) {
3117                        alt37=1;
3118                    }
3119    
3120    
3121                    switch (alt37) {
3122                    case 1 :
3123                        // Creole10.g:279:4: c=~ ( POUND | STAR | EQUAL | PIPE | ITAL | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF )
3124                        {
3125                        c=(Token)input.LT(1);
3126                        if ( (input.LA(1)>=FORCED_END_OF_LINE && input.LA(1)<=WIKI)||(input.LA(1)>=NOWIKI_BLOCK_CLOSE && input.LA(1)<=80) ) {
3127                            input.consume();
3128                            errorRecovery=false;failed=false;
3129                        }
3130                        else {
3131                            if (backtracking>0) {failed=true; return text;}
3132                            MismatchedSetException mse =
3133                                new MismatchedSetException(null,input);
3134                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_text_first_unformmatted_text990);    throw mse;
3135                        }
3136    
3137                        if ( backtracking==0 ) {
3138                          text.append(c.getText()); 
3139                        }
3140    
3141                        }
3142                        break;
3143    
3144                    default :
3145                        if ( cnt37 >= 1 ) break loop37;
3146                        if (backtracking>0) {failed=true; return text;}
3147                            EarlyExitException eee =
3148                                new EarlyExitException(37, input);
3149                            throw eee;
3150                    }
3151                    cnt37++;
3152                } while (true);
3153    
3154    
3155                }
3156    
3157            }
3158            catch (RecognitionException re) {
3159                reportError(re);
3160                recover(input,re);
3161            }
3162            finally {
3163            }
3164            return text;
3165        }
3166        // $ANTLR end text_first_unformmatted_text
3167    
3168    
3169        // $ANTLR start text_unformattedelement
3170        // Creole10.g:293:1: text_unformattedelement returns [ASTNode contents = null] : (text= text_unformatted | ti= text_inlineelement );
3171        public final ASTNode text_unformattedelement() throws RecognitionException {
3172            ASTNode contents =  null;
3173    
3174            CollectionNode text = null;
3175    
3176            ASTNode ti = null;
3177    
3178    
3179            try {
3180                // Creole10.g:294:2: (text= text_unformatted | ti= text_inlineelement )
3181                int alt38=2;
3182                int LA38_0 = input.LA(1);
3183    
3184                if ( ((LA38_0>=FORCED_END_OF_LINE && LA38_0<=WIKI)||LA38_0==POUND||(LA38_0>=EQUAL && LA38_0<=PIPE)||(LA38_0>=FORCED_LINEBREAK && LA38_0<=80)) ) {
3185                    alt38=1;
3186                }
3187                else if ( ((LA38_0>=LINK_OPEN && LA38_0<=EXTENSION)) ) {
3188                    alt38=2;
3189                }
3190                else {
3191                    if (backtracking>0) {failed=true; return contents;}
3192                    NoViableAltException nvae =
3193                        new NoViableAltException("293:1: text_unformattedelement returns [ASTNode contents = null] : (text= text_unformatted | ti= text_inlineelement );", 38, 0, input);
3194    
3195                    throw nvae;
3196                }
3197                switch (alt38) {
3198                    case 1 :
3199                        // Creole10.g:294:4: text= text_unformatted
3200                        {
3201                        pushFollow(FOLLOW_text_unformatted_in_text_unformattedelement1104);
3202                        text=text_unformatted();
3203                        _fsp--;
3204                        if (failed) return contents;
3205                        if ( backtracking==0 ) {
3206                           contents = text; 
3207                        }
3208    
3209                        }
3210                        break;
3211                    case 2 :
3212                        // Creole10.g:295:4: ti= text_inlineelement
3213                        {
3214                        pushFollow(FOLLOW_text_inlineelement_in_text_unformattedelement1115);
3215                        ti=text_inlineelement();
3216                        _fsp--;
3217                        if (failed) return contents;
3218                        if ( backtracking==0 ) {
3219                           contents = ti; 
3220                        }
3221    
3222                        }
3223                        break;
3224    
3225                }
3226            }
3227            catch (RecognitionException re) {
3228                reportError(re);
3229                recover(input,re);
3230            }
3231            finally {
3232            }
3233            return contents;
3234        }
3235        // $ANTLR end text_unformattedelement
3236    
3237    
3238        // $ANTLR start text_unformatted
3239        // Creole10.g:298:1: text_unformatted returns [CollectionNode items = new CollectionNode()] : (contents= text_unformated_text | ( forced_linebreak | e= escaped )+ );
3240        public final CollectionNode text_unformatted() throws RecognitionException {
3241            CollectionNode items =  new CollectionNode();
3242    
3243            StringBundler contents = null;
3244    
3245            ScapedNode e = null;
3246    
3247    
3248            try {
3249                // Creole10.g:299:2: (contents= text_unformated_text | ( forced_linebreak | e= escaped )+ )
3250                int alt40=2;
3251                int LA40_0 = input.LA(1);
3252    
3253                if ( ((LA40_0>=FORCED_END_OF_LINE && LA40_0<=WIKI)||LA40_0==POUND||(LA40_0>=EQUAL && LA40_0<=PIPE)||(LA40_0>=NOWIKI_BLOCK_CLOSE && LA40_0<=80)) ) {
3254                    alt40=1;
3255                }
3256                else if ( ((LA40_0>=FORCED_LINEBREAK && LA40_0<=ESCAPE)) ) {
3257                    alt40=2;
3258                }
3259                else {
3260                    if (backtracking>0) {failed=true; return items;}
3261                    NoViableAltException nvae =
3262                        new NoViableAltException("298:1: text_unformatted returns [CollectionNode items = new CollectionNode()] : (contents= text_unformated_text | ( forced_linebreak | e= escaped )+ );", 40, 0, input);
3263    
3264                    throw nvae;
3265                }
3266                switch (alt40) {
3267                    case 1 :
3268                        // Creole10.g:299:5: contents= text_unformated_text
3269                        {
3270                        pushFollow(FOLLOW_text_unformated_text_in_text_unformatted1137);
3271                        contents=text_unformated_text();
3272                        _fsp--;
3273                        if (failed) return items;
3274                        if ( backtracking==0 ) {
3275                          items.add(new UnformattedTextNode(contents.toString())); 
3276                        }
3277    
3278                        }
3279                        break;
3280                    case 2 :
3281                        // Creole10.g:300:5: ( forced_linebreak | e= escaped )+
3282                        {
3283                        // Creole10.g:300:5: ( forced_linebreak | e= escaped )+
3284                        int cnt39=0;
3285                        loop39:
3286                        do {
3287                            int alt39=3;
3288                            int LA39_0 = input.LA(1);
3289    
3290                            if ( (LA39_0==FORCED_LINEBREAK) ) {
3291                                alt39=1;
3292                            }
3293                            else if ( (LA39_0==ESCAPE) ) {
3294                                alt39=2;
3295                            }
3296    
3297    
3298                            switch (alt39) {
3299                            case 1 :
3300                                // Creole10.g:300:6: forced_linebreak
3301                                {
3302                                pushFollow(FOLLOW_forced_linebreak_in_text_unformatted1146);
3303                                forced_linebreak();
3304                                _fsp--;
3305                                if (failed) return items;
3306                                if ( backtracking==0 ) {
3307                                   items.add(new ForcedEndOfLineNode()); 
3308                                }
3309    
3310                                }
3311                                break;
3312                            case 2 :
3313                                // Creole10.g:301:5: e= escaped
3314                                {
3315                                pushFollow(FOLLOW_escaped_in_text_unformatted1158);
3316                                e=escaped();
3317                                _fsp--;
3318                                if (failed) return items;
3319                                if ( backtracking==0 ) {
3320                                  items.add(e);
3321                                }
3322    
3323                                }
3324                                break;
3325    
3326                            default :
3327                                if ( cnt39 >= 1 ) break loop39;
3328                                if (backtracking>0) {failed=true; return items;}
3329                                    EarlyExitException eee =
3330                                        new EarlyExitException(39, input);
3331                                    throw eee;
3332                            }
3333                            cnt39++;
3334                        } while (true);
3335    
3336    
3337                        }
3338                        break;
3339    
3340                }
3341            }
3342            catch (RecognitionException re) {
3343                reportError(re);
3344                recover(input,re);
3345            }
3346            finally {
3347            }
3348            return items;
3349        }
3350        // $ANTLR end text_unformatted
3351    
3352    
3353        // $ANTLR start text_unformated_text
3354        // Creole10.g:304:1: text_unformated_text returns [StringBundler text = new StringBundler()] : (c=~ ( ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+ ;
3355        public final StringBundler text_unformated_text() throws RecognitionException {
3356            StringBundler text =  new StringBundler();
3357    
3358            Token c=null;
3359    
3360            try {
3361                // Creole10.g:305:1: ( (c=~ ( ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+ )
3362                // Creole10.g:306:2: (c=~ ( ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+
3363                {
3364                // Creole10.g:306:2: (c=~ ( ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+
3365                int cnt41=0;
3366                loop41:
3367                do {
3368                    int alt41=2;
3369                    int LA41_0 = input.LA(1);
3370    
3371                    if ( ((LA41_0>=FORCED_END_OF_LINE && LA41_0<=WIKI)||LA41_0==POUND||(LA41_0>=EQUAL && LA41_0<=PIPE)||(LA41_0>=NOWIKI_BLOCK_CLOSE && LA41_0<=80)) ) {
3372                        alt41=1;
3373                    }
3374    
3375    
3376                    switch (alt41) {
3377                    case 1 :
3378                        // Creole10.g:306:3: c=~ ( ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF )
3379                        {
3380                        c=(Token)input.LT(1);
3381                        if ( (input.LA(1)>=FORCED_END_OF_LINE && input.LA(1)<=WIKI)||input.LA(1)==POUND||(input.LA(1)>=EQUAL && input.LA(1)<=PIPE)||(input.LA(1)>=NOWIKI_BLOCK_CLOSE && input.LA(1)<=80) ) {
3382                            input.consume();
3383                            errorRecovery=false;failed=false;
3384                        }
3385                        else {
3386                            if (backtracking>0) {failed=true; return text;}
3387                            MismatchedSetException mse =
3388                                new MismatchedSetException(null,input);
3389                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_text_unformated_text1183);    throw mse;
3390                        }
3391    
3392                        if ( backtracking==0 ) {
3393                           text.append(c.getText());
3394                        }
3395    
3396                        }
3397                        break;
3398    
3399                    default :
3400                        if ( cnt41 >= 1 ) break loop41;
3401                        if (backtracking>0) {failed=true; return text;}
3402                            EarlyExitException eee =
3403                                new EarlyExitException(41, input);
3404                            throw eee;
3405                    }
3406                    cnt41++;
3407                } while (true);
3408    
3409    
3410                }
3411    
3412            }
3413            catch (RecognitionException re) {
3414                reportError(re);
3415                recover(input,re);
3416            }
3417            finally {
3418            }
3419            return text;
3420        }
3421        // $ANTLR end text_unformated_text
3422    
3423        protected static class heading_scope {
3424            CollectionNode items;
3425            int nestedLevel;
3426            String text;
3427        }
3428        protected Stack heading_stack = new Stack();
3429    
3430    
3431        // $ANTLR start heading
3432        // Creole10.g:320:1: heading returns [ASTNode header] : heading_markup heading_content ( heading_markup )? ( blanks )? paragraph_separator ;
3433        public final ASTNode heading() throws RecognitionException {
3434            heading_stack.push(new heading_scope());
3435            ASTNode header = null;
3436    
3437    
3438                            ((heading_scope)heading_stack.peek()).items = new CollectionNode();
3439                            ((heading_scope)heading_stack.peek()).text = new String();
3440                    
3441            try {
3442                // Creole10.g:330:2: ( heading_markup heading_content ( heading_markup )? ( blanks )? paragraph_separator )
3443                // Creole10.g:330:4: heading_markup heading_content ( heading_markup )? ( blanks )? paragraph_separator
3444                {
3445                pushFollow(FOLLOW_heading_markup_in_heading1285);
3446                heading_markup();
3447                _fsp--;
3448                if (failed) return header;
3449                if ( backtracking==0 ) {
3450                  ((heading_scope)heading_stack.peek()).nestedLevel++;
3451                }
3452                pushFollow(FOLLOW_heading_content_in_heading1290);
3453                heading_content();
3454                _fsp--;
3455                if (failed) return header;
3456                if ( backtracking==0 ) {
3457                   header = new HeadingNode(((heading_scope)heading_stack.peek()).items,((heading_scope)heading_stack.peek()).nestedLevel); 
3458                }
3459                // Creole10.g:330:134: ( heading_markup )?
3460                int alt42=2;
3461                int LA42_0 = input.LA(1);
3462    
3463                if ( (LA42_0==EQUAL) ) {
3464                    alt42=1;
3465                }
3466                switch (alt42) {
3467                    case 1 :
3468                        // Creole10.g:330:136: heading_markup
3469                        {
3470                        pushFollow(FOLLOW_heading_markup_in_heading1297);
3471                        heading_markup();
3472                        _fsp--;
3473                        if (failed) return header;
3474    
3475                        }
3476                        break;
3477    
3478                }
3479    
3480                // Creole10.g:330:155: ( blanks )?
3481                int alt43=2;
3482                int LA43_0 = input.LA(1);
3483    
3484                if ( (LA43_0==BLANKS) ) {
3485                    alt43=1;
3486                }
3487                switch (alt43) {
3488                    case 1 :
3489                        // Creole10.g:330:157: blanks
3490                        {
3491                        pushFollow(FOLLOW_blanks_in_heading1305);
3492                        blanks();
3493                        _fsp--;
3494                        if (failed) return header;
3495    
3496                        }
3497                        break;
3498    
3499                }
3500    
3501                pushFollow(FOLLOW_paragraph_separator_in_heading1312);
3502                paragraph_separator();
3503                _fsp--;
3504                if (failed) return header;
3505    
3506                }
3507    
3508            }
3509            catch (RecognitionException re) {
3510                reportError(re);
3511                recover(input,re);
3512            }
3513            finally {
3514                heading_stack.pop();
3515            }
3516            return header;
3517        }
3518        // $ANTLR end heading
3519    
3520    
3521        // $ANTLR start heading_content
3522        // Creole10.g:333:1: heading_content : ( heading_markup heading_content ( heading_markup )? | ht= heading_text );
3523        public final void heading_content() throws RecognitionException {
3524            CollectionNode ht = null;
3525    
3526    
3527            try {
3528                // Creole10.g:334:2: ( heading_markup heading_content ( heading_markup )? | ht= heading_text )
3529                int alt45=2;
3530                int LA45_0 = input.LA(1);
3531    
3532                if ( (LA45_0==EQUAL) ) {
3533                    alt45=1;
3534                }
3535                else if ( (LA45_0==EOF||(LA45_0>=FORCED_END_OF_LINE && LA45_0<=STAR)||(LA45_0>=PIPE && LA45_0<=FORCED_LINEBREAK)||(LA45_0>=NOWIKI_BLOCK_CLOSE && LA45_0<=80)) ) {
3536                    alt45=2;
3537                }
3538                else {
3539                    if (backtracking>0) {failed=true; return ;}
3540                    NoViableAltException nvae =
3541                        new NoViableAltException("333:1: heading_content : ( heading_markup heading_content ( heading_markup )? | ht= heading_text );", 45, 0, input);
3542    
3543                    throw nvae;
3544                }
3545                switch (alt45) {
3546                    case 1 :
3547                        // Creole10.g:334:4: heading_markup heading_content ( heading_markup )?
3548                        {
3549                        pushFollow(FOLLOW_heading_markup_in_heading_content1322);
3550                        heading_markup();
3551                        _fsp--;
3552                        if (failed) return ;
3553                        if ( backtracking==0 ) {
3554                          ((heading_scope)heading_stack.peek()).nestedLevel++;
3555                        }
3556                        pushFollow(FOLLOW_heading_content_in_heading_content1327);
3557                        heading_content();
3558                        _fsp--;
3559                        if (failed) return ;
3560                        // Creole10.g:334:64: ( heading_markup )?
3561                        int alt44=2;
3562                        int LA44_0 = input.LA(1);
3563    
3564                        if ( (LA44_0==EQUAL) ) {
3565                            alt44=1;
3566                        }
3567                        switch (alt44) {
3568                            case 1 :
3569                                // Creole10.g:334:66: heading_markup
3570                                {
3571                                pushFollow(FOLLOW_heading_markup_in_heading_content1332);
3572                                heading_markup();
3573                                _fsp--;
3574                                if (failed) return ;
3575    
3576                                }
3577                                break;
3578    
3579                        }
3580    
3581    
3582                        }
3583                        break;
3584                    case 2 :
3585                        // Creole10.g:335:4: ht= heading_text
3586                        {
3587                        pushFollow(FOLLOW_heading_text_in_heading_content1344);
3588                        ht=heading_text();
3589                        _fsp--;
3590                        if (failed) return ;
3591                        if ( backtracking==0 ) {
3592                          ((heading_scope)heading_stack.peek()).items = ht;
3593                        }
3594    
3595                        }
3596                        break;
3597    
3598                }
3599            }
3600            catch (RecognitionException re) {
3601                reportError(re);
3602                recover(input,re);
3603            }
3604            finally {
3605            }
3606            return ;
3607        }
3608        // $ANTLR end heading_content
3609    
3610    
3611        // $ANTLR start heading_text
3612        // Creole10.g:338:1: heading_text returns [CollectionNode items = null] : te= heading_cellcontent ;
3613        public final CollectionNode heading_text() throws RecognitionException {
3614            CollectionNode items =  null;
3615    
3616            CollectionNode te = null;
3617    
3618    
3619            try {
3620                // Creole10.g:339:2: (te= heading_cellcontent )
3621                // Creole10.g:339:4: te= heading_cellcontent
3622                {
3623                pushFollow(FOLLOW_heading_cellcontent_in_heading_text1365);
3624                te=heading_cellcontent();
3625                _fsp--;
3626                if (failed) return items;
3627                if ( backtracking==0 ) {
3628                  items = te;
3629                }
3630    
3631                }
3632    
3633            }
3634            catch (RecognitionException re) {
3635                reportError(re);
3636                recover(input,re);
3637            }
3638            finally {
3639            }
3640            return items;
3641        }
3642        // $ANTLR end heading_text
3643    
3644    
3645        // $ANTLR start heading_cellcontent
3646        // Creole10.g:342:1: heading_cellcontent returns [CollectionNode items = new CollectionNode()] : onestar (tcp= heading_cellcontentpart onestar )* ;
3647        public final CollectionNode heading_cellcontent() throws RecognitionException {
3648            CollectionNode items =  new CollectionNode();
3649    
3650            ASTNode tcp = null;
3651    
3652    
3653            try {
3654                // Creole10.g:343:2: ( onestar (tcp= heading_cellcontentpart onestar )* )
3655                // Creole10.g:343:4: onestar (tcp= heading_cellcontentpart onestar )*
3656                {
3657                pushFollow(FOLLOW_onestar_in_heading_cellcontent1382);
3658                onestar();
3659                _fsp--;
3660                if (failed) return items;
3661                // Creole10.g:343:13: (tcp= heading_cellcontentpart onestar )*
3662                loop46:
3663                do {
3664                    int alt46=2;
3665                    int LA46_0 = input.LA(1);
3666    
3667                    if ( ((LA46_0>=FORCED_END_OF_LINE && LA46_0<=WIKI)||(LA46_0>=POUND && LA46_0<=STAR)||(LA46_0>=PIPE && LA46_0<=FORCED_LINEBREAK)||(LA46_0>=NOWIKI_BLOCK_CLOSE && LA46_0<=80)) ) {
3668                        alt46=1;
3669                    }
3670    
3671    
3672                    switch (alt46) {
3673                    case 1 :
3674                        // Creole10.g:343:15: tcp= heading_cellcontentpart onestar
3675                        {
3676                        pushFollow(FOLLOW_heading_cellcontentpart_in_heading_cellcontent1391);
3677                        tcp=heading_cellcontentpart();
3678                        _fsp--;
3679                        if (failed) return items;
3680                        if ( backtracking==0 ) {
3681    
3682    
3683                                                                            if (tcp != null) { // some AST Node could be NULL if bad CREOLE syntax is wrotten
3684                                                                                    items.add(tcp);
3685                                                                            }
3686    
3687                                                                            
3688                        }
3689                        pushFollow(FOLLOW_onestar_in_heading_cellcontent1402);
3690                        onestar();
3691                        _fsp--;
3692                        if (failed) return items;
3693    
3694                        }
3695                        break;
3696    
3697                    default :
3698                        break loop46;
3699                    }
3700                } while (true);
3701    
3702    
3703                }
3704    
3705            }
3706            catch (RecognitionException re) {
3707                reportError(re);
3708                recover(input,re);
3709            }
3710            finally {
3711            }
3712            return items;
3713        }
3714        // $ANTLR end heading_cellcontent
3715    
3716    
3717        // $ANTLR start heading_cellcontentpart
3718        // Creole10.g:352:1: heading_cellcontentpart returns [ASTNode node = null] : (tf= heading_formattedelement | tu= heading_unformattedelement );
3719        public final ASTNode heading_cellcontentpart() throws RecognitionException {
3720            ASTNode node =  null;
3721    
3722            ASTNode tf = null;
3723    
3724            ASTNode tu = null;
3725    
3726    
3727            try {
3728                // Creole10.g:353:2: (tf= heading_formattedelement | tu= heading_unformattedelement )
3729                int alt47=2;
3730                switch ( input.LA(1) ) {
3731                case ITAL:
3732                    {
3733                    alt47=1;
3734                    }
3735                    break;
3736                case STAR:
3737                    {
3738                    int LA47_2 = input.LA(2);
3739    
3740                    if ( (LA47_2==STAR) ) {
3741                        alt47=1;
3742                    }
3743                    else if ( (LA47_2==EOF||(LA47_2>=FORCED_END_OF_LINE && LA47_2<=POUND)||(LA47_2>=EQUAL && LA47_2<=FORCED_LINEBREAK)||(LA47_2>=NOWIKI_BLOCK_CLOSE && LA47_2<=80)) ) {
3744                        alt47=2;
3745                    }
3746                    else {
3747                        if (backtracking>0) {failed=true; return node;}
3748                        NoViableAltException nvae =
3749                            new NoViableAltException("352:1: heading_cellcontentpart returns [ASTNode node = null] : (tf= heading_formattedelement | tu= heading_unformattedelement );", 47, 2, input);
3750    
3751                        throw nvae;
3752                    }
3753                    }
3754                    break;
3755                case FORCED_END_OF_LINE:
3756                case HEADING_SECTION:
3757                case HORIZONTAL_SECTION:
3758                case LIST_ITEM:
3759                case LIST_ITEM_PART:
3760                case NOWIKI_SECTION:
3761                case SCAPE_NODE:
3762                case TEXT_NODE:
3763                case UNORDERED_LIST:
3764                case UNFORMATTED_TEXT:
3765                case WIKI:
3766                case POUND:
3767                case PIPE:
3768                case LINK_OPEN:
3769                case IMAGE_OPEN:
3770                case NOWIKI_OPEN:
3771                case EXTENSION:
3772                case FORCED_LINEBREAK:
3773                case NOWIKI_BLOCK_CLOSE:
3774                case NOWIKI_CLOSE:
3775                case LINK_CLOSE:
3776                case IMAGE_CLOSE:
3777                case BLANKS:
3778                case DASH:
3779                case CR:
3780                case LF:
3781                case SPACE:
3782                case TABULATOR:
3783                case BRACE_CLOSE:
3784                case COLON_SLASH:
3785                case SLASH:
3786                case INSIGNIFICANT_CHAR:
3787                case 41:
3788                case 42:
3789                case 43:
3790                case 44:
3791                case 45:
3792                case 46:
3793                case 47:
3794                case 48:
3795                case 49:
3796                case 50:
3797                case 51:
3798                case 52:
3799                case 53:
3800                case 54:
3801                case 55:
3802                case 56:
3803                case 57:
3804                case 58:
3805                case 59:
3806                case 60:
3807                case 61:
3808                case 62:
3809                case 63:
3810                case 64:
3811                case 65:
3812                case 66:
3813                case 67:
3814                case 68:
3815                case 69:
3816                case 70:
3817                case 71:
3818                case 72:
3819                case 73:
3820                case 74:
3821                case 75:
3822                case 76:
3823                case 77:
3824                case 78:
3825                case 79:
3826                case 80:
3827                    {
3828                    alt47=2;
3829                    }
3830                    break;
3831                default:
3832                    if (backtracking>0) {failed=true; return node;}
3833                    NoViableAltException nvae =
3834                        new NoViableAltException("352:1: heading_cellcontentpart returns [ASTNode node = null] : (tf= heading_formattedelement | tu= heading_unformattedelement );", 47, 0, input);
3835    
3836                    throw nvae;
3837                }
3838    
3839                switch (alt47) {
3840                    case 1 :
3841                        // Creole10.g:353:4: tf= heading_formattedelement
3842                        {
3843                        pushFollow(FOLLOW_heading_formattedelement_in_heading_cellcontentpart1423);
3844                        tf=heading_formattedelement();
3845                        _fsp--;
3846                        if (failed) return node;
3847                        if ( backtracking==0 ) {
3848                          node =tf;
3849                        }
3850    
3851                        }
3852                        break;
3853                    case 2 :
3854                        // Creole10.g:354:4: tu= heading_unformattedelement
3855                        {
3856                        pushFollow(FOLLOW_heading_unformattedelement_in_heading_cellcontentpart1434);
3857                        tu=heading_unformattedelement();
3858                        _fsp--;
3859                        if (failed) return node;
3860                        if ( backtracking==0 ) {
3861                          node =tu;
3862                        }
3863    
3864                        }
3865                        break;
3866    
3867                }
3868            }
3869            catch (RecognitionException re) {
3870                reportError(re);
3871                recover(input,re);
3872            }
3873            finally {
3874            }
3875            return node;
3876        }
3877        // $ANTLR end heading_cellcontentpart
3878    
3879    
3880        // $ANTLR start heading_formattedelement
3881        // Creole10.g:356:1: heading_formattedelement returns [ASTNode content = null] : ( ital_markup (tic= heading_italcontent )? ( ital_markup )? | bold_markup (tbc= heading_boldcontent )? ( bold_markup )? );
3882        public final ASTNode heading_formattedelement() throws RecognitionException {
3883            ASTNode content =  null;
3884    
3885            CollectionNode tic = null;
3886    
3887            CollectionNode tbc = null;
3888    
3889    
3890            try {
3891                // Creole10.g:357:2: ( ital_markup (tic= heading_italcontent )? ( ital_markup )? | bold_markup (tbc= heading_boldcontent )? ( bold_markup )? )
3892                int alt52=2;
3893                int LA52_0 = input.LA(1);
3894    
3895                if ( (LA52_0==ITAL) ) {
3896                    alt52=1;
3897                }
3898                else if ( (LA52_0==STAR) ) {
3899                    alt52=2;
3900                }
3901                else {
3902                    if (backtracking>0) {failed=true; return content;}
3903                    NoViableAltException nvae =
3904                        new NoViableAltException("356:1: heading_formattedelement returns [ASTNode content = null] : ( ital_markup (tic= heading_italcontent )? ( ital_markup )? | bold_markup (tbc= heading_boldcontent )? ( bold_markup )? );", 52, 0, input);
3905    
3906                    throw nvae;
3907                }
3908                switch (alt52) {
3909                    case 1 :
3910                        // Creole10.g:357:4: ital_markup (tic= heading_italcontent )? ( ital_markup )?
3911                        {
3912                        pushFollow(FOLLOW_ital_markup_in_heading_formattedelement1450);
3913                        ital_markup();
3914                        _fsp--;
3915                        if (failed) return content;
3916                        // Creole10.g:357:18: (tic= heading_italcontent )?
3917                        int alt48=2;
3918                        switch ( input.LA(1) ) {
3919                            case STAR:
3920                                {
3921                                alt48=1;
3922                                }
3923                                break;
3924                            case ITAL:
3925                                {
3926                                alt48=1;
3927                                }
3928                                break;
3929                            case LINK_OPEN:
3930                                {
3931                                alt48=1;
3932                                }
3933                                break;
3934                            case IMAGE_OPEN:
3935                                {
3936                                alt48=1;
3937                                }
3938                                break;
3939                            case NOWIKI_OPEN:
3940                                {
3941                                alt48=1;
3942                                }
3943                                break;
3944                            case EOF:
3945                                {
3946                                alt48=1;
3947                                }
3948                                break;
3949                            case BLANKS:
3950                                {
3951                                alt48=1;
3952                                }
3953                                break;
3954                            case FORCED_END_OF_LINE:
3955                            case HEADING_SECTION:
3956                            case HORIZONTAL_SECTION:
3957                            case LIST_ITEM:
3958                            case LIST_ITEM_PART:
3959                            case NOWIKI_SECTION:
3960                            case SCAPE_NODE:
3961                            case TEXT_NODE:
3962                            case UNORDERED_LIST:
3963                            case UNFORMATTED_TEXT:
3964                            case WIKI:
3965                            case POUND:
3966                            case PIPE:
3967                            case EXTENSION:
3968                            case FORCED_LINEBREAK:
3969                            case NOWIKI_BLOCK_CLOSE:
3970                            case NOWIKI_CLOSE:
3971                            case LINK_CLOSE:
3972                            case IMAGE_CLOSE:
3973                            case DASH:
3974                            case CR:
3975                            case LF:
3976                            case SPACE:
3977                            case TABULATOR:
3978                            case BRACE_CLOSE:
3979                            case COLON_SLASH:
3980                            case SLASH:
3981                            case INSIGNIFICANT_CHAR:
3982                            case 41:
3983                            case 42:
3984                            case 43:
3985                            case 44:
3986                            case 45:
3987                            case 46:
3988                            case 47:
3989                            case 48:
3990                            case 49:
3991                            case 50:
3992                            case 51:
3993                            case 52:
3994                            case 53:
3995                            case 54:
3996                            case 55:
3997                            case 56:
3998                            case 57:
3999                            case 58:
4000                            case 59:
4001                            case 60:
4002                            case 61:
4003                            case 62:
4004                            case 63:
4005                            case 64:
4006                            case 65:
4007                            case 66:
4008                            case 67:
4009                            case 68:
4010                            case 69:
4011                            case 70:
4012                            case 71:
4013                            case 72:
4014                            case 73:
4015                            case 74:
4016                            case 75:
4017                            case 76:
4018                            case 77:
4019                            case 78:
4020                            case 79:
4021                            case 80:
4022                                {
4023                                alt48=1;
4024                                }
4025                                break;
4026                        }
4027    
4028                        switch (alt48) {
4029                            case 1 :
4030                                // Creole10.g:357:20: tic= heading_italcontent
4031                                {
4032                                pushFollow(FOLLOW_heading_italcontent_in_heading_formattedelement1460);
4033                                tic=heading_italcontent();
4034                                _fsp--;
4035                                if (failed) return content;
4036                                if ( backtracking==0 ) {
4037                                   content = new ItalicTextNode(tic); 
4038                                }
4039    
4040                                }
4041                                break;
4042    
4043                        }
4044    
4045                        // Creole10.g:357:96: ( ital_markup )?
4046                        int alt49=2;
4047                        int LA49_0 = input.LA(1);
4048    
4049                        if ( (LA49_0==ITAL) ) {
4050                            alt49=1;
4051                        }
4052                        switch (alt49) {
4053                            case 1 :
4054                                // Creole10.g:357:98: ital_markup
4055                                {
4056                                pushFollow(FOLLOW_ital_markup_in_heading_formattedelement1469);
4057                                ital_markup();
4058                                _fsp--;
4059                                if (failed) return content;
4060    
4061                                }
4062                                break;
4063    
4064                        }
4065    
4066    
4067                        }
4068                        break;
4069                    case 2 :
4070                        // Creole10.g:358:4: bold_markup (tbc= heading_boldcontent )? ( bold_markup )?
4071                        {
4072                        pushFollow(FOLLOW_bold_markup_in_heading_formattedelement1477);
4073                        bold_markup();
4074                        _fsp--;
4075                        if (failed) return content;
4076                        // Creole10.g:358:16: (tbc= heading_boldcontent )?
4077                        int alt50=2;
4078                        switch ( input.LA(1) ) {
4079                            case STAR:
4080                                {
4081                                alt50=1;
4082                                }
4083                                break;
4084                            case ITAL:
4085                                {
4086                                alt50=1;
4087                                }
4088                                break;
4089                            case LINK_OPEN:
4090                                {
4091                                alt50=1;
4092                                }
4093                                break;
4094                            case IMAGE_OPEN:
4095                                {
4096                                alt50=1;
4097                                }
4098                                break;
4099                            case NOWIKI_OPEN:
4100                                {
4101                                alt50=1;
4102                                }
4103                                break;
4104                            case BLANKS:
4105                                {
4106                                alt50=1;
4107                                }
4108                                break;
4109                            case EOF:
4110                                {
4111                                alt50=1;
4112                                }
4113                                break;
4114                            case FORCED_END_OF_LINE:
4115                            case HEADING_SECTION:
4116                            case HORIZONTAL_SECTION:
4117                            case LIST_ITEM:
4118                            case LIST_ITEM_PART:
4119                            case NOWIKI_SECTION:
4120                            case SCAPE_NODE:
4121                            case TEXT_NODE:
4122                            case UNORDERED_LIST:
4123                            case UNFORMATTED_TEXT:
4124                            case WIKI:
4125                            case POUND:
4126                            case PIPE:
4127                            case EXTENSION:
4128                            case FORCED_LINEBREAK:
4129                            case NOWIKI_BLOCK_CLOSE:
4130                            case NOWIKI_CLOSE:
4131                            case LINK_CLOSE:
4132                            case IMAGE_CLOSE:
4133                            case DASH:
4134                            case CR:
4135                            case LF:
4136                            case SPACE:
4137                            case TABULATOR:
4138                            case BRACE_CLOSE:
4139                            case COLON_SLASH:
4140                            case SLASH:
4141                            case INSIGNIFICANT_CHAR:
4142                            case 41:
4143                            case 42:
4144                            case 43:
4145                            case 44:
4146                            case 45:
4147                            case 46:
4148                            case 47:
4149                            case 48:
4150                            case 49:
4151                            case 50:
4152                            case 51:
4153                            case 52:
4154                            case 53:
4155                            case 54:
4156                            case 55:
4157                            case 56:
4158                            case 57:
4159                            case 58:
4160                            case 59:
4161                            case 60:
4162                            case 61:
4163                            case 62:
4164                            case 63:
4165                            case 64:
4166                            case 65:
4167                            case 66:
4168                            case 67:
4169                            case 68:
4170                            case 69:
4171                            case 70:
4172                            case 71:
4173                            case 72:
4174                            case 73:
4175                            case 74:
4176                            case 75:
4177                            case 76:
4178                            case 77:
4179                            case 78:
4180                            case 79:
4181                            case 80:
4182                                {
4183                                alt50=1;
4184                                }
4185                                break;
4186                        }
4187    
4188                        switch (alt50) {
4189                            case 1 :
4190                                // Creole10.g:358:18: tbc= heading_boldcontent
4191                                {
4192                                pushFollow(FOLLOW_heading_boldcontent_in_heading_formattedelement1484);
4193                                tbc=heading_boldcontent();
4194                                _fsp--;
4195                                if (failed) return content;
4196                                if ( backtracking==0 ) {
4197                                  content = new BoldTextNode(tbc);
4198                                }
4199    
4200                                }
4201                                break;
4202    
4203                        }
4204    
4205                        // Creole10.g:358:90: ( bold_markup )?
4206                        int alt51=2;
4207                        int LA51_0 = input.LA(1);
4208    
4209                        if ( (LA51_0==STAR) ) {
4210                            int LA51_1 = input.LA(2);
4211    
4212                            if ( (LA51_1==STAR) ) {
4213                                alt51=1;
4214                            }
4215                        }
4216                        switch (alt51) {
4217                            case 1 :
4218                                // Creole10.g:358:92: bold_markup
4219                                {
4220                                pushFollow(FOLLOW_bold_markup_in_heading_formattedelement1494);
4221                                bold_markup();
4222                                _fsp--;
4223                                if (failed) return content;
4224    
4225                                }
4226                                break;
4227    
4228                        }
4229    
4230    
4231                        }
4232                        break;
4233    
4234                }
4235            }
4236            catch (RecognitionException re) {
4237                reportError(re);
4238                recover(input,re);
4239            }
4240            finally {
4241            }
4242            return content;
4243        }
4244        // $ANTLR end heading_formattedelement
4245    
4246    
4247        // $ANTLR start heading_boldcontent
4248        // Creole10.g:360:1: heading_boldcontent returns [CollectionNode items = new CollectionNode()] : ( onestar (tb= heading_boldcontentpart onestar )+ | EOF );
4249        public final CollectionNode heading_boldcontent() throws RecognitionException {
4250            CollectionNode items =  new CollectionNode();
4251    
4252            ASTNode tb = null;
4253    
4254    
4255            try {
4256                // Creole10.g:361:2: ( onestar (tb= heading_boldcontentpart onestar )+ | EOF )
4257                int alt54=2;
4258                int LA54_0 = input.LA(1);
4259    
4260                if ( ((LA54_0>=FORCED_END_OF_LINE && LA54_0<=WIKI)||(LA54_0>=POUND && LA54_0<=STAR)||(LA54_0>=PIPE && LA54_0<=FORCED_LINEBREAK)||(LA54_0>=NOWIKI_BLOCK_CLOSE && LA54_0<=80)) ) {
4261                    alt54=1;
4262                }
4263                else if ( (LA54_0==EOF) ) {
4264                    alt54=2;
4265                }
4266                else {
4267                    if (backtracking>0) {failed=true; return items;}
4268                    NoViableAltException nvae =
4269                        new NoViableAltException("360:1: heading_boldcontent returns [CollectionNode items = new CollectionNode()] : ( onestar (tb= heading_boldcontentpart onestar )+ | EOF );", 54, 0, input);
4270    
4271                    throw nvae;
4272                }
4273                switch (alt54) {
4274                    case 1 :
4275                        // Creole10.g:361:4: onestar (tb= heading_boldcontentpart onestar )+
4276                        {
4277                        pushFollow(FOLLOW_onestar_in_heading_boldcontent1511);
4278                        onestar();
4279                        _fsp--;
4280                        if (failed) return items;
4281                        // Creole10.g:361:13: (tb= heading_boldcontentpart onestar )+
4282                        int cnt53=0;
4283                        loop53:
4284                        do {
4285                            int alt53=2;
4286                            switch ( input.LA(1) ) {
4287                            case STAR:
4288                                {
4289                                alt53=1;
4290                                }
4291                                break;
4292                            case BLANKS:
4293                                {
4294                                alt53=1;
4295                                }
4296                                break;
4297                            case ITAL:
4298                                {
4299                                alt53=1;
4300                                }
4301                                break;
4302                            case FORCED_END_OF_LINE:
4303                            case HEADING_SECTION:
4304                            case HORIZONTAL_SECTION:
4305                            case LIST_ITEM:
4306                            case LIST_ITEM_PART:
4307                            case NOWIKI_SECTION:
4308                            case SCAPE_NODE:
4309                            case TEXT_NODE:
4310                            case UNORDERED_LIST:
4311                            case UNFORMATTED_TEXT:
4312                            case WIKI:
4313                            case POUND:
4314                            case PIPE:
4315                            case EXTENSION:
4316                            case FORCED_LINEBREAK:
4317                            case NOWIKI_BLOCK_CLOSE:
4318                            case NOWIKI_CLOSE:
4319                            case LINK_CLOSE:
4320                            case IMAGE_CLOSE:
4321                            case DASH:
4322                            case CR:
4323                            case LF:
4324                            case SPACE:
4325                            case TABULATOR:
4326                            case BRACE_CLOSE:
4327                            case COLON_SLASH:
4328                            case SLASH:
4329                            case INSIGNIFICANT_CHAR:
4330                            case 41:
4331                            case 42:
4332                            case 43:
4333                            case 44:
4334                            case 45:
4335                            case 46:
4336                            case 47:
4337                            case 48:
4338                            case 49:
4339                            case 50:
4340                            case 51:
4341                            case 52:
4342                            case 53:
4343                            case 54:
4344                            case 55:
4345                            case 56:
4346                            case 57:
4347                            case 58:
4348                            case 59:
4349                            case 60:
4350                            case 61:
4351                            case 62:
4352                            case 63:
4353                            case 64:
4354                            case 65:
4355                            case 66:
4356                            case 67:
4357                            case 68:
4358                            case 69:
4359                            case 70:
4360                            case 71:
4361                            case 72:
4362                            case 73:
4363                            case 74:
4364                            case 75:
4365                            case 76:
4366                            case 77:
4367                            case 78:
4368                            case 79:
4369                            case 80:
4370                                {
4371                                alt53=1;
4372                                }
4373                                break;
4374                            case LINK_OPEN:
4375                                {
4376                                alt53=1;
4377                                }
4378                                break;
4379                            case IMAGE_OPEN:
4380                                {
4381                                alt53=1;
4382                                }
4383                                break;
4384                            case NOWIKI_OPEN:
4385                                {
4386                                alt53=1;
4387                                }
4388                                break;
4389    
4390                            }
4391    
4392                            switch (alt53) {
4393                            case 1 :
4394                                // Creole10.g:361:15: tb= heading_boldcontentpart onestar
4395                                {
4396                                pushFollow(FOLLOW_heading_boldcontentpart_in_heading_boldcontent1520);
4397                                tb=heading_boldcontentpart();
4398                                _fsp--;
4399                                if (failed) return items;
4400                                if ( backtracking==0 ) {
4401                                   items.add(tb); 
4402                                }
4403                                pushFollow(FOLLOW_onestar_in_heading_boldcontent1525);
4404                                onestar();
4405                                _fsp--;
4406                                if (failed) return items;
4407    
4408                                }
4409                                break;
4410    
4411                            default :
4412                                if ( cnt53 >= 1 ) break loop53;
4413                                if (backtracking>0) {failed=true; return items;}
4414                                    EarlyExitException eee =
4415                                        new EarlyExitException(53, input);
4416                                    throw eee;
4417                            }
4418                            cnt53++;
4419                        } while (true);
4420    
4421    
4422                        }
4423                        break;
4424                    case 2 :
4425                        // Creole10.g:362:4: EOF
4426                        {
4427                        match(input,EOF,FOLLOW_EOF_in_heading_boldcontent1533); if (failed) return items;
4428    
4429                        }
4430                        break;
4431    
4432                }
4433            }
4434            catch (RecognitionException re) {
4435                reportError(re);
4436                recover(input,re);
4437            }
4438            finally {
4439            }
4440            return items;
4441        }
4442        // $ANTLR end heading_boldcontent
4443    
4444    
4445        // $ANTLR start heading_italcontent
4446        // Creole10.g:364:1: heading_italcontent returns [CollectionNode items = new CollectionNode()] : ( onestar (ti= heading_italcontentpart onestar )+ | EOF );
4447        public final CollectionNode heading_italcontent() throws RecognitionException {
4448            CollectionNode items =  new CollectionNode();
4449    
4450            ASTNode ti = null;
4451    
4452    
4453            try {
4454                // Creole10.g:365:2: ( onestar (ti= heading_italcontentpart onestar )+ | EOF )
4455                int alt56=2;
4456                int LA56_0 = input.LA(1);
4457    
4458                if ( ((LA56_0>=FORCED_END_OF_LINE && LA56_0<=WIKI)||(LA56_0>=POUND && LA56_0<=STAR)||(LA56_0>=PIPE && LA56_0<=FORCED_LINEBREAK)||(LA56_0>=NOWIKI_BLOCK_CLOSE && LA56_0<=80)) ) {
4459                    alt56=1;
4460                }
4461                else if ( (LA56_0==EOF) ) {
4462                    alt56=2;
4463                }
4464                else {
4465                    if (backtracking>0) {failed=true; return items;}
4466                    NoViableAltException nvae =
4467                        new NoViableAltException("364:1: heading_italcontent returns [CollectionNode items = new CollectionNode()] : ( onestar (ti= heading_italcontentpart onestar )+ | EOF );", 56, 0, input);
4468    
4469                    throw nvae;
4470                }
4471                switch (alt56) {
4472                    case 1 :
4473                        // Creole10.g:365:4: onestar (ti= heading_italcontentpart onestar )+
4474                        {
4475                        pushFollow(FOLLOW_onestar_in_heading_italcontent1547);
4476                        onestar();
4477                        _fsp--;
4478                        if (failed) return items;
4479                        // Creole10.g:365:13: (ti= heading_italcontentpart onestar )+
4480                        int cnt55=0;
4481                        loop55:
4482                        do {
4483                            int alt55=2;
4484                            switch ( input.LA(1) ) {
4485                            case ITAL:
4486                                {
4487                                alt55=1;
4488                                }
4489                                break;
4490                            case STAR:
4491                                {
4492                                alt55=1;
4493                                }
4494                                break;
4495                            case BLANKS:
4496                                {
4497                                alt55=1;
4498                                }
4499                                break;
4500                            case FORCED_END_OF_LINE:
4501                            case HEADING_SECTION:
4502                            case HORIZONTAL_SECTION:
4503                            case LIST_ITEM:
4504                            case LIST_ITEM_PART:
4505                            case NOWIKI_SECTION:
4506                            case SCAPE_NODE:
4507                            case TEXT_NODE:
4508                            case UNORDERED_LIST:
4509                            case UNFORMATTED_TEXT:
4510                            case WIKI:
4511                            case POUND:
4512                            case PIPE:
4513                            case EXTENSION:
4514                            case FORCED_LINEBREAK:
4515                            case NOWIKI_BLOCK_CLOSE:
4516                            case NOWIKI_CLOSE:
4517                            case LINK_CLOSE:
4518                            case IMAGE_CLOSE:
4519                            case DASH:
4520                            case CR:
4521                            case LF:
4522                            case SPACE:
4523                            case TABULATOR:
4524                            case BRACE_CLOSE:
4525                            case COLON_SLASH:
4526                            case SLASH:
4527                            case INSIGNIFICANT_CHAR:
4528                            case 41:
4529                            case 42:
4530                            case 43:
4531                            case 44:
4532                            case 45:
4533                            case 46:
4534                            case 47:
4535                            case 48:
4536                            case 49:
4537                            case 50:
4538                            case 51:
4539                            case 52:
4540                            case 53:
4541                            case 54:
4542                            case 55:
4543                            case 56:
4544                            case 57:
4545                            case 58:
4546                            case 59:
4547                            case 60:
4548                            case 61:
4549                            case 62:
4550                            case 63:
4551                            case 64:
4552                            case 65:
4553                            case 66:
4554                            case 67:
4555                            case 68:
4556                            case 69:
4557                            case 70:
4558                            case 71:
4559                            case 72:
4560                            case 73:
4561                            case 74:
4562                            case 75:
4563                            case 76:
4564                            case 77:
4565                            case 78:
4566                            case 79:
4567                            case 80:
4568                                {
4569                                alt55=1;
4570                                }
4571                                break;
4572                            case LINK_OPEN:
4573                                {
4574                                alt55=1;
4575                                }
4576                                break;
4577                            case IMAGE_OPEN:
4578                                {
4579                                alt55=1;
4580                                }
4581                                break;
4582                            case NOWIKI_OPEN:
4583                                {
4584                                alt55=1;
4585                                }
4586                                break;
4587    
4588                            }
4589    
4590                            switch (alt55) {
4591                            case 1 :
4592                                // Creole10.g:365:15: ti= heading_italcontentpart onestar
4593                                {
4594                                pushFollow(FOLLOW_heading_italcontentpart_in_heading_italcontent1556);
4595                                ti=heading_italcontentpart();
4596                                _fsp--;
4597                                if (failed) return items;
4598                                if ( backtracking==0 ) {
4599                                   items.add(ti); 
4600                                }
4601                                pushFollow(FOLLOW_onestar_in_heading_italcontent1561);
4602                                onestar();
4603                                _fsp--;
4604                                if (failed) return items;
4605    
4606                                }
4607                                break;
4608    
4609                            default :
4610                                if ( cnt55 >= 1 ) break loop55;
4611                                if (backtracking>0) {failed=true; return items;}
4612                                    EarlyExitException eee =
4613                                        new EarlyExitException(55, input);
4614                                    throw eee;
4615                            }
4616                            cnt55++;
4617                        } while (true);
4618    
4619    
4620                        }
4621                        break;
4622                    case 2 :
4623                        // Creole10.g:366:4: EOF
4624                        {
4625                        match(input,EOF,FOLLOW_EOF_in_heading_italcontent1569); if (failed) return items;
4626    
4627                        }
4628                        break;
4629    
4630                }
4631            }
4632            catch (RecognitionException re) {
4633                reportError(re);
4634                recover(input,re);
4635            }
4636            finally {
4637            }
4638            return items;
4639        }
4640        // $ANTLR end heading_italcontent
4641    
4642    
4643        // $ANTLR start heading_boldcontentpart
4644        // Creole10.g:368:1: heading_boldcontentpart returns [ASTNode node = null] : (tf= heading_formattedcontent | ital_markup tb= heading_bolditalcontent ( ital_markup )? );
4645        public final ASTNode heading_boldcontentpart() throws RecognitionException {
4646            ASTNode node =  null;
4647    
4648            CollectionNode tf = null;
4649    
4650            CollectionNode tb = null;
4651    
4652    
4653            try {
4654                // Creole10.g:369:2: (tf= heading_formattedcontent | ital_markup tb= heading_bolditalcontent ( ital_markup )? )
4655                int alt58=2;
4656                int LA58_0 = input.LA(1);
4657    
4658                if ( ((LA58_0>=FORCED_END_OF_LINE && LA58_0<=WIKI)||(LA58_0>=POUND && LA58_0<=STAR)||(LA58_0>=PIPE && LA58_0<=FORCED_LINEBREAK)||(LA58_0>=NOWIKI_BLOCK_CLOSE && LA58_0<=80)) ) {
4659                    alt58=1;
4660                }
4661                else {
4662                    if (backtracking>0) {failed=true; return node;}
4663                    NoViableAltException nvae =
4664                        new NoViableAltException("368:1: heading_boldcontentpart returns [ASTNode node = null] : (tf= heading_formattedcontent | ital_markup tb= heading_bolditalcontent ( ital_markup )? );", 58, 0, input);
4665    
4666                    throw nvae;
4667                }
4668                switch (alt58) {
4669                    case 1 :
4670                        // Creole10.g:369:4: tf= heading_formattedcontent
4671                        {
4672                        pushFollow(FOLLOW_heading_formattedcontent_in_heading_boldcontentpart1587);
4673                        tf=heading_formattedcontent();
4674                        _fsp--;
4675                        if (failed) return node;
4676                        if ( backtracking==0 ) {
4677                          node = tf; 
4678                        }
4679    
4680                        }
4681                        break;
4682                    case 2 :
4683                        // Creole10.g:370:4: ital_markup tb= heading_bolditalcontent ( ital_markup )?
4684                        {
4685                        pushFollow(FOLLOW_ital_markup_in_heading_boldcontentpart1594);
4686                        ital_markup();
4687                        _fsp--;
4688                        if (failed) return node;
4689                        pushFollow(FOLLOW_heading_bolditalcontent_in_heading_boldcontentpart1601);
4690                        tb=heading_bolditalcontent();
4691                        _fsp--;
4692                        if (failed) return node;
4693                        if ( backtracking==0 ) {
4694                           node = new ItalicTextNode(tb);  
4695                        }
4696                        // Creole10.g:370:94: ( ital_markup )?
4697                        int alt57=2;
4698                        int LA57_0 = input.LA(1);
4699    
4700                        if ( (LA57_0==ITAL) ) {
4701                            alt57=1;
4702                        }
4703                        switch (alt57) {
4704                            case 1 :
4705                                // Creole10.g:370:96: ital_markup
4706                                {
4707                                pushFollow(FOLLOW_ital_markup_in_heading_boldcontentpart1608);
4708                                ital_markup();
4709                                _fsp--;
4710                                if (failed) return node;
4711    
4712                                }
4713                                break;
4714    
4715                        }
4716    
4717    
4718                        }
4719                        break;
4720    
4721                }
4722            }
4723            catch (RecognitionException re) {
4724                reportError(re);
4725                recover(input,re);
4726            }
4727            finally {
4728            }
4729            return node;
4730        }
4731        // $ANTLR end heading_boldcontentpart
4732    
4733    
4734        // $ANTLR start heading_italcontentpart
4735        // Creole10.g:372:1: heading_italcontentpart returns [ASTNode node = null] : ( bold_markup tb= heading_bolditalcontent ( bold_markup )? | tf= heading_formattedcontent );
4736        public final ASTNode heading_italcontentpart() throws RecognitionException {
4737            ASTNode node =  null;
4738    
4739            CollectionNode tb = null;
4740    
4741            CollectionNode tf = null;
4742    
4743    
4744            try {
4745                // Creole10.g:373:2: ( bold_markup tb= heading_bolditalcontent ( bold_markup )? | tf= heading_formattedcontent )
4746                int alt60=2;
4747                int LA60_0 = input.LA(1);
4748    
4749                if ( (LA60_0==STAR) ) {
4750                    int LA60_1 = input.LA(2);
4751    
4752                    if ( (LA60_1==STAR) ) {
4753                        alt60=1;
4754                    }
4755                    else if ( (LA60_1==EOF||(LA60_1>=FORCED_END_OF_LINE && LA60_1<=POUND)||(LA60_1>=EQUAL && LA60_1<=FORCED_LINEBREAK)||(LA60_1>=NOWIKI_BLOCK_CLOSE && LA60_1<=80)) ) {
4756                        alt60=2;
4757                    }
4758                    else {
4759                        if (backtracking>0) {failed=true; return node;}
4760                        NoViableAltException nvae =
4761                            new NoViableAltException("372:1: heading_italcontentpart returns [ASTNode node = null] : ( bold_markup tb= heading_bolditalcontent ( bold_markup )? | tf= heading_formattedcontent );", 60, 1, input);
4762    
4763                        throw nvae;
4764                    }
4765                }
4766                else if ( ((LA60_0>=FORCED_END_OF_LINE && LA60_0<=WIKI)||LA60_0==POUND||(LA60_0>=PIPE && LA60_0<=FORCED_LINEBREAK)||(LA60_0>=NOWIKI_BLOCK_CLOSE && LA60_0<=80)) ) {
4767                    alt60=2;
4768                }
4769                else {
4770                    if (backtracking>0) {failed=true; return node;}
4771                    NoViableAltException nvae =
4772                        new NoViableAltException("372:1: heading_italcontentpart returns [ASTNode node = null] : ( bold_markup tb= heading_bolditalcontent ( bold_markup )? | tf= heading_formattedcontent );", 60, 0, input);
4773    
4774                    throw nvae;
4775                }
4776                switch (alt60) {
4777                    case 1 :
4778                        // Creole10.g:373:4: bold_markup tb= heading_bolditalcontent ( bold_markup )?
4779                        {
4780                        pushFollow(FOLLOW_bold_markup_in_heading_italcontentpart1625);
4781                        bold_markup();
4782                        _fsp--;
4783                        if (failed) return node;
4784                        pushFollow(FOLLOW_heading_bolditalcontent_in_heading_italcontentpart1632);
4785                        tb=heading_bolditalcontent();
4786                        _fsp--;
4787                        if (failed) return node;
4788                        if ( backtracking==0 ) {
4789                          node = new BoldTextNode(tb); 
4790                        }
4791                        // Creole10.g:373:90: ( bold_markup )?
4792                        int alt59=2;
4793                        int LA59_0 = input.LA(1);
4794    
4795                        if ( (LA59_0==STAR) ) {
4796                            int LA59_1 = input.LA(2);
4797    
4798                            if ( (LA59_1==STAR) ) {
4799                                alt59=1;
4800                            }
4801                        }
4802                        switch (alt59) {
4803                            case 1 :
4804                                // Creole10.g:373:92: bold_markup
4805                                {
4806                                pushFollow(FOLLOW_bold_markup_in_heading_italcontentpart1639);
4807                                bold_markup();
4808                                _fsp--;
4809                                if (failed) return node;
4810    
4811                                }
4812                                break;
4813    
4814                        }
4815    
4816    
4817                        }
4818                        break;
4819                    case 2 :
4820                        // Creole10.g:374:4: tf= heading_formattedcontent
4821                        {
4822                        pushFollow(FOLLOW_heading_formattedcontent_in_heading_italcontentpart1651);
4823                        tf=heading_formattedcontent();
4824                        _fsp--;
4825                        if (failed) return node;
4826                        if ( backtracking==0 ) {
4827                           node = tf; 
4828                        }
4829    
4830                        }
4831                        break;
4832    
4833                }
4834            }
4835            catch (RecognitionException re) {
4836                reportError(re);
4837                recover(input,re);
4838            }
4839            finally {
4840            }
4841            return node;
4842        }
4843        // $ANTLR end heading_italcontentpart
4844    
4845    
4846        // $ANTLR start heading_bolditalcontent
4847        // Creole10.g:376:1: heading_bolditalcontent returns [CollectionNode elements = null] : ( onestar (tfc= heading_formattedcontent onestar )? | EOF );
4848        public final CollectionNode heading_bolditalcontent() throws RecognitionException {
4849            CollectionNode elements =  null;
4850    
4851            CollectionNode tfc = null;
4852    
4853    
4854            try {
4855                // Creole10.g:377:2: ( onestar (tfc= heading_formattedcontent onestar )? | EOF )
4856                int alt62=2;
4857                int LA62_0 = input.LA(1);
4858    
4859                if ( ((LA62_0>=FORCED_END_OF_LINE && LA62_0<=FORCED_LINEBREAK)||(LA62_0>=NOWIKI_BLOCK_CLOSE && LA62_0<=80)) ) {
4860                    alt62=1;
4861                }
4862                else if ( (LA62_0==EOF) ) {
4863                    alt62=1;
4864                }
4865                else {
4866                    if (backtracking>0) {failed=true; return elements;}
4867                    NoViableAltException nvae =
4868                        new NoViableAltException("376:1: heading_bolditalcontent returns [CollectionNode elements = null] : ( onestar (tfc= heading_formattedcontent onestar )? | EOF );", 62, 0, input);
4869    
4870                    throw nvae;
4871                }
4872                switch (alt62) {
4873                    case 1 :
4874                        // Creole10.g:377:4: onestar (tfc= heading_formattedcontent onestar )?
4875                        {
4876                        pushFollow(FOLLOW_onestar_in_heading_bolditalcontent1667);
4877                        onestar();
4878                        _fsp--;
4879                        if (failed) return elements;
4880                        // Creole10.g:377:13: (tfc= heading_formattedcontent onestar )?
4881                        int alt61=2;
4882                        switch ( input.LA(1) ) {
4883                            case ITAL:
4884                                {
4885                                alt61=1;
4886                                }
4887                                break;
4888                            case LINK_OPEN:
4889                                {
4890                                alt61=1;
4891                                }
4892                                break;
4893                            case IMAGE_OPEN:
4894                                {
4895                                alt61=1;
4896                                }
4897                                break;
4898                            case NOWIKI_OPEN:
4899                                {
4900                                alt61=1;
4901                                }
4902                                break;
4903                            case STAR:
4904                                {
4905                                alt61=1;
4906                                }
4907                                break;
4908                            case BLANKS:
4909                                {
4910                                alt61=1;
4911                                }
4912                                break;
4913                            case FORCED_END_OF_LINE:
4914                            case HEADING_SECTION:
4915                            case HORIZONTAL_SECTION:
4916                            case LIST_ITEM:
4917                            case LIST_ITEM_PART:
4918                            case NOWIKI_SECTION:
4919                            case SCAPE_NODE:
4920                            case TEXT_NODE:
4921                            case UNORDERED_LIST:
4922                            case UNFORMATTED_TEXT:
4923                            case WIKI:
4924                            case POUND:
4925                            case PIPE:
4926                            case EXTENSION:
4927                            case FORCED_LINEBREAK:
4928                            case NOWIKI_BLOCK_CLOSE:
4929                            case NOWIKI_CLOSE:
4930                            case LINK_CLOSE:
4931                            case IMAGE_CLOSE:
4932                            case DASH:
4933                            case CR:
4934                            case LF:
4935                            case SPACE:
4936                            case TABULATOR:
4937                            case BRACE_CLOSE:
4938                            case COLON_SLASH:
4939                            case SLASH:
4940                            case INSIGNIFICANT_CHAR:
4941                            case 41:
4942                            case 42:
4943                            case 43:
4944                            case 44:
4945                            case 45:
4946                            case 46:
4947                            case 47:
4948                            case 48:
4949                            case 49:
4950                            case 50:
4951                            case 51:
4952                            case 52:
4953                            case 53:
4954                            case 54:
4955                            case 55:
4956                            case 56:
4957                            case 57:
4958                            case 58:
4959                            case 59:
4960                            case 60:
4961                            case 61:
4962                            case 62:
4963                            case 63:
4964                            case 64:
4965                            case 65:
4966                            case 66:
4967                            case 67:
4968                            case 68:
4969                            case 69:
4970                            case 70:
4971                            case 71:
4972                            case 72:
4973                            case 73:
4974                            case 74:
4975                            case 75:
4976                            case 76:
4977                            case 77:
4978                            case 78:
4979                            case 79:
4980                            case 80:
4981                                {
4982                                alt61=1;
4983                                }
4984                                break;
4985                        }
4986    
4987                        switch (alt61) {
4988                            case 1 :
4989                                // Creole10.g:377:15: tfc= heading_formattedcontent onestar
4990                                {
4991                                pushFollow(FOLLOW_heading_formattedcontent_in_heading_bolditalcontent1676);
4992                                tfc=heading_formattedcontent();
4993                                _fsp--;
4994                                if (failed) return elements;
4995                                if ( backtracking==0 ) {
4996                                   elements = tfc; 
4997                                }
4998                                pushFollow(FOLLOW_onestar_in_heading_bolditalcontent1681);
4999                                onestar();
5000                                _fsp--;
5001                                if (failed) return elements;
5002    
5003                                }
5004                                break;
5005    
5006                        }
5007    
5008    
5009                        }
5010                        break;
5011                    case 2 :
5012                        // Creole10.g:378:4: EOF
5013                        {
5014                        match(input,EOF,FOLLOW_EOF_in_heading_bolditalcontent1689); if (failed) return elements;
5015    
5016                        }
5017                        break;
5018    
5019                }
5020            }
5021            catch (RecognitionException re) {
5022                reportError(re);
5023                recover(input,re);
5024            }
5025            finally {
5026            }
5027            return elements;
5028        }
5029        // $ANTLR end heading_bolditalcontent
5030    
5031    
5032        // $ANTLR start heading_formattedcontent
5033        // Creole10.g:380:1: heading_formattedcontent returns [CollectionNode elements = new CollectionNode()] : (tu= heading_unformattedelement )+ ;
5034        public final CollectionNode heading_formattedcontent() throws RecognitionException {
5035            CollectionNode elements =  new CollectionNode();
5036    
5037            ASTNode tu = null;
5038    
5039    
5040            try {
5041                // Creole10.g:381:2: ( (tu= heading_unformattedelement )+ )
5042                // Creole10.g:381:4: (tu= heading_unformattedelement )+
5043                {
5044                // Creole10.g:381:4: (tu= heading_unformattedelement )+
5045                int cnt63=0;
5046                loop63:
5047                do {
5048                    int alt63=2;
5049                    switch ( input.LA(1) ) {
5050                    case STAR:
5051                        {
5052                        alt63=1;
5053                        }
5054                        break;
5055                    case BLANKS:
5056                        {
5057                        alt63=1;
5058                        }
5059                        break;
5060                    case ITAL:
5061                        {
5062                        alt63=1;
5063                        }
5064                        break;
5065                    case FORCED_END_OF_LINE:
5066                    case HEADING_SECTION:
5067                    case HORIZONTAL_SECTION:
5068                    case LIST_ITEM:
5069                    case LIST_ITEM_PART:
5070                    case NOWIKI_SECTION:
5071                    case SCAPE_NODE:
5072                    case TEXT_NODE:
5073                    case UNORDERED_LIST:
5074                    case UNFORMATTED_TEXT:
5075                    case WIKI:
5076                    case POUND:
5077                    case PIPE:
5078                    case EXTENSION:
5079                    case FORCED_LINEBREAK:
5080                    case NOWIKI_BLOCK_CLOSE:
5081                    case NOWIKI_CLOSE:
5082                    case LINK_CLOSE:
5083                    case IMAGE_CLOSE:
5084                    case DASH:
5085                    case CR:
5086                    case LF:
5087                    case SPACE:
5088                    case TABULATOR:
5089                    case BRACE_CLOSE:
5090                    case COLON_SLASH:
5091                    case SLASH:
5092                    case INSIGNIFICANT_CHAR:
5093                    case 41:
5094                    case 42:
5095                    case 43:
5096                    case 44:
5097                    case 45:
5098                    case 46:
5099                    case 47:
5100                    case 48:
5101                    case 49:
5102                    case 50:
5103                    case 51:
5104                    case 52:
5105                    case 53:
5106                    case 54:
5107                    case 55:
5108                    case 56:
5109                    case 57:
5110                    case 58:
5111                    case 59:
5112                    case 60:
5113                    case 61:
5114                    case 62:
5115                    case 63:
5116                    case 64:
5117                    case 65:
5118                    case 66:
5119                    case 67:
5120                    case 68:
5121                    case 69:
5122                    case 70:
5123                    case 71:
5124                    case 72:
5125                    case 73:
5126                    case 74:
5127                    case 75:
5128                    case 76:
5129                    case 77:
5130                    case 78:
5131                    case 79:
5132                    case 80:
5133                        {
5134                        alt63=1;
5135                        }
5136                        break;
5137                    case LINK_OPEN:
5138                        {
5139                        alt63=1;
5140                        }
5141                        break;
5142                    case IMAGE_OPEN:
5143                        {
5144                        alt63=1;
5145                        }
5146                        break;
5147                    case NOWIKI_OPEN:
5148                        {
5149                        alt63=1;
5150                        }
5151                        break;
5152    
5153                    }
5154    
5155                    switch (alt63) {
5156                    case 1 :
5157                        // Creole10.g:381:6: tu= heading_unformattedelement
5158                        {
5159                        pushFollow(FOLLOW_heading_unformattedelement_in_heading_formattedcontent1709);
5160                        tu=heading_unformattedelement();
5161                        _fsp--;
5162                        if (failed) return elements;
5163                        if ( backtracking==0 ) {
5164                           elements.add(tu); 
5165                        }
5166    
5167                        }
5168                        break;
5169    
5170                    default :
5171                        if ( cnt63 >= 1 ) break loop63;
5172                        if (backtracking>0) {failed=true; return elements;}
5173                            EarlyExitException eee =
5174                                new EarlyExitException(63, input);
5175                            throw eee;
5176                    }
5177                    cnt63++;
5178                } while (true);
5179    
5180    
5181                }
5182    
5183            }
5184            catch (RecognitionException re) {
5185                reportError(re);
5186                recover(input,re);
5187            }
5188            finally {
5189            }
5190            return elements;
5191        }
5192        // $ANTLR end heading_formattedcontent
5193    
5194    
5195        // $ANTLR start heading_unformattedelement
5196        // Creole10.g:383:1: heading_unformattedelement returns [ASTNode content = null] : (tu= heading_unformatted_text | ti= heading_inlineelement );
5197        public final ASTNode heading_unformattedelement() throws RecognitionException {
5198            ASTNode content =  null;
5199    
5200            StringBundler tu = null;
5201    
5202            ASTNode ti = null;
5203    
5204    
5205            try {
5206                // Creole10.g:384:2: (tu= heading_unformatted_text | ti= heading_inlineelement )
5207                int alt64=2;
5208                int LA64_0 = input.LA(1);
5209    
5210                if ( ((LA64_0>=FORCED_END_OF_LINE && LA64_0<=WIKI)||(LA64_0>=POUND && LA64_0<=STAR)||(LA64_0>=PIPE && LA64_0<=ITAL)||(LA64_0>=EXTENSION && LA64_0<=FORCED_LINEBREAK)||(LA64_0>=NOWIKI_BLOCK_CLOSE && LA64_0<=80)) ) {
5211                    alt64=1;
5212                }
5213                else if ( ((LA64_0>=LINK_OPEN && LA64_0<=NOWIKI_OPEN)) ) {
5214                    alt64=2;
5215                }
5216                else {
5217                    if (backtracking>0) {failed=true; return content;}
5218                    NoViableAltException nvae =
5219                        new NoViableAltException("383:1: heading_unformattedelement returns [ASTNode content = null] : (tu= heading_unformatted_text | ti= heading_inlineelement );", 64, 0, input);
5220    
5221                    throw nvae;
5222                }
5223                switch (alt64) {
5224                    case 1 :
5225                        // Creole10.g:384:4: tu= heading_unformatted_text
5226                        {
5227                        pushFollow(FOLLOW_heading_unformatted_text_in_heading_unformattedelement1732);
5228                        tu=heading_unformatted_text();
5229                        _fsp--;
5230                        if (failed) return content;
5231                        if ( backtracking==0 ) {
5232                          content = new UnformattedTextNode(tu.toString());
5233                        }
5234    
5235                        }
5236                        break;
5237                    case 2 :
5238                        // Creole10.g:385:4: ti= heading_inlineelement
5239                        {
5240                        pushFollow(FOLLOW_heading_inlineelement_in_heading_unformattedelement1744);
5241                        ti=heading_inlineelement();
5242                        _fsp--;
5243                        if (failed) return content;
5244                        if ( backtracking==0 ) {
5245                          content = ti;
5246                        }
5247    
5248                        }
5249                        break;
5250    
5251                }
5252            }
5253            catch (RecognitionException re) {
5254                reportError(re);
5255                recover(input,re);
5256            }
5257            finally {
5258            }
5259            return content;
5260        }
5261        // $ANTLR end heading_unformattedelement
5262    
5263    
5264        // $ANTLR start heading_inlineelement
5265        // Creole10.g:387:1: heading_inlineelement returns [ASTNode element = null] : (l= link | i= image | nwi= nowiki_inline );
5266        public final ASTNode heading_inlineelement() throws RecognitionException {
5267            ASTNode element =  null;
5268    
5269            LinkNode l = null;
5270    
5271            ImageNode i = null;
5272    
5273            NoWikiSectionNode nwi = null;
5274    
5275    
5276            try {
5277                // Creole10.g:388:2: (l= link | i= image | nwi= nowiki_inline )
5278                int alt65=3;
5279                switch ( input.LA(1) ) {
5280                case LINK_OPEN:
5281                    {
5282                    alt65=1;
5283                    }
5284                    break;
5285                case IMAGE_OPEN:
5286                    {
5287                    alt65=2;
5288                    }
5289                    break;
5290                case NOWIKI_OPEN:
5291                    {
5292                    alt65=3;
5293                    }
5294                    break;
5295                default:
5296                    if (backtracking>0) {failed=true; return element;}
5297                    NoViableAltException nvae =
5298                        new NoViableAltException("387:1: heading_inlineelement returns [ASTNode element = null] : (l= link | i= image | nwi= nowiki_inline );", 65, 0, input);
5299    
5300                    throw nvae;
5301                }
5302    
5303                switch (alt65) {
5304                    case 1 :
5305                        // Creole10.g:388:4: l= link
5306                        {
5307                        pushFollow(FOLLOW_link_in_heading_inlineelement1764);
5308                        l=link();
5309                        _fsp--;
5310                        if (failed) return element;
5311                        if ( backtracking==0 ) {
5312                          element = l; 
5313                        }
5314    
5315                        }
5316                        break;
5317                    case 2 :
5318                        // Creole10.g:389:4: i= image
5319                        {
5320                        pushFollow(FOLLOW_image_in_heading_inlineelement1774);
5321                        i=image();
5322                        _fsp--;
5323                        if (failed) return element;
5324                        if ( backtracking==0 ) {
5325                          element = i; 
5326                        }
5327    
5328                        }
5329                        break;
5330                    case 3 :
5331                        // Creole10.g:390:4: nwi= nowiki_inline
5332                        {
5333                        pushFollow(FOLLOW_nowiki_inline_in_heading_inlineelement1785);
5334                        nwi=nowiki_inline();
5335                        _fsp--;
5336                        if (failed) return element;
5337                        if ( backtracking==0 ) {
5338                          element = nwi; 
5339                        }
5340    
5341                        }
5342                        break;
5343    
5344                }
5345            }
5346            catch (RecognitionException re) {
5347                reportError(re);
5348                recover(input,re);
5349            }
5350            finally {
5351            }
5352            return element;
5353        }
5354        // $ANTLR end heading_inlineelement
5355    
5356    
5357        // $ANTLR start heading_unformatted_text
5358        // Creole10.g:393:1: heading_unformatted_text returns [StringBundler text = new StringBundler()] : (c=~ ( LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EQUAL | ESCAPE | NEWLINE | EOF ) )+ ;
5359        public final StringBundler heading_unformatted_text() throws RecognitionException {
5360            StringBundler text =  new StringBundler();
5361    
5362            Token c=null;
5363    
5364            try {
5365                // Creole10.g:394:2: ( (c=~ ( LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EQUAL | ESCAPE | NEWLINE | EOF ) )+ )
5366                // Creole10.g:394:4: (c=~ ( LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EQUAL | ESCAPE | NEWLINE | EOF ) )+
5367                {
5368                // Creole10.g:394:4: (c=~ ( LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EQUAL | ESCAPE | NEWLINE | EOF ) )+
5369                int cnt66=0;
5370                loop66:
5371                do {
5372                    int alt66=2;
5373                    switch ( input.LA(1) ) {
5374                    case STAR:
5375                        {
5376                        alt66=1;
5377                        }
5378                        break;
5379                    case BLANKS:
5380                        {
5381                        alt66=1;
5382                        }
5383                        break;
5384                    case ITAL:
5385                        {
5386                        alt66=1;
5387                        }
5388                        break;
5389                    case FORCED_END_OF_LINE:
5390                    case HEADING_SECTION:
5391                    case HORIZONTAL_SECTION:
5392                    case LIST_ITEM:
5393                    case LIST_ITEM_PART:
5394                    case NOWIKI_SECTION:
5395                    case SCAPE_NODE:
5396                    case TEXT_NODE:
5397                    case UNORDERED_LIST:
5398                    case UNFORMATTED_TEXT:
5399                    case WIKI:
5400                    case POUND:
5401                    case PIPE:
5402                    case EXTENSION:
5403                    case FORCED_LINEBREAK:
5404                    case NOWIKI_BLOCK_CLOSE:
5405                    case NOWIKI_CLOSE:
5406                    case LINK_CLOSE:
5407                    case IMAGE_CLOSE:
5408                    case DASH:
5409                    case CR:
5410                    case LF:
5411                    case SPACE:
5412                    case TABULATOR:
5413                    case BRACE_CLOSE:
5414                    case COLON_SLASH:
5415                    case SLASH:
5416                    case INSIGNIFICANT_CHAR:
5417                    case 41:
5418                    case 42:
5419                    case 43:
5420                    case 44:
5421                    case 45:
5422                    case 46:
5423                    case 47:
5424                    case 48:
5425                    case 49:
5426                    case 50:
5427                    case 51:
5428                    case 52:
5429                    case 53:
5430                    case 54:
5431                    case 55:
5432                    case 56:
5433                    case 57:
5434                    case 58:
5435                    case 59:
5436                    case 60:
5437                    case 61:
5438                    case 62:
5439                    case 63:
5440                    case 64:
5441                    case 65:
5442                    case 66:
5443                    case 67:
5444                    case 68:
5445                    case 69:
5446                    case 70:
5447                    case 71:
5448                    case 72:
5449                    case 73:
5450                    case 74:
5451                    case 75:
5452                    case 76:
5453                    case 77:
5454                    case 78:
5455                    case 79:
5456                    case 80:
5457                        {
5458                        alt66=1;
5459                        }
5460                        break;
5461    
5462                    }
5463    
5464                    switch (alt66) {
5465                    case 1 :
5466                        // Creole10.g:394:6: c=~ ( LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EQUAL | ESCAPE | NEWLINE | EOF )
5467                        {
5468                        c=(Token)input.LT(1);
5469                        if ( (input.LA(1)>=FORCED_END_OF_LINE && input.LA(1)<=WIKI)||(input.LA(1)>=POUND && input.LA(1)<=STAR)||(input.LA(1)>=PIPE && input.LA(1)<=ITAL)||(input.LA(1)>=EXTENSION && input.LA(1)<=FORCED_LINEBREAK)||(input.LA(1)>=NOWIKI_BLOCK_CLOSE && input.LA(1)<=80) ) {
5470                            input.consume();
5471                            errorRecovery=false;failed=false;
5472                        }
5473                        else {
5474                            if (backtracking>0) {failed=true; return text;}
5475                            MismatchedSetException mse =
5476                                new MismatchedSetException(null,input);
5477                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_heading_unformatted_text1808);    throw mse;
5478                        }
5479    
5480                        if ( backtracking==0 ) {
5481                          text.append(c.getText());
5482                        }
5483    
5484                        }
5485                        break;
5486    
5487                    default :
5488                        if ( cnt66 >= 1 ) break loop66;
5489                        if (backtracking>0) {failed=true; return text;}
5490                            EarlyExitException eee =
5491                                new EarlyExitException(66, input);
5492                            throw eee;
5493                    }
5494                    cnt66++;
5495                } while (true);
5496    
5497    
5498                }
5499    
5500            }
5501            catch (RecognitionException re) {
5502                reportError(re);
5503                recover(input,re);
5504            }
5505            finally {
5506            }
5507            return text;
5508        }
5509        // $ANTLR end heading_unformatted_text
5510    
5511        protected static class list_scope {
5512            BaseListNode currentParent;
5513            ListNode root;
5514            Stack<ItemNode> parents;
5515            int lastLevel = 1;
5516        }
5517        protected Stack list_stack = new Stack();
5518    
5519    
5520        // $ANTLR start list
5521        // Creole10.g:400:1: list returns [ListNode listNode = null] : (elem= list_elems )+ ( end_of_list )? ;
5522        public final ListNode list() throws RecognitionException {
5523            list_stack.push(new list_scope());
5524            ListNode listNode =  null;
5525    
5526    
5527                            ((list_scope)list_stack.peek()).root = new ListNode();
5528    
5529                            if (input.LA(1) == POUND) {
5530                                    ((list_scope)list_stack.peek()).currentParent = new OrderedListNode(((list_scope)list_stack.peek()).root);
5531                            }
5532                            else {
5533                                    ((list_scope)list_stack.peek()).currentParent = new UnorderedListNode(((list_scope)list_stack.peek()).root);
5534                            }
5535    
5536                            ((list_scope)list_stack.peek()).root.addChildASTNode(((list_scope)list_stack.peek()).currentParent);
5537    
5538                            ((list_scope)list_stack.peek()).parents = new Stack<ItemNode>();
5539                    
5540            try {
5541                // Creole10.g:424:2: ( (elem= list_elems )+ ( end_of_list )? )
5542                // Creole10.g:424:4: (elem= list_elems )+ ( end_of_list )?
5543                {
5544                // Creole10.g:424:4: (elem= list_elems )+
5545                int cnt67=0;
5546                loop67:
5547                do {
5548                    int alt67=2;
5549                    int LA67_0 = input.LA(1);
5550    
5551                    if ( (LA67_0==POUND) ) {
5552                        alt67=1;
5553                    }
5554                    else if ( (LA67_0==STAR) ) {
5555                        alt67=1;
5556                    }
5557    
5558    
5559                    switch (alt67) {
5560                    case 1 :
5561                        // Creole10.g:424:6: elem= list_elems
5562                        {
5563                        pushFollow(FOLLOW_list_elems_in_list1882);
5564                        list_elems();
5565                        _fsp--;
5566                        if (failed) return listNode;
5567    
5568                        }
5569                        break;
5570    
5571                    default :
5572                        if ( cnt67 >= 1 ) break loop67;
5573                        if (backtracking>0) {failed=true; return listNode;}
5574                            EarlyExitException eee =
5575                                new EarlyExitException(67, input);
5576                            throw eee;
5577                    }
5578                    cnt67++;
5579                } while (true);
5580    
5581                // Creole10.g:424:28: ( end_of_list )?
5582                int alt68=2;
5583                int LA68_0 = input.LA(1);
5584    
5585                if ( (LA68_0==NEWLINE) ) {
5586                    alt68=1;
5587                }
5588                else if ( (LA68_0==EOF) ) {
5589                    alt68=1;
5590                }
5591                switch (alt68) {
5592                    case 1 :
5593                        // Creole10.g:424:30: end_of_list
5594                        {
5595                        pushFollow(FOLLOW_end_of_list_in_list1890);
5596                        end_of_list();
5597                        _fsp--;
5598                        if (failed) return listNode;
5599    
5600                        }
5601                        break;
5602    
5603                }
5604    
5605    
5606                }
5607    
5608                if ( backtracking==0 ) {
5609    
5610                            listNode = ((list_scope)list_stack.peek()).root;
5611                    
5612                }
5613            }
5614            catch (RecognitionException re) {
5615                reportError(re);
5616                recover(input,re);
5617            }
5618            finally {
5619                list_stack.pop();
5620            }
5621            return listNode;
5622        }
5623        // $ANTLR end list
5624    
5625    
5626        // $ANTLR start list_elems
5627        // Creole10.g:427:1: list_elems : (om= list_ordelem_markup elem= list_elem | um= list_unordelem_markup elem= list_elem );
5628        public final void list_elems() throws RecognitionException {
5629            CountLevel_stack.push(new CountLevel_scope());
5630    
5631            list_ordelem_markup_return om = null;
5632    
5633            CollectionNode elem = null;
5634    
5635            list_unordelem_markup_return um = null;
5636    
5637    
5638    
5639                            ((CountLevel_scope)CountLevel_stack.peek()).level = 0;
5640                    
5641            try {
5642                // Creole10.g:432:2: (om= list_ordelem_markup elem= list_elem | um= list_unordelem_markup elem= list_elem )
5643                int alt69=2;
5644                int LA69_0 = input.LA(1);
5645    
5646                if ( (LA69_0==POUND) ) {
5647                    alt69=1;
5648                }
5649                else if ( (LA69_0==STAR) ) {
5650                    alt69=2;
5651                }
5652                else {
5653                    if (backtracking>0) {failed=true; return ;}
5654                    NoViableAltException nvae =
5655                        new NoViableAltException("427:1: list_elems : (om= list_ordelem_markup elem= list_elem | um= list_unordelem_markup elem= list_elem );", 69, 0, input);
5656    
5657                    throw nvae;
5658                }
5659                switch (alt69) {
5660                    case 1 :
5661                        // Creole10.g:432:4: om= list_ordelem_markup elem= list_elem
5662                        {
5663                        pushFollow(FOLLOW_list_ordelem_markup_in_list_elems1920);
5664                        om=list_ordelem_markup();
5665                        _fsp--;
5666                        if (failed) return ;
5667                        if ( backtracking==0 ) {
5668                          ++((CountLevel_scope)CountLevel_stack.peek()).level;((CountLevel_scope)CountLevel_stack.peek()).currentMarkup = input.toString(om.start,om.stop);((CountLevel_scope)CountLevel_stack.peek()).groups += input.toString(om.start,om.stop);
5669                        }
5670                        pushFollow(FOLLOW_list_elem_in_list_elems1932);
5671                        elem=list_elem();
5672                        _fsp--;
5673                        if (failed) return ;
5674                        if ( backtracking==0 ) {
5675                            
5676    
5677                                                            Stack<ItemNode> parents = ((list_scope)list_stack.peek()).parents;
5678    
5679                                                            ItemNode top = parents.isEmpty()?null:parents.peek();
5680    
5681                                                            BaseParentableNode baseParentableNode = ((list_scope)list_stack.peek()).currentParent;
5682    
5683                                                            if (top == null) {
5684                                                                    OrderedListItemNode node = new OrderedListItemNode(((CountLevel_scope)CountLevel_stack.peek()).level, baseParentableNode, elem);
5685                                                                    baseParentableNode.addChildASTNode(node);
5686    
5687                                                                    parents.push(node);
5688    
5689                                                            }
5690                                                            else if (((CountLevel_scope)CountLevel_stack.peek()).level > ((list_scope)list_stack.peek()).lastLevel) {          
5691                                                                    OrderedListNode orderedListNode = new OrderedListNode(top);
5692    
5693                                                                    OrderedListItemNode node = new OrderedListItemNode(((CountLevel_scope)CountLevel_stack.peek()).level, orderedListNode, elem);
5694                                                                    orderedListNode.addChildASTNode(node);
5695    
5696                                                                    top.addChildASTNode(orderedListNode);
5697    
5698                                                                    parents.push(node);
5699                                                            } 
5700                                                            else if (((CountLevel_scope)CountLevel_stack.peek()).level < ((list_scope)list_stack.peek()).lastLevel) {
5701                                                                    ItemNode in = parents.peek();
5702    
5703                                                                    while (in.getLevel() > ((CountLevel_scope)CountLevel_stack.peek()).level) {
5704                                                                            in = parents.pop();
5705                                                                            --((list_scope)list_stack.peek()).lastLevel;
5706                                                                    }
5707    
5708                                                                    top = in;
5709    
5710                                                                    baseParentableNode = top.getBaseParentableNode();
5711    
5712                                                                    OrderedListItemNode node = new OrderedListItemNode(((CountLevel_scope)CountLevel_stack.peek()).level, baseParentableNode, elem);
5713    
5714                                                                    if (baseParentableNode instanceof UnorderedListItemNode) {
5715                                                                            buildAndComposeListNode(baseParentableNode, node, true);
5716                                                                    }
5717                                                                    else if (baseParentableNode instanceof UnorderedListNode) {
5718                                                                            baseParentableNode = ((UnorderedListNode)baseParentableNode).getBaseParentableNode();
5719    
5720                                                                            buildAndComposeListNode(baseParentableNode, node, true);
5721                                                                    }
5722                                                                    else if (baseParentableNode instanceof OrderedListNode && top instanceof UnorderedListItemNode) {
5723                                                                            baseParentableNode = ((OrderedListNode)baseParentableNode).getBaseParentableNode();
5724    
5725                                                                            buildAndComposeListNode(baseParentableNode, node, true);
5726                                                                    }
5727                                                                    else {
5728                                                                            baseParentableNode.addChildASTNode(node);
5729                                                                    }
5730    
5731                                                                    parents.push(node);
5732    
5733                                                            }
5734                                                            else {
5735                                                                    baseParentableNode = top.getBaseParentableNode();
5736    
5737                                                                    OrderedListItemNode node = new OrderedListItemNode(((CountLevel_scope)CountLevel_stack.peek()).level, baseParentableNode, elem);
5738    
5739                                                                    if (baseParentableNode instanceof UnorderedListItemNode) {
5740                                                                            buildAndComposeListNode(baseParentableNode, node, true);
5741                                                                    } 
5742                                                                    else if (baseParentableNode instanceof UnorderedListNode) {
5743                                                                            baseParentableNode = ((UnorderedListNode)baseParentableNode).getBaseParentableNode();
5744    
5745                                                                            buildAndComposeListNode(baseParentableNode, node, true);
5746                                                                    } 
5747                                                                    else if (baseParentableNode instanceof OrderedListNode && top instanceof UnorderedListItemNode) {
5748                                                                            baseParentableNode = ((OrderedListNode)baseParentableNode).getBaseParentableNode();
5749    
5750                                                                            buildAndComposeListNode(baseParentableNode, node, true);
5751                                                                    } 
5752                                                                    else {
5753                                                                            baseParentableNode.addChildASTNode(node);
5754                                                                    }
5755    
5756                                                                    parents.pop();
5757                                                                    parents.push(node);
5758                                                            }
5759    
5760                                                            ((list_scope)list_stack.peek()).lastLevel = ((CountLevel_scope)CountLevel_stack.peek()).level;
5761                                                    
5762                        }
5763    
5764                        }
5765                        break;
5766                    case 2 :
5767                        // Creole10.g:520:4: um= list_unordelem_markup elem= list_elem
5768                        {
5769                        pushFollow(FOLLOW_list_unordelem_markup_in_list_elems1943);
5770                        um=list_unordelem_markup();
5771                        _fsp--;
5772                        if (failed) return ;
5773                        if ( backtracking==0 ) {
5774                          ++((CountLevel_scope)CountLevel_stack.peek()).level; ((CountLevel_scope)CountLevel_stack.peek()).currentMarkup = input.toString(um.start,um.stop);((CountLevel_scope)CountLevel_stack.peek()).groups += input.toString(um.start,um.stop);
5775                        }
5776                        pushFollow(FOLLOW_list_elem_in_list_elems1955);
5777                        elem=list_elem();
5778                        _fsp--;
5779                        if (failed) return ;
5780                        if ( backtracking==0 ) {
5781    
5782    
5783                                                            Stack<ItemNode> parents = ((list_scope)list_stack.peek()).parents;
5784    
5785                                                            ItemNode top = parents.isEmpty()?null:parents.peek();
5786    
5787                                                            BaseParentableNode baseParentableNode = ((list_scope)list_stack.peek()).currentParent;
5788    
5789                                                            if (top == null) {
5790                                                                    UnorderedListItemNode node = new UnorderedListItemNode(((CountLevel_scope)CountLevel_stack.peek()).level, baseParentableNode, elem);
5791                                                                    baseParentableNode.addChildASTNode(node);
5792    
5793                                                                    parents.push(node);
5794    
5795                                                            } 
5796                                                            else if (((CountLevel_scope)CountLevel_stack.peek()).level > ((list_scope)list_stack.peek()).lastLevel) {
5797                                                                    UnorderedListNode unorderedListNode = new UnorderedListNode(top);
5798    
5799                                                                    UnorderedListItemNode node = new UnorderedListItemNode(((CountLevel_scope)CountLevel_stack.peek()).level, unorderedListNode, elem);
5800                                                                    unorderedListNode.addChildASTNode(node);
5801    
5802                                                                    top.addChildASTNode(unorderedListNode);
5803    
5804                                                                    parents.push(node);
5805    
5806                                                            } 
5807                                                            else if (((CountLevel_scope)CountLevel_stack.peek()).level < ((list_scope)list_stack.peek()).lastLevel) {
5808                                                                    ItemNode in = parents.peek();
5809    
5810                                                                    while (in.getLevel() > ((CountLevel_scope)CountLevel_stack.peek()).level) {
5811                                                                            in = parents.pop();
5812                                                                            --((list_scope)list_stack.peek()).lastLevel;
5813                                                                    }
5814    
5815                                                                    top = in;
5816    
5817                                                                    baseParentableNode = top.getBaseParentableNode();
5818    
5819                                                                    UnorderedListItemNode node = new UnorderedListItemNode(((CountLevel_scope)CountLevel_stack.peek()).level, baseParentableNode, elem);
5820    
5821                                                                    if (baseParentableNode instanceof OrderedListItemNode) {
5822                                                                            buildAndComposeListNode(baseParentableNode, node, false);
5823                                                                    } 
5824                                                                    else if (baseParentableNode instanceof OrderedListNode) {
5825                                                                            baseParentableNode = ((OrderedListNode)baseParentableNode).getBaseParentableNode();
5826    
5827                                                                            buildAndComposeListNode(baseParentableNode, node, false);
5828                                                                    }
5829                                                                    else if (baseParentableNode instanceof UnorderedListNode && top instanceof OrderedListItemNode) {
5830                                                                            baseParentableNode = ((UnorderedListNode)baseParentableNode).getBaseParentableNode();
5831    
5832                                                                            buildAndComposeListNode(baseParentableNode, node, false);
5833                                                                    } 
5834                                                                    else {
5835                                                                            baseParentableNode.addChildASTNode(node);
5836                                                                    }
5837    
5838                                                                    parents.push(node);
5839    
5840                                                            } 
5841                                                            else {
5842                                                                    baseParentableNode = top.getBaseParentableNode();
5843    
5844                                                                    UnorderedListItemNode node = new UnorderedListItemNode(((CountLevel_scope)CountLevel_stack.peek()).level, baseParentableNode, elem);
5845    
5846                                                                    if (baseParentableNode instanceof OrderedListItemNode) {
5847                                                                            buildAndComposeListNode(baseParentableNode, node, false);
5848                                                                    } 
5849                                                                    else if (baseParentableNode instanceof OrderedListNode ) {
5850                                                                            baseParentableNode = ((OrderedListNode)baseParentableNode).getBaseParentableNode();
5851    
5852                                                                            buildAndComposeListNode(baseParentableNode, node, false);
5853                                                                    } 
5854                                                                    else if (baseParentableNode instanceof UnorderedListNode && top instanceof OrderedListItemNode) {
5855                                                                            baseParentableNode = ((UnorderedListNode)baseParentableNode).getBaseParentableNode();
5856    
5857                                                                            buildAndComposeListNode(baseParentableNode, node, false);
5858                                                                    } 
5859                                                                    else {
5860                                                                            baseParentableNode.addChildASTNode(node);
5861                                                                    }
5862    
5863                                                                    parents.pop();
5864                                                                    parents.push(node);
5865                                                            }
5866    
5867                                                            ((list_scope)list_stack.peek()).lastLevel = ((CountLevel_scope)CountLevel_stack.peek()).level;
5868                                                    
5869                        }
5870    
5871                        }
5872                        break;
5873    
5874                }
5875            }
5876            catch (RecognitionException re) {
5877                reportError(re);
5878                recover(input,re);
5879            }
5880            finally {
5881                CountLevel_stack.pop();
5882    
5883            }
5884            return ;
5885        }
5886        // $ANTLR end list_elems
5887    
5888    
5889        // $ANTLR start list_elem
5890        // Creole10.g:610:1: list_elem returns [CollectionNode items = null] : (m= list_elem_markup )* c= list_elemcontent list_elemseparator ;
5891        public final CollectionNode list_elem() throws RecognitionException {
5892            CollectionNode items =  null;
5893    
5894            list_elem_markup_return m = null;
5895    
5896            CollectionNode c = null;
5897    
5898    
5899            try {
5900                // Creole10.g:611:2: ( (m= list_elem_markup )* c= list_elemcontent list_elemseparator )
5901                // Creole10.g:611:4: (m= list_elem_markup )* c= list_elemcontent list_elemseparator
5902                {
5903                // Creole10.g:611:4: (m= list_elem_markup )*
5904                loop70:
5905                do {
5906                    int alt70=2;
5907                    int LA70_0 = input.LA(1);
5908    
5909                    if ( (LA70_0==STAR) ) {
5910                        alt70=1;
5911                    }
5912                    else if ( (LA70_0==POUND) ) {
5913                        alt70=1;
5914                    }
5915    
5916    
5917                    switch (alt70) {
5918                    case 1 :
5919                        // Creole10.g:611:6: m= list_elem_markup
5920                        {
5921                        pushFollow(FOLLOW_list_elem_markup_in_list_elem1978);
5922                        m=list_elem_markup();
5923                        _fsp--;
5924                        if (failed) return items;
5925                        if ( backtracking==0 ) {
5926    
5927                                                         ++((CountLevel_scope)CountLevel_stack.peek()).level;
5928                                                         if (!input.toString(m.start,m.stop).equals(((CountLevel_scope)CountLevel_stack.peek()).currentMarkup)) {
5929                                                                            ((CountLevel_scope)CountLevel_stack.peek()).groups+= GROUPING_SEPARATOR;
5930                                                         }
5931                                                         ((CountLevel_scope)CountLevel_stack.peek()).groups+= input.toString(m.start,m.stop);
5932                                                         ((CountLevel_scope)CountLevel_stack.peek()).currentMarkup = input.toString(m.start,m.stop);
5933                                                      
5934                        }
5935    
5936                        }
5937                        break;
5938    
5939                    default :
5940                        break loop70;
5941                    }
5942                } while (true);
5943    
5944                pushFollow(FOLLOW_list_elemcontent_in_list_elem1989);
5945                c=list_elemcontent();
5946                _fsp--;
5947                if (failed) return items;
5948                if ( backtracking==0 ) {
5949                  items = c; 
5950                }
5951                pushFollow(FOLLOW_list_elemseparator_in_list_elem1994);
5952                list_elemseparator();
5953                _fsp--;
5954                if (failed) return items;
5955    
5956                }
5957    
5958            }
5959            catch (RecognitionException re) {
5960                reportError(re);
5961                recover(input,re);
5962            }
5963            finally {
5964            }
5965            return items;
5966        }
5967        // $ANTLR end list_elem
5968    
5969        public static class list_elem_markup_return extends ParserRuleReturnScope {
5970        };
5971    
5972        // $ANTLR start list_elem_markup
5973        // Creole10.g:620:1: list_elem_markup : ( list_ordelem_markup | list_unordelem_markup );
5974        public final list_elem_markup_return list_elem_markup() throws RecognitionException {
5975            list_elem_markup_return retval = new list_elem_markup_return();
5976            retval.start = input.LT(1);
5977    
5978            try {
5979                // Creole10.g:621:2: ( list_ordelem_markup | list_unordelem_markup )
5980                int alt71=2;
5981                int LA71_0 = input.LA(1);
5982    
5983                if ( (LA71_0==POUND) ) {
5984                    alt71=1;
5985                }
5986                else if ( (LA71_0==STAR) ) {
5987                    alt71=2;
5988                }
5989                else {
5990                    if (backtracking>0) {failed=true; return retval;}
5991                    NoViableAltException nvae =
5992                        new NoViableAltException("620:1: list_elem_markup : ( list_ordelem_markup | list_unordelem_markup );", 71, 0, input);
5993    
5994                    throw nvae;
5995                }
5996                switch (alt71) {
5997                    case 1 :
5998                        // Creole10.g:621:4: list_ordelem_markup
5999                        {
6000                        pushFollow(FOLLOW_list_ordelem_markup_in_list_elem_markup2004);
6001                        list_ordelem_markup();
6002                        _fsp--;
6003                        if (failed) return retval;
6004    
6005                        }
6006                        break;
6007                    case 2 :
6008                        // Creole10.g:622:4: list_unordelem_markup
6009                        {
6010                        pushFollow(FOLLOW_list_unordelem_markup_in_list_elem_markup2009);
6011                        list_unordelem_markup();
6012                        _fsp--;
6013                        if (failed) return retval;
6014    
6015                        }
6016                        break;
6017    
6018                }
6019                retval.stop = input.LT(-1);
6020    
6021            }
6022            catch (RecognitionException re) {
6023                reportError(re);
6024                recover(input,re);
6025            }
6026            finally {
6027            }
6028            return retval;
6029        }
6030        // $ANTLR end list_elem_markup
6031    
6032    
6033        // $ANTLR start list_elemcontent
6034        // Creole10.g:624:1: list_elemcontent returns [CollectionNode items = new CollectionNode()] : onestar (part= list_elemcontentpart onestar )* ;
6035        public final CollectionNode list_elemcontent() throws RecognitionException {
6036            CollectionNode items =  new CollectionNode();
6037    
6038            ASTNode part = null;
6039    
6040    
6041            try {
6042                // Creole10.g:625:2: ( onestar (part= list_elemcontentpart onestar )* )
6043                // Creole10.g:625:4: onestar (part= list_elemcontentpart onestar )*
6044                {
6045                pushFollow(FOLLOW_onestar_in_list_elemcontent2023);
6046                onestar();
6047                _fsp--;
6048                if (failed) return items;
6049                // Creole10.g:625:13: (part= list_elemcontentpart onestar )*
6050                loop72:
6051                do {
6052                    int alt72=2;
6053                    int LA72_0 = input.LA(1);
6054    
6055                    if ( ((LA72_0>=FORCED_END_OF_LINE && LA72_0<=WIKI)||(LA72_0>=POUND && LA72_0<=80)) ) {
6056                        alt72=1;
6057                    }
6058    
6059    
6060                    switch (alt72) {
6061                    case 1 :
6062                        // Creole10.g:625:15: part= list_elemcontentpart onestar
6063                        {
6064                        pushFollow(FOLLOW_list_elemcontentpart_in_list_elemcontent2032);
6065                        part=list_elemcontentpart();
6066                        _fsp--;
6067                        if (failed) return items;
6068                        if ( backtracking==0 ) {
6069                           items.add(part); 
6070                        }
6071                        pushFollow(FOLLOW_onestar_in_list_elemcontent2037);
6072                        onestar();
6073                        _fsp--;
6074                        if (failed) return items;
6075    
6076                        }
6077                        break;
6078    
6079                    default :
6080                        break loop72;
6081                    }
6082                } while (true);
6083    
6084    
6085                }
6086    
6087            }
6088            catch (RecognitionException re) {
6089                reportError(re);
6090                recover(input,re);
6091            }
6092            finally {
6093            }
6094            return items;
6095        }
6096        // $ANTLR end list_elemcontent
6097    
6098    
6099        // $ANTLR start list_elemcontentpart
6100        // Creole10.g:627:1: list_elemcontentpart returns [ASTNode node = null] : (tuf= text_unformattedelement | tf= list_formatted_elem );
6101        public final ASTNode list_elemcontentpart() throws RecognitionException {
6102            ASTNode node =  null;
6103    
6104            ASTNode tuf = null;
6105    
6106            CollectionNode tf = null;
6107    
6108    
6109            try {
6110                // Creole10.g:628:2: (tuf= text_unformattedelement | tf= list_formatted_elem )
6111                int alt73=2;
6112                int LA73_0 = input.LA(1);
6113    
6114                if ( ((LA73_0>=FORCED_END_OF_LINE && LA73_0<=WIKI)||LA73_0==POUND||(LA73_0>=EQUAL && LA73_0<=PIPE)||(LA73_0>=LINK_OPEN && LA73_0<=80)) ) {
6115                    alt73=1;
6116                }
6117                else if ( (LA73_0==STAR||LA73_0==ITAL) ) {
6118                    alt73=2;
6119                }
6120                else {
6121                    if (backtracking>0) {failed=true; return node;}
6122                    NoViableAltException nvae =
6123                        new NoViableAltException("627:1: list_elemcontentpart returns [ASTNode node = null] : (tuf= text_unformattedelement | tf= list_formatted_elem );", 73, 0, input);
6124    
6125                    throw nvae;
6126                }
6127                switch (alt73) {
6128                    case 1 :
6129                        // Creole10.g:628:4: tuf= text_unformattedelement
6130                        {
6131                        pushFollow(FOLLOW_text_unformattedelement_in_list_elemcontentpart2058);
6132                        tuf=text_unformattedelement();
6133                        _fsp--;
6134                        if (failed) return node;
6135                        if ( backtracking==0 ) {
6136    
6137                                                    if (tuf instanceof CollectionNode)
6138                                                            node = new UnformattedTextNode(tuf);
6139                                                    else
6140                                                            node = tuf;
6141                                                    
6142                        }
6143    
6144                        }
6145                        break;
6146                    case 2 :
6147                        // Creole10.g:634:4: tf= list_formatted_elem
6148                        {
6149                        pushFollow(FOLLOW_list_formatted_elem_in_list_elemcontentpart2069);
6150                        tf=list_formatted_elem();
6151                        _fsp--;
6152                        if (failed) return node;
6153                        if ( backtracking==0 ) {
6154                           node = new FormattedTextNode(tf);
6155                        }
6156    
6157                        }
6158                        break;
6159    
6160                }
6161            }
6162            catch (RecognitionException re) {
6163                reportError(re);
6164                recover(input,re);
6165            }
6166            finally {
6167            }
6168            return node;
6169        }
6170        // $ANTLR end list_elemcontentpart
6171    
6172    
6173        // $ANTLR start list_formatted_elem
6174        // Creole10.g:636:1: list_formatted_elem returns [CollectionNode contents = new CollectionNode()] : ( bold_markup onestar (boldContents= list_boldcontentpart onestar )* ( bold_markup )? | ital_markup onestar (italContents= list_italcontentpart onestar )* ( ital_markup )? );
6175        public final CollectionNode list_formatted_elem() throws RecognitionException {
6176            CollectionNode contents =  new CollectionNode();
6177    
6178            ASTNode boldContents = null;
6179    
6180            ASTNode italContents = null;
6181    
6182    
6183            try {
6184                // Creole10.g:637:2: ( bold_markup onestar (boldContents= list_boldcontentpart onestar )* ( bold_markup )? | ital_markup onestar (italContents= list_italcontentpart onestar )* ( ital_markup )? )
6185                int alt78=2;
6186                int LA78_0 = input.LA(1);
6187    
6188                if ( (LA78_0==STAR) ) {
6189                    alt78=1;
6190                }
6191                else if ( (LA78_0==ITAL) ) {
6192                    alt78=2;
6193                }
6194                else {
6195                    if (backtracking>0) {failed=true; return contents;}
6196                    NoViableAltException nvae =
6197                        new NoViableAltException("636:1: list_formatted_elem returns [CollectionNode contents = new CollectionNode()] : ( bold_markup onestar (boldContents= list_boldcontentpart onestar )* ( bold_markup )? | ital_markup onestar (italContents= list_italcontentpart onestar )* ( ital_markup )? );", 78, 0, input);
6198    
6199                    throw nvae;
6200                }
6201                switch (alt78) {
6202                    case 1 :
6203                        // Creole10.g:637:4: bold_markup onestar (boldContents= list_boldcontentpart onestar )* ( bold_markup )?
6204                        {
6205                        pushFollow(FOLLOW_bold_markup_in_list_formatted_elem2085);
6206                        bold_markup();
6207                        _fsp--;
6208                        if (failed) return contents;
6209                        pushFollow(FOLLOW_onestar_in_list_formatted_elem2088);
6210                        onestar();
6211                        _fsp--;
6212                        if (failed) return contents;
6213                        // Creole10.g:637:26: (boldContents= list_boldcontentpart onestar )*
6214                        loop74:
6215                        do {
6216                            int alt74=2;
6217                            switch ( input.LA(1) ) {
6218                            case FORCED_END_OF_LINE:
6219                            case HEADING_SECTION:
6220                            case HORIZONTAL_SECTION:
6221                            case LIST_ITEM:
6222                            case LIST_ITEM_PART:
6223                            case NOWIKI_SECTION:
6224                            case SCAPE_NODE:
6225                            case TEXT_NODE:
6226                            case UNORDERED_LIST:
6227                            case UNFORMATTED_TEXT:
6228                            case WIKI:
6229                            case POUND:
6230                            case EQUAL:
6231                            case PIPE:
6232                            case NOWIKI_BLOCK_CLOSE:
6233                            case NOWIKI_CLOSE:
6234                            case LINK_CLOSE:
6235                            case IMAGE_CLOSE:
6236                            case BLANKS:
6237                            case DASH:
6238                            case CR:
6239                            case LF:
6240                            case SPACE:
6241                            case TABULATOR:
6242                            case BRACE_CLOSE:
6243                            case COLON_SLASH:
6244                            case SLASH:
6245                            case INSIGNIFICANT_CHAR:
6246                            case 41:
6247                            case 42:
6248                            case 43:
6249                            case 44:
6250                            case 45:
6251                            case 46:
6252                            case 47:
6253                            case 48:
6254                            case 49:
6255                            case 50:
6256                            case 51:
6257                            case 52:
6258                            case 53:
6259                            case 54:
6260                            case 55:
6261                            case 56:
6262                            case 57:
6263                            case 58:
6264                            case 59:
6265                            case 60:
6266                            case 61:
6267                            case 62:
6268                            case 63:
6269                            case 64:
6270                            case 65:
6271                            case 66:
6272                            case 67:
6273                            case 68:
6274                            case 69:
6275                            case 70:
6276                            case 71:
6277                            case 72:
6278                            case 73:
6279                            case 74:
6280                            case 75:
6281                            case 76:
6282                            case 77:
6283                            case 78:
6284                            case 79:
6285                            case 80:
6286                                {
6287                                alt74=1;
6288                                }
6289                                break;
6290                            case FORCED_LINEBREAK:
6291                                {
6292                                alt74=1;
6293                                }
6294                                break;
6295                            case ESCAPE:
6296                                {
6297                                alt74=1;
6298                                }
6299                                break;
6300                            case LINK_OPEN:
6301                                {
6302                                alt74=1;
6303                                }
6304                                break;
6305                            case IMAGE_OPEN:
6306                                {
6307                                alt74=1;
6308                                }
6309                                break;
6310                            case EXTENSION:
6311                                {
6312                                alt74=1;
6313                                }
6314                                break;
6315                            case NOWIKI_OPEN:
6316                                {
6317                                alt74=1;
6318                                }
6319                                break;
6320                            case ITAL:
6321                                {
6322                                alt74=1;
6323                                }
6324                                break;
6325    
6326                            }
6327    
6328                            switch (alt74) {
6329                            case 1 :
6330                                // Creole10.g:637:28: boldContents= list_boldcontentpart onestar
6331                                {
6332                                pushFollow(FOLLOW_list_boldcontentpart_in_list_formatted_elem2097);
6333                                boldContents=list_boldcontentpart();
6334                                _fsp--;
6335                                if (failed) return contents;
6336                                if ( backtracking==0 ) {
6337    
6338                                                                            BoldTextNode add = null;
6339                                                                            if (boldContents instanceof CollectionNode){
6340                                                                                 add = new BoldTextNode(boldContents);
6341                                                                            }
6342                                                                            else {
6343                                                                                CollectionNode c = new CollectionNode();
6344                                                                                c.add(boldContents);
6345                                                                                add = new BoldTextNode(c);
6346                                                                            }
6347                                                                            contents.add(add);
6348                                                                            
6349                                }
6350                                pushFollow(FOLLOW_onestar_in_list_formatted_elem2106);
6351                                onestar();
6352                                _fsp--;
6353                                if (failed) return contents;
6354    
6355                                }
6356                                break;
6357    
6358                            default :
6359                                break loop74;
6360                            }
6361                        } while (true);
6362    
6363                        // Creole10.g:650:3: ( bold_markup )?
6364                        int alt75=2;
6365                        int LA75_0 = input.LA(1);
6366    
6367                        if ( (LA75_0==STAR) ) {
6368                            int LA75_1 = input.LA(2);
6369    
6370                            if ( (LA75_1==STAR) ) {
6371                                alt75=1;
6372                            }
6373                        }
6374                        switch (alt75) {
6375                            case 1 :
6376                                // Creole10.g:650:5: bold_markup
6377                                {
6378                                pushFollow(FOLLOW_bold_markup_in_list_formatted_elem2115);
6379                                bold_markup();
6380                                _fsp--;
6381                                if (failed) return contents;
6382    
6383                                }
6384                                break;
6385    
6386                        }
6387    
6388    
6389                        }
6390                        break;
6391                    case 2 :
6392                        // Creole10.g:651:4: ital_markup onestar (italContents= list_italcontentpart onestar )* ( ital_markup )?
6393                        {
6394                        pushFollow(FOLLOW_ital_markup_in_list_formatted_elem2123);
6395                        ital_markup();
6396                        _fsp--;
6397                        if (failed) return contents;
6398                        pushFollow(FOLLOW_onestar_in_list_formatted_elem2128);
6399                        onestar();
6400                        _fsp--;
6401                        if (failed) return contents;
6402                        // Creole10.g:651:28: (italContents= list_italcontentpart onestar )*
6403                        loop76:
6404                        do {
6405                            int alt76=2;
6406                            switch ( input.LA(1) ) {
6407                            case STAR:
6408                                {
6409                                alt76=1;
6410                                }
6411                                break;
6412                            case FORCED_END_OF_LINE:
6413                            case HEADING_SECTION:
6414                            case HORIZONTAL_SECTION:
6415                            case LIST_ITEM:
6416                            case LIST_ITEM_PART:
6417                            case NOWIKI_SECTION:
6418                            case SCAPE_NODE:
6419                            case TEXT_NODE:
6420                            case UNORDERED_LIST:
6421                            case UNFORMATTED_TEXT:
6422                            case WIKI:
6423                            case POUND:
6424                            case EQUAL:
6425                            case PIPE:
6426                            case NOWIKI_BLOCK_CLOSE:
6427                            case NOWIKI_CLOSE:
6428                            case LINK_CLOSE:
6429                            case IMAGE_CLOSE:
6430                            case BLANKS:
6431                            case DASH:
6432                            case CR:
6433                            case LF:
6434                            case SPACE:
6435                            case TABULATOR:
6436                            case BRACE_CLOSE:
6437                            case COLON_SLASH:
6438                            case SLASH:
6439                            case INSIGNIFICANT_CHAR:
6440                            case 41:
6441                            case 42:
6442                            case 43:
6443                            case 44:
6444                            case 45:
6445                            case 46:
6446                            case 47:
6447                            case 48:
6448                            case 49:
6449                            case 50:
6450                            case 51:
6451                            case 52:
6452                            case 53:
6453                            case 54:
6454                            case 55:
6455                            case 56:
6456                            case 57:
6457                            case 58:
6458                            case 59:
6459                            case 60:
6460                            case 61:
6461                            case 62:
6462                            case 63:
6463                            case 64:
6464                            case 65:
6465                            case 66:
6466                            case 67:
6467                            case 68:
6468                            case 69:
6469                            case 70:
6470                            case 71:
6471                            case 72:
6472                            case 73:
6473                            case 74:
6474                            case 75:
6475                            case 76:
6476                            case 77:
6477                            case 78:
6478                            case 79:
6479                            case 80:
6480                                {
6481                                alt76=1;
6482                                }
6483                                break;
6484                            case FORCED_LINEBREAK:
6485                                {
6486                                alt76=1;
6487                                }
6488                                break;
6489                            case ESCAPE:
6490                                {
6491                                alt76=1;
6492                                }
6493                                break;
6494                            case LINK_OPEN:
6495                                {
6496                                alt76=1;
6497                                }
6498                                break;
6499                            case IMAGE_OPEN:
6500                                {
6501                                alt76=1;
6502                                }
6503                                break;
6504                            case EXTENSION:
6505                                {
6506                                alt76=1;
6507                                }
6508                                break;
6509                            case NOWIKI_OPEN:
6510                                {
6511                                alt76=1;
6512                                }
6513                                break;
6514    
6515                            }
6516    
6517                            switch (alt76) {
6518                            case 1 :
6519                                // Creole10.g:651:30: italContents= list_italcontentpart onestar
6520                                {
6521                                pushFollow(FOLLOW_list_italcontentpart_in_list_formatted_elem2137);
6522                                italContents=list_italcontentpart();
6523                                _fsp--;
6524                                if (failed) return contents;
6525                                if ( backtracking==0 ) {
6526    
6527                                                                            ItalicTextNode add = null;
6528                                                                            if (italContents instanceof CollectionNode){
6529                                                                                add = new ItalicTextNode(italContents);
6530                                                                            }
6531                                                                            else {
6532                                                                                  CollectionNode c = new CollectionNode();
6533                                                                                  c.add(italContents);
6534                                                                                  add = new ItalicTextNode(c);
6535                                                                            }
6536                                                                            contents.add(add);
6537                                                                            
6538                                }
6539                                pushFollow(FOLLOW_onestar_in_list_formatted_elem2146);
6540                                onestar();
6541                                _fsp--;
6542                                if (failed) return contents;
6543    
6544                                }
6545                                break;
6546    
6547                            default :
6548                                break loop76;
6549                            }
6550                        } while (true);
6551    
6552                        // Creole10.g:663:3: ( ital_markup )?
6553                        int alt77=2;
6554                        int LA77_0 = input.LA(1);
6555    
6556                        if ( (LA77_0==ITAL) ) {
6557                            alt77=1;
6558                        }
6559                        switch (alt77) {
6560                            case 1 :
6561                                // Creole10.g:663:5: ital_markup
6562                                {
6563                                pushFollow(FOLLOW_ital_markup_in_list_formatted_elem2155);
6564                                ital_markup();
6565                                _fsp--;
6566                                if (failed) return contents;
6567    
6568                                }
6569                                break;
6570    
6571                        }
6572    
6573    
6574                        }
6575                        break;
6576    
6577                }
6578            }
6579            catch (RecognitionException re) {
6580                reportError(re);
6581                recover(input,re);
6582            }
6583            finally {
6584            }
6585            return contents;
6586        }
6587        // $ANTLR end list_formatted_elem
6588    
6589        protected static class list_boldcontentpart_scope {
6590            List<ASTNode> elements;
6591        }
6592        protected Stack list_boldcontentpart_stack = new Stack();
6593    
6594    
6595        // $ANTLR start list_boldcontentpart
6596        // Creole10.g:666:1: list_boldcontentpart returns [ASTNode contents = null] : ( ital_markup c= list_bolditalcontent ( ital_markup )? | (t= text_unformattedelement )+ );
6597        public final ASTNode list_boldcontentpart() throws RecognitionException {
6598            list_boldcontentpart_stack.push(new list_boldcontentpart_scope());
6599            ASTNode contents =  null;
6600    
6601            ASTNode c = null;
6602    
6603            ASTNode t = null;
6604    
6605    
6606    
6607                    ((list_boldcontentpart_scope)list_boldcontentpart_stack.peek()).elements = new ArrayList<ASTNode>();
6608    
6609            try {
6610                // Creole10.g:673:2: ( ital_markup c= list_bolditalcontent ( ital_markup )? | (t= text_unformattedelement )+ )
6611                int alt81=2;
6612                int LA81_0 = input.LA(1);
6613    
6614                if ( (LA81_0==ITAL) ) {
6615                    alt81=1;
6616                }
6617                else if ( ((LA81_0>=FORCED_END_OF_LINE && LA81_0<=WIKI)||LA81_0==POUND||(LA81_0>=EQUAL && LA81_0<=PIPE)||(LA81_0>=LINK_OPEN && LA81_0<=80)) ) {
6618                    alt81=2;
6619                }
6620                else {
6621                    if (backtracking>0) {failed=true; return contents;}
6622                    NoViableAltException nvae =
6623                        new NoViableAltException("666:1: list_boldcontentpart returns [ASTNode contents = null] : ( ital_markup c= list_bolditalcontent ( ital_markup )? | (t= text_unformattedelement )+ );", 81, 0, input);
6624    
6625                    throw nvae;
6626                }
6627                switch (alt81) {
6628                    case 1 :
6629                        // Creole10.g:673:4: ital_markup c= list_bolditalcontent ( ital_markup )?
6630                        {
6631                        pushFollow(FOLLOW_ital_markup_in_list_boldcontentpart2181);
6632                        ital_markup();
6633                        _fsp--;
6634                        if (failed) return contents;
6635                        pushFollow(FOLLOW_list_bolditalcontent_in_list_boldcontentpart2188);
6636                        c=list_bolditalcontent();
6637                        _fsp--;
6638                        if (failed) return contents;
6639                        if ( backtracking==0 ) {
6640                          contents = new ItalicTextNode(c);
6641                        }
6642                        // Creole10.g:673:86: ( ital_markup )?
6643                        int alt79=2;
6644                        int LA79_0 = input.LA(1);
6645    
6646                        if ( (LA79_0==ITAL) ) {
6647                            alt79=1;
6648                        }
6649                        switch (alt79) {
6650                            case 1 :
6651                                // Creole10.g:673:88: ital_markup
6652                                {
6653                                pushFollow(FOLLOW_ital_markup_in_list_boldcontentpart2195);
6654                                ital_markup();
6655                                _fsp--;
6656                                if (failed) return contents;
6657    
6658                                }
6659                                break;
6660    
6661                        }
6662    
6663    
6664                        }
6665                        break;
6666                    case 2 :
6667                        // Creole10.g:674:4: (t= text_unformattedelement )+
6668                        {
6669                        // Creole10.g:674:4: (t= text_unformattedelement )+
6670                        int cnt80=0;
6671                        loop80:
6672                        do {
6673                            int alt80=2;
6674                            switch ( input.LA(1) ) {
6675                            case FORCED_END_OF_LINE:
6676                            case HEADING_SECTION:
6677                            case HORIZONTAL_SECTION:
6678                            case LIST_ITEM:
6679                            case LIST_ITEM_PART:
6680                            case NOWIKI_SECTION:
6681                            case SCAPE_NODE:
6682                            case TEXT_NODE:
6683                            case UNORDERED_LIST:
6684                            case UNFORMATTED_TEXT:
6685                            case WIKI:
6686                            case POUND:
6687                            case EQUAL:
6688                            case PIPE:
6689                            case NOWIKI_BLOCK_CLOSE:
6690                            case NOWIKI_CLOSE:
6691                            case LINK_CLOSE:
6692                            case IMAGE_CLOSE:
6693                            case BLANKS:
6694                            case DASH:
6695                            case CR:
6696                            case LF:
6697                            case SPACE:
6698                            case TABULATOR:
6699                            case BRACE_CLOSE:
6700                            case COLON_SLASH:
6701                            case SLASH:
6702                            case INSIGNIFICANT_CHAR:
6703                            case 41:
6704                            case 42:
6705                            case 43:
6706                            case 44:
6707                            case 45:
6708                            case 46:
6709                            case 47:
6710                            case 48:
6711                            case 49:
6712                            case 50:
6713                            case 51:
6714                            case 52:
6715                            case 53:
6716                            case 54:
6717                            case 55:
6718                            case 56:
6719                            case 57:
6720                            case 58:
6721                            case 59:
6722                            case 60:
6723                            case 61:
6724                            case 62:
6725                            case 63:
6726                            case 64:
6727                            case 65:
6728                            case 66:
6729                            case 67:
6730                            case 68:
6731                            case 69:
6732                            case 70:
6733                            case 71:
6734                            case 72:
6735                            case 73:
6736                            case 74:
6737                            case 75:
6738                            case 76:
6739                            case 77:
6740                            case 78:
6741                            case 79:
6742                            case 80:
6743                                {
6744                                alt80=1;
6745                                }
6746                                break;
6747                            case FORCED_LINEBREAK:
6748                                {
6749                                alt80=1;
6750                                }
6751                                break;
6752                            case ESCAPE:
6753                                {
6754                                alt80=1;
6755                                }
6756                                break;
6757                            case LINK_OPEN:
6758                                {
6759                                alt80=1;
6760                                }
6761                                break;
6762                            case IMAGE_OPEN:
6763                                {
6764                                alt80=1;
6765                                }
6766                                break;
6767                            case EXTENSION:
6768                                {
6769                                alt80=1;
6770                                }
6771                                break;
6772                            case NOWIKI_OPEN:
6773                                {
6774                                alt80=1;
6775                                }
6776                                break;
6777    
6778                            }
6779    
6780                            switch (alt80) {
6781                            case 1 :
6782                                // Creole10.g:674:6: t= text_unformattedelement
6783                                {
6784                                pushFollow(FOLLOW_text_unformattedelement_in_list_boldcontentpart2209);
6785                                t=text_unformattedelement();
6786                                _fsp--;
6787                                if (failed) return contents;
6788                                if ( backtracking==0 ) {
6789                                   ((list_boldcontentpart_scope)list_boldcontentpart_stack.peek()).elements.add(t); 
6790                                }
6791    
6792                                }
6793                                break;
6794    
6795                            default :
6796                                if ( cnt80 >= 1 ) break loop80;
6797                                if (backtracking>0) {failed=true; return contents;}
6798                                    EarlyExitException eee =
6799                                        new EarlyExitException(80, input);
6800                                    throw eee;
6801                            }
6802                            cnt80++;
6803                        } while (true);
6804    
6805                        if ( backtracking==0 ) {
6806                          contents = new CollectionNode(((list_boldcontentpart_scope)list_boldcontentpart_stack.peek()).elements); 
6807                        }
6808    
6809                        }
6810                        break;
6811    
6812                }
6813            }
6814            catch (RecognitionException re) {
6815                reportError(re);
6816                recover(input,re);
6817            }
6818            finally {
6819                list_boldcontentpart_stack.pop();
6820            }
6821            return contents;
6822        }
6823        // $ANTLR end list_boldcontentpart
6824    
6825    
6826        // $ANTLR start list_bolditalcontent
6827        // Creole10.g:678:1: list_bolditalcontent returns [ASTNode text = null] : (t= text_unformattedelement )+ ;
6828        public final ASTNode list_bolditalcontent() throws RecognitionException {
6829            ASTNode text =  null;
6830    
6831            ASTNode t = null;
6832    
6833    
6834            try {
6835                // Creole10.g:679:2: ( (t= text_unformattedelement )+ )
6836                // Creole10.g:679:4: (t= text_unformattedelement )+
6837                {
6838                // Creole10.g:679:4: (t= text_unformattedelement )+
6839                int cnt82=0;
6840                loop82:
6841                do {
6842                    int alt82=2;
6843                    switch ( input.LA(1) ) {
6844                    case FORCED_END_OF_LINE:
6845                    case HEADING_SECTION:
6846                    case HORIZONTAL_SECTION:
6847                    case LIST_ITEM:
6848                    case LIST_ITEM_PART:
6849                    case NOWIKI_SECTION:
6850                    case SCAPE_NODE:
6851                    case TEXT_NODE:
6852                    case UNORDERED_LIST:
6853                    case UNFORMATTED_TEXT:
6854                    case WIKI:
6855                    case POUND:
6856                    case EQUAL:
6857                    case PIPE:
6858                    case NOWIKI_BLOCK_CLOSE:
6859                    case NOWIKI_CLOSE:
6860                    case LINK_CLOSE:
6861                    case IMAGE_CLOSE:
6862                    case BLANKS:
6863                    case DASH:
6864                    case CR:
6865                    case LF:
6866                    case SPACE:
6867                    case TABULATOR:
6868                    case BRACE_CLOSE:
6869                    case COLON_SLASH:
6870                    case SLASH:
6871                    case INSIGNIFICANT_CHAR:
6872                    case 41:
6873                    case 42:
6874                    case 43:
6875                    case 44:
6876                    case 45:
6877                    case 46:
6878                    case 47:
6879                    case 48:
6880                    case 49:
6881                    case 50:
6882                    case 51:
6883                    case 52:
6884                    case 53:
6885                    case 54:
6886                    case 55:
6887                    case 56:
6888                    case 57:
6889                    case 58:
6890                    case 59:
6891                    case 60:
6892                    case 61:
6893                    case 62:
6894                    case 63:
6895                    case 64:
6896                    case 65:
6897                    case 66:
6898                    case 67:
6899                    case 68:
6900                    case 69:
6901                    case 70:
6902                    case 71:
6903                    case 72:
6904                    case 73:
6905                    case 74:
6906                    case 75:
6907                    case 76:
6908                    case 77:
6909                    case 78:
6910                    case 79:
6911                    case 80:
6912                        {
6913                        alt82=1;
6914                        }
6915                        break;
6916                    case FORCED_LINEBREAK:
6917                        {
6918                        alt82=1;
6919                        }
6920                        break;
6921                    case ESCAPE:
6922                        {
6923                        alt82=1;
6924                        }
6925                        break;
6926                    case LINK_OPEN:
6927                        {
6928                        alt82=1;
6929                        }
6930                        break;
6931                    case IMAGE_OPEN:
6932                        {
6933                        alt82=1;
6934                        }
6935                        break;
6936                    case EXTENSION:
6937                        {
6938                        alt82=1;
6939                        }
6940                        break;
6941                    case NOWIKI_OPEN:
6942                        {
6943                        alt82=1;
6944                        }
6945                        break;
6946    
6947                    }
6948    
6949                    switch (alt82) {
6950                    case 1 :
6951                        // Creole10.g:679:6: t= text_unformattedelement
6952                        {
6953                        pushFollow(FOLLOW_text_unformattedelement_in_list_bolditalcontent2240);
6954                        t=text_unformattedelement();
6955                        _fsp--;
6956                        if (failed) return text;
6957                        if ( backtracking==0 ) {
6958                           text = t; 
6959                        }
6960    
6961                        }
6962                        break;
6963    
6964                    default :
6965                        if ( cnt82 >= 1 ) break loop82;
6966                        if (backtracking>0) {failed=true; return text;}
6967                            EarlyExitException eee =
6968                                new EarlyExitException(82, input);
6969                            throw eee;
6970                    }
6971                    cnt82++;
6972                } while (true);
6973    
6974    
6975                }
6976    
6977            }
6978            catch (RecognitionException re) {
6979                reportError(re);
6980                recover(input,re);
6981            }
6982            finally {
6983            }
6984            return text;
6985        }
6986        // $ANTLR end list_bolditalcontent
6987    
6988        protected static class list_italcontentpart_scope {
6989            List<ASTNode> elements;
6990        }
6991        protected Stack list_italcontentpart_stack = new Stack();
6992    
6993    
6994        // $ANTLR start list_italcontentpart
6995        // Creole10.g:682:1: list_italcontentpart returns [ASTNode contents = null] : ( bold_markup c= list_bolditalcontent ( bold_markup )? | (t= text_unformattedelement )+ );
6996        public final ASTNode list_italcontentpart() throws RecognitionException {
6997            list_italcontentpart_stack.push(new list_italcontentpart_scope());
6998            ASTNode contents =  null;
6999    
7000            ASTNode c = null;
7001    
7002            ASTNode t = null;
7003    
7004    
7005    
7006                    ((list_italcontentpart_scope)list_italcontentpart_stack.peek()).elements = new ArrayList<ASTNode>();
7007    
7008            try {
7009                // Creole10.g:689:2: ( bold_markup c= list_bolditalcontent ( bold_markup )? | (t= text_unformattedelement )+ )
7010                int alt85=2;
7011                int LA85_0 = input.LA(1);
7012    
7013                if ( (LA85_0==STAR) ) {
7014                    alt85=1;
7015                }
7016                else if ( ((LA85_0>=FORCED_END_OF_LINE && LA85_0<=WIKI)||LA85_0==POUND||(LA85_0>=EQUAL && LA85_0<=PIPE)||(LA85_0>=LINK_OPEN && LA85_0<=80)) ) {
7017                    alt85=2;
7018                }
7019                else {
7020                    if (backtracking>0) {failed=true; return contents;}
7021                    NoViableAltException nvae =
7022                        new NoViableAltException("682:1: list_italcontentpart returns [ASTNode contents = null] : ( bold_markup c= list_bolditalcontent ( bold_markup )? | (t= text_unformattedelement )+ );", 85, 0, input);
7023    
7024                    throw nvae;
7025                }
7026                switch (alt85) {
7027                    case 1 :
7028                        // Creole10.g:689:4: bold_markup c= list_bolditalcontent ( bold_markup )?
7029                        {
7030                        pushFollow(FOLLOW_bold_markup_in_list_italcontentpart2268);
7031                        bold_markup();
7032                        _fsp--;
7033                        if (failed) return contents;
7034                        pushFollow(FOLLOW_list_bolditalcontent_in_list_italcontentpart2275);
7035                        c=list_bolditalcontent();
7036                        _fsp--;
7037                        if (failed) return contents;
7038                        if ( backtracking==0 ) {
7039                           contents = new BoldTextNode(c); 
7040                        }
7041                        // Creole10.g:689:86: ( bold_markup )?
7042                        int alt83=2;
7043                        int LA83_0 = input.LA(1);
7044    
7045                        if ( (LA83_0==STAR) ) {
7046                            int LA83_1 = input.LA(2);
7047    
7048                            if ( (LA83_1==STAR) ) {
7049                                alt83=1;
7050                            }
7051                        }
7052                        switch (alt83) {
7053                            case 1 :
7054                                // Creole10.g:689:88: bold_markup
7055                                {
7056                                pushFollow(FOLLOW_bold_markup_in_list_italcontentpart2282);
7057                                bold_markup();
7058                                _fsp--;
7059                                if (failed) return contents;
7060    
7061                                }
7062                                break;
7063    
7064                        }
7065    
7066    
7067                        }
7068                        break;
7069                    case 2 :
7070                        // Creole10.g:690:4: (t= text_unformattedelement )+
7071                        {
7072                        // Creole10.g:690:4: (t= text_unformattedelement )+
7073                        int cnt84=0;
7074                        loop84:
7075                        do {
7076                            int alt84=2;
7077                            switch ( input.LA(1) ) {
7078                            case FORCED_END_OF_LINE:
7079                            case HEADING_SECTION:
7080                            case HORIZONTAL_SECTION:
7081                            case LIST_ITEM:
7082                            case LIST_ITEM_PART:
7083                            case NOWIKI_SECTION:
7084                            case SCAPE_NODE:
7085                            case TEXT_NODE:
7086                            case UNORDERED_LIST:
7087                            case UNFORMATTED_TEXT:
7088                            case WIKI:
7089                            case POUND:
7090                            case EQUAL:
7091                            case PIPE:
7092                            case NOWIKI_BLOCK_CLOSE:
7093                            case NOWIKI_CLOSE:
7094                            case LINK_CLOSE:
7095                            case IMAGE_CLOSE:
7096                            case BLANKS:
7097                            case DASH:
7098                            case CR:
7099                            case LF:
7100                            case SPACE:
7101                            case TABULATOR:
7102                            case BRACE_CLOSE:
7103                            case COLON_SLASH:
7104                            case SLASH:
7105                            case INSIGNIFICANT_CHAR:
7106                            case 41:
7107                            case 42:
7108                            case 43:
7109                            case 44:
7110                            case 45:
7111                            case 46:
7112                            case 47:
7113                            case 48:
7114                            case 49:
7115                            case 50:
7116                            case 51:
7117                            case 52:
7118                            case 53:
7119                            case 54:
7120                            case 55:
7121                            case 56:
7122                            case 57:
7123                            case 58:
7124                            case 59:
7125                            case 60:
7126                            case 61:
7127                            case 62:
7128                            case 63:
7129                            case 64:
7130                            case 65:
7131                            case 66:
7132                            case 67:
7133                            case 68:
7134                            case 69:
7135                            case 70:
7136                            case 71:
7137                            case 72:
7138                            case 73:
7139                            case 74:
7140                            case 75:
7141                            case 76:
7142                            case 77:
7143                            case 78:
7144                            case 79:
7145                            case 80:
7146                                {
7147                                alt84=1;
7148                                }
7149                                break;
7150                            case FORCED_LINEBREAK:
7151                                {
7152                                alt84=1;
7153                                }
7154                                break;
7155                            case ESCAPE:
7156                                {
7157                                alt84=1;
7158                                }
7159                                break;
7160                            case LINK_OPEN:
7161                                {
7162                                alt84=1;
7163                                }
7164                                break;
7165                            case IMAGE_OPEN:
7166                                {
7167                                alt84=1;
7168                                }
7169                                break;
7170                            case EXTENSION:
7171                                {
7172                                alt84=1;
7173                                }
7174                                break;
7175                            case NOWIKI_OPEN:
7176                                {
7177                                alt84=1;
7178                                }
7179                                break;
7180    
7181                            }
7182    
7183                            switch (alt84) {
7184                            case 1 :
7185                                // Creole10.g:690:6: t= text_unformattedelement
7186                                {
7187                                pushFollow(FOLLOW_text_unformattedelement_in_list_italcontentpart2296);
7188                                t=text_unformattedelement();
7189                                _fsp--;
7190                                if (failed) return contents;
7191                                if ( backtracking==0 ) {
7192                                   ((list_italcontentpart_scope)list_italcontentpart_stack.peek()).elements.add(t); 
7193                                }
7194    
7195                                }
7196                                break;
7197    
7198                            default :
7199                                if ( cnt84 >= 1 ) break loop84;
7200                                if (backtracking>0) {failed=true; return contents;}
7201                                    EarlyExitException eee =
7202                                        new EarlyExitException(84, input);
7203                                    throw eee;
7204                            }
7205                            cnt84++;
7206                        } while (true);
7207    
7208                        if ( backtracking==0 ) {
7209                           contents = new CollectionNode(((list_italcontentpart_scope)list_italcontentpart_stack.peek()).elements); 
7210                        }
7211    
7212                        }
7213                        break;
7214    
7215                }
7216            }
7217            catch (RecognitionException re) {
7218                reportError(re);
7219                recover(input,re);
7220            }
7221            finally {
7222                list_italcontentpart_stack.pop();
7223            }
7224            return contents;
7225        }
7226        // $ANTLR end list_italcontentpart
7227    
7228    
7229        // $ANTLR start table
7230        // Creole10.g:694:1: table returns [TableNode table = new TableNode()] : (tr= table_row )+ ;
7231        public final TableNode table() throws RecognitionException {
7232            TableNode table =  new TableNode();
7233    
7234            CollectionNode tr = null;
7235    
7236    
7237            try {
7238                // Creole10.g:695:2: ( (tr= table_row )+ )
7239                // Creole10.g:695:4: (tr= table_row )+
7240                {
7241                // Creole10.g:695:4: (tr= table_row )+
7242                int cnt86=0;
7243                loop86:
7244                do {
7245                    int alt86=2;
7246                    int LA86_0 = input.LA(1);
7247    
7248                    if ( (LA86_0==PIPE) ) {
7249                        alt86=1;
7250                    }
7251    
7252    
7253                    switch (alt86) {
7254                    case 1 :
7255                        // Creole10.g:695:6: tr= table_row
7256                        {
7257                        pushFollow(FOLLOW_table_row_in_table2324);
7258                        tr=table_row();
7259                        _fsp--;
7260                        if (failed) return table;
7261                        if ( backtracking==0 ) {
7262                          table.addChildASTNode(tr);
7263                        }
7264    
7265                        }
7266                        break;
7267    
7268                    default :
7269                        if ( cnt86 >= 1 ) break loop86;
7270                        if (backtracking>0) {failed=true; return table;}
7271                            EarlyExitException eee =
7272                                new EarlyExitException(86, input);
7273                            throw eee;
7274                    }
7275                    cnt86++;
7276                } while (true);
7277    
7278    
7279                }
7280    
7281            }
7282            catch (RecognitionException re) {
7283                reportError(re);
7284                recover(input,re);
7285            }
7286            finally {
7287            }
7288            return table;
7289        }
7290        // $ANTLR end table
7291    
7292    
7293        // $ANTLR start table_row
7294        // Creole10.g:697:1: table_row returns [CollectionNode row = new CollectionNode()] : ({...}? table_cell | tc= table_cell )+ table_rowseparator ;
7295        public final CollectionNode table_row() throws RecognitionException {
7296            CollectionNode row =  new CollectionNode();
7297    
7298            TableCellNode tc = null;
7299    
7300    
7301            try {
7302                // Creole10.g:698:2: ( ({...}? table_cell | tc= table_cell )+ table_rowseparator )
7303                // Creole10.g:698:4: ({...}? table_cell | tc= table_cell )+ table_rowseparator
7304                {
7305                // Creole10.g:698:4: ({...}? table_cell | tc= table_cell )+
7306                int cnt87=0;
7307                loop87:
7308                do {
7309                    int alt87=3;
7310                    int LA87_0 = input.LA(1);
7311    
7312                    if ( (LA87_0==PIPE) ) {
7313                        int LA87_2 = input.LA(2);
7314    
7315                        if ( ((( input.LA(1) == PIPE && input.LA(2) == PIPE && input.LA(2) == EQUAL )|| input.LA(1) == PIPE && input.LA(2) == PIPE )) ) {
7316                            alt87=1;
7317                        }
7318                        else if ( (true) ) {
7319                            alt87=2;
7320                        }
7321    
7322    
7323                    }
7324    
7325    
7326                    switch (alt87) {
7327                    case 1 :
7328                        // Creole10.g:698:6: {...}? table_cell
7329                        {
7330                        if ( !( input.LA(1) == PIPE && input.LA(2) == PIPE ) ) {
7331                            if (backtracking>0) {failed=true; return row;}
7332                            throw new FailedPredicateException(input, "table_row", " input.LA(1) == PIPE && input.LA(2) == PIPE ");
7333                        }
7334                        pushFollow(FOLLOW_table_cell_in_table_row2350);
7335                        table_cell();
7336                        _fsp--;
7337                        if (failed) return row;
7338                        if ( backtracking==0 ) {
7339    
7340                                            CollectionNode cn = new CollectionNode();
7341                                            cn.add(new UnformattedTextNode(" "));
7342                                            TableCellNode space = new TableDataNode(cn);
7343                                            row.add(space);
7344                                    
7345                        }
7346    
7347                        }
7348                        break;
7349                    case 2 :
7350                        // Creole10.g:705:6: tc= table_cell
7351                        {
7352                        pushFollow(FOLLOW_table_cell_in_table_row2363);
7353                        tc=table_cell();
7354                        _fsp--;
7355                        if (failed) return row;
7356                        if ( backtracking==0 ) {
7357                           row.add(tc); 
7358                        }
7359    
7360                        }
7361                        break;
7362    
7363                    default :
7364                        if ( cnt87 >= 1 ) break loop87;
7365                        if (backtracking>0) {failed=true; return row;}
7366                            EarlyExitException eee =
7367                                new EarlyExitException(87, input);
7368                            throw eee;
7369                    }
7370                    cnt87++;
7371                } while (true);
7372    
7373                pushFollow(FOLLOW_table_rowseparator_in_table_row2372);
7374                table_rowseparator();
7375                _fsp--;
7376                if (failed) return row;
7377    
7378                }
7379    
7380            }
7381            catch (RecognitionException re) {
7382                reportError(re);
7383                recover(input,re);
7384            }
7385            finally {
7386            }
7387            return row;
7388        }
7389        // $ANTLR end table_row
7390    
7391    
7392        // $ANTLR start table_cell
7393        // Creole10.g:708:1: table_cell returns [TableCellNode cell = null] : ({...}?th= table_headercell | tc= table_normalcell );
7394        public final TableCellNode table_cell() throws RecognitionException {
7395            TableCellNode cell =  null;
7396    
7397            TableHeaderNode th = null;
7398    
7399            TableDataNode tc = null;
7400    
7401    
7402            try {
7403                // Creole10.g:709:2: ({...}?th= table_headercell | tc= table_normalcell )
7404                int alt88=2;
7405                int LA88_0 = input.LA(1);
7406    
7407                if ( (LA88_0==PIPE) ) {
7408                    int LA88_1 = input.LA(2);
7409    
7410                    if ( (LA88_1==EQUAL) ) {
7411                        int LA88_2 = input.LA(3);
7412    
7413                        if ( ( input.LA(2) == EQUAL ) ) {
7414                            alt88=1;
7415                        }
7416                        else if ( (true) ) {
7417                            alt88=2;
7418                        }
7419                        else {
7420                            if (backtracking>0) {failed=true; return cell;}
7421                            NoViableAltException nvae =
7422                                new NoViableAltException("708:1: table_cell returns [TableCellNode cell = null] : ({...}?th= table_headercell | tc= table_normalcell );", 88, 2, input);
7423    
7424                            throw nvae;
7425                        }
7426                    }
7427                    else if ( (LA88_1==EOF||(LA88_1>=FORCED_END_OF_LINE && LA88_1<=STAR)||(LA88_1>=PIPE && LA88_1<=80)) ) {
7428                        alt88=2;
7429                    }
7430                    else {
7431                        if (backtracking>0) {failed=true; return cell;}
7432                        NoViableAltException nvae =
7433                            new NoViableAltException("708:1: table_cell returns [TableCellNode cell = null] : ({...}?th= table_headercell | tc= table_normalcell );", 88, 1, input);
7434    
7435                        throw nvae;
7436                    }
7437                }
7438                else {
7439                    if (backtracking>0) {failed=true; return cell;}
7440                    NoViableAltException nvae =
7441                        new NoViableAltException("708:1: table_cell returns [TableCellNode cell = null] : ({...}?th= table_headercell | tc= table_normalcell );", 88, 0, input);
7442    
7443                    throw nvae;
7444                }
7445                switch (alt88) {
7446                    case 1 :
7447                        // Creole10.g:709:4: {...}?th= table_headercell
7448                        {
7449                        if ( !( input.LA(2) == EQUAL ) ) {
7450                            if (backtracking>0) {failed=true; return cell;}
7451                            throw new FailedPredicateException(input, "table_cell", " input.LA(2) == EQUAL ");
7452                        }
7453                        pushFollow(FOLLOW_table_headercell_in_table_cell2393);
7454                        th=table_headercell();
7455                        _fsp--;
7456                        if (failed) return cell;
7457                        if ( backtracking==0 ) {
7458                          cell = th;
7459                        }
7460    
7461                        }
7462                        break;
7463                    case 2 :
7464                        // Creole10.g:710:4: tc= table_normalcell
7465                        {
7466                        pushFollow(FOLLOW_table_normalcell_in_table_cell2404);
7467                        tc=table_normalcell();
7468                        _fsp--;
7469                        if (failed) return cell;
7470                        if ( backtracking==0 ) {
7471                          cell = tc; 
7472                        }
7473    
7474                        }
7475                        break;
7476    
7477                }
7478            }
7479            catch (RecognitionException re) {
7480                reportError(re);
7481                recover(input,re);
7482            }
7483            finally {
7484            }
7485            return cell;
7486        }
7487        // $ANTLR end table_cell
7488    
7489    
7490        // $ANTLR start table_headercell
7491        // Creole10.g:712:1: table_headercell returns [TableHeaderNode header = null] : table_headercell_markup tc= table_cellcontent ;
7492        public final TableHeaderNode table_headercell() throws RecognitionException {
7493            TableHeaderNode header =  null;
7494    
7495            CollectionNode tc = null;
7496    
7497    
7498            try {
7499                // Creole10.g:713:2: ( table_headercell_markup tc= table_cellcontent )
7500                // Creole10.g:713:4: table_headercell_markup tc= table_cellcontent
7501                {
7502                pushFollow(FOLLOW_table_headercell_markup_in_table_headercell2420);
7503                table_headercell_markup();
7504                _fsp--;
7505                if (failed) return header;
7506                pushFollow(FOLLOW_table_cellcontent_in_table_headercell2427);
7507                tc=table_cellcontent();
7508                _fsp--;
7509                if (failed) return header;
7510                if ( backtracking==0 ) {
7511                  header = new TableHeaderNode(tc);
7512                }
7513    
7514                }
7515    
7516            }
7517            catch (RecognitionException re) {
7518                reportError(re);
7519                recover(input,re);
7520            }
7521            finally {
7522            }
7523            return header;
7524        }
7525        // $ANTLR end table_headercell
7526    
7527    
7528        // $ANTLR start table_normalcell
7529        // Creole10.g:715:1: table_normalcell returns [TableDataNode cell = null] : table_cell_markup tc= table_cellcontent ;
7530        public final TableDataNode table_normalcell() throws RecognitionException {
7531            TableDataNode cell =  null;
7532    
7533            CollectionNode tc = null;
7534    
7535    
7536            try {
7537                // Creole10.g:716:2: ( table_cell_markup tc= table_cellcontent )
7538                // Creole10.g:716:4: table_cell_markup tc= table_cellcontent
7539                {
7540                pushFollow(FOLLOW_table_cell_markup_in_table_normalcell2443);
7541                table_cell_markup();
7542                _fsp--;
7543                if (failed) return cell;
7544                pushFollow(FOLLOW_table_cellcontent_in_table_normalcell2450);
7545                tc=table_cellcontent();
7546                _fsp--;
7547                if (failed) return cell;
7548                if ( backtracking==0 ) {
7549                   cell = new TableDataNode(tc); 
7550                }
7551    
7552                }
7553    
7554            }
7555            catch (RecognitionException re) {
7556                reportError(re);
7557                recover(input,re);
7558            }
7559            finally {
7560            }
7561            return cell;
7562        }
7563        // $ANTLR end table_normalcell
7564    
7565    
7566        // $ANTLR start table_cellcontent
7567        // Creole10.g:718:1: table_cellcontent returns [CollectionNode items = new CollectionNode()] : onestar (tcp= table_cellcontentpart onestar )* ;
7568        public final CollectionNode table_cellcontent() throws RecognitionException {
7569            CollectionNode items =  new CollectionNode();
7570    
7571            ASTNode tcp = null;
7572    
7573    
7574            try {
7575                // Creole10.g:719:2: ( onestar (tcp= table_cellcontentpart onestar )* )
7576                // Creole10.g:719:4: onestar (tcp= table_cellcontentpart onestar )*
7577                {
7578                pushFollow(FOLLOW_onestar_in_table_cellcontent2466);
7579                onestar();
7580                _fsp--;
7581                if (failed) return items;
7582                // Creole10.g:719:13: (tcp= table_cellcontentpart onestar )*
7583                loop89:
7584                do {
7585                    int alt89=2;
7586                    int LA89_0 = input.LA(1);
7587    
7588                    if ( ((LA89_0>=FORCED_END_OF_LINE && LA89_0<=WIKI)||(LA89_0>=POUND && LA89_0<=EQUAL)||(LA89_0>=ITAL && LA89_0<=80)) ) {
7589                        alt89=1;
7590                    }
7591    
7592    
7593                    switch (alt89) {
7594                    case 1 :
7595                        // Creole10.g:719:15: tcp= table_cellcontentpart onestar
7596                        {
7597                        pushFollow(FOLLOW_table_cellcontentpart_in_table_cellcontent2475);
7598                        tcp=table_cellcontentpart();
7599                        _fsp--;
7600                        if (failed) return items;
7601                        if ( backtracking==0 ) {
7602    
7603                                            if (tcp != null) {
7604                                                    items.add(tcp);
7605                                            }
7606                                    
7607                        }
7608                        pushFollow(FOLLOW_onestar_in_table_cellcontent2482);
7609                        onestar();
7610                        _fsp--;
7611                        if (failed) return items;
7612    
7613                        }
7614                        break;
7615    
7616                    default :
7617                        break loop89;
7618                    }
7619                } while (true);
7620    
7621    
7622                }
7623    
7624            }
7625            catch (RecognitionException re) {
7626                reportError(re);
7627                recover(input,re);
7628            }
7629            finally {
7630            }
7631            return items;
7632        }
7633        // $ANTLR end table_cellcontent
7634    
7635    
7636        // $ANTLR start table_cellcontentpart
7637        // Creole10.g:726:1: table_cellcontentpart returns [ASTNode node = null] : (tf= table_formattedelement | tu= table_unformattedelement );
7638        public final ASTNode table_cellcontentpart() throws RecognitionException {
7639            ASTNode node =  null;
7640    
7641            ASTNode tf = null;
7642    
7643            ASTNode tu = null;
7644    
7645    
7646            try {
7647                // Creole10.g:727:2: (tf= table_formattedelement | tu= table_unformattedelement )
7648                int alt90=2;
7649                int LA90_0 = input.LA(1);
7650    
7651                if ( (LA90_0==STAR||LA90_0==ITAL) ) {
7652                    alt90=1;
7653                }
7654                else if ( ((LA90_0>=FORCED_END_OF_LINE && LA90_0<=WIKI)||LA90_0==POUND||LA90_0==EQUAL||(LA90_0>=LINK_OPEN && LA90_0<=80)) ) {
7655                    alt90=2;
7656                }
7657                else {
7658                    if (backtracking>0) {failed=true; return node;}
7659                    NoViableAltException nvae =
7660                        new NoViableAltException("726:1: table_cellcontentpart returns [ASTNode node = null] : (tf= table_formattedelement | tu= table_unformattedelement );", 90, 0, input);
7661    
7662                    throw nvae;
7663                }
7664                switch (alt90) {
7665                    case 1 :
7666                        // Creole10.g:727:4: tf= table_formattedelement
7667                        {
7668                        pushFollow(FOLLOW_table_formattedelement_in_table_cellcontentpart2503);
7669                        tf=table_formattedelement();
7670                        _fsp--;
7671                        if (failed) return node;
7672                        if ( backtracking==0 ) {
7673                          node =tf;
7674                        }
7675    
7676                        }
7677                        break;
7678                    case 2 :
7679                        // Creole10.g:728:4: tu= table_unformattedelement
7680                        {
7681                        pushFollow(FOLLOW_table_unformattedelement_in_table_cellcontentpart2514);
7682                        tu=table_unformattedelement();
7683                        _fsp--;
7684                        if (failed) return node;
7685                        if ( backtracking==0 ) {
7686                          node =tu;
7687                        }
7688    
7689                        }
7690                        break;
7691    
7692                }
7693            }
7694            catch (RecognitionException re) {
7695                reportError(re);
7696                recover(input,re);
7697            }
7698            finally {
7699            }
7700            return node;
7701        }
7702        // $ANTLR end table_cellcontentpart
7703    
7704    
7705        // $ANTLR start table_formattedelement
7706        // Creole10.g:730:1: table_formattedelement returns [ASTNode content = null] : ( ital_markup (tic= table_italcontent )? ( ital_markup )? | bold_markup (tbc= table_boldcontent )? ( bold_markup )? );
7707        public final ASTNode table_formattedelement() throws RecognitionException {
7708            ASTNode content =  null;
7709    
7710            CollectionNode tic = null;
7711    
7712            CollectionNode tbc = null;
7713    
7714    
7715            try {
7716                // Creole10.g:731:2: ( ital_markup (tic= table_italcontent )? ( ital_markup )? | bold_markup (tbc= table_boldcontent )? ( bold_markup )? )
7717                int alt95=2;
7718                int LA95_0 = input.LA(1);
7719    
7720                if ( (LA95_0==ITAL) ) {
7721                    alt95=1;
7722                }
7723                else if ( (LA95_0==STAR) ) {
7724                    alt95=2;
7725                }
7726                else {
7727                    if (backtracking>0) {failed=true; return content;}
7728                    NoViableAltException nvae =
7729                        new NoViableAltException("730:1: table_formattedelement returns [ASTNode content = null] : ( ital_markup (tic= table_italcontent )? ( ital_markup )? | bold_markup (tbc= table_boldcontent )? ( bold_markup )? );", 95, 0, input);
7730    
7731                    throw nvae;
7732                }
7733                switch (alt95) {
7734                    case 1 :
7735                        // Creole10.g:731:4: ital_markup (tic= table_italcontent )? ( ital_markup )?
7736                        {
7737                        pushFollow(FOLLOW_ital_markup_in_table_formattedelement2530);
7738                        ital_markup();
7739                        _fsp--;
7740                        if (failed) return content;
7741                        // Creole10.g:731:18: (tic= table_italcontent )?
7742                        int alt91=2;
7743                        switch ( input.LA(1) ) {
7744                            case STAR:
7745                                {
7746                                alt91=1;
7747                                }
7748                                break;
7749                            case FORCED_END_OF_LINE:
7750                            case HEADING_SECTION:
7751                            case HORIZONTAL_SECTION:
7752                            case LIST_ITEM:
7753                            case LIST_ITEM_PART:
7754                            case NOWIKI_SECTION:
7755                            case SCAPE_NODE:
7756                            case TEXT_NODE:
7757                            case UNORDERED_LIST:
7758                            case UNFORMATTED_TEXT:
7759                            case WIKI:
7760                            case POUND:
7761                            case EQUAL:
7762                            case NOWIKI_BLOCK_CLOSE:
7763                            case NOWIKI_CLOSE:
7764                            case LINK_CLOSE:
7765                            case IMAGE_CLOSE:
7766                            case BLANKS:
7767                            case DASH:
7768                            case CR:
7769                            case LF:
7770                            case SPACE:
7771                            case TABULATOR:
7772                            case BRACE_CLOSE:
7773                            case COLON_SLASH:
7774                            case SLASH:
7775                            case INSIGNIFICANT_CHAR:
7776                            case 41:
7777                            case 42:
7778                            case 43:
7779                            case 44:
7780                            case 45:
7781                            case 46:
7782                            case 47:
7783                            case 48:
7784                            case 49:
7785                            case 50:
7786                            case 51:
7787                            case 52:
7788                            case 53:
7789                            case 54:
7790                            case 55:
7791                            case 56:
7792                            case 57:
7793                            case 58:
7794                            case 59:
7795                            case 60:
7796                            case 61:
7797                            case 62:
7798                            case 63:
7799                            case 64:
7800                            case 65:
7801                            case 66:
7802                            case 67:
7803                            case 68:
7804                            case 69:
7805                            case 70:
7806                            case 71:
7807                            case 72:
7808                            case 73:
7809                            case 74:
7810                            case 75:
7811                            case 76:
7812                            case 77:
7813                            case 78:
7814                            case 79:
7815                            case 80:
7816                                {
7817                                alt91=1;
7818                                }
7819                                break;
7820                            case FORCED_LINEBREAK:
7821                                {
7822                                alt91=1;
7823                                }
7824                                break;
7825                            case ESCAPE:
7826                                {
7827                                alt91=1;
7828                                }
7829                                break;
7830                            case LINK_OPEN:
7831                                {
7832                                alt91=1;
7833                                }
7834                                break;
7835                            case IMAGE_OPEN:
7836                                {
7837                                alt91=1;
7838                                }
7839                                break;
7840                            case EXTENSION:
7841                                {
7842                                alt91=1;
7843                                }
7844                                break;
7845                            case NOWIKI_OPEN:
7846                                {
7847                                alt91=1;
7848                                }
7849                                break;
7850                            case EOF:
7851                                {
7852                                alt91=1;
7853                                }
7854                                break;
7855                        }
7856    
7857                        switch (alt91) {
7858                            case 1 :
7859                                // Creole10.g:731:20: tic= table_italcontent
7860                                {
7861                                pushFollow(FOLLOW_table_italcontent_in_table_formattedelement2540);
7862                                tic=table_italcontent();
7863                                _fsp--;
7864                                if (failed) return content;
7865                                if ( backtracking==0 ) {
7866                                   content = new ItalicTextNode(tic); 
7867                                }
7868    
7869                                }
7870                                break;
7871    
7872                        }
7873    
7874                        // Creole10.g:731:94: ( ital_markup )?
7875                        int alt92=2;
7876                        int LA92_0 = input.LA(1);
7877    
7878                        if ( (LA92_0==ITAL) ) {
7879                            alt92=1;
7880                        }
7881                        switch (alt92) {
7882                            case 1 :
7883                                // Creole10.g:731:96: ital_markup
7884                                {
7885                                pushFollow(FOLLOW_ital_markup_in_table_formattedelement2549);
7886                                ital_markup();
7887                                _fsp--;
7888                                if (failed) return content;
7889    
7890                                }
7891                                break;
7892    
7893                        }
7894    
7895    
7896                        }
7897                        break;
7898                    case 2 :
7899                        // Creole10.g:732:4: bold_markup (tbc= table_boldcontent )? ( bold_markup )?
7900                        {
7901                        pushFollow(FOLLOW_bold_markup_in_table_formattedelement2557);
7902                        bold_markup();
7903                        _fsp--;
7904                        if (failed) return content;
7905                        // Creole10.g:732:16: (tbc= table_boldcontent )?
7906                        int alt93=2;
7907                        switch ( input.LA(1) ) {
7908                            case STAR:
7909                                {
7910                                int LA93_1 = input.LA(2);
7911    
7912                                if ( ( input.LA(2) != STAR ) ) {
7913                                    alt93=1;
7914                                }
7915                                }
7916                                break;
7917                            case FORCED_END_OF_LINE:
7918                            case HEADING_SECTION:
7919                            case HORIZONTAL_SECTION:
7920                            case LIST_ITEM:
7921                            case LIST_ITEM_PART:
7922                            case NOWIKI_SECTION:
7923                            case SCAPE_NODE:
7924                            case TEXT_NODE:
7925                            case UNORDERED_LIST:
7926                            case UNFORMATTED_TEXT:
7927                            case WIKI:
7928                            case POUND:
7929                            case EQUAL:
7930                            case NOWIKI_BLOCK_CLOSE:
7931                            case NOWIKI_CLOSE:
7932                            case LINK_CLOSE:
7933                            case IMAGE_CLOSE:
7934                            case BLANKS:
7935                            case DASH:
7936                            case CR:
7937                            case LF:
7938                            case SPACE:
7939                            case TABULATOR:
7940                            case BRACE_CLOSE:
7941                            case COLON_SLASH:
7942                            case SLASH:
7943                            case INSIGNIFICANT_CHAR:
7944                            case 41:
7945                            case 42:
7946                            case 43:
7947                            case 44:
7948                            case 45:
7949                            case 46:
7950                            case 47:
7951                            case 48:
7952                            case 49:
7953                            case 50:
7954                            case 51:
7955                            case 52:
7956                            case 53:
7957                            case 54:
7958                            case 55:
7959                            case 56:
7960                            case 57:
7961                            case 58:
7962                            case 59:
7963                            case 60:
7964                            case 61:
7965                            case 62:
7966                            case 63:
7967                            case 64:
7968                            case 65:
7969                            case 66:
7970                            case 67:
7971                            case 68:
7972                            case 69:
7973                            case 70:
7974                            case 71:
7975                            case 72:
7976                            case 73:
7977                            case 74:
7978                            case 75:
7979                            case 76:
7980                            case 77:
7981                            case 78:
7982                            case 79:
7983                            case 80:
7984                                {
7985                                alt93=1;
7986                                }
7987                                break;
7988                            case FORCED_LINEBREAK:
7989                                {
7990                                alt93=1;
7991                                }
7992                                break;
7993                            case ESCAPE:
7994                                {
7995                                alt93=1;
7996                                }
7997                                break;
7998                            case LINK_OPEN:
7999                                {
8000                                alt93=1;
8001                                }
8002                                break;
8003                            case IMAGE_OPEN:
8004                                {
8005                                alt93=1;
8006                                }
8007                                break;
8008                            case EXTENSION:
8009                                {
8010                                alt93=1;
8011                                }
8012                                break;
8013                            case NOWIKI_OPEN:
8014                                {
8015                                alt93=1;
8016                                }
8017                                break;
8018                            case ITAL:
8019                                {
8020                                alt93=1;
8021                                }
8022                                break;
8023                            case EOF:
8024                                {
8025                                alt93=1;
8026                                }
8027                                break;
8028                        }
8029    
8030                        switch (alt93) {
8031                            case 1 :
8032                                // Creole10.g:732:18: tbc= table_boldcontent
8033                                {
8034                                pushFollow(FOLLOW_table_boldcontent_in_table_formattedelement2564);
8035                                tbc=table_boldcontent();
8036                                _fsp--;
8037                                if (failed) return content;
8038                                if ( backtracking==0 ) {
8039                                  content = new BoldTextNode(tbc);
8040                                }
8041    
8042                                }
8043                                break;
8044    
8045                        }
8046    
8047                        // Creole10.g:732:88: ( bold_markup )?
8048                        int alt94=2;
8049                        int LA94_0 = input.LA(1);
8050    
8051                        if ( (LA94_0==STAR) ) {
8052                            int LA94_1 = input.LA(2);
8053    
8054                            if ( (LA94_1==STAR) ) {
8055                                alt94=1;
8056                            }
8057                        }
8058                        switch (alt94) {
8059                            case 1 :
8060                                // Creole10.g:732:90: bold_markup
8061                                {
8062                                pushFollow(FOLLOW_bold_markup_in_table_formattedelement2574);
8063                                bold_markup();
8064                                _fsp--;
8065                                if (failed) return content;
8066    
8067                                }
8068                                break;
8069    
8070                        }
8071    
8072    
8073                        }
8074                        break;
8075    
8076                }
8077            }
8078            catch (RecognitionException re) {
8079                reportError(re);
8080                recover(input,re);
8081            }
8082            finally {
8083            }
8084            return content;
8085        }
8086        // $ANTLR end table_formattedelement
8087    
8088    
8089        // $ANTLR start table_boldcontent
8090        // Creole10.g:734:1: table_boldcontent returns [CollectionNode items = new CollectionNode()] : ( onestar (tb= table_boldcontentpart onestar )+ | EOF );
8091        public final CollectionNode table_boldcontent() throws RecognitionException {
8092            CollectionNode items =  new CollectionNode();
8093    
8094            ASTNode tb = null;
8095    
8096    
8097            try {
8098                // Creole10.g:735:2: ( onestar (tb= table_boldcontentpart onestar )+ | EOF )
8099                int alt97=2;
8100                int LA97_0 = input.LA(1);
8101    
8102                if ( ((LA97_0>=FORCED_END_OF_LINE && LA97_0<=WIKI)||(LA97_0>=POUND && LA97_0<=EQUAL)||(LA97_0>=ITAL && LA97_0<=80)) ) {
8103                    alt97=1;
8104                }
8105                else if ( (LA97_0==EOF) ) {
8106                    alt97=2;
8107                }
8108                else {
8109                    if (backtracking>0) {failed=true; return items;}
8110                    NoViableAltException nvae =
8111                        new NoViableAltException("734:1: table_boldcontent returns [CollectionNode items = new CollectionNode()] : ( onestar (tb= table_boldcontentpart onestar )+ | EOF );", 97, 0, input);
8112    
8113                    throw nvae;
8114                }
8115                switch (alt97) {
8116                    case 1 :
8117                        // Creole10.g:735:4: onestar (tb= table_boldcontentpart onestar )+
8118                        {
8119                        pushFollow(FOLLOW_onestar_in_table_boldcontent2591);
8120                        onestar();
8121                        _fsp--;
8122                        if (failed) return items;
8123                        // Creole10.g:735:13: (tb= table_boldcontentpart onestar )+
8124                        int cnt96=0;
8125                        loop96:
8126                        do {
8127                            int alt96=2;
8128                            switch ( input.LA(1) ) {
8129                            case ITAL:
8130                                {
8131                                alt96=1;
8132                                }
8133                                break;
8134                            case FORCED_END_OF_LINE:
8135                            case HEADING_SECTION:
8136                            case HORIZONTAL_SECTION:
8137                            case LIST_ITEM:
8138                            case LIST_ITEM_PART:
8139                            case NOWIKI_SECTION:
8140                            case SCAPE_NODE:
8141                            case TEXT_NODE:
8142                            case UNORDERED_LIST:
8143                            case UNFORMATTED_TEXT:
8144                            case WIKI:
8145                            case POUND:
8146                            case EQUAL:
8147                            case NOWIKI_BLOCK_CLOSE:
8148                            case NOWIKI_CLOSE:
8149                            case LINK_CLOSE:
8150                            case IMAGE_CLOSE:
8151                            case BLANKS:
8152                            case DASH:
8153                            case CR:
8154                            case LF:
8155                            case SPACE:
8156                            case TABULATOR:
8157                            case BRACE_CLOSE:
8158                            case COLON_SLASH:
8159                            case SLASH:
8160                            case INSIGNIFICANT_CHAR:
8161                            case 41:
8162                            case 42:
8163                            case 43:
8164                            case 44:
8165                            case 45:
8166                            case 46:
8167                            case 47:
8168                            case 48:
8169                            case 49:
8170                            case 50:
8171                            case 51:
8172                            case 52:
8173                            case 53:
8174                            case 54:
8175                            case 55:
8176                            case 56:
8177                            case 57:
8178                            case 58:
8179                            case 59:
8180                            case 60:
8181                            case 61:
8182                            case 62:
8183                            case 63:
8184                            case 64:
8185                            case 65:
8186                            case 66:
8187                            case 67:
8188                            case 68:
8189                            case 69:
8190                            case 70:
8191                            case 71:
8192                            case 72:
8193                            case 73:
8194                            case 74:
8195                            case 75:
8196                            case 76:
8197                            case 77:
8198                            case 78:
8199                            case 79:
8200                            case 80:
8201                                {
8202                                alt96=1;
8203                                }
8204                                break;
8205                            case FORCED_LINEBREAK:
8206                                {
8207                                alt96=1;
8208                                }
8209                                break;
8210                            case ESCAPE:
8211                                {
8212                                alt96=1;
8213                                }
8214                                break;
8215                            case LINK_OPEN:
8216                                {
8217                                alt96=1;
8218                                }
8219                                break;
8220                            case IMAGE_OPEN:
8221                                {
8222                                alt96=1;
8223                                }
8224                                break;
8225                            case EXTENSION:
8226                                {
8227                                alt96=1;
8228                                }
8229                                break;
8230                            case NOWIKI_OPEN:
8231                                {
8232                                alt96=1;
8233                                }
8234                                break;
8235    
8236                            }
8237    
8238                            switch (alt96) {
8239                            case 1 :
8240                                // Creole10.g:735:15: tb= table_boldcontentpart onestar
8241                                {
8242                                pushFollow(FOLLOW_table_boldcontentpart_in_table_boldcontent2600);
8243                                tb=table_boldcontentpart();
8244                                _fsp--;
8245                                if (failed) return items;
8246                                if ( backtracking==0 ) {
8247                                   items.add(tb); 
8248                                }
8249                                pushFollow(FOLLOW_onestar_in_table_boldcontent2605);
8250                                onestar();
8251                                _fsp--;
8252                                if (failed) return items;
8253    
8254                                }
8255                                break;
8256    
8257                            default :
8258                                if ( cnt96 >= 1 ) break loop96;
8259                                if (backtracking>0) {failed=true; return items;}
8260                                    EarlyExitException eee =
8261                                        new EarlyExitException(96, input);
8262                                    throw eee;
8263                            }
8264                            cnt96++;
8265                        } while (true);
8266    
8267    
8268                        }
8269                        break;
8270                    case 2 :
8271                        // Creole10.g:736:4: EOF
8272                        {
8273                        match(input,EOF,FOLLOW_EOF_in_table_boldcontent2613); if (failed) return items;
8274    
8275                        }
8276                        break;
8277    
8278                }
8279            }
8280            catch (RecognitionException re) {
8281                reportError(re);
8282                recover(input,re);
8283            }
8284            finally {
8285            }
8286            return items;
8287        }
8288        // $ANTLR end table_boldcontent
8289    
8290    
8291        // $ANTLR start table_italcontent
8292        // Creole10.g:738:1: table_italcontent returns [CollectionNode items = new CollectionNode()] : ( onestar (ti= table_italcontentpart onestar )+ | EOF );
8293        public final CollectionNode table_italcontent() throws RecognitionException {
8294            CollectionNode items =  new CollectionNode();
8295    
8296            ASTNode ti = null;
8297    
8298    
8299            try {
8300                // Creole10.g:739:2: ( onestar (ti= table_italcontentpart onestar )+ | EOF )
8301                int alt99=2;
8302                int LA99_0 = input.LA(1);
8303    
8304                if ( ((LA99_0>=FORCED_END_OF_LINE && LA99_0<=WIKI)||(LA99_0>=POUND && LA99_0<=EQUAL)||(LA99_0>=LINK_OPEN && LA99_0<=80)) ) {
8305                    alt99=1;
8306                }
8307                else if ( (LA99_0==EOF) ) {
8308                    alt99=2;
8309                }
8310                else {
8311                    if (backtracking>0) {failed=true; return items;}
8312                    NoViableAltException nvae =
8313                        new NoViableAltException("738:1: table_italcontent returns [CollectionNode items = new CollectionNode()] : ( onestar (ti= table_italcontentpart onestar )+ | EOF );", 99, 0, input);
8314    
8315                    throw nvae;
8316                }
8317                switch (alt99) {
8318                    case 1 :
8319                        // Creole10.g:739:4: onestar (ti= table_italcontentpart onestar )+
8320                        {
8321                        pushFollow(FOLLOW_onestar_in_table_italcontent2627);
8322                        onestar();
8323                        _fsp--;
8324                        if (failed) return items;
8325                        // Creole10.g:739:13: (ti= table_italcontentpart onestar )+
8326                        int cnt98=0;
8327                        loop98:
8328                        do {
8329                            int alt98=2;
8330                            switch ( input.LA(1) ) {
8331                            case STAR:
8332                                {
8333                                alt98=1;
8334                                }
8335                                break;
8336                            case FORCED_END_OF_LINE:
8337                            case HEADING_SECTION:
8338                            case HORIZONTAL_SECTION:
8339                            case LIST_ITEM:
8340                            case LIST_ITEM_PART:
8341                            case NOWIKI_SECTION:
8342                            case SCAPE_NODE:
8343                            case TEXT_NODE:
8344                            case UNORDERED_LIST:
8345                            case UNFORMATTED_TEXT:
8346                            case WIKI:
8347                            case POUND:
8348                            case EQUAL:
8349                            case NOWIKI_BLOCK_CLOSE:
8350                            case NOWIKI_CLOSE:
8351                            case LINK_CLOSE:
8352                            case IMAGE_CLOSE:
8353                            case BLANKS:
8354                            case DASH:
8355                            case CR:
8356                            case LF:
8357                            case SPACE:
8358                            case TABULATOR:
8359                            case BRACE_CLOSE:
8360                            case COLON_SLASH:
8361                            case SLASH:
8362                            case INSIGNIFICANT_CHAR:
8363                            case 41:
8364                            case 42:
8365                            case 43:
8366                            case 44:
8367                            case 45:
8368                            case 46:
8369                            case 47:
8370                            case 48:
8371                            case 49:
8372                            case 50:
8373                            case 51:
8374                            case 52:
8375                            case 53:
8376                            case 54:
8377                            case 55:
8378                            case 56:
8379                            case 57:
8380                            case 58:
8381                            case 59:
8382                            case 60:
8383                            case 61:
8384                            case 62:
8385                            case 63:
8386                            case 64:
8387                            case 65:
8388                            case 66:
8389                            case 67:
8390                            case 68:
8391                            case 69:
8392                            case 70:
8393                            case 71:
8394                            case 72:
8395                            case 73:
8396                            case 74:
8397                            case 75:
8398                            case 76:
8399                            case 77:
8400                            case 78:
8401                            case 79:
8402                            case 80:
8403                                {
8404                                alt98=1;
8405                                }
8406                                break;
8407                            case FORCED_LINEBREAK:
8408                                {
8409                                alt98=1;
8410                                }
8411                                break;
8412                            case ESCAPE:
8413                                {
8414                                alt98=1;
8415                                }
8416                                break;
8417                            case LINK_OPEN:
8418                                {
8419                                alt98=1;
8420                                }
8421                                break;
8422                            case IMAGE_OPEN:
8423                                {
8424                                alt98=1;
8425                                }
8426                                break;
8427                            case EXTENSION:
8428                                {
8429                                alt98=1;
8430                                }
8431                                break;
8432                            case NOWIKI_OPEN:
8433                                {
8434                                alt98=1;
8435                                }
8436                                break;
8437    
8438                            }
8439    
8440                            switch (alt98) {
8441                            case 1 :
8442                                // Creole10.g:739:15: ti= table_italcontentpart onestar
8443                                {
8444                                pushFollow(FOLLOW_table_italcontentpart_in_table_italcontent2636);
8445                                ti=table_italcontentpart();
8446                                _fsp--;
8447                                if (failed) return items;
8448                                if ( backtracking==0 ) {
8449                                   items.add(ti); 
8450                                }
8451                                pushFollow(FOLLOW_onestar_in_table_italcontent2641);
8452                                onestar();
8453                                _fsp--;
8454                                if (failed) return items;
8455    
8456                                }
8457                                break;
8458    
8459                            default :
8460                                if ( cnt98 >= 1 ) break loop98;
8461                                if (backtracking>0) {failed=true; return items;}
8462                                    EarlyExitException eee =
8463                                        new EarlyExitException(98, input);
8464                                    throw eee;
8465                            }
8466                            cnt98++;
8467                        } while (true);
8468    
8469    
8470                        }
8471                        break;
8472                    case 2 :
8473                        // Creole10.g:740:4: EOF
8474                        {
8475                        match(input,EOF,FOLLOW_EOF_in_table_italcontent2649); if (failed) return items;
8476    
8477                        }
8478                        break;
8479    
8480                }
8481            }
8482            catch (RecognitionException re) {
8483                reportError(re);
8484                recover(input,re);
8485            }
8486            finally {
8487            }
8488            return items;
8489        }
8490        // $ANTLR end table_italcontent
8491    
8492    
8493        // $ANTLR start table_boldcontentpart
8494        // Creole10.g:742:1: table_boldcontentpart returns [ASTNode node = null] : (tf= table_formattedcontent | ital_markup tb= table_bolditalcontent ( ital_markup )? );
8495        public final ASTNode table_boldcontentpart() throws RecognitionException {
8496            ASTNode node =  null;
8497    
8498            CollectionNode tf = null;
8499    
8500            CollectionNode tb = null;
8501    
8502    
8503            try {
8504                // Creole10.g:743:2: (tf= table_formattedcontent | ital_markup tb= table_bolditalcontent ( ital_markup )? )
8505                int alt101=2;
8506                int LA101_0 = input.LA(1);
8507    
8508                if ( ((LA101_0>=FORCED_END_OF_LINE && LA101_0<=WIKI)||LA101_0==POUND||LA101_0==EQUAL||(LA101_0>=LINK_OPEN && LA101_0<=80)) ) {
8509                    alt101=1;
8510                }
8511                else if ( (LA101_0==ITAL) ) {
8512                    alt101=2;
8513                }
8514                else {
8515                    if (backtracking>0) {failed=true; return node;}
8516                    NoViableAltException nvae =
8517                        new NoViableAltException("742:1: table_boldcontentpart returns [ASTNode node = null] : (tf= table_formattedcontent | ital_markup tb= table_bolditalcontent ( ital_markup )? );", 101, 0, input);
8518    
8519                    throw nvae;
8520                }
8521                switch (alt101) {
8522                    case 1 :
8523                        // Creole10.g:743:4: tf= table_formattedcontent
8524                        {
8525                        pushFollow(FOLLOW_table_formattedcontent_in_table_boldcontentpart2667);
8526                        tf=table_formattedcontent();
8527                        _fsp--;
8528                        if (failed) return node;
8529                        if ( backtracking==0 ) {
8530                          node = tf; 
8531                        }
8532    
8533                        }
8534                        break;
8535                    case 2 :
8536                        // Creole10.g:744:4: ital_markup tb= table_bolditalcontent ( ital_markup )?
8537                        {
8538                        pushFollow(FOLLOW_ital_markup_in_table_boldcontentpart2674);
8539                        ital_markup();
8540                        _fsp--;
8541                        if (failed) return node;
8542                        pushFollow(FOLLOW_table_bolditalcontent_in_table_boldcontentpart2681);
8543                        tb=table_bolditalcontent();
8544                        _fsp--;
8545                        if (failed) return node;
8546                        if ( backtracking==0 ) {
8547                           node = new ItalicTextNode(tb);  
8548                        }
8549                        // Creole10.g:744:92: ( ital_markup )?
8550                        int alt100=2;
8551                        int LA100_0 = input.LA(1);
8552    
8553                        if ( (LA100_0==ITAL) ) {
8554                            alt100=1;
8555                        }
8556                        switch (alt100) {
8557                            case 1 :
8558                                // Creole10.g:744:94: ital_markup
8559                                {
8560                                pushFollow(FOLLOW_ital_markup_in_table_boldcontentpart2688);
8561                                ital_markup();
8562                                _fsp--;
8563                                if (failed) return node;
8564    
8565                                }
8566                                break;
8567    
8568                        }
8569    
8570    
8571                        }
8572                        break;
8573    
8574                }
8575            }
8576            catch (RecognitionException re) {
8577                reportError(re);
8578                recover(input,re);
8579            }
8580            finally {
8581            }
8582            return node;
8583        }
8584        // $ANTLR end table_boldcontentpart
8585    
8586    
8587        // $ANTLR start table_italcontentpart
8588        // Creole10.g:746:1: table_italcontentpart returns [ASTNode node = null] : ( bold_markup tb= table_bolditalcontent ( bold_markup )? | tf= table_formattedcontent );
8589        public final ASTNode table_italcontentpart() throws RecognitionException {
8590            ASTNode node =  null;
8591    
8592            CollectionNode tb = null;
8593    
8594            CollectionNode tf = null;
8595    
8596    
8597            try {
8598                // Creole10.g:747:2: ( bold_markup tb= table_bolditalcontent ( bold_markup )? | tf= table_formattedcontent )
8599                int alt103=2;
8600                int LA103_0 = input.LA(1);
8601    
8602                if ( (LA103_0==STAR) ) {
8603                    alt103=1;
8604                }
8605                else if ( ((LA103_0>=FORCED_END_OF_LINE && LA103_0<=WIKI)||LA103_0==POUND||LA103_0==EQUAL||(LA103_0>=LINK_OPEN && LA103_0<=80)) ) {
8606                    alt103=2;
8607                }
8608                else {
8609                    if (backtracking>0) {failed=true; return node;}
8610                    NoViableAltException nvae =
8611                        new NoViableAltException("746:1: table_italcontentpart returns [ASTNode node = null] : ( bold_markup tb= table_bolditalcontent ( bold_markup )? | tf= table_formattedcontent );", 103, 0, input);
8612    
8613                    throw nvae;
8614                }
8615                switch (alt103) {
8616                    case 1 :
8617                        // Creole10.g:747:4: bold_markup tb= table_bolditalcontent ( bold_markup )?
8618                        {
8619                        pushFollow(FOLLOW_bold_markup_in_table_italcontentpart2705);
8620                        bold_markup();
8621                        _fsp--;
8622                        if (failed) return node;
8623                        pushFollow(FOLLOW_table_bolditalcontent_in_table_italcontentpart2712);
8624                        tb=table_bolditalcontent();
8625                        _fsp--;
8626                        if (failed) return node;
8627                        if ( backtracking==0 ) {
8628                          node = new BoldTextNode(tb); 
8629                        }
8630                        // Creole10.g:747:88: ( bold_markup )?
8631                        int alt102=2;
8632                        int LA102_0 = input.LA(1);
8633    
8634                        if ( (LA102_0==STAR) ) {
8635                            int LA102_1 = input.LA(2);
8636    
8637                            if ( (LA102_1==STAR) ) {
8638                                alt102=1;
8639                            }
8640                        }
8641                        switch (alt102) {
8642                            case 1 :
8643                                // Creole10.g:747:90: bold_markup
8644                                {
8645                                pushFollow(FOLLOW_bold_markup_in_table_italcontentpart2719);
8646                                bold_markup();
8647                                _fsp--;
8648                                if (failed) return node;
8649    
8650                                }
8651                                break;
8652    
8653                        }
8654    
8655    
8656                        }
8657                        break;
8658                    case 2 :
8659                        // Creole10.g:748:4: tf= table_formattedcontent
8660                        {
8661                        pushFollow(FOLLOW_table_formattedcontent_in_table_italcontentpart2731);
8662                        tf=table_formattedcontent();
8663                        _fsp--;
8664                        if (failed) return node;
8665                        if ( backtracking==0 ) {
8666                           node = tf; 
8667                        }
8668    
8669                        }
8670                        break;
8671    
8672                }
8673            }
8674            catch (RecognitionException re) {
8675                reportError(re);
8676                recover(input,re);
8677            }
8678            finally {
8679            }
8680            return node;
8681        }
8682        // $ANTLR end table_italcontentpart
8683    
8684    
8685        // $ANTLR start table_bolditalcontent
8686        // Creole10.g:750:1: table_bolditalcontent returns [CollectionNode elements = null] : ( onestar (tfc= table_formattedcontent onestar )? | EOF );
8687        public final CollectionNode table_bolditalcontent() throws RecognitionException {
8688            CollectionNode elements =  null;
8689    
8690            CollectionNode tfc = null;
8691    
8692    
8693            try {
8694                // Creole10.g:751:2: ( onestar (tfc= table_formattedcontent onestar )? | EOF )
8695                int alt105=2;
8696                int LA105_0 = input.LA(1);
8697    
8698                if ( ((LA105_0>=FORCED_END_OF_LINE && LA105_0<=EQUAL)||(LA105_0>=ITAL && LA105_0<=80)) ) {
8699                    alt105=1;
8700                }
8701                else if ( (LA105_0==EOF||LA105_0==PIPE) ) {
8702                    alt105=1;
8703                }
8704                else {
8705                    if (backtracking>0) {failed=true; return elements;}
8706                    NoViableAltException nvae =
8707                        new NoViableAltException("750:1: table_bolditalcontent returns [CollectionNode elements = null] : ( onestar (tfc= table_formattedcontent onestar )? | EOF );", 105, 0, input);
8708    
8709                    throw nvae;
8710                }
8711                switch (alt105) {
8712                    case 1 :
8713                        // Creole10.g:751:4: onestar (tfc= table_formattedcontent onestar )?
8714                        {
8715                        pushFollow(FOLLOW_onestar_in_table_bolditalcontent2747);
8716                        onestar();
8717                        _fsp--;
8718                        if (failed) return elements;
8719                        // Creole10.g:751:13: (tfc= table_formattedcontent onestar )?
8720                        int alt104=2;
8721                        switch ( input.LA(1) ) {
8722                            case FORCED_END_OF_LINE:
8723                            case HEADING_SECTION:
8724                            case HORIZONTAL_SECTION:
8725                            case LIST_ITEM:
8726                            case LIST_ITEM_PART:
8727                            case NOWIKI_SECTION:
8728                            case SCAPE_NODE:
8729                            case TEXT_NODE:
8730                            case UNORDERED_LIST:
8731                            case UNFORMATTED_TEXT:
8732                            case WIKI:
8733                            case POUND:
8734                            case EQUAL:
8735                            case NOWIKI_BLOCK_CLOSE:
8736                            case NOWIKI_CLOSE:
8737                            case LINK_CLOSE:
8738                            case IMAGE_CLOSE:
8739                            case BLANKS:
8740                            case DASH:
8741                            case CR:
8742                            case LF:
8743                            case SPACE:
8744                            case TABULATOR:
8745                            case BRACE_CLOSE:
8746                            case COLON_SLASH:
8747                            case SLASH:
8748                            case INSIGNIFICANT_CHAR:
8749                            case 41:
8750                            case 42:
8751                            case 43:
8752                            case 44:
8753                            case 45:
8754                            case 46:
8755                            case 47:
8756                            case 48:
8757                            case 49:
8758                            case 50:
8759                            case 51:
8760                            case 52:
8761                            case 53:
8762                            case 54:
8763                            case 55:
8764                            case 56:
8765                            case 57:
8766                            case 58:
8767                            case 59:
8768                            case 60:
8769                            case 61:
8770                            case 62:
8771                            case 63:
8772                            case 64:
8773                            case 65:
8774                            case 66:
8775                            case 67:
8776                            case 68:
8777                            case 69:
8778                            case 70:
8779                            case 71:
8780                            case 72:
8781                            case 73:
8782                            case 74:
8783                            case 75:
8784                            case 76:
8785                            case 77:
8786                            case 78:
8787                            case 79:
8788                            case 80:
8789                                {
8790                                alt104=1;
8791                                }
8792                                break;
8793                            case FORCED_LINEBREAK:
8794                                {
8795                                alt104=1;
8796                                }
8797                                break;
8798                            case ESCAPE:
8799                                {
8800                                alt104=1;
8801                                }
8802                                break;
8803                            case LINK_OPEN:
8804                                {
8805                                alt104=1;
8806                                }
8807                                break;
8808                            case IMAGE_OPEN:
8809                                {
8810                                alt104=1;
8811                                }
8812                                break;
8813                            case EXTENSION:
8814                                {
8815                                alt104=1;
8816                                }
8817                                break;
8818                            case NOWIKI_OPEN:
8819                                {
8820                                alt104=1;
8821                                }
8822                                break;
8823                        }
8824    
8825                        switch (alt104) {
8826                            case 1 :
8827                                // Creole10.g:751:15: tfc= table_formattedcontent onestar
8828                                {
8829                                pushFollow(FOLLOW_table_formattedcontent_in_table_bolditalcontent2756);
8830                                tfc=table_formattedcontent();
8831                                _fsp--;
8832                                if (failed) return elements;
8833                                if ( backtracking==0 ) {
8834                                   elements = tfc; 
8835                                }
8836                                pushFollow(FOLLOW_onestar_in_table_bolditalcontent2761);
8837                                onestar();
8838                                _fsp--;
8839                                if (failed) return elements;
8840    
8841                                }
8842                                break;
8843    
8844                        }
8845    
8846    
8847                        }
8848                        break;
8849                    case 2 :
8850                        // Creole10.g:752:4: EOF
8851                        {
8852                        match(input,EOF,FOLLOW_EOF_in_table_bolditalcontent2769); if (failed) return elements;
8853    
8854                        }
8855                        break;
8856    
8857                }
8858            }
8859            catch (RecognitionException re) {
8860                reportError(re);
8861                recover(input,re);
8862            }
8863            finally {
8864            }
8865            return elements;
8866        }
8867        // $ANTLR end table_bolditalcontent
8868    
8869    
8870        // $ANTLR start table_formattedcontent
8871        // Creole10.g:754:1: table_formattedcontent returns [CollectionNode elements = new CollectionNode()] : (tu= table_unformattedelement )+ ;
8872        public final CollectionNode table_formattedcontent() throws RecognitionException {
8873            CollectionNode elements =  new CollectionNode();
8874    
8875            ASTNode tu = null;
8876    
8877    
8878            try {
8879                // Creole10.g:755:2: ( (tu= table_unformattedelement )+ )
8880                // Creole10.g:755:4: (tu= table_unformattedelement )+
8881                {
8882                // Creole10.g:755:4: (tu= table_unformattedelement )+
8883                int cnt106=0;
8884                loop106:
8885                do {
8886                    int alt106=2;
8887                    switch ( input.LA(1) ) {
8888                    case FORCED_END_OF_LINE:
8889                    case HEADING_SECTION:
8890                    case HORIZONTAL_SECTION:
8891                    case LIST_ITEM:
8892                    case LIST_ITEM_PART:
8893                    case NOWIKI_SECTION:
8894                    case SCAPE_NODE:
8895                    case TEXT_NODE:
8896                    case UNORDERED_LIST:
8897                    case UNFORMATTED_TEXT:
8898                    case WIKI:
8899                    case POUND:
8900                    case EQUAL:
8901                    case NOWIKI_BLOCK_CLOSE:
8902                    case NOWIKI_CLOSE:
8903                    case LINK_CLOSE:
8904                    case IMAGE_CLOSE:
8905                    case BLANKS:
8906                    case DASH:
8907                    case CR:
8908                    case LF:
8909                    case SPACE:
8910                    case TABULATOR:
8911                    case BRACE_CLOSE:
8912                    case COLON_SLASH:
8913                    case SLASH:
8914                    case INSIGNIFICANT_CHAR:
8915                    case 41:
8916                    case 42:
8917                    case 43:
8918                    case 44:
8919                    case 45:
8920                    case 46:
8921                    case 47:
8922                    case 48:
8923                    case 49:
8924                    case 50:
8925                    case 51:
8926                    case 52:
8927                    case 53:
8928                    case 54:
8929                    case 55:
8930                    case 56:
8931                    case 57:
8932                    case 58:
8933                    case 59:
8934                    case 60:
8935                    case 61:
8936                    case 62:
8937                    case 63:
8938                    case 64:
8939                    case 65:
8940                    case 66:
8941                    case 67:
8942                    case 68:
8943                    case 69:
8944                    case 70:
8945                    case 71:
8946                    case 72:
8947                    case 73:
8948                    case 74:
8949                    case 75:
8950                    case 76:
8951                    case 77:
8952                    case 78:
8953                    case 79:
8954                    case 80:
8955                        {
8956                        alt106=1;
8957                        }
8958                        break;
8959                    case FORCED_LINEBREAK:
8960                        {
8961                        alt106=1;
8962                        }
8963                        break;
8964                    case ESCAPE:
8965                        {
8966                        alt106=1;
8967                        }
8968                        break;
8969                    case LINK_OPEN:
8970                        {
8971                        alt106=1;
8972                        }
8973                        break;
8974                    case IMAGE_OPEN:
8975                        {
8976                        alt106=1;
8977                        }
8978                        break;
8979                    case EXTENSION:
8980                        {
8981                        alt106=1;
8982                        }
8983                        break;
8984                    case NOWIKI_OPEN:
8985                        {
8986                        alt106=1;
8987                        }
8988                        break;
8989    
8990                    }
8991    
8992                    switch (alt106) {
8993                    case 1 :
8994                        // Creole10.g:755:6: tu= table_unformattedelement
8995                        {
8996                        pushFollow(FOLLOW_table_unformattedelement_in_table_formattedcontent2789);
8997                        tu=table_unformattedelement();
8998                        _fsp--;
8999                        if (failed) return elements;
9000                        if ( backtracking==0 ) {
9001                           elements.add(tu); 
9002                        }
9003    
9004                        }
9005                        break;
9006    
9007                    default :
9008                        if ( cnt106 >= 1 ) break loop106;
9009                        if (backtracking>0) {failed=true; return elements;}
9010                            EarlyExitException eee =
9011                                new EarlyExitException(106, input);
9012                            throw eee;
9013                    }
9014                    cnt106++;
9015                } while (true);
9016    
9017    
9018                }
9019    
9020            }
9021            catch (RecognitionException re) {
9022                reportError(re);
9023                recover(input,re);
9024            }
9025            finally {
9026            }
9027            return elements;
9028        }
9029        // $ANTLR end table_formattedcontent
9030    
9031    
9032        // $ANTLR start table_unformattedelement
9033        // Creole10.g:757:1: table_unformattedelement returns [ASTNode content = null] : (tu= table_unformatted | ti= table_inlineelement );
9034        public final ASTNode table_unformattedelement() throws RecognitionException {
9035            ASTNode content =  null;
9036    
9037            CollectionNode tu = null;
9038    
9039            ASTNode ti = null;
9040    
9041    
9042            try {
9043                // Creole10.g:758:2: (tu= table_unformatted | ti= table_inlineelement )
9044                int alt107=2;
9045                int LA107_0 = input.LA(1);
9046    
9047                if ( ((LA107_0>=FORCED_END_OF_LINE && LA107_0<=WIKI)||LA107_0==POUND||LA107_0==EQUAL||(LA107_0>=FORCED_LINEBREAK && LA107_0<=80)) ) {
9048                    alt107=1;
9049                }
9050                else if ( ((LA107_0>=LINK_OPEN && LA107_0<=EXTENSION)) ) {
9051                    alt107=2;
9052                }
9053                else {
9054                    if (backtracking>0) {failed=true; return content;}
9055                    NoViableAltException nvae =
9056                        new NoViableAltException("757:1: table_unformattedelement returns [ASTNode content = null] : (tu= table_unformatted | ti= table_inlineelement );", 107, 0, input);
9057    
9058                    throw nvae;
9059                }
9060                switch (alt107) {
9061                    case 1 :
9062                        // Creole10.g:758:4: tu= table_unformatted
9063                        {
9064                        pushFollow(FOLLOW_table_unformatted_in_table_unformattedelement2812);
9065                        tu=table_unformatted();
9066                        _fsp--;
9067                        if (failed) return content;
9068                        if ( backtracking==0 ) {
9069                          content = new UnformattedTextNode(tu);
9070                        }
9071    
9072                        }
9073                        break;
9074                    case 2 :
9075                        // Creole10.g:759:4: ti= table_inlineelement
9076                        {
9077                        pushFollow(FOLLOW_table_inlineelement_in_table_unformattedelement2824);
9078                        ti=table_inlineelement();
9079                        _fsp--;
9080                        if (failed) return content;
9081                        if ( backtracking==0 ) {
9082                          content = ti;
9083                        }
9084    
9085                        }
9086                        break;
9087    
9088                }
9089            }
9090            catch (RecognitionException re) {
9091                reportError(re);
9092                recover(input,re);
9093            }
9094            finally {
9095            }
9096            return content;
9097        }
9098        // $ANTLR end table_unformattedelement
9099    
9100    
9101        // $ANTLR start table_inlineelement
9102        // Creole10.g:761:1: table_inlineelement returns [ASTNode element = null] : (l= link | i= image | e= extension | nw= nowiki_inline );
9103        public final ASTNode table_inlineelement() throws RecognitionException {
9104            ASTNode element =  null;
9105    
9106            LinkNode l = null;
9107    
9108            ImageNode i = null;
9109    
9110            ASTNode e = null;
9111    
9112            NoWikiSectionNode nw = null;
9113    
9114    
9115            try {
9116                // Creole10.g:762:2: (l= link | i= image | e= extension | nw= nowiki_inline )
9117                int alt108=4;
9118                switch ( input.LA(1) ) {
9119                case LINK_OPEN:
9120                    {
9121                    alt108=1;
9122                    }
9123                    break;
9124                case IMAGE_OPEN:
9125                    {
9126                    alt108=2;
9127                    }
9128                    break;
9129                case EXTENSION:
9130                    {
9131                    alt108=3;
9132                    }
9133                    break;
9134                case NOWIKI_OPEN:
9135                    {
9136                    alt108=4;
9137                    }
9138                    break;
9139                default:
9140                    if (backtracking>0) {failed=true; return element;}
9141                    NoViableAltException nvae =
9142                        new NoViableAltException("761:1: table_inlineelement returns [ASTNode element = null] : (l= link | i= image | e= extension | nw= nowiki_inline );", 108, 0, input);
9143    
9144                    throw nvae;
9145                }
9146    
9147                switch (alt108) {
9148                    case 1 :
9149                        // Creole10.g:762:4: l= link
9150                        {
9151                        pushFollow(FOLLOW_link_in_table_inlineelement2844);
9152                        l=link();
9153                        _fsp--;
9154                        if (failed) return element;
9155                        if ( backtracking==0 ) {
9156                          element = l; 
9157                        }
9158    
9159                        }
9160                        break;
9161                    case 2 :
9162                        // Creole10.g:763:4: i= image
9163                        {
9164                        pushFollow(FOLLOW_image_in_table_inlineelement2854);
9165                        i=image();
9166                        _fsp--;
9167                        if (failed) return element;
9168                        if ( backtracking==0 ) {
9169                          element = i; 
9170                        }
9171    
9172                        }
9173                        break;
9174                    case 3 :
9175                        // Creole10.g:764:4: e= extension
9176                        {
9177                        pushFollow(FOLLOW_extension_in_table_inlineelement2865);
9178                        e=extension();
9179                        _fsp--;
9180                        if (failed) return element;
9181                        if ( backtracking==0 ) {
9182                          element = e; 
9183                        }
9184    
9185                        }
9186                        break;
9187                    case 4 :
9188                        // Creole10.g:765:4: nw= nowiki_inline
9189                        {
9190                        pushFollow(FOLLOW_nowiki_inline_in_table_inlineelement2875);
9191                        nw=nowiki_inline();
9192                        _fsp--;
9193                        if (failed) return element;
9194                        if ( backtracking==0 ) {
9195                          element = nw; 
9196                        }
9197    
9198                        }
9199                        break;
9200    
9201                }
9202            }
9203            catch (RecognitionException re) {
9204                reportError(re);
9205                recover(input,re);
9206            }
9207            finally {
9208            }
9209            return element;
9210        }
9211        // $ANTLR end table_inlineelement
9212    
9213    
9214        // $ANTLR start table_unformatted
9215        // Creole10.g:767:1: table_unformatted returns [CollectionNode text = new CollectionNode()] : (t= table_unformatted_text | ( forced_linebreak | e= escaped )+ );
9216        public final CollectionNode table_unformatted() throws RecognitionException {
9217            CollectionNode text =  new CollectionNode();
9218    
9219            StringBundler t = null;
9220    
9221            ScapedNode e = null;
9222    
9223    
9224            try {
9225                // Creole10.g:768:2: (t= table_unformatted_text | ( forced_linebreak | e= escaped )+ )
9226                int alt110=2;
9227                int LA110_0 = input.LA(1);
9228    
9229                if ( ((LA110_0>=FORCED_END_OF_LINE && LA110_0<=WIKI)||LA110_0==POUND||LA110_0==EQUAL||(LA110_0>=NOWIKI_BLOCK_CLOSE && LA110_0<=80)) ) {
9230                    alt110=1;
9231                }
9232                else if ( ((LA110_0>=FORCED_LINEBREAK && LA110_0<=ESCAPE)) ) {
9233                    alt110=2;
9234                }
9235                else {
9236                    if (backtracking>0) {failed=true; return text;}
9237                    NoViableAltException nvae =
9238                        new NoViableAltException("767:1: table_unformatted returns [CollectionNode text = new CollectionNode()] : (t= table_unformatted_text | ( forced_linebreak | e= escaped )+ );", 110, 0, input);
9239    
9240                    throw nvae;
9241                }
9242                switch (alt110) {
9243                    case 1 :
9244                        // Creole10.g:768:5: t= table_unformatted_text
9245                        {
9246                        pushFollow(FOLLOW_table_unformatted_text_in_table_unformatted2896);
9247                        t=table_unformatted_text();
9248                        _fsp--;
9249                        if (failed) return text;
9250                        if ( backtracking==0 ) {
9251                           text.add(new UnformattedTextNode(t.toString()));
9252                        }
9253    
9254                        }
9255                        break;
9256                    case 2 :
9257                        // Creole10.g:769:5: ( forced_linebreak | e= escaped )+
9258                        {
9259                        // Creole10.g:769:5: ( forced_linebreak | e= escaped )+
9260                        int cnt109=0;
9261                        loop109:
9262                        do {
9263                            int alt109=3;
9264                            int LA109_0 = input.LA(1);
9265    
9266                            if ( (LA109_0==FORCED_LINEBREAK) ) {
9267                                alt109=1;
9268                            }
9269                            else if ( (LA109_0==ESCAPE) ) {
9270                                alt109=2;
9271                            }
9272    
9273    
9274                            switch (alt109) {
9275                            case 1 :
9276                                // Creole10.g:769:6: forced_linebreak
9277                                {
9278                                pushFollow(FOLLOW_forced_linebreak_in_table_unformatted2905);
9279                                forced_linebreak();
9280                                _fsp--;
9281                                if (failed) return text;
9282                                if ( backtracking==0 ) {
9283                                  text.add(new ForcedEndOfLineNode());
9284                                }
9285    
9286                                }
9287                                break;
9288                            case 2 :
9289                                // Creole10.g:770:5: e= escaped
9290                                {
9291                                pushFollow(FOLLOW_escaped_in_table_unformatted2917);
9292                                e=escaped();
9293                                _fsp--;
9294                                if (failed) return text;
9295                                if ( backtracking==0 ) {
9296                                  text.add(e);
9297                                }
9298    
9299                                }
9300                                break;
9301    
9302                            default :
9303                                if ( cnt109 >= 1 ) break loop109;
9304                                if (backtracking>0) {failed=true; return text;}
9305                                    EarlyExitException eee =
9306                                        new EarlyExitException(109, input);
9307                                    throw eee;
9308                            }
9309                            cnt109++;
9310                        } while (true);
9311    
9312    
9313                        }
9314                        break;
9315    
9316                }
9317            }
9318            catch (RecognitionException re) {
9319                reportError(re);
9320                recover(input,re);
9321            }
9322            finally {
9323            }
9324            return text;
9325        }
9326        // $ANTLR end table_unformatted
9327    
9328    
9329        // $ANTLR start table_unformatted_text
9330        // Creole10.g:773:1: table_unformatted_text returns [StringBundler text = new StringBundler()] : (c=~ ( PIPE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+ ;
9331        public final StringBundler table_unformatted_text() throws RecognitionException {
9332            StringBundler text =  new StringBundler();
9333    
9334            Token c=null;
9335    
9336            try {
9337                // Creole10.g:774:2: ( (c=~ ( PIPE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+ )
9338                // Creole10.g:774:4: (c=~ ( PIPE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+
9339                {
9340                // Creole10.g:774:4: (c=~ ( PIPE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+
9341                int cnt111=0;
9342                loop111:
9343                do {
9344                    int alt111=2;
9345                    int LA111_0 = input.LA(1);
9346    
9347                    if ( ((LA111_0>=FORCED_END_OF_LINE && LA111_0<=WIKI)||LA111_0==POUND||LA111_0==EQUAL||(LA111_0>=NOWIKI_BLOCK_CLOSE && LA111_0<=80)) ) {
9348                        alt111=1;
9349                    }
9350    
9351    
9352                    switch (alt111) {
9353                    case 1 :
9354                        // Creole10.g:774:6: c=~ ( PIPE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF )
9355                        {
9356                        c=(Token)input.LT(1);
9357                        if ( (input.LA(1)>=FORCED_END_OF_LINE && input.LA(1)<=WIKI)||input.LA(1)==POUND||input.LA(1)==EQUAL||(input.LA(1)>=NOWIKI_BLOCK_CLOSE && input.LA(1)<=80) ) {
9358                            input.consume();
9359                            errorRecovery=false;failed=false;
9360                        }
9361                        else {
9362                            if (backtracking>0) {failed=true; return text;}
9363                            MismatchedSetException mse =
9364                                new MismatchedSetException(null,input);
9365                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_table_unformatted_text2943);    throw mse;
9366                        }
9367    
9368                        if ( backtracking==0 ) {
9369                          text.append(c.getText());
9370                        }
9371    
9372                        }
9373                        break;
9374    
9375                    default :
9376                        if ( cnt111 >= 1 ) break loop111;
9377                        if (backtracking>0) {failed=true; return text;}
9378                            EarlyExitException eee =
9379                                new EarlyExitException(111, input);
9380                            throw eee;
9381                    }
9382                    cnt111++;
9383                } while (true);
9384    
9385    
9386                }
9387    
9388            }
9389            catch (RecognitionException re) {
9390                reportError(re);
9391                recover(input,re);
9392            }
9393            finally {
9394            }
9395            return text;
9396        }
9397        // $ANTLR end table_unformatted_text
9398    
9399    
9400        // $ANTLR start nowiki_block
9401        // Creole10.g:788:1: nowiki_block returns [NoWikiSectionNode nowikiNode] : nowikiblock_open_markup contents= nowiki_block_contents nowikiblock_close_markup paragraph_separator ;
9402        public final NoWikiSectionNode nowiki_block() throws RecognitionException {
9403            NoWikiSectionNode nowikiNode = null;
9404    
9405            nowiki_block_contents_return contents = null;
9406    
9407    
9408            try {
9409                // Creole10.g:789:2: ( nowikiblock_open_markup contents= nowiki_block_contents nowikiblock_close_markup paragraph_separator )
9410                // Creole10.g:789:4: nowikiblock_open_markup contents= nowiki_block_contents nowikiblock_close_markup paragraph_separator
9411                {
9412                pushFollow(FOLLOW_nowikiblock_open_markup_in_nowiki_block3040);
9413                nowikiblock_open_markup();
9414                _fsp--;
9415                if (failed) return nowikiNode;
9416                pushFollow(FOLLOW_nowiki_block_contents_in_nowiki_block3047);
9417                contents=nowiki_block_contents();
9418                _fsp--;
9419                if (failed) return nowikiNode;
9420                if ( backtracking==0 ) {
9421                  nowikiNode = new NoWikiSectionNode(input.toString(contents.start,contents.stop).toString());
9422                }
9423                pushFollow(FOLLOW_nowikiblock_close_markup_in_nowiki_block3053);
9424                nowikiblock_close_markup();
9425                _fsp--;
9426                if (failed) return nowikiNode;
9427                pushFollow(FOLLOW_paragraph_separator_in_nowiki_block3056);
9428                paragraph_separator();
9429                _fsp--;
9430                if (failed) return nowikiNode;
9431    
9432                }
9433    
9434            }
9435            catch (RecognitionException re) {
9436                reportError(re);
9437                recover(input,re);
9438            }
9439            finally {
9440            }
9441            return nowikiNode;
9442        }
9443        // $ANTLR end nowiki_block
9444    
9445    
9446        // $ANTLR start nowikiblock_open_markup
9447        // Creole10.g:793:1: nowikiblock_open_markup : nowiki_open_markup newline ;
9448        public final void nowikiblock_open_markup() throws RecognitionException {
9449            try {
9450                // Creole10.g:794:2: ( nowiki_open_markup newline )
9451                // Creole10.g:794:4: nowiki_open_markup newline
9452                {
9453                pushFollow(FOLLOW_nowiki_open_markup_in_nowikiblock_open_markup3067);
9454                nowiki_open_markup();
9455                _fsp--;
9456                if (failed) return ;
9457                pushFollow(FOLLOW_newline_in_nowikiblock_open_markup3070);
9458                newline();
9459                _fsp--;
9460                if (failed) return ;
9461    
9462                }
9463    
9464            }
9465            catch (RecognitionException re) {
9466                reportError(re);
9467                recover(input,re);
9468            }
9469            finally {
9470            }
9471            return ;
9472        }
9473        // $ANTLR end nowikiblock_open_markup
9474    
9475    
9476        // $ANTLR start nowikiblock_close_markup
9477        // Creole10.g:797:1: nowikiblock_close_markup : NOWIKI_BLOCK_CLOSE ;
9478        public final void nowikiblock_close_markup() throws RecognitionException {
9479            try {
9480                // Creole10.g:798:2: ( NOWIKI_BLOCK_CLOSE )
9481                // Creole10.g:798:4: NOWIKI_BLOCK_CLOSE
9482                {
9483                match(input,NOWIKI_BLOCK_CLOSE,FOLLOW_NOWIKI_BLOCK_CLOSE_in_nowikiblock_close_markup3081); if (failed) return ;
9484    
9485                }
9486    
9487            }
9488            catch (RecognitionException re) {
9489                reportError(re);
9490                recover(input,re);
9491            }
9492            finally {
9493            }
9494            return ;
9495        }
9496        // $ANTLR end nowikiblock_close_markup
9497    
9498    
9499        // $ANTLR start nowiki_inline
9500        // Creole10.g:801:1: nowiki_inline returns [NoWikiSectionNode nowiki = null] : nowiki_open_markup t= nowiki_inline_contents nowiki_close_markup ;
9501        public final NoWikiSectionNode nowiki_inline() throws RecognitionException {
9502            NoWikiSectionNode nowiki =  null;
9503    
9504            StringBundler t = null;
9505    
9506    
9507            try {
9508                // Creole10.g:802:2: ( nowiki_open_markup t= nowiki_inline_contents nowiki_close_markup )
9509                // Creole10.g:802:4: nowiki_open_markup t= nowiki_inline_contents nowiki_close_markup
9510                {
9511                pushFollow(FOLLOW_nowiki_open_markup_in_nowiki_inline3096);
9512                nowiki_open_markup();
9513                _fsp--;
9514                if (failed) return nowiki;
9515                pushFollow(FOLLOW_nowiki_inline_contents_in_nowiki_inline3103);
9516                t=nowiki_inline_contents();
9517                _fsp--;
9518                if (failed) return nowiki;
9519                pushFollow(FOLLOW_nowiki_close_markup_in_nowiki_inline3107);
9520                nowiki_close_markup();
9521                _fsp--;
9522                if (failed) return nowiki;
9523                if ( backtracking==0 ) {
9524                  nowiki = new NoWikiSectionNode(t.toString());
9525                }
9526    
9527                }
9528    
9529            }
9530            catch (RecognitionException re) {
9531                reportError(re);
9532                recover(input,re);
9533            }
9534            finally {
9535            }
9536            return nowiki;
9537        }
9538        // $ANTLR end nowiki_inline
9539    
9540        public static class nowiki_block_contents_return extends ParserRuleReturnScope {
9541            public StringBundler contents = new StringBundler();
9542        };
9543    
9544        // $ANTLR start nowiki_block_contents
9545        // Creole10.g:805:1: nowiki_block_contents returns [StringBundler contents = new StringBundler()] : (c=~ ( NOWIKI_BLOCK_CLOSE | EOF ) )* ;
9546        public final nowiki_block_contents_return nowiki_block_contents() throws RecognitionException {
9547            nowiki_block_contents_return retval = new nowiki_block_contents_return();
9548            retval.start = input.LT(1);
9549    
9550            Token c=null;
9551    
9552            try {
9553                // Creole10.g:806:2: ( (c=~ ( NOWIKI_BLOCK_CLOSE | EOF ) )* )
9554                // Creole10.g:806:3: (c=~ ( NOWIKI_BLOCK_CLOSE | EOF ) )*
9555                {
9556                // Creole10.g:806:3: (c=~ ( NOWIKI_BLOCK_CLOSE | EOF ) )*
9557                loop112:
9558                do {
9559                    int alt112=2;
9560                    int LA112_0 = input.LA(1);
9561    
9562                    if ( ((LA112_0>=FORCED_END_OF_LINE && LA112_0<=ESCAPE)||(LA112_0>=NOWIKI_CLOSE && LA112_0<=80)) ) {
9563                        alt112=1;
9564                    }
9565    
9566    
9567                    switch (alt112) {
9568                    case 1 :
9569                        // Creole10.g:806:4: c=~ ( NOWIKI_BLOCK_CLOSE | EOF )
9570                        {
9571                        c=(Token)input.LT(1);
9572                        if ( (input.LA(1)>=FORCED_END_OF_LINE && input.LA(1)<=ESCAPE)||(input.LA(1)>=NOWIKI_CLOSE && input.LA(1)<=80) ) {
9573                            input.consume();
9574                            errorRecovery=false;failed=false;
9575                        }
9576                        else {
9577                            if (backtracking>0) {failed=true; return retval;}
9578                            MismatchedSetException mse =
9579                                new MismatchedSetException(null,input);
9580                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_nowiki_block_contents3125);    throw mse;
9581                        }
9582    
9583                        if ( backtracking==0 ) {
9584                          retval.contents.append(c.getText());
9585                        }
9586    
9587                        }
9588                        break;
9589    
9590                    default :
9591                        break loop112;
9592                    }
9593                } while (true);
9594    
9595    
9596                }
9597    
9598                retval.stop = input.LT(-1);
9599    
9600            }
9601            catch (RecognitionException re) {
9602                reportError(re);
9603                recover(input,re);
9604            }
9605            finally {
9606            }
9607            return retval;
9608        }
9609        // $ANTLR end nowiki_block_contents
9610    
9611    
9612        // $ANTLR start nowiki_inline_contents
9613        // Creole10.g:809:1: nowiki_inline_contents returns [StringBundler text = new StringBundler()] : (c=~ ( NOWIKI_CLOSE | NEWLINE | EOF ) )* ;
9614        public final StringBundler nowiki_inline_contents() throws RecognitionException {
9615            StringBundler text =  new StringBundler();
9616    
9617            Token c=null;
9618    
9619            try {
9620                // Creole10.g:810:2: ( (c=~ ( NOWIKI_CLOSE | NEWLINE | EOF ) )* )
9621                // Creole10.g:810:4: (c=~ ( NOWIKI_CLOSE | NEWLINE | EOF ) )*
9622                {
9623                // Creole10.g:810:4: (c=~ ( NOWIKI_CLOSE | NEWLINE | EOF ) )*
9624                loop113:
9625                do {
9626                    int alt113=2;
9627                    int LA113_0 = input.LA(1);
9628    
9629                    if ( ((LA113_0>=FORCED_END_OF_LINE && LA113_0<=WIKI)||(LA113_0>=POUND && LA113_0<=NOWIKI_BLOCK_CLOSE)||(LA113_0>=LINK_CLOSE && LA113_0<=80)) ) {
9630                        alt113=1;
9631                    }
9632    
9633    
9634                    switch (alt113) {
9635                    case 1 :
9636                        // Creole10.g:810:5: c=~ ( NOWIKI_CLOSE | NEWLINE | EOF )
9637                        {
9638                        c=(Token)input.LT(1);
9639                        if ( (input.LA(1)>=FORCED_END_OF_LINE && input.LA(1)<=WIKI)||(input.LA(1)>=POUND && input.LA(1)<=NOWIKI_BLOCK_CLOSE)||(input.LA(1)>=LINK_CLOSE && input.LA(1)<=80) ) {
9640                            input.consume();
9641                            errorRecovery=false;failed=false;
9642                        }
9643                        else {
9644                            if (backtracking>0) {failed=true; return text;}
9645                            MismatchedSetException mse =
9646                                new MismatchedSetException(null,input);
9647                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_nowiki_inline_contents3158);    throw mse;
9648                        }
9649    
9650                        if ( backtracking==0 ) {
9651                           text.append(c.getText()); 
9652                        }
9653    
9654                        }
9655                        break;
9656    
9657                    default :
9658                        break loop113;
9659                    }
9660                } while (true);
9661    
9662    
9663                }
9664    
9665            }
9666            catch (RecognitionException re) {
9667                reportError(re);
9668                recover(input,re);
9669            }
9670            finally {
9671            }
9672            return text;
9673        }
9674        // $ANTLR end nowiki_inline_contents
9675    
9676    
9677        // $ANTLR start horizontalrule
9678        // Creole10.g:817:1: horizontalrule returns [ASTNode horizontal = null] : horizontalrule_markup ( blanks )? paragraph_separator ;
9679        public final ASTNode horizontalrule() throws RecognitionException {
9680            ASTNode horizontal =  null;
9681    
9682            try {
9683                // Creole10.g:818:2: ( horizontalrule_markup ( blanks )? paragraph_separator )
9684                // Creole10.g:818:4: horizontalrule_markup ( blanks )? paragraph_separator
9685                {
9686                pushFollow(FOLLOW_horizontalrule_markup_in_horizontalrule3194);
9687                horizontalrule_markup();
9688                _fsp--;
9689                if (failed) return horizontal;
9690                // Creole10.g:818:27: ( blanks )?
9691                int alt114=2;
9692                int LA114_0 = input.LA(1);
9693    
9694                if ( (LA114_0==BLANKS) ) {
9695                    alt114=1;
9696                }
9697                switch (alt114) {
9698                    case 1 :
9699                        // Creole10.g:818:29: blanks
9700                        {
9701                        pushFollow(FOLLOW_blanks_in_horizontalrule3199);
9702                        blanks();
9703                        _fsp--;
9704                        if (failed) return horizontal;
9705    
9706                        }
9707                        break;
9708    
9709                }
9710    
9711                pushFollow(FOLLOW_paragraph_separator_in_horizontalrule3205);
9712                paragraph_separator();
9713                _fsp--;
9714                if (failed) return horizontal;
9715                if ( backtracking==0 ) {
9716                  horizontal = new HorizontalNode();
9717                }
9718    
9719                }
9720    
9721            }
9722            catch (RecognitionException re) {
9723                reportError(re);
9724                recover(input,re);
9725            }
9726            finally {
9727            }
9728            return horizontal;
9729        }
9730        // $ANTLR end horizontalrule
9731    
9732    
9733        // $ANTLR start link
9734        // Creole10.g:825:1: link returns [LinkNode link = null] : link_open_markup a= link_address ( link_description_markup d= link_description )? link_close_markup ;
9735        public final LinkNode link() throws RecognitionException {
9736            LinkNode link =  null;
9737    
9738            LinkNode a = null;
9739    
9740            CollectionNode d = null;
9741    
9742    
9743            try {
9744                // Creole10.g:826:2: ( link_open_markup a= link_address ( link_description_markup d= link_description )? link_close_markup )
9745                // Creole10.g:826:4: link_open_markup a= link_address ( link_description_markup d= link_description )? link_close_markup
9746                {
9747                pushFollow(FOLLOW_link_open_markup_in_link3226);
9748                link_open_markup();
9749                _fsp--;
9750                if (failed) return link;
9751                pushFollow(FOLLOW_link_address_in_link3232);
9752                a=link_address();
9753                _fsp--;
9754                if (failed) return link;
9755                if ( backtracking==0 ) {
9756                  link = a; 
9757                }
9758                // Creole10.g:826:59: ( link_description_markup d= link_description )?
9759                int alt115=2;
9760                int LA115_0 = input.LA(1);
9761    
9762                if ( (LA115_0==PIPE) ) {
9763                    alt115=1;
9764                }
9765                switch (alt115) {
9766                    case 1 :
9767                        // Creole10.g:826:60: link_description_markup d= link_description
9768                        {
9769                        pushFollow(FOLLOW_link_description_markup_in_link3238);
9770                        link_description_markup();
9771                        _fsp--;
9772                        if (failed) return link;
9773                        pushFollow(FOLLOW_link_description_in_link3246);
9774                        d=link_description();
9775                        _fsp--;
9776                        if (failed) return link;
9777                        if ( backtracking==0 ) {
9778    
9779                                            if (link == null) { // recover from possible errors
9780                                                link = new LinkNode();
9781                                            }
9782                                            link.setAltCollectionNode(d);
9783    
9784                                            
9785                        }
9786    
9787                        }
9788                        break;
9789    
9790                }
9791    
9792                pushFollow(FOLLOW_link_close_markup_in_link3254);
9793                link_close_markup();
9794                _fsp--;
9795                if (failed) return link;
9796    
9797                }
9798    
9799            }
9800            catch (RecognitionException re) {
9801                reportError(re);
9802                recover(input,re);
9803            }
9804            finally {
9805            }
9806            return link;
9807        }
9808        // $ANTLR end link
9809    
9810    
9811        // $ANTLR start link_address
9812        // Creole10.g:836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );
9813        public final LinkNode link_address() throws RecognitionException {
9814            LinkNode link = null;
9815    
9816            InterwikiLinkNode li = null;
9817    
9818            StringBundler p = null;
9819    
9820            StringBundler lu = null;
9821    
9822    
9823            try {
9824                // Creole10.g:837:2: (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri )
9825                int alt116=2;
9826                switch ( input.LA(1) ) {
9827                case 42:
9828                    {
9829                    int LA116_1 = input.LA(2);
9830    
9831                    if ( (LA116_1==43) ) {
9832                        int LA116_16 = input.LA(3);
9833    
9834                        if ( ((LA116_16>=FORCED_END_OF_LINE && LA116_16<=WIKI)||(LA116_16>=POUND && LA116_16<=INSIGNIFICANT_CHAR)||(LA116_16>=42 && LA116_16<=80)) ) {
9835                            alt116=2;
9836                        }
9837                        else if ( (LA116_16==41) ) {
9838                            int LA116_34 = input.LA(4);
9839    
9840                            if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
9841                                alt116=2;
9842                            }
9843                            else if ( ((LA116_34>=FORCED_END_OF_LINE && LA116_34<=WIKI)||(LA116_34>=POUND && LA116_34<=EQUAL)||(LA116_34>=ITAL && LA116_34<=NOWIKI_CLOSE)||(LA116_34>=IMAGE_CLOSE && LA116_34<=80)) ) {
9844                                alt116=1;
9845                            }
9846                            else {
9847                                if (backtracking>0) {failed=true; return link;}
9848                                NoViableAltException nvae =
9849                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
9850    
9851                                throw nvae;
9852                            }
9853                        }
9854                        else {
9855                            if (backtracking>0) {failed=true; return link;}
9856                            NoViableAltException nvae =
9857                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 16, input);
9858    
9859                            throw nvae;
9860                        }
9861                    }
9862                    else if ( ((LA116_1>=FORCED_END_OF_LINE && LA116_1<=WIKI)||(LA116_1>=POUND && LA116_1<=42)||(LA116_1>=44 && LA116_1<=80)) ) {
9863                        alt116=2;
9864                    }
9865                    else {
9866                        if (backtracking>0) {failed=true; return link;}
9867                        NoViableAltException nvae =
9868                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 1, input);
9869    
9870                        throw nvae;
9871                    }
9872                    }
9873                    break;
9874                case 44:
9875                    {
9876                    int LA116_2 = input.LA(2);
9877    
9878                    if ( (LA116_2==45) ) {
9879                        int LA116_17 = input.LA(3);
9880    
9881                        if ( (LA116_17==46) ) {
9882                            int LA116_35 = input.LA(4);
9883    
9884                            if ( (LA116_35==47) ) {
9885                                int LA116_55 = input.LA(5);
9886    
9887                                if ( (LA116_55==48) ) {
9888                                    int LA116_74 = input.LA(6);
9889    
9890                                    if ( (LA116_74==49) ) {
9891                                        int LA116_93 = input.LA(7);
9892    
9893                                        if ( (LA116_93==46) ) {
9894                                            int LA116_109 = input.LA(8);
9895    
9896                                            if ( (LA116_109==49) ) {
9897                                                int LA116_120 = input.LA(9);
9898    
9899                                                if ( ((LA116_120>=FORCED_END_OF_LINE && LA116_120<=WIKI)||(LA116_120>=POUND && LA116_120<=INSIGNIFICANT_CHAR)||(LA116_120>=42 && LA116_120<=80)) ) {
9900                                                    alt116=2;
9901                                                }
9902                                                else if ( (LA116_120==41) ) {
9903                                                    int LA116_34 = input.LA(10);
9904    
9905                                                    if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
9906                                                        alt116=2;
9907                                                    }
9908                                                    else if ( ((LA116_34>=FORCED_END_OF_LINE && LA116_34<=WIKI)||(LA116_34>=POUND && LA116_34<=EQUAL)||(LA116_34>=ITAL && LA116_34<=NOWIKI_CLOSE)||(LA116_34>=IMAGE_CLOSE && LA116_34<=80)) ) {
9909                                                        alt116=1;
9910                                                    }
9911                                                    else {
9912                                                        if (backtracking>0) {failed=true; return link;}
9913                                                        NoViableAltException nvae =
9914                                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
9915    
9916                                                        throw nvae;
9917                                                    }
9918                                                }
9919                                                else {
9920                                                    if (backtracking>0) {failed=true; return link;}
9921                                                    NoViableAltException nvae =
9922                                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 120, input);
9923    
9924                                                    throw nvae;
9925                                                }
9926                                            }
9927                                            else if ( ((LA116_109>=FORCED_END_OF_LINE && LA116_109<=WIKI)||(LA116_109>=POUND && LA116_109<=48)||(LA116_109>=50 && LA116_109<=80)) ) {
9928                                                alt116=2;
9929                                            }
9930                                            else {
9931                                                if (backtracking>0) {failed=true; return link;}
9932                                                NoViableAltException nvae =
9933                                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 109, input);
9934    
9935                                                throw nvae;
9936                                            }
9937                                        }
9938                                        else if ( ((LA116_93>=FORCED_END_OF_LINE && LA116_93<=WIKI)||(LA116_93>=POUND && LA116_93<=45)||(LA116_93>=47 && LA116_93<=80)) ) {
9939                                            alt116=2;
9940                                        }
9941                                        else {
9942                                            if (backtracking>0) {failed=true; return link;}
9943                                            NoViableAltException nvae =
9944                                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 93, input);
9945    
9946                                            throw nvae;
9947                                        }
9948                                    }
9949                                    else if ( ((LA116_74>=FORCED_END_OF_LINE && LA116_74<=WIKI)||(LA116_74>=POUND && LA116_74<=48)||(LA116_74>=50 && LA116_74<=80)) ) {
9950                                        alt116=2;
9951                                    }
9952                                    else {
9953                                        if (backtracking>0) {failed=true; return link;}
9954                                        NoViableAltException nvae =
9955                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 74, input);
9956    
9957                                        throw nvae;
9958                                    }
9959                                }
9960                                else if ( ((LA116_55>=FORCED_END_OF_LINE && LA116_55<=WIKI)||(LA116_55>=POUND && LA116_55<=47)||(LA116_55>=49 && LA116_55<=80)) ) {
9961                                    alt116=2;
9962                                }
9963                                else {
9964                                    if (backtracking>0) {failed=true; return link;}
9965                                    NoViableAltException nvae =
9966                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 55, input);
9967    
9968                                    throw nvae;
9969                                }
9970                            }
9971                            else if ( ((LA116_35>=FORCED_END_OF_LINE && LA116_35<=WIKI)||(LA116_35>=POUND && LA116_35<=46)||(LA116_35>=48 && LA116_35<=80)) ) {
9972                                alt116=2;
9973                            }
9974                            else {
9975                                if (backtracking>0) {failed=true; return link;}
9976                                NoViableAltException nvae =
9977                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 35, input);
9978    
9979                                throw nvae;
9980                            }
9981                        }
9982                        else if ( ((LA116_17>=FORCED_END_OF_LINE && LA116_17<=WIKI)||(LA116_17>=POUND && LA116_17<=45)||(LA116_17>=47 && LA116_17<=80)) ) {
9983                            alt116=2;
9984                        }
9985                        else {
9986                            if (backtracking>0) {failed=true; return link;}
9987                            NoViableAltException nvae =
9988                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 17, input);
9989    
9990                            throw nvae;
9991                        }
9992                    }
9993                    else if ( ((LA116_2>=FORCED_END_OF_LINE && LA116_2<=WIKI)||(LA116_2>=POUND && LA116_2<=44)||(LA116_2>=46 && LA116_2<=80)) ) {
9994                        alt116=2;
9995                    }
9996                    else {
9997                        if (backtracking>0) {failed=true; return link;}
9998                        NoViableAltException nvae =
9999                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 2, input);
10000    
10001                        throw nvae;
10002                    }
10003                    }
10004                    break;
10005                case 50:
10006                    {
10007                    int LA116_3 = input.LA(2);
10008    
10009                    if ( (LA116_3==51) ) {
10010                        int LA116_18 = input.LA(3);
10011    
10012                        if ( (LA116_18==49) ) {
10013                            int LA116_36 = input.LA(4);
10014    
10015                            if ( (LA116_36==52) ) {
10016                                int LA116_56 = input.LA(5);
10017    
10018                                if ( (LA116_56==46) ) {
10019                                    int LA116_75 = input.LA(6);
10020    
10021                                    if ( (LA116_75==53) ) {
10022                                        int LA116_94 = input.LA(7);
10023    
10024                                        if ( ((LA116_94>=FORCED_END_OF_LINE && LA116_94<=WIKI)||(LA116_94>=POUND && LA116_94<=INSIGNIFICANT_CHAR)||(LA116_94>=42 && LA116_94<=80)) ) {
10025                                            alt116=2;
10026                                        }
10027                                        else if ( (LA116_94==41) ) {
10028                                            int LA116_34 = input.LA(8);
10029    
10030                                            if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
10031                                                alt116=2;
10032                                            }
10033                                            else if ( ((LA116_34>=FORCED_END_OF_LINE && LA116_34<=WIKI)||(LA116_34>=POUND && LA116_34<=EQUAL)||(LA116_34>=ITAL && LA116_34<=NOWIKI_CLOSE)||(LA116_34>=IMAGE_CLOSE && LA116_34<=80)) ) {
10034                                                alt116=1;
10035                                            }
10036                                            else {
10037                                                if (backtracking>0) {failed=true; return link;}
10038                                                NoViableAltException nvae =
10039                                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
10040    
10041                                                throw nvae;
10042                                            }
10043                                        }
10044                                        else {
10045                                            if (backtracking>0) {failed=true; return link;}
10046                                            NoViableAltException nvae =
10047                                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 94, input);
10048    
10049                                            throw nvae;
10050                                        }
10051                                    }
10052                                    else if ( ((LA116_75>=FORCED_END_OF_LINE && LA116_75<=WIKI)||(LA116_75>=POUND && LA116_75<=52)||(LA116_75>=54 && LA116_75<=80)) ) {
10053                                        alt116=2;
10054                                    }
10055                                    else {
10056                                        if (backtracking>0) {failed=true; return link;}
10057                                        NoViableAltException nvae =
10058                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 75, input);
10059    
10060                                        throw nvae;
10061                                    }
10062                                }
10063                                else if ( ((LA116_56>=FORCED_END_OF_LINE && LA116_56<=WIKI)||(LA116_56>=POUND && LA116_56<=45)||(LA116_56>=47 && LA116_56<=80)) ) {
10064                                    alt116=2;
10065                                }
10066                                else {
10067                                    if (backtracking>0) {failed=true; return link;}
10068                                    NoViableAltException nvae =
10069                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 56, input);
10070    
10071                                    throw nvae;
10072                                }
10073                            }
10074                            else if ( ((LA116_36>=FORCED_END_OF_LINE && LA116_36<=WIKI)||(LA116_36>=POUND && LA116_36<=51)||(LA116_36>=53 && LA116_36<=80)) ) {
10075                                alt116=2;
10076                            }
10077                            else {
10078                                if (backtracking>0) {failed=true; return link;}
10079                                NoViableAltException nvae =
10080                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 36, input);
10081    
10082                                throw nvae;
10083                            }
10084                        }
10085                        else if ( ((LA116_18>=FORCED_END_OF_LINE && LA116_18<=WIKI)||(LA116_18>=POUND && LA116_18<=48)||(LA116_18>=50 && LA116_18<=80)) ) {
10086                            alt116=2;
10087                        }
10088                        else {
10089                            if (backtracking>0) {failed=true; return link;}
10090                            NoViableAltException nvae =
10091                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 18, input);
10092    
10093                            throw nvae;
10094                        }
10095                    }
10096                    else if ( ((LA116_3>=FORCED_END_OF_LINE && LA116_3<=WIKI)||(LA116_3>=POUND && LA116_3<=50)||(LA116_3>=52 && LA116_3<=80)) ) {
10097                        alt116=2;
10098                    }
10099                    else {
10100                        if (backtracking>0) {failed=true; return link;}
10101                        NoViableAltException nvae =
10102                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 3, input);
10103    
10104                        throw nvae;
10105                    }
10106                    }
10107                    break;
10108                case 54:
10109                    {
10110                    int LA116_4 = input.LA(2);
10111    
10112                    if ( (LA116_4==45) ) {
10113                        int LA116_19 = input.LA(3);
10114    
10115                        if ( (LA116_19==45) ) {
10116                            int LA116_37 = input.LA(4);
10117    
10118                            if ( (LA116_37==55) ) {
10119                                int LA116_57 = input.LA(5);
10120    
10121                                if ( (LA116_57==51) ) {
10122                                    int LA116_76 = input.LA(6);
10123    
10124                                    if ( (LA116_76==56) ) {
10125                                        int LA116_95 = input.LA(7);
10126    
10127                                        if ( ((LA116_95>=FORCED_END_OF_LINE && LA116_95<=WIKI)||(LA116_95>=POUND && LA116_95<=INSIGNIFICANT_CHAR)||(LA116_95>=42 && LA116_95<=80)) ) {
10128                                            alt116=2;
10129                                        }
10130                                        else if ( (LA116_95==41) ) {
10131                                            int LA116_34 = input.LA(8);
10132    
10133                                            if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
10134                                                alt116=2;
10135                                            }
10136                                            else if ( ((LA116_34>=FORCED_END_OF_LINE && LA116_34<=WIKI)||(LA116_34>=POUND && LA116_34<=EQUAL)||(LA116_34>=ITAL && LA116_34<=NOWIKI_CLOSE)||(LA116_34>=IMAGE_CLOSE && LA116_34<=80)) ) {
10137                                                alt116=1;
10138                                            }
10139                                            else {
10140                                                if (backtracking>0) {failed=true; return link;}
10141                                                NoViableAltException nvae =
10142                                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
10143    
10144                                                throw nvae;
10145                                            }
10146                                        }
10147                                        else {
10148                                            if (backtracking>0) {failed=true; return link;}
10149                                            NoViableAltException nvae =
10150                                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 95, input);
10151    
10152                                            throw nvae;
10153                                        }
10154                                    }
10155                                    else if ( ((LA116_76>=FORCED_END_OF_LINE && LA116_76<=WIKI)||(LA116_76>=POUND && LA116_76<=55)||(LA116_76>=57 && LA116_76<=80)) ) {
10156                                        alt116=2;
10157                                    }
10158                                    else {
10159                                        if (backtracking>0) {failed=true; return link;}
10160                                        NoViableAltException nvae =
10161                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 76, input);
10162    
10163                                        throw nvae;
10164                                    }
10165                                }
10166                                else if ( ((LA116_57>=FORCED_END_OF_LINE && LA116_57<=WIKI)||(LA116_57>=POUND && LA116_57<=50)||(LA116_57>=52 && LA116_57<=80)) ) {
10167                                    alt116=2;
10168                                }
10169                                else {
10170                                    if (backtracking>0) {failed=true; return link;}
10171                                    NoViableAltException nvae =
10172                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 57, input);
10173    
10174                                    throw nvae;
10175                                }
10176                            }
10177                            else if ( ((LA116_37>=FORCED_END_OF_LINE && LA116_37<=WIKI)||(LA116_37>=POUND && LA116_37<=54)||(LA116_37>=56 && LA116_37<=80)) ) {
10178                                alt116=2;
10179                            }
10180                            else {
10181                                if (backtracking>0) {failed=true; return link;}
10182                                NoViableAltException nvae =
10183                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 37, input);
10184    
10185                                throw nvae;
10186                            }
10187                        }
10188                        else if ( ((LA116_19>=FORCED_END_OF_LINE && LA116_19<=WIKI)||(LA116_19>=POUND && LA116_19<=44)||(LA116_19>=46 && LA116_19<=80)) ) {
10189                            alt116=2;
10190                        }
10191                        else {
10192                            if (backtracking>0) {failed=true; return link;}
10193                            NoViableAltException nvae =
10194                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 19, input);
10195    
10196                            throw nvae;
10197                        }
10198                    }
10199                    else if ( ((LA116_4>=FORCED_END_OF_LINE && LA116_4<=WIKI)||(LA116_4>=POUND && LA116_4<=44)||(LA116_4>=46 && LA116_4<=80)) ) {
10200                        alt116=2;
10201                    }
10202                    else {
10203                        if (backtracking>0) {failed=true; return link;}
10204                        NoViableAltException nvae =
10205                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 4, input);
10206    
10207                        throw nvae;
10208                    }
10209                    }
10210                    break;
10211                case 57:
10212                    {
10213                    int LA116_5 = input.LA(2);
10214    
10215                    if ( (LA116_5==58) ) {
10216                        int LA116_20 = input.LA(3);
10217    
10218                        if ( (LA116_20==59) ) {
10219                            int LA116_38 = input.LA(4);
10220    
10221                            if ( (LA116_38==48) ) {
10222                                int LA116_58 = input.LA(5);
10223    
10224                                if ( (LA116_58==49) ) {
10225                                    int LA116_77 = input.LA(6);
10226    
10227                                    if ( (LA116_77==46) ) {
10228                                        int LA116_96 = input.LA(7);
10229    
10230                                        if ( (LA116_96==49) ) {
10231                                            int LA116_110 = input.LA(8);
10232    
10233                                            if ( ((LA116_110>=FORCED_END_OF_LINE && LA116_110<=WIKI)||(LA116_110>=POUND && LA116_110<=INSIGNIFICANT_CHAR)||(LA116_110>=42 && LA116_110<=80)) ) {
10234                                                alt116=2;
10235                                            }
10236                                            else if ( (LA116_110==41) ) {
10237                                                int LA116_34 = input.LA(9);
10238    
10239                                                if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
10240                                                    alt116=2;
10241                                                }
10242                                                else if ( ((LA116_34>=FORCED_END_OF_LINE && LA116_34<=WIKI)||(LA116_34>=POUND && LA116_34<=EQUAL)||(LA116_34>=ITAL && LA116_34<=NOWIKI_CLOSE)||(LA116_34>=IMAGE_CLOSE && LA116_34<=80)) ) {
10243                                                    alt116=1;
10244                                                }
10245                                                else {
10246                                                    if (backtracking>0) {failed=true; return link;}
10247                                                    NoViableAltException nvae =
10248                                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
10249    
10250                                                    throw nvae;
10251                                                }
10252                                            }
10253                                            else {
10254                                                if (backtracking>0) {failed=true; return link;}
10255                                                NoViableAltException nvae =
10256                                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 110, input);
10257    
10258                                                throw nvae;
10259                                            }
10260                                        }
10261                                        else if ( ((LA116_96>=FORCED_END_OF_LINE && LA116_96<=WIKI)||(LA116_96>=POUND && LA116_96<=48)||(LA116_96>=50 && LA116_96<=80)) ) {
10262                                            alt116=2;
10263                                        }
10264                                        else {
10265                                            if (backtracking>0) {failed=true; return link;}
10266                                            NoViableAltException nvae =
10267                                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 96, input);
10268    
10269                                            throw nvae;
10270                                        }
10271                                    }
10272                                    else if ( ((LA116_77>=FORCED_END_OF_LINE && LA116_77<=WIKI)||(LA116_77>=POUND && LA116_77<=45)||(LA116_77>=47 && LA116_77<=80)) ) {
10273                                        alt116=2;
10274                                    }
10275                                    else {
10276                                        if (backtracking>0) {failed=true; return link;}
10277                                        NoViableAltException nvae =
10278                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 77, input);
10279    
10280                                        throw nvae;
10281                                    }
10282                                }
10283                                else if ( ((LA116_58>=FORCED_END_OF_LINE && LA116_58<=WIKI)||(LA116_58>=POUND && LA116_58<=48)||(LA116_58>=50 && LA116_58<=80)) ) {
10284                                    alt116=2;
10285                                }
10286                                else {
10287                                    if (backtracking>0) {failed=true; return link;}
10288                                    NoViableAltException nvae =
10289                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 58, input);
10290    
10291                                    throw nvae;
10292                                }
10293                            }
10294                            else if ( ((LA116_38>=FORCED_END_OF_LINE && LA116_38<=WIKI)||(LA116_38>=POUND && LA116_38<=47)||(LA116_38>=49 && LA116_38<=80)) ) {
10295                                alt116=2;
10296                            }
10297                            else {
10298                                if (backtracking>0) {failed=true; return link;}
10299                                NoViableAltException nvae =
10300                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 38, input);
10301    
10302                                throw nvae;
10303                            }
10304                        }
10305                        else if ( ((LA116_20>=FORCED_END_OF_LINE && LA116_20<=WIKI)||(LA116_20>=POUND && LA116_20<=58)||(LA116_20>=60 && LA116_20<=80)) ) {
10306                            alt116=2;
10307                        }
10308                        else {
10309                            if (backtracking>0) {failed=true; return link;}
10310                            NoViableAltException nvae =
10311                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 20, input);
10312    
10313                            throw nvae;
10314                        }
10315                    }
10316                    else if ( ((LA116_5>=FORCED_END_OF_LINE && LA116_5<=WIKI)||(LA116_5>=POUND && LA116_5<=57)||(LA116_5>=59 && LA116_5<=80)) ) {
10317                        alt116=2;
10318                    }
10319                    else {
10320                        if (backtracking>0) {failed=true; return link;}
10321                        NoViableAltException nvae =
10322                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 5, input);
10323    
10324                        throw nvae;
10325                    }
10326                    }
10327                    break;
10328                case 60:
10329                    {
10330                    switch ( input.LA(2) ) {
10331                    case 56:
10332                        {
10333                        switch ( input.LA(3) ) {
10334                        case 61:
10335                            {
10336                            int LA116_39 = input.LA(4);
10337    
10338                            if ( (LA116_39==62) ) {
10339                                int LA116_59 = input.LA(5);
10340    
10341                                if ( (LA116_59==63) ) {
10342                                    int LA116_78 = input.LA(6);
10343    
10344                                    if ( (LA116_78==61) ) {
10345                                        int LA116_97 = input.LA(7);
10346    
10347                                        if ( (LA116_97==51) ) {
10348                                            int LA116_111 = input.LA(8);
10349    
10350                                            if ( (LA116_111==51) ) {
10351                                                int LA116_121 = input.LA(9);
10352    
10353                                                if ( ((LA116_121>=FORCED_END_OF_LINE && LA116_121<=WIKI)||(LA116_121>=POUND && LA116_121<=INSIGNIFICANT_CHAR)||(LA116_121>=42 && LA116_121<=80)) ) {
10354                                                    alt116=2;
10355                                                }
10356                                                else if ( (LA116_121==41) ) {
10357                                                    int LA116_34 = input.LA(10);
10358    
10359                                                    if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
10360                                                        alt116=2;
10361                                                    }
10362                                                    else if ( ((LA116_34>=FORCED_END_OF_LINE && LA116_34<=WIKI)||(LA116_34>=POUND && LA116_34<=EQUAL)||(LA116_34>=ITAL && LA116_34<=NOWIKI_CLOSE)||(LA116_34>=IMAGE_CLOSE && LA116_34<=80)) ) {
10363                                                        alt116=1;
10364                                                    }
10365                                                    else {
10366                                                        if (backtracking>0) {failed=true; return link;}
10367                                                        NoViableAltException nvae =
10368                                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
10369    
10370                                                        throw nvae;
10371                                                    }
10372                                                }
10373                                                else {
10374                                                    if (backtracking>0) {failed=true; return link;}
10375                                                    NoViableAltException nvae =
10376                                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 121, input);
10377    
10378                                                    throw nvae;
10379                                                }
10380                                            }
10381                                            else if ( ((LA116_111>=FORCED_END_OF_LINE && LA116_111<=WIKI)||(LA116_111>=POUND && LA116_111<=50)||(LA116_111>=52 && LA116_111<=80)) ) {
10382                                                alt116=2;
10383                                            }
10384                                            else {
10385                                                if (backtracking>0) {failed=true; return link;}
10386                                                NoViableAltException nvae =
10387                                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 111, input);
10388    
10389                                                throw nvae;
10390                                            }
10391                                        }
10392                                        else if ( ((LA116_97>=FORCED_END_OF_LINE && LA116_97<=WIKI)||(LA116_97>=POUND && LA116_97<=50)||(LA116_97>=52 && LA116_97<=80)) ) {
10393                                            alt116=2;
10394                                        }
10395                                        else {
10396                                            if (backtracking>0) {failed=true; return link;}
10397                                            NoViableAltException nvae =
10398                                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 97, input);
10399    
10400                                            throw nvae;
10401                                        }
10402                                    }
10403                                    else if ( ((LA116_78>=FORCED_END_OF_LINE && LA116_78<=WIKI)||(LA116_78>=POUND && LA116_78<=60)||(LA116_78>=62 && LA116_78<=80)) ) {
10404                                        alt116=2;
10405                                    }
10406                                    else {
10407                                        if (backtracking>0) {failed=true; return link;}
10408                                        NoViableAltException nvae =
10409                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 78, input);
10410    
10411                                        throw nvae;
10412                                    }
10413                                }
10414                                else if ( ((LA116_59>=FORCED_END_OF_LINE && LA116_59<=WIKI)||(LA116_59>=POUND && LA116_59<=62)||(LA116_59>=64 && LA116_59<=80)) ) {
10415                                    alt116=2;
10416                                }
10417                                else {
10418                                    if (backtracking>0) {failed=true; return link;}
10419                                    NoViableAltException nvae =
10420                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 59, input);
10421    
10422                                    throw nvae;
10423                                }
10424                            }
10425                            else if ( ((LA116_39>=FORCED_END_OF_LINE && LA116_39<=WIKI)||(LA116_39>=POUND && LA116_39<=61)||(LA116_39>=63 && LA116_39<=80)) ) {
10426                                alt116=2;
10427                            }
10428                            else {
10429                                if (backtracking>0) {failed=true; return link;}
10430                                NoViableAltException nvae =
10431                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 39, input);
10432    
10433                                throw nvae;
10434                            }
10435                            }
10436                            break;
10437                        case 64:
10438                            {
10439                            int LA116_40 = input.LA(4);
10440    
10441                            if ( (LA116_40==49) ) {
10442                                int LA116_60 = input.LA(5);
10443    
10444                                if ( (LA116_60==61) ) {
10445                                    int LA116_79 = input.LA(6);
10446    
10447                                    if ( (LA116_79==48) ) {
10448                                        int LA116_98 = input.LA(7);
10449    
10450                                        if ( (LA116_98==49) ) {
10451                                            int LA116_112 = input.LA(8);
10452    
10453                                            if ( (LA116_112==46) ) {
10454                                                int LA116_122 = input.LA(9);
10455    
10456                                                if ( (LA116_122==49) ) {
10457                                                    int LA116_129 = input.LA(10);
10458    
10459                                                    if ( ((LA116_129>=FORCED_END_OF_LINE && LA116_129<=WIKI)||(LA116_129>=POUND && LA116_129<=INSIGNIFICANT_CHAR)||(LA116_129>=42 && LA116_129<=80)) ) {
10460                                                        alt116=2;
10461                                                    }
10462                                                    else if ( (LA116_129==41) ) {
10463                                                        int LA116_34 = input.LA(11);
10464    
10465                                                        if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
10466                                                            alt116=2;
10467                                                        }
10468                                                        else if ( ((LA116_34>=FORCED_END_OF_LINE && LA116_34<=WIKI)||(LA116_34>=POUND && LA116_34<=EQUAL)||(LA116_34>=ITAL && LA116_34<=NOWIKI_CLOSE)||(LA116_34>=IMAGE_CLOSE && LA116_34<=80)) ) {
10469                                                            alt116=1;
10470                                                        }
10471                                                        else {
10472                                                            if (backtracking>0) {failed=true; return link;}
10473                                                            NoViableAltException nvae =
10474                                                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
10475    
10476                                                            throw nvae;
10477                                                        }
10478                                                    }
10479                                                    else {
10480                                                        if (backtracking>0) {failed=true; return link;}
10481                                                        NoViableAltException nvae =
10482                                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 129, input);
10483    
10484                                                        throw nvae;
10485                                                    }
10486                                                }
10487                                                else if ( ((LA116_122>=FORCED_END_OF_LINE && LA116_122<=WIKI)||(LA116_122>=POUND && LA116_122<=48)||(LA116_122>=50 && LA116_122<=80)) ) {
10488                                                    alt116=2;
10489                                                }
10490                                                else {
10491                                                    if (backtracking>0) {failed=true; return link;}
10492                                                    NoViableAltException nvae =
10493                                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 122, input);
10494    
10495                                                    throw nvae;
10496                                                }
10497                                            }
10498                                            else if ( ((LA116_112>=FORCED_END_OF_LINE && LA116_112<=WIKI)||(LA116_112>=POUND && LA116_112<=45)||(LA116_112>=47 && LA116_112<=80)) ) {
10499                                                alt116=2;
10500                                            }
10501                                            else {
10502                                                if (backtracking>0) {failed=true; return link;}
10503                                                NoViableAltException nvae =
10504                                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 112, input);
10505    
10506                                                throw nvae;
10507                                            }
10508                                        }
10509                                        else if ( ((LA116_98>=FORCED_END_OF_LINE && LA116_98<=WIKI)||(LA116_98>=POUND && LA116_98<=48)||(LA116_98>=50 && LA116_98<=80)) ) {
10510                                            alt116=2;
10511                                        }
10512                                        else {
10513                                            if (backtracking>0) {failed=true; return link;}
10514                                            NoViableAltException nvae =
10515                                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 98, input);
10516    
10517                                            throw nvae;
10518                                        }
10519                                    }
10520                                    else if ( ((LA116_79>=FORCED_END_OF_LINE && LA116_79<=WIKI)||(LA116_79>=POUND && LA116_79<=47)||(LA116_79>=49 && LA116_79<=80)) ) {
10521                                        alt116=2;
10522                                    }
10523                                    else {
10524                                        if (backtracking>0) {failed=true; return link;}
10525                                        NoViableAltException nvae =
10526                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 79, input);
10527    
10528                                        throw nvae;
10529                                    }
10530                                }
10531                                else if ( ((LA116_60>=FORCED_END_OF_LINE && LA116_60<=WIKI)||(LA116_60>=POUND && LA116_60<=60)||(LA116_60>=62 && LA116_60<=80)) ) {
10532                                    alt116=2;
10533                                }
10534                                else {
10535                                    if (backtracking>0) {failed=true; return link;}
10536                                    NoViableAltException nvae =
10537                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 60, input);
10538    
10539                                    throw nvae;
10540                                }
10541                            }
10542                            else if ( ((LA116_40>=FORCED_END_OF_LINE && LA116_40<=WIKI)||(LA116_40>=POUND && LA116_40<=48)||(LA116_40>=50 && LA116_40<=80)) ) {
10543                                alt116=2;
10544                            }
10545                            else {
10546                                if (backtracking>0) {failed=true; return link;}
10547                                NoViableAltException nvae =
10548                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 40, input);
10549    
10550                                throw nvae;
10551                            }
10552                            }
10553                            break;
10554                        case FORCED_END_OF_LINE:
10555                        case HEADING_SECTION:
10556                        case HORIZONTAL_SECTION:
10557                        case LIST_ITEM:
10558                        case LIST_ITEM_PART:
10559                        case NOWIKI_SECTION:
10560                        case SCAPE_NODE:
10561                        case TEXT_NODE:
10562                        case UNORDERED_LIST:
10563                        case UNFORMATTED_TEXT:
10564                        case WIKI:
10565                        case POUND:
10566                        case STAR:
10567                        case EQUAL:
10568                        case PIPE:
10569                        case ITAL:
10570                        case LINK_OPEN:
10571                        case IMAGE_OPEN:
10572                        case NOWIKI_OPEN:
10573                        case EXTENSION:
10574                        case FORCED_LINEBREAK:
10575                        case ESCAPE:
10576                        case NOWIKI_BLOCK_CLOSE:
10577                        case NOWIKI_CLOSE:
10578                        case LINK_CLOSE:
10579                        case IMAGE_CLOSE:
10580                        case BLANKS:
10581                        case DASH:
10582                        case CR:
10583                        case LF:
10584                        case SPACE:
10585                        case TABULATOR:
10586                        case BRACE_CLOSE:
10587                        case COLON_SLASH:
10588                        case SLASH:
10589                        case INSIGNIFICANT_CHAR:
10590                        case 41:
10591                        case 42:
10592                        case 43:
10593                        case 44:
10594                        case 45:
10595                        case 46:
10596                        case 47:
10597                        case 48:
10598                        case 49:
10599                        case 50:
10600                        case 51:
10601                        case 52:
10602                        case 53:
10603                        case 54:
10604                        case 55:
10605                        case 56:
10606                        case 57:
10607                        case 58:
10608                        case 59:
10609                        case 60:
10610                        case 62:
10611                        case 63:
10612                        case 65:
10613                        case 66:
10614                        case 67:
10615                        case 68:
10616                        case 69:
10617                        case 70:
10618                        case 71:
10619                        case 72:
10620                        case 73:
10621                        case 74:
10622                        case 75:
10623                        case 76:
10624                        case 77:
10625                        case 78:
10626                        case 79:
10627                        case 80:
10628                            {
10629                            alt116=2;
10630                            }
10631                            break;
10632                        default:
10633                            if (backtracking>0) {failed=true; return link;}
10634                            NoViableAltException nvae =
10635                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 21, input);
10636    
10637                            throw nvae;
10638                        }
10639    
10640                        }
10641                        break;
10642                    case 45:
10643                        {
10644                        int LA116_22 = input.LA(3);
10645    
10646                        if ( (LA116_22==49) ) {
10647                            int LA116_41 = input.LA(4);
10648    
10649                            if ( (LA116_41==65) ) {
10650                                int LA116_61 = input.LA(5);
10651    
10652                                if ( (LA116_61==60) ) {
10653                                    int LA116_80 = input.LA(6);
10654    
10655                                    if ( (LA116_80==45) ) {
10656                                        int LA116_99 = input.LA(7);
10657    
10658                                        if ( (LA116_99==49) ) {
10659                                            int LA116_113 = input.LA(8);
10660    
10661                                            if ( (LA116_113==65) ) {
10662                                                int LA116_123 = input.LA(9);
10663    
10664                                                if ( ((LA116_123>=FORCED_END_OF_LINE && LA116_123<=WIKI)||(LA116_123>=POUND && LA116_123<=INSIGNIFICANT_CHAR)||(LA116_123>=42 && LA116_123<=80)) ) {
10665                                                    alt116=2;
10666                                                }
10667                                                else if ( (LA116_123==41) ) {
10668                                                    int LA116_34 = input.LA(10);
10669    
10670                                                    if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
10671                                                        alt116=2;
10672                                                    }
10673                                                    else if ( ((LA116_34>=FORCED_END_OF_LINE && LA116_34<=WIKI)||(LA116_34>=POUND && LA116_34<=EQUAL)||(LA116_34>=ITAL && LA116_34<=NOWIKI_CLOSE)||(LA116_34>=IMAGE_CLOSE && LA116_34<=80)) ) {
10674                                                        alt116=1;
10675                                                    }
10676                                                    else {
10677                                                        if (backtracking>0) {failed=true; return link;}
10678                                                        NoViableAltException nvae =
10679                                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
10680    
10681                                                        throw nvae;
10682                                                    }
10683                                                }
10684                                                else {
10685                                                    if (backtracking>0) {failed=true; return link;}
10686                                                    NoViableAltException nvae =
10687                                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 123, input);
10688    
10689                                                    throw nvae;
10690                                                }
10691                                            }
10692                                            else if ( ((LA116_113>=FORCED_END_OF_LINE && LA116_113<=WIKI)||(LA116_113>=POUND && LA116_113<=64)||(LA116_113>=66 && LA116_113<=80)) ) {
10693                                                alt116=2;
10694                                            }
10695                                            else {
10696                                                if (backtracking>0) {failed=true; return link;}
10697                                                NoViableAltException nvae =
10698                                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 113, input);
10699    
10700                                                throw nvae;
10701                                            }
10702                                        }
10703                                        else if ( ((LA116_99>=FORCED_END_OF_LINE && LA116_99<=WIKI)||(LA116_99>=POUND && LA116_99<=48)||(LA116_99>=50 && LA116_99<=80)) ) {
10704                                            alt116=2;
10705                                        }
10706                                        else {
10707                                            if (backtracking>0) {failed=true; return link;}
10708                                            NoViableAltException nvae =
10709                                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 99, input);
10710    
10711                                            throw nvae;
10712                                        }
10713                                    }
10714                                    else if ( ((LA116_80>=FORCED_END_OF_LINE && LA116_80<=WIKI)||(LA116_80>=POUND && LA116_80<=44)||(LA116_80>=46 && LA116_80<=80)) ) {
10715                                        alt116=2;
10716                                    }
10717                                    else {
10718                                        if (backtracking>0) {failed=true; return link;}
10719                                        NoViableAltException nvae =
10720                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 80, input);
10721    
10722                                        throw nvae;
10723                                    }
10724                                }
10725                                else if ( ((LA116_61>=FORCED_END_OF_LINE && LA116_61<=WIKI)||(LA116_61>=POUND && LA116_61<=59)||(LA116_61>=61 && LA116_61<=80)) ) {
10726                                    alt116=2;
10727                                }
10728                                else {
10729                                    if (backtracking>0) {failed=true; return link;}
10730                                    NoViableAltException nvae =
10731                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 61, input);
10732    
10733                                    throw nvae;
10734                                }
10735                            }
10736                            else if ( ((LA116_41>=FORCED_END_OF_LINE && LA116_41<=WIKI)||(LA116_41>=POUND && LA116_41<=64)||(LA116_41>=66 && LA116_41<=80)) ) {
10737                                alt116=2;
10738                            }
10739                            else {
10740                                if (backtracking>0) {failed=true; return link;}
10741                                NoViableAltException nvae =
10742                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 41, input);
10743    
10744                                throw nvae;
10745                            }
10746                        }
10747                        else if ( ((LA116_22>=FORCED_END_OF_LINE && LA116_22<=WIKI)||(LA116_22>=POUND && LA116_22<=48)||(LA116_22>=50 && LA116_22<=80)) ) {
10748                            alt116=2;
10749                        }
10750                        else {
10751                            if (backtracking>0) {failed=true; return link;}
10752                            NoViableAltException nvae =
10753                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 22, input);
10754    
10755                            throw nvae;
10756                        }
10757                        }
10758                        break;
10759                    case FORCED_END_OF_LINE:
10760                    case HEADING_SECTION:
10761                    case HORIZONTAL_SECTION:
10762                    case LIST_ITEM:
10763                    case LIST_ITEM_PART:
10764                    case NOWIKI_SECTION:
10765                    case SCAPE_NODE:
10766                    case TEXT_NODE:
10767                    case UNORDERED_LIST:
10768                    case UNFORMATTED_TEXT:
10769                    case WIKI:
10770                    case POUND:
10771                    case STAR:
10772                    case EQUAL:
10773                    case PIPE:
10774                    case ITAL:
10775                    case LINK_OPEN:
10776                    case IMAGE_OPEN:
10777                    case NOWIKI_OPEN:
10778                    case EXTENSION:
10779                    case FORCED_LINEBREAK:
10780                    case ESCAPE:
10781                    case NOWIKI_BLOCK_CLOSE:
10782                    case NOWIKI_CLOSE:
10783                    case LINK_CLOSE:
10784                    case IMAGE_CLOSE:
10785                    case BLANKS:
10786                    case DASH:
10787                    case CR:
10788                    case LF:
10789                    case SPACE:
10790                    case TABULATOR:
10791                    case BRACE_CLOSE:
10792                    case COLON_SLASH:
10793                    case SLASH:
10794                    case INSIGNIFICANT_CHAR:
10795                    case 41:
10796                    case 42:
10797                    case 43:
10798                    case 44:
10799                    case 46:
10800                    case 47:
10801                    case 48:
10802                    case 49:
10803                    case 50:
10804                    case 51:
10805                    case 52:
10806                    case 53:
10807                    case 54:
10808                    case 55:
10809                    case 57:
10810                    case 58:
10811                    case 59:
10812                    case 60:
10813                    case 61:
10814                    case 62:
10815                    case 63:
10816                    case 64:
10817                    case 65:
10818                    case 66:
10819                    case 67:
10820                    case 68:
10821                    case 69:
10822                    case 70:
10823                    case 71:
10824                    case 72:
10825                    case 73:
10826                    case 74:
10827                    case 75:
10828                    case 76:
10829                    case 77:
10830                    case 78:
10831                    case 79:
10832                    case 80:
10833                        {
10834                        alt116=2;
10835                        }
10836                        break;
10837                    default:
10838                        if (backtracking>0) {failed=true; return link;}
10839                        NoViableAltException nvae =
10840                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 6, input);
10841    
10842                        throw nvae;
10843                    }
10844    
10845                    }
10846                    break;
10847                case 66:
10848                    {
10849                    switch ( input.LA(2) ) {
10850                    case 64:
10851                        {
10852                        int LA116_23 = input.LA(3);
10853    
10854                        if ( (LA116_23==64) ) {
10855                            int LA116_42 = input.LA(4);
10856    
10857                            if ( (LA116_42==67) ) {
10858                                int LA116_62 = input.LA(5);
10859    
10860                                if ( (LA116_62==47) ) {
10861                                    int LA116_81 = input.LA(6);
10862    
10863                                    if ( (LA116_81==68) ) {
10864                                        int LA116_100 = input.LA(7);
10865    
10866                                        if ( (LA116_100==56) ) {
10867                                            int LA116_114 = input.LA(8);
10868    
10869                                            if ( ((LA116_114>=FORCED_END_OF_LINE && LA116_114<=WIKI)||(LA116_114>=POUND && LA116_114<=INSIGNIFICANT_CHAR)||(LA116_114>=42 && LA116_114<=80)) ) {
10870                                                alt116=2;
10871                                            }
10872                                            else if ( (LA116_114==41) ) {
10873                                                int LA116_34 = input.LA(9);
10874    
10875                                                if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
10876                                                    alt116=2;
10877                                                }
10878                                                else if ( ((LA116_34>=FORCED_END_OF_LINE && LA116_34<=WIKI)||(LA116_34>=POUND && LA116_34<=EQUAL)||(LA116_34>=ITAL && LA116_34<=NOWIKI_CLOSE)||(LA116_34>=IMAGE_CLOSE && LA116_34<=80)) ) {
10879                                                    alt116=1;
10880                                                }
10881                                                else {
10882                                                    if (backtracking>0) {failed=true; return link;}
10883                                                    NoViableAltException nvae =
10884                                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
10885    
10886                                                    throw nvae;
10887                                                }
10888                                            }
10889                                            else {
10890                                                if (backtracking>0) {failed=true; return link;}
10891                                                NoViableAltException nvae =
10892                                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 114, input);
10893    
10894                                                throw nvae;
10895                                            }
10896                                        }
10897                                        else if ( ((LA116_100>=FORCED_END_OF_LINE && LA116_100<=WIKI)||(LA116_100>=POUND && LA116_100<=55)||(LA116_100>=57 && LA116_100<=80)) ) {
10898                                            alt116=2;
10899                                        }
10900                                        else {
10901                                            if (backtracking>0) {failed=true; return link;}
10902                                            NoViableAltException nvae =
10903                                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 100, input);
10904    
10905                                            throw nvae;
10906                                        }
10907                                    }
10908                                    else if ( ((LA116_81>=FORCED_END_OF_LINE && LA116_81<=WIKI)||(LA116_81>=POUND && LA116_81<=67)||(LA116_81>=69 && LA116_81<=80)) ) {
10909                                        alt116=2;
10910                                    }
10911                                    else {
10912                                        if (backtracking>0) {failed=true; return link;}
10913                                        NoViableAltException nvae =
10914                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 81, input);
10915    
10916                                        throw nvae;
10917                                    }
10918                                }
10919                                else if ( ((LA116_62>=FORCED_END_OF_LINE && LA116_62<=WIKI)||(LA116_62>=POUND && LA116_62<=46)||(LA116_62>=48 && LA116_62<=80)) ) {
10920                                    alt116=2;
10921                                }
10922                                else {
10923                                    if (backtracking>0) {failed=true; return link;}
10924                                    NoViableAltException nvae =
10925                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 62, input);
10926    
10927                                    throw nvae;
10928                                }
10929                            }
10930                            else if ( ((LA116_42>=FORCED_END_OF_LINE && LA116_42<=WIKI)||(LA116_42>=POUND && LA116_42<=66)||(LA116_42>=68 && LA116_42<=80)) ) {
10931                                alt116=2;
10932                            }
10933                            else {
10934                                if (backtracking>0) {failed=true; return link;}
10935                                NoViableAltException nvae =
10936                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 42, input);
10937    
10938                                throw nvae;
10939                            }
10940                        }
10941                        else if ( ((LA116_23>=FORCED_END_OF_LINE && LA116_23<=WIKI)||(LA116_23>=POUND && LA116_23<=63)||(LA116_23>=65 && LA116_23<=80)) ) {
10942                            alt116=2;
10943                        }
10944                        else {
10945                            if (backtracking>0) {failed=true; return link;}
10946                            NoViableAltException nvae =
10947                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 23, input);
10948    
10949                            throw nvae;
10950                        }
10951                        }
10952                        break;
10953                    case 69:
10954                        {
10955                        int LA116_24 = input.LA(3);
10956    
10957                        if ( (LA116_24==61) ) {
10958                            int LA116_43 = input.LA(4);
10959    
10960                            if ( (LA116_43==65) ) {
10961                                int LA116_63 = input.LA(5);
10962    
10963                                if ( (LA116_63==61) ) {
10964                                    int LA116_82 = input.LA(6);
10965    
10966                                    if ( ((LA116_82>=FORCED_END_OF_LINE && LA116_82<=WIKI)||(LA116_82>=POUND && LA116_82<=INSIGNIFICANT_CHAR)||(LA116_82>=42 && LA116_82<=80)) ) {
10967                                        alt116=2;
10968                                    }
10969                                    else if ( (LA116_82==41) ) {
10970                                        int LA116_34 = input.LA(7);
10971    
10972                                        if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
10973                                            alt116=2;
10974                                        }
10975                                        else if ( ((LA116_34>=FORCED_END_OF_LINE && LA116_34<=WIKI)||(LA116_34>=POUND && LA116_34<=EQUAL)||(LA116_34>=ITAL && LA116_34<=NOWIKI_CLOSE)||(LA116_34>=IMAGE_CLOSE && LA116_34<=80)) ) {
10976                                            alt116=1;
10977                                        }
10978                                        else {
10979                                            if (backtracking>0) {failed=true; return link;}
10980                                            NoViableAltException nvae =
10981                                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
10982    
10983                                            throw nvae;
10984                                        }
10985                                    }
10986                                    else {
10987                                        if (backtracking>0) {failed=true; return link;}
10988                                        NoViableAltException nvae =
10989                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 82, input);
10990    
10991                                        throw nvae;
10992                                    }
10993                                }
10994                                else if ( ((LA116_63>=FORCED_END_OF_LINE && LA116_63<=WIKI)||(LA116_63>=POUND && LA116_63<=60)||(LA116_63>=62 && LA116_63<=80)) ) {
10995                                    alt116=2;
10996                                }
10997                                else {
10998                                    if (backtracking>0) {failed=true; return link;}
10999                                    NoViableAltException nvae =
11000                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 63, input);
11001    
11002                                    throw nvae;
11003                                }
11004                            }
11005                            else if ( ((LA116_43>=FORCED_END_OF_LINE && LA116_43<=WIKI)||(LA116_43>=POUND && LA116_43<=64)||(LA116_43>=66 && LA116_43<=80)) ) {
11006                                alt116=2;
11007                            }
11008                            else {
11009                                if (backtracking>0) {failed=true; return link;}
11010                                NoViableAltException nvae =
11011                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 43, input);
11012    
11013                                throw nvae;
11014                            }
11015                        }
11016                        else if ( ((LA116_24>=FORCED_END_OF_LINE && LA116_24<=WIKI)||(LA116_24>=POUND && LA116_24<=60)||(LA116_24>=62 && LA116_24<=80)) ) {
11017                            alt116=2;
11018                        }
11019                        else {
11020                            if (backtracking>0) {failed=true; return link;}
11021                            NoViableAltException nvae =
11022                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 24, input);
11023    
11024                            throw nvae;
11025                        }
11026                        }
11027                        break;
11028                    case FORCED_END_OF_LINE:
11029                    case HEADING_SECTION:
11030                    case HORIZONTAL_SECTION:
11031                    case LIST_ITEM:
11032                    case LIST_ITEM_PART:
11033                    case NOWIKI_SECTION:
11034                    case SCAPE_NODE:
11035                    case TEXT_NODE:
11036                    case UNORDERED_LIST:
11037                    case UNFORMATTED_TEXT:
11038                    case WIKI:
11039                    case POUND:
11040                    case STAR:
11041                    case EQUAL:
11042                    case PIPE:
11043                    case ITAL:
11044                    case LINK_OPEN:
11045                    case IMAGE_OPEN:
11046                    case NOWIKI_OPEN:
11047                    case EXTENSION:
11048                    case FORCED_LINEBREAK:
11049                    case ESCAPE:
11050                    case NOWIKI_BLOCK_CLOSE:
11051                    case NOWIKI_CLOSE:
11052                    case LINK_CLOSE:
11053                    case IMAGE_CLOSE:
11054                    case BLANKS:
11055                    case DASH:
11056                    case CR:
11057                    case LF:
11058                    case SPACE:
11059                    case TABULATOR:
11060                    case BRACE_CLOSE:
11061                    case COLON_SLASH:
11062                    case SLASH:
11063                    case INSIGNIFICANT_CHAR:
11064                    case 41:
11065                    case 42:
11066                    case 43:
11067                    case 44:
11068                    case 45:
11069                    case 46:
11070                    case 47:
11071                    case 48:
11072                    case 49:
11073                    case 50:
11074                    case 51:
11075                    case 52:
11076                    case 53:
11077                    case 54:
11078                    case 55:
11079                    case 56:
11080                    case 57:
11081                    case 58:
11082                    case 59:
11083                    case 60:
11084                    case 61:
11085                    case 62:
11086                    case 63:
11087                    case 65:
11088                    case 66:
11089                    case 67:
11090                    case 68:
11091                    case 70:
11092                    case 71:
11093                    case 72:
11094                    case 73:
11095                    case 74:
11096                    case 75:
11097                    case 76:
11098                    case 77:
11099                    case 78:
11100                    case 79:
11101                    case 80:
11102                        {
11103                        alt116=2;
11104                        }
11105                        break;
11106                    default:
11107                        if (backtracking>0) {failed=true; return link;}
11108                        NoViableAltException nvae =
11109                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 7, input);
11110    
11111                        throw nvae;
11112                    }
11113    
11114                    }
11115                    break;
11116                case 59:
11117                    {
11118                    switch ( input.LA(2) ) {
11119                    case 47:
11120                        {
11121                        switch ( input.LA(3) ) {
11122                        case 46:
11123                            {
11124                            int LA116_44 = input.LA(4);
11125    
11126                            if ( (LA116_44==49) ) {
11127                                int LA116_64 = input.LA(5);
11128    
11129                                if ( (LA116_64==48) ) {
11130                                    int LA116_83 = input.LA(6);
11131    
11132                                    if ( (LA116_83==49) ) {
11133                                        int LA116_101 = input.LA(7);
11134    
11135                                        if ( (LA116_101==46) ) {
11136                                            int LA116_115 = input.LA(8);
11137    
11138                                            if ( (LA116_115==49) ) {
11139                                                int LA116_124 = input.LA(9);
11140    
11141                                                if ( ((LA116_124>=FORCED_END_OF_LINE && LA116_124<=WIKI)||(LA116_124>=POUND && LA116_124<=INSIGNIFICANT_CHAR)||(LA116_124>=42 && LA116_124<=80)) ) {
11142                                                    alt116=2;
11143                                                }
11144                                                else if ( (LA116_124==41) ) {
11145                                                    int LA116_34 = input.LA(10);
11146    
11147                                                    if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
11148                                                        alt116=2;
11149                                                    }
11150                                                    else if ( ((LA116_34>=FORCED_END_OF_LINE && LA116_34<=WIKI)||(LA116_34>=POUND && LA116_34<=EQUAL)||(LA116_34>=ITAL && LA116_34<=NOWIKI_CLOSE)||(LA116_34>=IMAGE_CLOSE && LA116_34<=80)) ) {
11151                                                        alt116=1;
11152                                                    }
11153                                                    else {
11154                                                        if (backtracking>0) {failed=true; return link;}
11155                                                        NoViableAltException nvae =
11156                                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
11157    
11158                                                        throw nvae;
11159                                                    }
11160                                                }
11161                                                else {
11162                                                    if (backtracking>0) {failed=true; return link;}
11163                                                    NoViableAltException nvae =
11164                                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 124, input);
11165    
11166                                                    throw nvae;
11167                                                }
11168                                            }
11169                                            else if ( ((LA116_115>=FORCED_END_OF_LINE && LA116_115<=WIKI)||(LA116_115>=POUND && LA116_115<=48)||(LA116_115>=50 && LA116_115<=80)) ) {
11170                                                alt116=2;
11171                                            }
11172                                            else {
11173                                                if (backtracking>0) {failed=true; return link;}
11174                                                NoViableAltException nvae =
11175                                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 115, input);
11176    
11177                                                throw nvae;
11178                                            }
11179                                        }
11180                                        else if ( ((LA116_101>=FORCED_END_OF_LINE && LA116_101<=WIKI)||(LA116_101>=POUND && LA116_101<=45)||(LA116_101>=47 && LA116_101<=80)) ) {
11181                                            alt116=2;
11182                                        }
11183                                        else {
11184                                            if (backtracking>0) {failed=true; return link;}
11185                                            NoViableAltException nvae =
11186                                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 101, input);
11187    
11188                                            throw nvae;
11189                                        }
11190                                    }
11191                                    else if ( ((LA116_83>=FORCED_END_OF_LINE && LA116_83<=WIKI)||(LA116_83>=POUND && LA116_83<=48)||(LA116_83>=50 && LA116_83<=80)) ) {
11192                                        alt116=2;
11193                                    }
11194                                    else {
11195                                        if (backtracking>0) {failed=true; return link;}
11196                                        NoViableAltException nvae =
11197                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 83, input);
11198    
11199                                        throw nvae;
11200                                    }
11201                                }
11202                                else if ( ((LA116_64>=FORCED_END_OF_LINE && LA116_64<=WIKI)||(LA116_64>=POUND && LA116_64<=47)||(LA116_64>=49 && LA116_64<=80)) ) {
11203                                    alt116=2;
11204                                }
11205                                else {
11206                                    if (backtracking>0) {failed=true; return link;}
11207                                    NoViableAltException nvae =
11208                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 64, input);
11209    
11210                                    throw nvae;
11211                                }
11212                            }
11213                            else if ( ((LA116_44>=FORCED_END_OF_LINE && LA116_44<=WIKI)||(LA116_44>=POUND && LA116_44<=48)||(LA116_44>=50 && LA116_44<=80)) ) {
11214                                alt116=2;
11215                            }
11216                            else {
11217                                if (backtracking>0) {failed=true; return link;}
11218                                NoViableAltException nvae =
11219                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 44, input);
11220    
11221                                throw nvae;
11222                            }
11223                            }
11224                            break;
11225                        case 53:
11226                            {
11227                            int LA116_45 = input.LA(4);
11228    
11229                            if ( (LA116_45==70) ) {
11230                                int LA116_65 = input.LA(5);
11231    
11232                                if ( (LA116_65==51) ) {
11233                                    int LA116_84 = input.LA(6);
11234    
11235                                    if ( (LA116_84==56) ) {
11236                                        int LA116_102 = input.LA(7);
11237    
11238                                        if ( (LA116_102==48) ) {
11239                                            int LA116_116 = input.LA(8);
11240    
11241                                            if ( (LA116_116==49) ) {
11242                                                int LA116_125 = input.LA(9);
11243    
11244                                                if ( (LA116_125==46) ) {
11245                                                    int LA116_130 = input.LA(10);
11246    
11247                                                    if ( (LA116_130==49) ) {
11248                                                        int LA116_133 = input.LA(11);
11249    
11250                                                        if ( ((LA116_133>=FORCED_END_OF_LINE && LA116_133<=WIKI)||(LA116_133>=POUND && LA116_133<=INSIGNIFICANT_CHAR)||(LA116_133>=42 && LA116_133<=80)) ) {
11251                                                            alt116=2;
11252                                                        }
11253                                                        else if ( (LA116_133==41) ) {
11254                                                            int LA116_34 = input.LA(12);
11255    
11256                                                            if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
11257                                                                alt116=2;
11258                                                            }
11259                                                            else if ( ((LA116_34>=FORCED_END_OF_LINE && LA116_34<=WIKI)||(LA116_34>=POUND && LA116_34<=EQUAL)||(LA116_34>=ITAL && LA116_34<=NOWIKI_CLOSE)||(LA116_34>=IMAGE_CLOSE && LA116_34<=80)) ) {
11260                                                                alt116=1;
11261                                                            }
11262                                                            else {
11263                                                                if (backtracking>0) {failed=true; return link;}
11264                                                                NoViableAltException nvae =
11265                                                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
11266    
11267                                                                throw nvae;
11268                                                            }
11269                                                        }
11270                                                        else {
11271                                                            if (backtracking>0) {failed=true; return link;}
11272                                                            NoViableAltException nvae =
11273                                                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 133, input);
11274    
11275                                                            throw nvae;
11276                                                        }
11277                                                    }
11278                                                    else if ( ((LA116_130>=FORCED_END_OF_LINE && LA116_130<=WIKI)||(LA116_130>=POUND && LA116_130<=48)||(LA116_130>=50 && LA116_130<=80)) ) {
11279                                                        alt116=2;
11280                                                    }
11281                                                    else {
11282                                                        if (backtracking>0) {failed=true; return link;}
11283                                                        NoViableAltException nvae =
11284                                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 130, input);
11285    
11286                                                        throw nvae;
11287                                                    }
11288                                                }
11289                                                else if ( ((LA116_125>=FORCED_END_OF_LINE && LA116_125<=WIKI)||(LA116_125>=POUND && LA116_125<=45)||(LA116_125>=47 && LA116_125<=80)) ) {
11290                                                    alt116=2;
11291                                                }
11292                                                else {
11293                                                    if (backtracking>0) {failed=true; return link;}
11294                                                    NoViableAltException nvae =
11295                                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 125, input);
11296    
11297                                                    throw nvae;
11298                                                }
11299                                            }
11300                                            else if ( ((LA116_116>=FORCED_END_OF_LINE && LA116_116<=WIKI)||(LA116_116>=POUND && LA116_116<=48)||(LA116_116>=50 && LA116_116<=80)) ) {
11301                                                alt116=2;
11302                                            }
11303                                            else {
11304                                                if (backtracking>0) {failed=true; return link;}
11305                                                NoViableAltException nvae =
11306                                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 116, input);
11307    
11308                                                throw nvae;
11309                                            }
11310                                        }
11311                                        else if ( ((LA116_102>=FORCED_END_OF_LINE && LA116_102<=WIKI)||(LA116_102>=POUND && LA116_102<=47)||(LA116_102>=49 && LA116_102<=80)) ) {
11312                                            alt116=2;
11313                                        }
11314                                        else {
11315                                            if (backtracking>0) {failed=true; return link;}
11316                                            NoViableAltException nvae =
11317                                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 102, input);
11318    
11319                                            throw nvae;
11320                                        }
11321                                    }
11322                                    else if ( ((LA116_84>=FORCED_END_OF_LINE && LA116_84<=WIKI)||(LA116_84>=POUND && LA116_84<=55)||(LA116_84>=57 && LA116_84<=80)) ) {
11323                                        alt116=2;
11324                                    }
11325                                    else {
11326                                        if (backtracking>0) {failed=true; return link;}
11327                                        NoViableAltException nvae =
11328                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 84, input);
11329    
11330                                        throw nvae;
11331                                    }
11332                                }
11333                                else if ( ((LA116_65>=FORCED_END_OF_LINE && LA116_65<=WIKI)||(LA116_65>=POUND && LA116_65<=50)||(LA116_65>=52 && LA116_65<=80)) ) {
11334                                    alt116=2;
11335                                }
11336                                else {
11337                                    if (backtracking>0) {failed=true; return link;}
11338                                    NoViableAltException nvae =
11339                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 65, input);
11340    
11341                                    throw nvae;
11342                                }
11343                            }
11344                            else if ( ((LA116_45>=FORCED_END_OF_LINE && LA116_45<=WIKI)||(LA116_45>=POUND && LA116_45<=69)||(LA116_45>=71 && LA116_45<=80)) ) {
11345                                alt116=2;
11346                            }
11347                            else {
11348                                if (backtracking>0) {failed=true; return link;}
11349                                NoViableAltException nvae =
11350                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 45, input);
11351    
11352                                throw nvae;
11353                            }
11354                            }
11355                            break;
11356                        case FORCED_END_OF_LINE:
11357                        case HEADING_SECTION:
11358                        case HORIZONTAL_SECTION:
11359                        case LIST_ITEM:
11360                        case LIST_ITEM_PART:
11361                        case NOWIKI_SECTION:
11362                        case SCAPE_NODE:
11363                        case TEXT_NODE:
11364                        case UNORDERED_LIST:
11365                        case UNFORMATTED_TEXT:
11366                        case WIKI:
11367                        case POUND:
11368                        case STAR:
11369                        case EQUAL:
11370                        case PIPE:
11371                        case ITAL:
11372                        case LINK_OPEN:
11373                        case IMAGE_OPEN:
11374                        case NOWIKI_OPEN:
11375                        case EXTENSION:
11376                        case FORCED_LINEBREAK:
11377                        case ESCAPE:
11378                        case NOWIKI_BLOCK_CLOSE:
11379                        case NOWIKI_CLOSE:
11380                        case LINK_CLOSE:
11381                        case IMAGE_CLOSE:
11382                        case BLANKS:
11383                        case DASH:
11384                        case CR:
11385                        case LF:
11386                        case SPACE:
11387                        case TABULATOR:
11388                        case BRACE_CLOSE:
11389                        case COLON_SLASH:
11390                        case SLASH:
11391                        case INSIGNIFICANT_CHAR:
11392                        case 41:
11393                        case 42:
11394                        case 43:
11395                        case 44:
11396                        case 45:
11397                        case 47:
11398                        case 48:
11399                        case 49:
11400                        case 50:
11401                        case 51:
11402                        case 52:
11403                        case 54:
11404                        case 55:
11405                        case 56:
11406                        case 57:
11407                        case 58:
11408                        case 59:
11409                        case 60:
11410                        case 61:
11411                        case 62:
11412                        case 63:
11413                        case 64:
11414                        case 65:
11415                        case 66:
11416                        case 67:
11417                        case 68:
11418                        case 69:
11419                        case 70:
11420                        case 71:
11421                        case 72:
11422                        case 73:
11423                        case 74:
11424                        case 75:
11425                        case 76:
11426                        case 77:
11427                        case 78:
11428                        case 79:
11429                        case 80:
11430                            {
11431                            alt116=2;
11432                            }
11433                            break;
11434                        default:
11435                            if (backtracking>0) {failed=true; return link;}
11436                            NoViableAltException nvae =
11437                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 25, input);
11438    
11439                            throw nvae;
11440                        }
11441    
11442                        }
11443                        break;
11444                    case 67:
11445                        {
11446                        int LA116_26 = input.LA(3);
11447    
11448                        if ( (LA116_26==48) ) {
11449                            int LA116_46 = input.LA(4);
11450    
11451                            if ( (LA116_46==49) ) {
11452                                int LA116_66 = input.LA(5);
11453    
11454                                if ( (LA116_66==46) ) {
11455                                    int LA116_85 = input.LA(6);
11456    
11457                                    if ( (LA116_85==49) ) {
11458                                        int LA116_103 = input.LA(7);
11459    
11460                                        if ( (LA116_103==41) ) {
11461                                            int LA116_34 = input.LA(8);
11462    
11463                                            if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
11464                                                alt116=2;
11465                                            }
11466                                            else if ( ((LA116_34>=FORCED_END_OF_LINE && LA116_34<=WIKI)||(LA116_34>=POUND && LA116_34<=EQUAL)||(LA116_34>=ITAL && LA116_34<=NOWIKI_CLOSE)||(LA116_34>=IMAGE_CLOSE && LA116_34<=80)) ) {
11467                                                alt116=1;
11468                                            }
11469                                            else {
11470                                                if (backtracking>0) {failed=true; return link;}
11471                                                NoViableAltException nvae =
11472                                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
11473    
11474                                                throw nvae;
11475                                            }
11476                                        }
11477                                        else if ( ((LA116_103>=FORCED_END_OF_LINE && LA116_103<=WIKI)||(LA116_103>=POUND && LA116_103<=INSIGNIFICANT_CHAR)||(LA116_103>=42 && LA116_103<=80)) ) {
11478                                            alt116=2;
11479                                        }
11480                                        else {
11481                                            if (backtracking>0) {failed=true; return link;}
11482                                            NoViableAltException nvae =
11483                                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 103, input);
11484    
11485                                            throw nvae;
11486                                        }
11487                                    }
11488                                    else if ( ((LA116_85>=FORCED_END_OF_LINE && LA116_85<=WIKI)||(LA116_85>=POUND && LA116_85<=48)||(LA116_85>=50 && LA116_85<=80)) ) {
11489                                        alt116=2;
11490                                    }
11491                                    else {
11492                                        if (backtracking>0) {failed=true; return link;}
11493                                        NoViableAltException nvae =
11494                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 85, input);
11495    
11496                                        throw nvae;
11497                                    }
11498                                }
11499                                else if ( ((LA116_66>=FORCED_END_OF_LINE && LA116_66<=WIKI)||(LA116_66>=POUND && LA116_66<=45)||(LA116_66>=47 && LA116_66<=80)) ) {
11500                                    alt116=2;
11501                                }
11502                                else {
11503                                    if (backtracking>0) {failed=true; return link;}
11504                                    NoViableAltException nvae =
11505                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 66, input);
11506    
11507                                    throw nvae;
11508                                }
11509                            }
11510                            else if ( ((LA116_46>=FORCED_END_OF_LINE && LA116_46<=WIKI)||(LA116_46>=POUND && LA116_46<=48)||(LA116_46>=50 && LA116_46<=80)) ) {
11511                                alt116=2;
11512                            }
11513                            else {
11514                                if (backtracking>0) {failed=true; return link;}
11515                                NoViableAltException nvae =
11516                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 46, input);
11517    
11518                                throw nvae;
11519                            }
11520                        }
11521                        else if ( ((LA116_26>=FORCED_END_OF_LINE && LA116_26<=WIKI)||(LA116_26>=POUND && LA116_26<=47)||(LA116_26>=49 && LA116_26<=80)) ) {
11522                            alt116=2;
11523                        }
11524                        else {
11525                            if (backtracking>0) {failed=true; return link;}
11526                            NoViableAltException nvae =
11527                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 26, input);
11528    
11529                            throw nvae;
11530                        }
11531                        }
11532                        break;
11533                    case FORCED_END_OF_LINE:
11534                    case HEADING_SECTION:
11535                    case HORIZONTAL_SECTION:
11536                    case LIST_ITEM:
11537                    case LIST_ITEM_PART:
11538                    case NOWIKI_SECTION:
11539                    case SCAPE_NODE:
11540                    case TEXT_NODE:
11541                    case UNORDERED_LIST:
11542                    case UNFORMATTED_TEXT:
11543                    case WIKI:
11544                    case POUND:
11545                    case STAR:
11546                    case EQUAL:
11547                    case PIPE:
11548                    case ITAL:
11549                    case LINK_OPEN:
11550                    case IMAGE_OPEN:
11551                    case NOWIKI_OPEN:
11552                    case EXTENSION:
11553                    case FORCED_LINEBREAK:
11554                    case ESCAPE:
11555                    case NOWIKI_BLOCK_CLOSE:
11556                    case NOWIKI_CLOSE:
11557                    case LINK_CLOSE:
11558                    case IMAGE_CLOSE:
11559                    case BLANKS:
11560                    case DASH:
11561                    case CR:
11562                    case LF:
11563                    case SPACE:
11564                    case TABULATOR:
11565                    case BRACE_CLOSE:
11566                    case COLON_SLASH:
11567                    case SLASH:
11568                    case INSIGNIFICANT_CHAR:
11569                    case 41:
11570                    case 42:
11571                    case 43:
11572                    case 44:
11573                    case 45:
11574                    case 46:
11575                    case 48:
11576                    case 49:
11577                    case 50:
11578                    case 51:
11579                    case 52:
11580                    case 53:
11581                    case 54:
11582                    case 55:
11583                    case 56:
11584                    case 57:
11585                    case 58:
11586                    case 59:
11587                    case 60:
11588                    case 61:
11589                    case 62:
11590                    case 63:
11591                    case 64:
11592                    case 65:
11593                    case 66:
11594                    case 68:
11595                    case 69:
11596                    case 70:
11597                    case 71:
11598                    case 72:
11599                    case 73:
11600                    case 74:
11601                    case 75:
11602                    case 76:
11603                    case 77:
11604                    case 78:
11605                    case 79:
11606                    case 80:
11607                        {
11608                        alt116=2;
11609                        }
11610                        break;
11611                    default:
11612                        if (backtracking>0) {failed=true; return link;}
11613                        NoViableAltException nvae =
11614                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 8, input);
11615    
11616                        throw nvae;
11617                    }
11618    
11619                    }
11620                    break;
11621                case 71:
11622                    {
11623                    int LA116_9 = input.LA(2);
11624    
11625                    if ( (LA116_9==61) ) {
11626                        int LA116_27 = input.LA(3);
11627    
11628                        if ( (LA116_27==64) ) {
11629                            int LA116_47 = input.LA(4);
11630    
11631                            if ( (LA116_47==56) ) {
11632                                int LA116_67 = input.LA(5);
11633    
11634                                if ( (LA116_67==45) ) {
11635                                    int LA116_86 = input.LA(6);
11636    
11637                                    if ( (LA116_86==72) ) {
11638                                        int LA116_104 = input.LA(7);
11639    
11640                                        if ( ((LA116_104>=FORCED_END_OF_LINE && LA116_104<=WIKI)||(LA116_104>=POUND && LA116_104<=INSIGNIFICANT_CHAR)||(LA116_104>=42 && LA116_104<=80)) ) {
11641                                            alt116=2;
11642                                        }
11643                                        else if ( (LA116_104==41) ) {
11644                                            int LA116_34 = input.LA(8);
11645    
11646                                            if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
11647                                                alt116=2;
11648                                            }
11649                                            else if ( ((LA116_34>=FORCED_END_OF_LINE && LA116_34<=WIKI)||(LA116_34>=POUND && LA116_34<=EQUAL)||(LA116_34>=ITAL && LA116_34<=NOWIKI_CLOSE)||(LA116_34>=IMAGE_CLOSE && LA116_34<=80)) ) {
11650                                                alt116=1;
11651                                            }
11652                                            else {
11653                                                if (backtracking>0) {failed=true; return link;}
11654                                                NoViableAltException nvae =
11655                                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
11656    
11657                                                throw nvae;
11658                                            }
11659                                        }
11660                                        else {
11661                                            if (backtracking>0) {failed=true; return link;}
11662                                            NoViableAltException nvae =
11663                                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 104, input);
11664    
11665                                            throw nvae;
11666                                        }
11667                                    }
11668                                    else if ( ((LA116_86>=FORCED_END_OF_LINE && LA116_86<=WIKI)||(LA116_86>=POUND && LA116_86<=71)||(LA116_86>=73 && LA116_86<=80)) ) {
11669                                        alt116=2;
11670                                    }
11671                                    else {
11672                                        if (backtracking>0) {failed=true; return link;}
11673                                        NoViableAltException nvae =
11674                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 86, input);
11675    
11676                                        throw nvae;
11677                                    }
11678                                }
11679                                else if ( ((LA116_67>=FORCED_END_OF_LINE && LA116_67<=WIKI)||(LA116_67>=POUND && LA116_67<=44)||(LA116_67>=46 && LA116_67<=80)) ) {
11680                                    alt116=2;
11681                                }
11682                                else {
11683                                    if (backtracking>0) {failed=true; return link;}
11684                                    NoViableAltException nvae =
11685                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 67, input);
11686    
11687                                    throw nvae;
11688                                }
11689                            }
11690                            else if ( ((LA116_47>=FORCED_END_OF_LINE && LA116_47<=WIKI)||(LA116_47>=POUND && LA116_47<=55)||(LA116_47>=57 && LA116_47<=80)) ) {
11691                                alt116=2;
11692                            }
11693                            else {
11694                                if (backtracking>0) {failed=true; return link;}
11695                                NoViableAltException nvae =
11696                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 47, input);
11697    
11698                                throw nvae;
11699                            }
11700                        }
11701                        else if ( ((LA116_27>=FORCED_END_OF_LINE && LA116_27<=WIKI)||(LA116_27>=POUND && LA116_27<=63)||(LA116_27>=65 && LA116_27<=80)) ) {
11702                            alt116=2;
11703                        }
11704                        else {
11705                            if (backtracking>0) {failed=true; return link;}
11706                            NoViableAltException nvae =
11707                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 27, input);
11708    
11709                            throw nvae;
11710                        }
11711                    }
11712                    else if ( ((LA116_9>=FORCED_END_OF_LINE && LA116_9<=WIKI)||(LA116_9>=POUND && LA116_9<=60)||(LA116_9>=62 && LA116_9<=80)) ) {
11713                        alt116=2;
11714                    }
11715                    else {
11716                        if (backtracking>0) {failed=true; return link;}
11717                        NoViableAltException nvae =
11718                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 9, input);
11719    
11720                        throw nvae;
11721                    }
11722                    }
11723                    break;
11724                case 58:
11725                    {
11726                    int LA116_10 = input.LA(2);
11727    
11728                    if ( (LA116_10==65) ) {
11729                        int LA116_28 = input.LA(3);
11730    
11731                        if ( (LA116_28==49) ) {
11732                            int LA116_48 = input.LA(4);
11733    
11734                            if ( (LA116_48==70) ) {
11735                                int LA116_68 = input.LA(5);
11736    
11737                                if ( (LA116_68==58) ) {
11738                                    int LA116_87 = input.LA(6);
11739    
11740                                    if ( (LA116_87==65) ) {
11741                                        int LA116_105 = input.LA(7);
11742    
11743                                        if ( (LA116_105==61) ) {
11744                                            int LA116_117 = input.LA(8);
11745    
11746                                            if ( (LA116_117==70) ) {
11747                                                int LA116_126 = input.LA(9);
11748    
11749                                                if ( ((LA116_126>=FORCED_END_OF_LINE && LA116_126<=WIKI)||(LA116_126>=POUND && LA116_126<=INSIGNIFICANT_CHAR)||(LA116_126>=42 && LA116_126<=80)) ) {
11750                                                    alt116=2;
11751                                                }
11752                                                else if ( (LA116_126==41) ) {
11753                                                    int LA116_34 = input.LA(10);
11754    
11755                                                    if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
11756                                                        alt116=2;
11757                                                    }
11758                                                    else if ( ((LA116_34>=FORCED_END_OF_LINE && LA116_34<=WIKI)||(LA116_34>=POUND && LA116_34<=EQUAL)||(LA116_34>=ITAL && LA116_34<=NOWIKI_CLOSE)||(LA116_34>=IMAGE_CLOSE && LA116_34<=80)) ) {
11759                                                        alt116=1;
11760                                                    }
11761                                                    else {
11762                                                        if (backtracking>0) {failed=true; return link;}
11763                                                        NoViableAltException nvae =
11764                                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
11765    
11766                                                        throw nvae;
11767                                                    }
11768                                                }
11769                                                else {
11770                                                    if (backtracking>0) {failed=true; return link;}
11771                                                    NoViableAltException nvae =
11772                                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 126, input);
11773    
11774                                                    throw nvae;
11775                                                }
11776                                            }
11777                                            else if ( ((LA116_117>=FORCED_END_OF_LINE && LA116_117<=WIKI)||(LA116_117>=POUND && LA116_117<=69)||(LA116_117>=71 && LA116_117<=80)) ) {
11778                                                alt116=2;
11779                                            }
11780                                            else {
11781                                                if (backtracking>0) {failed=true; return link;}
11782                                                NoViableAltException nvae =
11783                                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 117, input);
11784    
11785                                                throw nvae;
11786                                            }
11787                                        }
11788                                        else if ( ((LA116_105>=FORCED_END_OF_LINE && LA116_105<=WIKI)||(LA116_105>=POUND && LA116_105<=60)||(LA116_105>=62 && LA116_105<=80)) ) {
11789                                            alt116=2;
11790                                        }
11791                                        else {
11792                                            if (backtracking>0) {failed=true; return link;}
11793                                            NoViableAltException nvae =
11794                                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 105, input);
11795    
11796                                            throw nvae;
11797                                        }
11798                                    }
11799                                    else if ( ((LA116_87>=FORCED_END_OF_LINE && LA116_87<=WIKI)||(LA116_87>=POUND && LA116_87<=64)||(LA116_87>=66 && LA116_87<=80)) ) {
11800                                        alt116=2;
11801                                    }
11802                                    else {
11803                                        if (backtracking>0) {failed=true; return link;}
11804                                        NoViableAltException nvae =
11805                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 87, input);
11806    
11807                                        throw nvae;
11808                                    }
11809                                }
11810                                else if ( ((LA116_68>=FORCED_END_OF_LINE && LA116_68<=WIKI)||(LA116_68>=POUND && LA116_68<=57)||(LA116_68>=59 && LA116_68<=80)) ) {
11811                                    alt116=2;
11812                                }
11813                                else {
11814                                    if (backtracking>0) {failed=true; return link;}
11815                                    NoViableAltException nvae =
11816                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 68, input);
11817    
11818                                    throw nvae;
11819                                }
11820                            }
11821                            else if ( ((LA116_48>=FORCED_END_OF_LINE && LA116_48<=WIKI)||(LA116_48>=POUND && LA116_48<=69)||(LA116_48>=71 && LA116_48<=80)) ) {
11822                                alt116=2;
11823                            }
11824                            else {
11825                                if (backtracking>0) {failed=true; return link;}
11826                                NoViableAltException nvae =
11827                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 48, input);
11828    
11829                                throw nvae;
11830                            }
11831                        }
11832                        else if ( ((LA116_28>=FORCED_END_OF_LINE && LA116_28<=WIKI)||(LA116_28>=POUND && LA116_28<=48)||(LA116_28>=50 && LA116_28<=80)) ) {
11833                            alt116=2;
11834                        }
11835                        else {
11836                            if (backtracking>0) {failed=true; return link;}
11837                            NoViableAltException nvae =
11838                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 28, input);
11839    
11840                            throw nvae;
11841                        }
11842                    }
11843                    else if ( ((LA116_10>=FORCED_END_OF_LINE && LA116_10<=WIKI)||(LA116_10>=POUND && LA116_10<=64)||(LA116_10>=66 && LA116_10<=80)) ) {
11844                        alt116=2;
11845                    }
11846                    else {
11847                        if (backtracking>0) {failed=true; return link;}
11848                        NoViableAltException nvae =
11849                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 10, input);
11850    
11851                        throw nvae;
11852                    }
11853                    }
11854                    break;
11855                case 73:
11856                    {
11857                    switch ( input.LA(2) ) {
11858                    case 49:
11859                        {
11860                        int LA116_29 = input.LA(3);
11861    
11862                        if ( (LA116_29==64) ) {
11863                            int LA116_49 = input.LA(4);
11864    
11865                            if ( (LA116_49==64) ) {
11866                                int LA116_69 = input.LA(5);
11867    
11868                                if ( (LA116_69==51) ) {
11869                                    int LA116_88 = input.LA(6);
11870    
11871                                    if ( (LA116_88==74) ) {
11872                                        int LA116_106 = input.LA(7);
11873    
11874                                        if ( (LA116_106==48) ) {
11875                                            int LA116_118 = input.LA(8);
11876    
11877                                            if ( (LA116_118==49) ) {
11878                                                int LA116_127 = input.LA(9);
11879    
11880                                                if ( (LA116_127==46) ) {
11881                                                    int LA116_131 = input.LA(10);
11882    
11883                                                    if ( (LA116_131==49) ) {
11884                                                        int LA116_134 = input.LA(11);
11885    
11886                                                        if ( ((LA116_134>=FORCED_END_OF_LINE && LA116_134<=WIKI)||(LA116_134>=POUND && LA116_134<=INSIGNIFICANT_CHAR)||(LA116_134>=42 && LA116_134<=80)) ) {
11887                                                            alt116=2;
11888                                                        }
11889                                                        else if ( (LA116_134==41) ) {
11890                                                            int LA116_34 = input.LA(12);
11891    
11892                                                            if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
11893                                                                alt116=2;
11894                                                            }
11895                                                            else if ( ((LA116_34>=FORCED_END_OF_LINE && LA116_34<=WIKI)||(LA116_34>=POUND && LA116_34<=EQUAL)||(LA116_34>=ITAL && LA116_34<=NOWIKI_CLOSE)||(LA116_34>=IMAGE_CLOSE && LA116_34<=80)) ) {
11896                                                                alt116=1;
11897                                                            }
11898                                                            else {
11899                                                                if (backtracking>0) {failed=true; return link;}
11900                                                                NoViableAltException nvae =
11901                                                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
11902    
11903                                                                throw nvae;
11904                                                            }
11905                                                        }
11906                                                        else {
11907                                                            if (backtracking>0) {failed=true; return link;}
11908                                                            NoViableAltException nvae =
11909                                                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 134, input);
11910    
11911                                                            throw nvae;
11912                                                        }
11913                                                    }
11914                                                    else if ( ((LA116_131>=FORCED_END_OF_LINE && LA116_131<=WIKI)||(LA116_131>=POUND && LA116_131<=48)||(LA116_131>=50 && LA116_131<=80)) ) {
11915                                                        alt116=2;
11916                                                    }
11917                                                    else {
11918                                                        if (backtracking>0) {failed=true; return link;}
11919                                                        NoViableAltException nvae =
11920                                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 131, input);
11921    
11922                                                        throw nvae;
11923                                                    }
11924                                                }
11925                                                else if ( ((LA116_127>=FORCED_END_OF_LINE && LA116_127<=WIKI)||(LA116_127>=POUND && LA116_127<=45)||(LA116_127>=47 && LA116_127<=80)) ) {
11926                                                    alt116=2;
11927                                                }
11928                                                else {
11929                                                    if (backtracking>0) {failed=true; return link;}
11930                                                    NoViableAltException nvae =
11931                                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 127, input);
11932    
11933                                                    throw nvae;
11934                                                }
11935                                            }
11936                                            else if ( ((LA116_118>=FORCED_END_OF_LINE && LA116_118<=WIKI)||(LA116_118>=POUND && LA116_118<=48)||(LA116_118>=50 && LA116_118<=80)) ) {
11937                                                alt116=2;
11938                                            }
11939                                            else {
11940                                                if (backtracking>0) {failed=true; return link;}
11941                                                NoViableAltException nvae =
11942                                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 118, input);
11943    
11944                                                throw nvae;
11945                                            }
11946                                        }
11947                                        else if ( ((LA116_106>=FORCED_END_OF_LINE && LA116_106<=WIKI)||(LA116_106>=POUND && LA116_106<=47)||(LA116_106>=49 && LA116_106<=80)) ) {
11948                                            alt116=2;
11949                                        }
11950                                        else {
11951                                            if (backtracking>0) {failed=true; return link;}
11952                                            NoViableAltException nvae =
11953                                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 106, input);
11954    
11955                                            throw nvae;
11956                                        }
11957                                    }
11958                                    else if ( ((LA116_88>=FORCED_END_OF_LINE && LA116_88<=WIKI)||(LA116_88>=POUND && LA116_88<=73)||(LA116_88>=75 && LA116_88<=80)) ) {
11959                                        alt116=2;
11960                                    }
11961                                    else {
11962                                        if (backtracking>0) {failed=true; return link;}
11963                                        NoViableAltException nvae =
11964                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 88, input);
11965    
11966                                        throw nvae;
11967                                    }
11968                                }
11969                                else if ( ((LA116_69>=FORCED_END_OF_LINE && LA116_69<=WIKI)||(LA116_69>=POUND && LA116_69<=50)||(LA116_69>=52 && LA116_69<=80)) ) {
11970                                    alt116=2;
11971                                }
11972                                else {
11973                                    if (backtracking>0) {failed=true; return link;}
11974                                    NoViableAltException nvae =
11975                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 69, input);
11976    
11977                                    throw nvae;
11978                                }
11979                            }
11980                            else if ( ((LA116_49>=FORCED_END_OF_LINE && LA116_49<=WIKI)||(LA116_49>=POUND && LA116_49<=63)||(LA116_49>=65 && LA116_49<=80)) ) {
11981                                alt116=2;
11982                            }
11983                            else {
11984                                if (backtracking>0) {failed=true; return link;}
11985                                NoViableAltException nvae =
11986                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 49, input);
11987    
11988                                throw nvae;
11989                            }
11990                        }
11991                        else if ( ((LA116_29>=FORCED_END_OF_LINE && LA116_29<=WIKI)||(LA116_29>=POUND && LA116_29<=63)||(LA116_29>=65 && LA116_29<=80)) ) {
11992                            alt116=2;
11993                        }
11994                        else {
11995                            if (backtracking>0) {failed=true; return link;}
11996                            NoViableAltException nvae =
11997                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 29, input);
11998    
11999                            throw nvae;
12000                        }
12001                        }
12002                        break;
12003                    case 48:
12004                        {
12005                        int LA116_30 = input.LA(3);
12006    
12007                        if ( (LA116_30==49) ) {
12008                            int LA116_50 = input.LA(4);
12009    
12010                            if ( (LA116_50==46) ) {
12011                                int LA116_70 = input.LA(5);
12012    
12013                                if ( (LA116_70==49) ) {
12014                                    int LA116_89 = input.LA(6);
12015    
12016                                    if ( ((LA116_89>=FORCED_END_OF_LINE && LA116_89<=WIKI)||(LA116_89>=POUND && LA116_89<=INSIGNIFICANT_CHAR)||(LA116_89>=42 && LA116_89<=80)) ) {
12017                                        alt116=2;
12018                                    }
12019                                    else if ( (LA116_89==41) ) {
12020                                        int LA116_34 = input.LA(7);
12021    
12022                                        if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
12023                                            alt116=2;
12024                                        }
12025                                        else if ( ((LA116_34>=FORCED_END_OF_LINE && LA116_34<=WIKI)||(LA116_34>=POUND && LA116_34<=EQUAL)||(LA116_34>=ITAL && LA116_34<=NOWIKI_CLOSE)||(LA116_34>=IMAGE_CLOSE && LA116_34<=80)) ) {
12026                                            alt116=1;
12027                                        }
12028                                        else {
12029                                            if (backtracking>0) {failed=true; return link;}
12030                                            NoViableAltException nvae =
12031                                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
12032    
12033                                            throw nvae;
12034                                        }
12035                                    }
12036                                    else {
12037                                        if (backtracking>0) {failed=true; return link;}
12038                                        NoViableAltException nvae =
12039                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 89, input);
12040    
12041                                        throw nvae;
12042                                    }
12043                                }
12044                                else if ( ((LA116_70>=FORCED_END_OF_LINE && LA116_70<=WIKI)||(LA116_70>=POUND && LA116_70<=48)||(LA116_70>=50 && LA116_70<=80)) ) {
12045                                    alt116=2;
12046                                }
12047                                else {
12048                                    if (backtracking>0) {failed=true; return link;}
12049                                    NoViableAltException nvae =
12050                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 70, input);
12051    
12052                                    throw nvae;
12053                                }
12054                            }
12055                            else if ( ((LA116_50>=FORCED_END_OF_LINE && LA116_50<=WIKI)||(LA116_50>=POUND && LA116_50<=45)||(LA116_50>=47 && LA116_50<=80)) ) {
12056                                alt116=2;
12057                            }
12058                            else {
12059                                if (backtracking>0) {failed=true; return link;}
12060                                NoViableAltException nvae =
12061                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 50, input);
12062    
12063                                throw nvae;
12064                            }
12065                        }
12066                        else if ( ((LA116_30>=FORCED_END_OF_LINE && LA116_30<=WIKI)||(LA116_30>=POUND && LA116_30<=48)||(LA116_30>=50 && LA116_30<=80)) ) {
12067                            alt116=2;
12068                        }
12069                        else {
12070                            if (backtracking>0) {failed=true; return link;}
12071                            NoViableAltException nvae =
12072                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 30, input);
12073    
12074                            throw nvae;
12075                        }
12076                        }
12077                        break;
12078                    case FORCED_END_OF_LINE:
12079                    case HEADING_SECTION:
12080                    case HORIZONTAL_SECTION:
12081                    case LIST_ITEM:
12082                    case LIST_ITEM_PART:
12083                    case NOWIKI_SECTION:
12084                    case SCAPE_NODE:
12085                    case TEXT_NODE:
12086                    case UNORDERED_LIST:
12087                    case UNFORMATTED_TEXT:
12088                    case WIKI:
12089                    case POUND:
12090                    case STAR:
12091                    case EQUAL:
12092                    case PIPE:
12093                    case ITAL:
12094                    case LINK_OPEN:
12095                    case IMAGE_OPEN:
12096                    case NOWIKI_OPEN:
12097                    case EXTENSION:
12098                    case FORCED_LINEBREAK:
12099                    case ESCAPE:
12100                    case NOWIKI_BLOCK_CLOSE:
12101                    case NOWIKI_CLOSE:
12102                    case LINK_CLOSE:
12103                    case IMAGE_CLOSE:
12104                    case BLANKS:
12105                    case DASH:
12106                    case CR:
12107                    case LF:
12108                    case SPACE:
12109                    case TABULATOR:
12110                    case BRACE_CLOSE:
12111                    case COLON_SLASH:
12112                    case SLASH:
12113                    case INSIGNIFICANT_CHAR:
12114                    case 41:
12115                    case 42:
12116                    case 43:
12117                    case 44:
12118                    case 45:
12119                    case 46:
12120                    case 47:
12121                    case 50:
12122                    case 51:
12123                    case 52:
12124                    case 53:
12125                    case 54:
12126                    case 55:
12127                    case 56:
12128                    case 57:
12129                    case 58:
12130                    case 59:
12131                    case 60:
12132                    case 61:
12133                    case 62:
12134                    case 63:
12135                    case 64:
12136                    case 65:
12137                    case 66:
12138                    case 67:
12139                    case 68:
12140                    case 69:
12141                    case 70:
12142                    case 71:
12143                    case 72:
12144                    case 73:
12145                    case 74:
12146                    case 75:
12147                    case 76:
12148                    case 77:
12149                    case 78:
12150                    case 79:
12151                    case 80:
12152                        {
12153                        alt116=2;
12154                        }
12155                        break;
12156                    default:
12157                        if (backtracking>0) {failed=true; return link;}
12158                        NoViableAltException nvae =
12159                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 11, input);
12160    
12161                        throw nvae;
12162                    }
12163    
12164                    }
12165                    break;
12166                case 75:
12167                    {
12168                    int LA116_12 = input.LA(2);
12169    
12170                    if ( (LA116_12==68) ) {
12171                        int LA116_31 = input.LA(3);
12172    
12173                        if ( (LA116_31==56) ) {
12174                            int LA116_51 = input.LA(4);
12175    
12176                            if ( (LA116_51==67) ) {
12177                                int LA116_71 = input.LA(5);
12178    
12179                                if ( (LA116_71==45) ) {
12180                                    int LA116_90 = input.LA(6);
12181    
12182                                    if ( (LA116_90==64) ) {
12183                                        int LA116_107 = input.LA(7);
12184    
12185                                        if ( ((LA116_107>=FORCED_END_OF_LINE && LA116_107<=WIKI)||(LA116_107>=POUND && LA116_107<=INSIGNIFICANT_CHAR)||(LA116_107>=42 && LA116_107<=80)) ) {
12186                                            alt116=2;
12187                                        }
12188                                        else if ( (LA116_107==41) ) {
12189                                            int LA116_34 = input.LA(8);
12190    
12191                                            if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
12192                                                alt116=2;
12193                                            }
12194                                            else if ( ((LA116_34>=FORCED_END_OF_LINE && LA116_34<=WIKI)||(LA116_34>=POUND && LA116_34<=EQUAL)||(LA116_34>=ITAL && LA116_34<=NOWIKI_CLOSE)||(LA116_34>=IMAGE_CLOSE && LA116_34<=80)) ) {
12195                                                alt116=1;
12196                                            }
12197                                            else {
12198                                                if (backtracking>0) {failed=true; return link;}
12199                                                NoViableAltException nvae =
12200                                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
12201    
12202                                                throw nvae;
12203                                            }
12204                                        }
12205                                        else {
12206                                            if (backtracking>0) {failed=true; return link;}
12207                                            NoViableAltException nvae =
12208                                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 107, input);
12209    
12210                                            throw nvae;
12211                                        }
12212                                    }
12213                                    else if ( ((LA116_90>=FORCED_END_OF_LINE && LA116_90<=WIKI)||(LA116_90>=POUND && LA116_90<=63)||(LA116_90>=65 && LA116_90<=80)) ) {
12214                                        alt116=2;
12215                                    }
12216                                    else {
12217                                        if (backtracking>0) {failed=true; return link;}
12218                                        NoViableAltException nvae =
12219                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 90, input);
12220    
12221                                        throw nvae;
12222                                    }
12223                                }
12224                                else if ( ((LA116_71>=FORCED_END_OF_LINE && LA116_71<=WIKI)||(LA116_71>=POUND && LA116_71<=44)||(LA116_71>=46 && LA116_71<=80)) ) {
12225                                    alt116=2;
12226                                }
12227                                else {
12228                                    if (backtracking>0) {failed=true; return link;}
12229                                    NoViableAltException nvae =
12230                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 71, input);
12231    
12232                                    throw nvae;
12233                                }
12234                            }
12235                            else if ( ((LA116_51>=FORCED_END_OF_LINE && LA116_51<=WIKI)||(LA116_51>=POUND && LA116_51<=66)||(LA116_51>=68 && LA116_51<=80)) ) {
12236                                alt116=2;
12237                            }
12238                            else {
12239                                if (backtracking>0) {failed=true; return link;}
12240                                NoViableAltException nvae =
12241                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 51, input);
12242    
12243                                throw nvae;
12244                            }
12245                        }
12246                        else if ( ((LA116_31>=FORCED_END_OF_LINE && LA116_31<=WIKI)||(LA116_31>=POUND && LA116_31<=55)||(LA116_31>=57 && LA116_31<=80)) ) {
12247                            alt116=2;
12248                        }
12249                        else {
12250                            if (backtracking>0) {failed=true; return link;}
12251                            NoViableAltException nvae =
12252                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 31, input);
12253    
12254                            throw nvae;
12255                        }
12256                    }
12257                    else if ( ((LA116_12>=FORCED_END_OF_LINE && LA116_12<=WIKI)||(LA116_12>=POUND && LA116_12<=67)||(LA116_12>=69 && LA116_12<=80)) ) {
12258                        alt116=2;
12259                    }
12260                    else {
12261                        if (backtracking>0) {failed=true; return link;}
12262                        NoViableAltException nvae =
12263                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 12, input);
12264    
12265                        throw nvae;
12266                    }
12267                    }
12268                    break;
12269                case 48:
12270                    {
12271                    int LA116_13 = input.LA(2);
12272    
12273                    if ( (LA116_13==49) ) {
12274                        int LA116_32 = input.LA(3);
12275    
12276                        if ( (LA116_32==46) ) {
12277                            int LA116_52 = input.LA(4);
12278    
12279                            if ( (LA116_52==49) ) {
12280                                int LA116_72 = input.LA(5);
12281    
12282                                if ( (LA116_72==70) ) {
12283                                    int LA116_91 = input.LA(6);
12284    
12285                                    if ( (LA116_91==56) ) {
12286                                        int LA116_108 = input.LA(7);
12287    
12288                                        if ( (LA116_108==64) ) {
12289                                            int LA116_119 = input.LA(8);
12290    
12291                                            if ( (LA116_119==49) ) {
12292                                                int LA116_128 = input.LA(9);
12293    
12294                                                if ( (LA116_128==61) ) {
12295                                                    int LA116_132 = input.LA(10);
12296    
12297                                                    if ( ((LA116_132>=FORCED_END_OF_LINE && LA116_132<=WIKI)||(LA116_132>=POUND && LA116_132<=INSIGNIFICANT_CHAR)||(LA116_132>=42 && LA116_132<=80)) ) {
12298                                                        alt116=2;
12299                                                    }
12300                                                    else if ( (LA116_132==41) ) {
12301                                                        int LA116_34 = input.LA(11);
12302    
12303                                                        if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
12304                                                            alt116=2;
12305                                                        }
12306                                                        else if ( ((LA116_34>=FORCED_END_OF_LINE && LA116_34<=WIKI)||(LA116_34>=POUND && LA116_34<=EQUAL)||(LA116_34>=ITAL && LA116_34<=NOWIKI_CLOSE)||(LA116_34>=IMAGE_CLOSE && LA116_34<=80)) ) {
12307                                                            alt116=1;
12308                                                        }
12309                                                        else {
12310                                                            if (backtracking>0) {failed=true; return link;}
12311                                                            NoViableAltException nvae =
12312                                                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
12313    
12314                                                            throw nvae;
12315                                                        }
12316                                                    }
12317                                                    else {
12318                                                        if (backtracking>0) {failed=true; return link;}
12319                                                        NoViableAltException nvae =
12320                                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 132, input);
12321    
12322                                                        throw nvae;
12323                                                    }
12324                                                }
12325                                                else if ( ((LA116_128>=FORCED_END_OF_LINE && LA116_128<=WIKI)||(LA116_128>=POUND && LA116_128<=60)||(LA116_128>=62 && LA116_128<=80)) ) {
12326                                                    alt116=2;
12327                                                }
12328                                                else {
12329                                                    if (backtracking>0) {failed=true; return link;}
12330                                                    NoViableAltException nvae =
12331                                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 128, input);
12332    
12333                                                    throw nvae;
12334                                                }
12335                                            }
12336                                            else if ( ((LA116_119>=FORCED_END_OF_LINE && LA116_119<=WIKI)||(LA116_119>=POUND && LA116_119<=48)||(LA116_119>=50 && LA116_119<=80)) ) {
12337                                                alt116=2;
12338                                            }
12339                                            else {
12340                                                if (backtracking>0) {failed=true; return link;}
12341                                                NoViableAltException nvae =
12342                                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 119, input);
12343    
12344                                                throw nvae;
12345                                            }
12346                                        }
12347                                        else if ( ((LA116_108>=FORCED_END_OF_LINE && LA116_108<=WIKI)||(LA116_108>=POUND && LA116_108<=63)||(LA116_108>=65 && LA116_108<=80)) ) {
12348                                            alt116=2;
12349                                        }
12350                                        else {
12351                                            if (backtracking>0) {failed=true; return link;}
12352                                            NoViableAltException nvae =
12353                                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 108, input);
12354    
12355                                            throw nvae;
12356                                        }
12357                                    }
12358                                    else if ( ((LA116_91>=FORCED_END_OF_LINE && LA116_91<=WIKI)||(LA116_91>=POUND && LA116_91<=55)||(LA116_91>=57 && LA116_91<=80)) ) {
12359                                        alt116=2;
12360                                    }
12361                                    else {
12362                                        if (backtracking>0) {failed=true; return link;}
12363                                        NoViableAltException nvae =
12364                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 91, input);
12365    
12366                                        throw nvae;
12367                                    }
12368                                }
12369                                else if ( ((LA116_72>=FORCED_END_OF_LINE && LA116_72<=WIKI)||(LA116_72>=POUND && LA116_72<=69)||(LA116_72>=71 && LA116_72<=80)) ) {
12370                                    alt116=2;
12371                                }
12372                                else {
12373                                    if (backtracking>0) {failed=true; return link;}
12374                                    NoViableAltException nvae =
12375                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 72, input);
12376    
12377                                    throw nvae;
12378                                }
12379                            }
12380                            else if ( ((LA116_52>=FORCED_END_OF_LINE && LA116_52<=WIKI)||(LA116_52>=POUND && LA116_52<=48)||(LA116_52>=50 && LA116_52<=80)) ) {
12381                                alt116=2;
12382                            }
12383                            else {
12384                                if (backtracking>0) {failed=true; return link;}
12385                                NoViableAltException nvae =
12386                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 52, input);
12387    
12388                                throw nvae;
12389                            }
12390                        }
12391                        else if ( ((LA116_32>=FORCED_END_OF_LINE && LA116_32<=WIKI)||(LA116_32>=POUND && LA116_32<=45)||(LA116_32>=47 && LA116_32<=80)) ) {
12392                            alt116=2;
12393                        }
12394                        else {
12395                            if (backtracking>0) {failed=true; return link;}
12396                            NoViableAltException nvae =
12397                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 32, input);
12398    
12399                            throw nvae;
12400                        }
12401                    }
12402                    else if ( ((LA116_13>=FORCED_END_OF_LINE && LA116_13<=WIKI)||(LA116_13>=POUND && LA116_13<=48)||(LA116_13>=50 && LA116_13<=80)) ) {
12403                        alt116=2;
12404                    }
12405                    else {
12406                        if (backtracking>0) {failed=true; return link;}
12407                        NoViableAltException nvae =
12408                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 13, input);
12409    
12410                        throw nvae;
12411                    }
12412                    }
12413                    break;
12414                case 76:
12415                    {
12416                    int LA116_14 = input.LA(2);
12417    
12418                    if ( (LA116_14==48) ) {
12419                        int LA116_33 = input.LA(3);
12420    
12421                        if ( (LA116_33==49) ) {
12422                            int LA116_53 = input.LA(4);
12423    
12424                            if ( (LA116_53==46) ) {
12425                                int LA116_73 = input.LA(5);
12426    
12427                                if ( (LA116_73==49) ) {
12428                                    int LA116_92 = input.LA(6);
12429    
12430                                    if ( ((LA116_92>=FORCED_END_OF_LINE && LA116_92<=WIKI)||(LA116_92>=POUND && LA116_92<=INSIGNIFICANT_CHAR)||(LA116_92>=42 && LA116_92<=80)) ) {
12431                                        alt116=2;
12432                                    }
12433                                    else if ( (LA116_92==41) ) {
12434                                        int LA116_34 = input.LA(7);
12435    
12436                                        if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
12437                                            alt116=2;
12438                                        }
12439                                        else if ( ((LA116_34>=FORCED_END_OF_LINE && LA116_34<=WIKI)||(LA116_34>=POUND && LA116_34<=EQUAL)||(LA116_34>=ITAL && LA116_34<=NOWIKI_CLOSE)||(LA116_34>=IMAGE_CLOSE && LA116_34<=80)) ) {
12440                                            alt116=1;
12441                                        }
12442                                        else {
12443                                            if (backtracking>0) {failed=true; return link;}
12444                                            NoViableAltException nvae =
12445                                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
12446    
12447                                            throw nvae;
12448                                        }
12449                                    }
12450                                    else {
12451                                        if (backtracking>0) {failed=true; return link;}
12452                                        NoViableAltException nvae =
12453                                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 92, input);
12454    
12455                                        throw nvae;
12456                                    }
12457                                }
12458                                else if ( ((LA116_73>=FORCED_END_OF_LINE && LA116_73<=WIKI)||(LA116_73>=POUND && LA116_73<=48)||(LA116_73>=50 && LA116_73<=80)) ) {
12459                                    alt116=2;
12460                                }
12461                                else {
12462                                    if (backtracking>0) {failed=true; return link;}
12463                                    NoViableAltException nvae =
12464                                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 73, input);
12465    
12466                                    throw nvae;
12467                                }
12468                            }
12469                            else if ( ((LA116_53>=FORCED_END_OF_LINE && LA116_53<=WIKI)||(LA116_53>=POUND && LA116_53<=45)||(LA116_53>=47 && LA116_53<=80)) ) {
12470                                alt116=2;
12471                            }
12472                            else {
12473                                if (backtracking>0) {failed=true; return link;}
12474                                NoViableAltException nvae =
12475                                    new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 53, input);
12476    
12477                                throw nvae;
12478                            }
12479                        }
12480                        else if ( ((LA116_33>=FORCED_END_OF_LINE && LA116_33<=WIKI)||(LA116_33>=POUND && LA116_33<=48)||(LA116_33>=50 && LA116_33<=80)) ) {
12481                            alt116=2;
12482                        }
12483                        else {
12484                            if (backtracking>0) {failed=true; return link;}
12485                            NoViableAltException nvae =
12486                                new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 33, input);
12487    
12488                            throw nvae;
12489                        }
12490                    }
12491                    else if ( ((LA116_14>=FORCED_END_OF_LINE && LA116_14<=WIKI)||(LA116_14>=POUND && LA116_14<=47)||(LA116_14>=49 && LA116_14<=80)) ) {
12492                        alt116=2;
12493                    }
12494                    else {
12495                        if (backtracking>0) {failed=true; return link;}
12496                        NoViableAltException nvae =
12497                            new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 14, input);
12498    
12499                        throw nvae;
12500                    }
12501                    }
12502                    break;
12503                case FORCED_END_OF_LINE:
12504                case HEADING_SECTION:
12505                case HORIZONTAL_SECTION:
12506                case LIST_ITEM:
12507                case LIST_ITEM_PART:
12508                case NOWIKI_SECTION:
12509                case SCAPE_NODE:
12510                case TEXT_NODE:
12511                case UNORDERED_LIST:
12512                case UNFORMATTED_TEXT:
12513                case WIKI:
12514                case POUND:
12515                case STAR:
12516                case EQUAL:
12517                case ITAL:
12518                case LINK_OPEN:
12519                case IMAGE_OPEN:
12520                case NOWIKI_OPEN:
12521                case EXTENSION:
12522                case FORCED_LINEBREAK:
12523                case ESCAPE:
12524                case NOWIKI_BLOCK_CLOSE:
12525                case NOWIKI_CLOSE:
12526                case IMAGE_CLOSE:
12527                case BLANKS:
12528                case DASH:
12529                case CR:
12530                case LF:
12531                case SPACE:
12532                case TABULATOR:
12533                case BRACE_CLOSE:
12534                case COLON_SLASH:
12535                case SLASH:
12536                case INSIGNIFICANT_CHAR:
12537                case 41:
12538                case 43:
12539                case 45:
12540                case 46:
12541                case 47:
12542                case 49:
12543                case 51:
12544                case 52:
12545                case 53:
12546                case 55:
12547                case 56:
12548                case 61:
12549                case 62:
12550                case 63:
12551                case 64:
12552                case 65:
12553                case 67:
12554                case 68:
12555                case 69:
12556                case 70:
12557                case 72:
12558                case 74:
12559                case 77:
12560                case 78:
12561                case 79:
12562                case 80:
12563                    {
12564                    alt116=2;
12565                    }
12566                    break;
12567                default:
12568                    if (backtracking>0) {failed=true; return link;}
12569                    NoViableAltException nvae =
12570                        new NoViableAltException("836:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 0, input);
12571    
12572                    throw nvae;
12573                }
12574    
12575                switch (alt116) {
12576                    case 1 :
12577                        // Creole10.g:837:4: li= link_interwiki_uri ':' p= link_interwiki_pagename
12578                        {
12579                        pushFollow(FOLLOW_link_interwiki_uri_in_link_address3273);
12580                        li=link_interwiki_uri();
12581                        _fsp--;
12582                        if (failed) return link;
12583                        match(input,41,FOLLOW_41_in_link_address3276); if (failed) return link;
12584                        pushFollow(FOLLOW_link_interwiki_pagename_in_link_address3283);
12585                        p=link_interwiki_pagename();
12586                        _fsp--;
12587                        if (failed) return link;
12588                        if ( backtracking==0 ) {
12589    
12590                                                                    li.setTitle(p.toString());
12591                                                                    link = li;
12592                                                            
12593                        }
12594    
12595                        }
12596                        break;
12597                    case 2 :
12598                        // Creole10.g:841:4: lu= link_uri
12599                        {
12600                        pushFollow(FOLLOW_link_uri_in_link_address3294);
12601                        lu=link_uri();
12602                        _fsp--;
12603                        if (failed) return link;
12604                        if ( backtracking==0 ) {
12605                          link = new LinkNode(lu.toString()); 
12606                        }
12607    
12608                        }
12609                        break;
12610    
12611                }
12612            }
12613            catch (RecognitionException re) {
12614                reportError(re);
12615                recover(input,re);
12616            }
12617            finally {
12618            }
12619            return link;
12620        }
12621        // $ANTLR end link_address
12622    
12623    
12624        // $ANTLR start link_interwiki_uri
12625        // Creole10.g:843:1: link_interwiki_uri returns [InterwikiLinkNode interwiki = null] : ( 'C' '2' | 'D' 'o' 'k' 'u' 'W' 'i' 'k' 'i' | 'F' 'l' 'i' 'c' 'k' 'r' | 'G' 'o' 'o' 'g' 'l' 'e' | 'J' 'S' 'P' 'W' 'i' 'k' 'i' | 'M' 'e' 'a' 't' 'b' 'a' 'l' 'l' | 'M' 'e' 'd' 'i' 'a' 'W' 'i' 'k' 'i' | 'M' 'o' 'i' 'n' 'M' 'o' 'i' 'n' | 'O' 'd' 'd' 'm' 'u' 's' 'e' | 'O' 'h' 'a' 'n' 'a' | 'P' 'm' 'W' 'i' 'k' 'i' | 'P' 'u' 'k' 'i' 'W' 'i' 'k' 'i' | 'P' 'u' 'r' 'p' 'l' 'e' 'W' 'i' 'k' 'i' | 'R' 'a' 'd' 'e' 'o' 'x' | 'S' 'n' 'i' 'p' 'S' 'n' 'a' 'p' | 'T' 'i' 'd' 'd' 'l' 'y' 'W' 'i' 'k' 'i' | 'T' 'W' 'i' 'k' 'i' | 'U' 's' 'e' 'm' 'o' 'd' | 'W' 'i' 'k' 'i' 'p' 'e' 'd' 'i' 'a' | 'X' 'W' 'i' 'k' 'i' );
12626        public final InterwikiLinkNode link_interwiki_uri() throws RecognitionException {
12627            InterwikiLinkNode interwiki =  null;
12628    
12629            try {
12630                // Creole10.g:844:2: ( 'C' '2' | 'D' 'o' 'k' 'u' 'W' 'i' 'k' 'i' | 'F' 'l' 'i' 'c' 'k' 'r' | 'G' 'o' 'o' 'g' 'l' 'e' | 'J' 'S' 'P' 'W' 'i' 'k' 'i' | 'M' 'e' 'a' 't' 'b' 'a' 'l' 'l' | 'M' 'e' 'd' 'i' 'a' 'W' 'i' 'k' 'i' | 'M' 'o' 'i' 'n' 'M' 'o' 'i' 'n' | 'O' 'd' 'd' 'm' 'u' 's' 'e' | 'O' 'h' 'a' 'n' 'a' | 'P' 'm' 'W' 'i' 'k' 'i' | 'P' 'u' 'k' 'i' 'W' 'i' 'k' 'i' | 'P' 'u' 'r' 'p' 'l' 'e' 'W' 'i' 'k' 'i' | 'R' 'a' 'd' 'e' 'o' 'x' | 'S' 'n' 'i' 'p' 'S' 'n' 'a' 'p' | 'T' 'i' 'd' 'd' 'l' 'y' 'W' 'i' 'k' 'i' | 'T' 'W' 'i' 'k' 'i' | 'U' 's' 'e' 'm' 'o' 'd' | 'W' 'i' 'k' 'i' 'p' 'e' 'd' 'i' 'a' | 'X' 'W' 'i' 'k' 'i' )
12631                int alt117=20;
12632                switch ( input.LA(1) ) {
12633                case 42:
12634                    {
12635                    alt117=1;
12636                    }
12637                    break;
12638                case 44:
12639                    {
12640                    alt117=2;
12641                    }
12642                    break;
12643                case 50:
12644                    {
12645                    alt117=3;
12646                    }
12647                    break;
12648                case 54:
12649                    {
12650                    alt117=4;
12651                    }
12652                    break;
12653                case 57:
12654                    {
12655                    alt117=5;
12656                    }
12657                    break;
12658                case 60:
12659                    {
12660                    int LA117_6 = input.LA(2);
12661    
12662                    if ( (LA117_6==45) ) {
12663                        alt117=8;
12664                    }
12665                    else if ( (LA117_6==56) ) {
12666                        int LA117_16 = input.LA(3);
12667    
12668                        if ( (LA117_16==61) ) {
12669                            alt117=6;
12670                        }
12671                        else if ( (LA117_16==64) ) {
12672                            alt117=7;
12673                        }
12674                        else {
12675                            if (backtracking>0) {failed=true; return interwiki;}
12676                            NoViableAltException nvae =
12677                                new NoViableAltException("843:1: link_interwiki_uri returns [InterwikiLinkNode interwiki = null] : ( 'C' '2' | 'D' 'o' 'k' 'u' 'W' 'i' 'k' 'i' | 'F' 'l' 'i' 'c' 'k' 'r' | 'G' 'o' 'o' 'g' 'l' 'e' | 'J' 'S' 'P' 'W' 'i' 'k' 'i' | 'M' 'e' 'a' 't' 'b' 'a' 'l' 'l' | 'M' 'e' 'd' 'i' 'a' 'W' 'i' 'k' 'i' | 'M' 'o' 'i' 'n' 'M' 'o' 'i' 'n' | 'O' 'd' 'd' 'm' 'u' 's' 'e' | 'O' 'h' 'a' 'n' 'a' | 'P' 'm' 'W' 'i' 'k' 'i' | 'P' 'u' 'k' 'i' 'W' 'i' 'k' 'i' | 'P' 'u' 'r' 'p' 'l' 'e' 'W' 'i' 'k' 'i' | 'R' 'a' 'd' 'e' 'o' 'x' | 'S' 'n' 'i' 'p' 'S' 'n' 'a' 'p' | 'T' 'i' 'd' 'd' 'l' 'y' 'W' 'i' 'k' 'i' | 'T' 'W' 'i' 'k' 'i' | 'U' 's' 'e' 'm' 'o' 'd' | 'W' 'i' 'k' 'i' 'p' 'e' 'd' 'i' 'a' | 'X' 'W' 'i' 'k' 'i' );", 117, 16, input);
12678    
12679                            throw nvae;
12680                        }
12681                    }
12682                    else {
12683                        if (backtracking>0) {failed=true; return interwiki;}
12684                        NoViableAltException nvae =
12685                            new NoViableAltException("843:1: link_interwiki_uri returns [InterwikiLinkNode interwiki = null] : ( 'C' '2' | 'D' 'o' 'k' 'u' 'W' 'i' 'k' 'i' | 'F' 'l' 'i' 'c' 'k' 'r' | 'G' 'o' 'o' 'g' 'l' 'e' | 'J' 'S' 'P' 'W' 'i' 'k' 'i' | 'M' 'e' 'a' 't' 'b' 'a' 'l' 'l' | 'M' 'e' 'd' 'i' 'a' 'W' 'i' 'k' 'i' | 'M' 'o' 'i' 'n' 'M' 'o' 'i' 'n' | 'O' 'd' 'd' 'm' 'u' 's' 'e' | 'O' 'h' 'a' 'n' 'a' | 'P' 'm' 'W' 'i' 'k' 'i' | 'P' 'u' 'k' 'i' 'W' 'i' 'k' 'i' | 'P' 'u' 'r' 'p' 'l' 'e' 'W' 'i' 'k' 'i' | 'R' 'a' 'd' 'e' 'o' 'x' | 'S' 'n' 'i' 'p' 'S' 'n' 'a' 'p' | 'T' 'i' 'd' 'd' 'l' 'y' 'W' 'i' 'k' 'i' | 'T' 'W' 'i' 'k' 'i' | 'U' 's' 'e' 'm' 'o' 'd' | 'W' 'i' 'k' 'i' 'p' 'e' 'd' 'i' 'a' | 'X' 'W' 'i' 'k' 'i' );", 117, 6, input);
12686    
12687                        throw nvae;
12688                    }
12689                    }
12690                    break;
12691                case 66:
12692                    {
12693                    int LA117_7 = input.LA(2);
12694    
12695                    if ( (LA117_7==69) ) {
12696                        alt117=10;
12697                    }
12698                    else if ( (LA117_7==64) ) {
12699                        alt117=9;
12700                    }
12701                    else {
12702                        if (backtracking>0) {failed=true; return interwiki;}
12703                        NoViableAltException nvae =
12704                            new NoViableAltException("843:1: link_interwiki_uri returns [InterwikiLinkNode interwiki = null] : ( 'C' '2' | 'D' 'o' 'k' 'u' 'W' 'i' 'k' 'i' | 'F' 'l' 'i' 'c' 'k' 'r' | 'G' 'o' 'o' 'g' 'l' 'e' | 'J' 'S' 'P' 'W' 'i' 'k' 'i' | 'M' 'e' 'a' 't' 'b' 'a' 'l' 'l' | 'M' 'e' 'd' 'i' 'a' 'W' 'i' 'k' 'i' | 'M' 'o' 'i' 'n' 'M' 'o' 'i' 'n' | 'O' 'd' 'd' 'm' 'u' 's' 'e' | 'O' 'h' 'a' 'n' 'a' | 'P' 'm' 'W' 'i' 'k' 'i' | 'P' 'u' 'k' 'i' 'W' 'i' 'k' 'i' | 'P' 'u' 'r' 'p' 'l' 'e' 'W' 'i' 'k' 'i' | 'R' 'a' 'd' 'e' 'o' 'x' | 'S' 'n' 'i' 'p' 'S' 'n' 'a' 'p' | 'T' 'i' 'd' 'd' 'l' 'y' 'W' 'i' 'k' 'i' | 'T' 'W' 'i' 'k' 'i' | 'U' 's' 'e' 'm' 'o' 'd' | 'W' 'i' 'k' 'i' 'p' 'e' 'd' 'i' 'a' | 'X' 'W' 'i' 'k' 'i' );", 117, 7, input);
12705    
12706                        throw nvae;
12707                    }
12708                    }
12709                    break;
12710                case 59:
12711                    {
12712                    int LA117_8 = input.LA(2);
12713    
12714                    if ( (LA117_8==47) ) {
12715                        int LA117_19 = input.LA(3);
12716    
12717                        if ( (LA117_19==53) ) {
12718                            alt117=13;
12719                        }
12720                        else if ( (LA117_19==46) ) {
12721                            alt117=12;
12722                        }
12723                        else {
12724                            if (backtracking>0) {failed=true; return interwiki;}
12725                            NoViableAltException nvae =
12726                                new NoViableAltException("843:1: link_interwiki_uri returns [InterwikiLinkNode interwiki = null] : ( 'C' '2' | 'D' 'o' 'k' 'u' 'W' 'i' 'k' 'i' | 'F' 'l' 'i' 'c' 'k' 'r' | 'G' 'o' 'o' 'g' 'l' 'e' | 'J' 'S' 'P' 'W' 'i' 'k' 'i' | 'M' 'e' 'a' 't' 'b' 'a' 'l' 'l' | 'M' 'e' 'd' 'i' 'a' 'W' 'i' 'k' 'i' | 'M' 'o' 'i' 'n' 'M' 'o' 'i' 'n' | 'O' 'd' 'd' 'm' 'u' 's' 'e' | 'O' 'h' 'a' 'n' 'a' | 'P' 'm' 'W' 'i' 'k' 'i' | 'P' 'u' 'k' 'i' 'W' 'i' 'k' 'i' | 'P' 'u' 'r' 'p' 'l' 'e' 'W' 'i' 'k' 'i' | 'R' 'a' 'd' 'e' 'o' 'x' | 'S' 'n' 'i' 'p' 'S' 'n' 'a' 'p' | 'T' 'i' 'd' 'd' 'l' 'y' 'W' 'i' 'k' 'i' | 'T' 'W' 'i' 'k' 'i' | 'U' 's' 'e' 'm' 'o' 'd' | 'W' 'i' 'k' 'i' 'p' 'e' 'd' 'i' 'a' | 'X' 'W' 'i' 'k' 'i' );", 117, 19, input);
12727    
12728                            throw nvae;
12729                        }
12730                    }
12731                    else if ( (LA117_8==67) ) {
12732                        alt117=11;
12733                    }
12734                    else {
12735                        if (backtracking>0) {failed=true; return interwiki;}
12736                        NoViableAltException nvae =
12737                            new NoViableAltException("843:1: link_interwiki_uri returns [InterwikiLinkNode interwiki = null] : ( 'C' '2' | 'D' 'o' 'k' 'u' 'W' 'i' 'k' 'i' | 'F' 'l' 'i' 'c' 'k' 'r' | 'G' 'o' 'o' 'g' 'l' 'e' | 'J' 'S' 'P' 'W' 'i' 'k' 'i' | 'M' 'e' 'a' 't' 'b' 'a' 'l' 'l' | 'M' 'e' 'd' 'i' 'a' 'W' 'i' 'k' 'i' | 'M' 'o' 'i' 'n' 'M' 'o' 'i' 'n' | 'O' 'd' 'd' 'm' 'u' 's' 'e' | 'O' 'h' 'a' 'n' 'a' | 'P' 'm' 'W' 'i' 'k' 'i' | 'P' 'u' 'k' 'i' 'W' 'i' 'k' 'i' | 'P' 'u' 'r' 'p' 'l' 'e' 'W' 'i' 'k' 'i' | 'R' 'a' 'd' 'e' 'o' 'x' | 'S' 'n' 'i' 'p' 'S' 'n' 'a' 'p' | 'T' 'i' 'd' 'd' 'l' 'y' 'W' 'i' 'k' 'i' | 'T' 'W' 'i' 'k' 'i' | 'U' 's' 'e' 'm' 'o' 'd' | 'W' 'i' 'k' 'i' 'p' 'e' 'd' 'i' 'a' | 'X' 'W' 'i' 'k' 'i' );", 117, 8, input);
12738    
12739                        throw nvae;
12740                    }
12741                    }
12742                    break;
12743                case 71:
12744                    {
12745                    alt117=14;
12746                    }
12747                    break;
12748                case 58:
12749                    {
12750                    alt117=15;
12751                    }
12752                    break;
12753                case 73:
12754                    {
12755                    int LA117_11 = input.LA(2);
12756    
12757                    if ( (LA117_11==49) ) {
12758                        alt117=16;
12759                    }
12760                    else if ( (LA117_11==48) ) {
12761                        alt117=17;
12762                    }
12763                    else {
12764                        if (backtracking>0) {failed=true; return interwiki;}
12765                        NoViableAltException nvae =
12766                            new NoViableAltException("843:1: link_interwiki_uri returns [InterwikiLinkNode interwiki = null] : ( 'C' '2' | 'D' 'o' 'k' 'u' 'W' 'i' 'k' 'i' | 'F' 'l' 'i' 'c' 'k' 'r' | 'G' 'o' 'o' 'g' 'l' 'e' | 'J' 'S' 'P' 'W' 'i' 'k' 'i' | 'M' 'e' 'a' 't' 'b' 'a' 'l' 'l' | 'M' 'e' 'd' 'i' 'a' 'W' 'i' 'k' 'i' | 'M' 'o' 'i' 'n' 'M' 'o' 'i' 'n' | 'O' 'd' 'd' 'm' 'u' 's' 'e' | 'O' 'h' 'a' 'n' 'a' | 'P' 'm' 'W' 'i' 'k' 'i' | 'P' 'u' 'k' 'i' 'W' 'i' 'k' 'i' | 'P' 'u' 'r' 'p' 'l' 'e' 'W' 'i' 'k' 'i' | 'R' 'a' 'd' 'e' 'o' 'x' | 'S' 'n' 'i' 'p' 'S' 'n' 'a' 'p' | 'T' 'i' 'd' 'd' 'l' 'y' 'W' 'i' 'k' 'i' | 'T' 'W' 'i' 'k' 'i' | 'U' 's' 'e' 'm' 'o' 'd' | 'W' 'i' 'k' 'i' 'p' 'e' 'd' 'i' 'a' | 'X' 'W' 'i' 'k' 'i' );", 117, 11, input);
12767    
12768                        throw nvae;
12769                    }
12770                    }
12771                    break;
12772                case 75:
12773                    {
12774                    alt117=18;
12775                    }
12776                    break;
12777                case 48:
12778                    {
12779                    alt117=19;
12780                    }
12781                    break;
12782                case 76:
12783                    {
12784                    alt117=20;
12785                    }
12786                    break;
12787                default:
12788                    if (backtracking>0) {failed=true; return interwiki;}
12789                    NoViableAltException nvae =
12790                        new NoViableAltException("843:1: link_interwiki_uri returns [InterwikiLinkNode interwiki = null] : ( 'C' '2' | 'D' 'o' 'k' 'u' 'W' 'i' 'k' 'i' | 'F' 'l' 'i' 'c' 'k' 'r' | 'G' 'o' 'o' 'g' 'l' 'e' | 'J' 'S' 'P' 'W' 'i' 'k' 'i' | 'M' 'e' 'a' 't' 'b' 'a' 'l' 'l' | 'M' 'e' 'd' 'i' 'a' 'W' 'i' 'k' 'i' | 'M' 'o' 'i' 'n' 'M' 'o' 'i' 'n' | 'O' 'd' 'd' 'm' 'u' 's' 'e' | 'O' 'h' 'a' 'n' 'a' | 'P' 'm' 'W' 'i' 'k' 'i' | 'P' 'u' 'k' 'i' 'W' 'i' 'k' 'i' | 'P' 'u' 'r' 'p' 'l' 'e' 'W' 'i' 'k' 'i' | 'R' 'a' 'd' 'e' 'o' 'x' | 'S' 'n' 'i' 'p' 'S' 'n' 'a' 'p' | 'T' 'i' 'd' 'd' 'l' 'y' 'W' 'i' 'k' 'i' | 'T' 'W' 'i' 'k' 'i' | 'U' 's' 'e' 'm' 'o' 'd' | 'W' 'i' 'k' 'i' 'p' 'e' 'd' 'i' 'a' | 'X' 'W' 'i' 'k' 'i' );", 117, 0, input);
12791    
12792                    throw nvae;
12793                }
12794    
12795                switch (alt117) {
12796                    case 1 :
12797                        // Creole10.g:844:4: 'C' '2'
12798                        {
12799                        match(input,42,FOLLOW_42_in_link_interwiki_uri3310); if (failed) return interwiki;
12800                        match(input,43,FOLLOW_43_in_link_interwiki_uri3312); if (failed) return interwiki;
12801                        if ( backtracking==0 ) {
12802                           interwiki = new C2InterwikiLinkNode(); 
12803                        }
12804    
12805                        }
12806                        break;
12807                    case 2 :
12808                        // Creole10.g:845:4: 'D' 'o' 'k' 'u' 'W' 'i' 'k' 'i'
12809                        {
12810                        match(input,44,FOLLOW_44_in_link_interwiki_uri3319); if (failed) return interwiki;
12811                        match(input,45,FOLLOW_45_in_link_interwiki_uri3321); if (failed) return interwiki;
12812                        match(input,46,FOLLOW_46_in_link_interwiki_uri3323); if (failed) return interwiki;
12813                        match(input,47,FOLLOW_47_in_link_interwiki_uri3325); if (failed) return interwiki;
12814                        match(input,48,FOLLOW_48_in_link_interwiki_uri3327); if (failed) return interwiki;
12815                        match(input,49,FOLLOW_49_in_link_interwiki_uri3329); if (failed) return interwiki;
12816                        match(input,46,FOLLOW_46_in_link_interwiki_uri3331); if (failed) return interwiki;
12817                        match(input,49,FOLLOW_49_in_link_interwiki_uri3333); if (failed) return interwiki;
12818                        if ( backtracking==0 ) {
12819                           interwiki = new DokuWikiInterwikiLinkNode(); 
12820                        }
12821    
12822                        }
12823                        break;
12824                    case 3 :
12825                        // Creole10.g:846:4: 'F' 'l' 'i' 'c' 'k' 'r'
12826                        {
12827                        match(input,50,FOLLOW_50_in_link_interwiki_uri3340); if (failed) return interwiki;
12828                        match(input,51,FOLLOW_51_in_link_interwiki_uri3342); if (failed) return interwiki;
12829                        match(input,49,FOLLOW_49_in_link_interwiki_uri3344); if (failed) return interwiki;
12830                        match(input,52,FOLLOW_52_in_link_interwiki_uri3346); if (failed) return interwiki;
12831                        match(input,46,FOLLOW_46_in_link_interwiki_uri3348); if (failed) return interwiki;
12832                        match(input,53,FOLLOW_53_in_link_interwiki_uri3350); if (failed) return interwiki;
12833                        if ( backtracking==0 ) {
12834                           interwiki = new FlickrInterwikiLinkNode(); 
12835                        }
12836    
12837                        }
12838                        break;
12839                    case 4 :
12840                        // Creole10.g:847:4: 'G' 'o' 'o' 'g' 'l' 'e'
12841                        {
12842                        match(input,54,FOLLOW_54_in_link_interwiki_uri3358); if (failed) return interwiki;
12843                        match(input,45,FOLLOW_45_in_link_interwiki_uri3360); if (failed) return interwiki;
12844                        match(input,45,FOLLOW_45_in_link_interwiki_uri3362); if (failed) return interwiki;
12845                        match(input,55,FOLLOW_55_in_link_interwiki_uri3364); if (failed) return interwiki;
12846                        match(input,51,FOLLOW_51_in_link_interwiki_uri3366); if (failed) return interwiki;
12847                        match(input,56,FOLLOW_56_in_link_interwiki_uri3368); if (failed) return interwiki;
12848                        if ( backtracking==0 ) {
12849                           interwiki = new GoogleInterwikiLinkNode(); 
12850                        }
12851    
12852                        }
12853                        break;
12854                    case 5 :
12855                        // Creole10.g:848:4: 'J' 'S' 'P' 'W' 'i' 'k' 'i'
12856                        {
12857                        match(input,57,FOLLOW_57_in_link_interwiki_uri3375); if (failed) return interwiki;
12858                        match(input,58,FOLLOW_58_in_link_interwiki_uri3377); if (failed) return interwiki;
12859                        match(input,59,FOLLOW_59_in_link_interwiki_uri3379); if (failed) return interwiki;
12860                        match(input,48,FOLLOW_48_in_link_interwiki_uri3381); if (failed) return interwiki;
12861                        match(input,49,FOLLOW_49_in_link_interwiki_uri3383); if (failed) return interwiki;
12862                        match(input,46,FOLLOW_46_in_link_interwiki_uri3385); if (failed) return interwiki;
12863                        match(input,49,FOLLOW_49_in_link_interwiki_uri3387); if (failed) return interwiki;
12864                        if ( backtracking==0 ) {
12865                           interwiki = new JSPWikiInterwikiLinkNode(); 
12866                        }
12867    
12868                        }
12869                        break;
12870                    case 6 :
12871                        // Creole10.g:849:4: 'M' 'e' 'a' 't' 'b' 'a' 'l' 'l'
12872                        {
12873                        match(input,60,FOLLOW_60_in_link_interwiki_uri3394); if (failed) return interwiki;
12874                        match(input,56,FOLLOW_56_in_link_interwiki_uri3396); if (failed) return interwiki;
12875                        match(input,61,FOLLOW_61_in_link_interwiki_uri3398); if (failed) return interwiki;
12876                        match(input,62,FOLLOW_62_in_link_interwiki_uri3400); if (failed) return interwiki;
12877                        match(input,63,FOLLOW_63_in_link_interwiki_uri3402); if (failed) return interwiki;
12878                        match(input,61,FOLLOW_61_in_link_interwiki_uri3404); if (failed) return interwiki;
12879                        match(input,51,FOLLOW_51_in_link_interwiki_uri3406); if (failed) return interwiki;
12880                        match(input,51,FOLLOW_51_in_link_interwiki_uri3408); if (failed) return interwiki;
12881                        if ( backtracking==0 ) {
12882                           interwiki = new MeatballInterwikiLinkNode(); 
12883                        }
12884    
12885                        }
12886                        break;
12887                    case 7 :
12888                        // Creole10.g:850:4: 'M' 'e' 'd' 'i' 'a' 'W' 'i' 'k' 'i'
12889                        {
12890                        match(input,60,FOLLOW_60_in_link_interwiki_uri3415); if (failed) return interwiki;
12891                        match(input,56,FOLLOW_56_in_link_interwiki_uri3417); if (failed) return interwiki;
12892                        match(input,64,FOLLOW_64_in_link_interwiki_uri3419); if (failed) return interwiki;
12893                        match(input,49,FOLLOW_49_in_link_interwiki_uri3421); if (failed) return interwiki;
12894                        match(input,61,FOLLOW_61_in_link_interwiki_uri3423); if (failed) return interwiki;
12895                        match(input,48,FOLLOW_48_in_link_interwiki_uri3425); if (failed) return interwiki;
12896                        match(input,49,FOLLOW_49_in_link_interwiki_uri3427); if (failed) return interwiki;
12897                        match(input,46,FOLLOW_46_in_link_interwiki_uri3429); if (failed) return interwiki;
12898                        match(input,49,FOLLOW_49_in_link_interwiki_uri3431); if (failed) return interwiki;
12899                        if ( backtracking==0 ) {
12900                           interwiki = new MediaWikiInterwikiLinkNode(); 
12901                        }
12902    
12903                        }
12904                        break;
12905                    case 8 :
12906                        // Creole10.g:851:4: 'M' 'o' 'i' 'n' 'M' 'o' 'i' 'n'
12907                        {
12908                        match(input,60,FOLLOW_60_in_link_interwiki_uri3438); if (failed) return interwiki;
12909                        match(input,45,FOLLOW_45_in_link_interwiki_uri3440); if (failed) return interwiki;
12910                        match(input,49,FOLLOW_49_in_link_interwiki_uri3442); if (failed) return interwiki;
12911                        match(input,65,FOLLOW_65_in_link_interwiki_uri3444); if (failed) return interwiki;
12912                        match(input,60,FOLLOW_60_in_link_interwiki_uri3446); if (failed) return interwiki;
12913                        match(input,45,FOLLOW_45_in_link_interwiki_uri3448); if (failed) return interwiki;
12914                        match(input,49,FOLLOW_49_in_link_interwiki_uri3450); if (failed) return interwiki;
12915                        match(input,65,FOLLOW_65_in_link_interwiki_uri3452); if (failed) return interwiki;
12916                        if ( backtracking==0 ) {
12917                           interwiki = new MoinMoinInterwikiLinkNode(); 
12918                        }
12919    
12920                        }
12921                        break;
12922                    case 9 :
12923                        // Creole10.g:852:4: 'O' 'd' 'd' 'm' 'u' 's' 'e'
12924                        {
12925                        match(input,66,FOLLOW_66_in_link_interwiki_uri3460); if (failed) return interwiki;
12926                        match(input,64,FOLLOW_64_in_link_interwiki_uri3462); if (failed) return interwiki;
12927                        match(input,64,FOLLOW_64_in_link_interwiki_uri3464); if (failed) return interwiki;
12928                        match(input,67,FOLLOW_67_in_link_interwiki_uri3466); if (failed) return interwiki;
12929                        match(input,47,FOLLOW_47_in_link_interwiki_uri3468); if (failed) return interwiki;
12930                        match(input,68,FOLLOW_68_in_link_interwiki_uri3470); if (failed) return interwiki;
12931                        match(input,56,FOLLOW_56_in_link_interwiki_uri3472); if (failed) return interwiki;
12932                        if ( backtracking==0 ) {
12933                           interwiki = new OddmuseInterwikiLinkNode(); 
12934                        }
12935    
12936                        }
12937                        break;
12938                    case 10 :
12939                        // Creole10.g:853:4: 'O' 'h' 'a' 'n' 'a'
12940                        {
12941                        match(input,66,FOLLOW_66_in_link_interwiki_uri3480); if (failed) return interwiki;
12942                        match(input,69,FOLLOW_69_in_link_interwiki_uri3482); if (failed) return interwiki;
12943                        match(input,61,FOLLOW_61_in_link_interwiki_uri3484); if (failed) return interwiki;
12944                        match(input,65,FOLLOW_65_in_link_interwiki_uri3486); if (failed) return interwiki;
12945                        match(input,61,FOLLOW_61_in_link_interwiki_uri3488); if (failed) return interwiki;
12946                        if ( backtracking==0 ) {
12947                           interwiki = new OhanaInterwikiLinkNode(); 
12948                        }
12949    
12950                        }
12951                        break;
12952                    case 11 :
12953                        // Creole10.g:854:4: 'P' 'm' 'W' 'i' 'k' 'i'
12954                        {
12955                        match(input,59,FOLLOW_59_in_link_interwiki_uri3495); if (failed) return interwiki;
12956                        match(input,67,FOLLOW_67_in_link_interwiki_uri3497); if (failed) return interwiki;
12957                        match(input,48,FOLLOW_48_in_link_interwiki_uri3499); if (failed) return interwiki;
12958                        match(input,49,FOLLOW_49_in_link_interwiki_uri3501); if (failed) return interwiki;
12959                        match(input,46,FOLLOW_46_in_link_interwiki_uri3503); if (failed) return interwiki;
12960                        match(input,49,FOLLOW_49_in_link_interwiki_uri3505); if (failed) return interwiki;
12961                        if ( backtracking==0 ) {
12962                           interwiki = new PmWikiInterwikiLinkNode(); 
12963                        }
12964    
12965                        }
12966                        break;
12967                    case 12 :
12968                        // Creole10.g:855:4: 'P' 'u' 'k' 'i' 'W' 'i' 'k' 'i'
12969                        {
12970                        match(input,59,FOLLOW_59_in_link_interwiki_uri3513); if (failed) return interwiki;
12971                        match(input,47,FOLLOW_47_in_link_interwiki_uri3515); if (failed) return interwiki;
12972                        match(input,46,FOLLOW_46_in_link_interwiki_uri3517); if (failed) return interwiki;
12973                        match(input,49,FOLLOW_49_in_link_interwiki_uri3519); if (failed) return interwiki;
12974                        match(input,48,FOLLOW_48_in_link_interwiki_uri3521); if (failed) return interwiki;
12975                        match(input,49,FOLLOW_49_in_link_interwiki_uri3523); if (failed) return interwiki;
12976                        match(input,46,FOLLOW_46_in_link_interwiki_uri3525); if (failed) return interwiki;
12977                        match(input,49,FOLLOW_49_in_link_interwiki_uri3527); if (failed) return interwiki;
12978                        if ( backtracking==0 ) {
12979                           interwiki = new PukiWikiInterwikiLinkNode(); 
12980                        }
12981    
12982                        }
12983                        break;
12984                    case 13 :
12985                        // Creole10.g:856:4: 'P' 'u' 'r' 'p' 'l' 'e' 'W' 'i' 'k' 'i'
12986                        {
12987                        match(input,59,FOLLOW_59_in_link_interwiki_uri3535); if (failed) return interwiki;
12988                        match(input,47,FOLLOW_47_in_link_interwiki_uri3537); if (failed) return interwiki;
12989                        match(input,53,FOLLOW_53_in_link_interwiki_uri3539); if (failed) return interwiki;
12990                        match(input,70,FOLLOW_70_in_link_interwiki_uri3541); if (failed) return interwiki;
12991                        match(input,51,FOLLOW_51_in_link_interwiki_uri3543); if (failed) return interwiki;
12992                        match(input,56,FOLLOW_56_in_link_interwiki_uri3545); if (failed) return interwiki;
12993                        match(input,48,FOLLOW_48_in_link_interwiki_uri3547); if (failed) return interwiki;
12994                        match(input,49,FOLLOW_49_in_link_interwiki_uri3549); if (failed) return interwiki;
12995                        match(input,46,FOLLOW_46_in_link_interwiki_uri3551); if (failed) return interwiki;
12996                        match(input,49,FOLLOW_49_in_link_interwiki_uri3553); if (failed) return interwiki;
12997                        if ( backtracking==0 ) {
12998                           interwiki = new PurpleWikiInterwikiLinkNode(); 
12999                        }
13000    
13001                        }
13002                        break;
13003                    case 14 :
13004                        // Creole10.g:857:4: 'R' 'a' 'd' 'e' 'o' 'x'
13005                        {
13006                        match(input,71,FOLLOW_71_in_link_interwiki_uri3560); if (failed) return interwiki;
13007                        match(input,61,FOLLOW_61_in_link_interwiki_uri3562); if (failed) return interwiki;
13008                        match(input,64,FOLLOW_64_in_link_interwiki_uri3564); if (failed) return interwiki;
13009                        match(input,56,FOLLOW_56_in_link_interwiki_uri3566); if (failed) return interwiki;
13010                        match(input,45,FOLLOW_45_in_link_interwiki_uri3568); if (failed) return interwiki;
13011                        match(input,72,FOLLOW_72_in_link_interwiki_uri3570); if (failed) return interwiki;
13012                        if ( backtracking==0 ) {
13013                           interwiki = new RadeoxInterwikiLinkNode(); 
13014                        }
13015    
13016                        }
13017                        break;
13018                    case 15 :
13019                        // Creole10.g:858:4: 'S' 'n' 'i' 'p' 'S' 'n' 'a' 'p'
13020                        {
13021                        match(input,58,FOLLOW_58_in_link_interwiki_uri3577); if (failed) return interwiki;
13022                        match(input,65,FOLLOW_65_in_link_interwiki_uri3579); if (failed) return interwiki;
13023                        match(input,49,FOLLOW_49_in_link_interwiki_uri3581); if (failed) return interwiki;
13024                        match(input,70,FOLLOW_70_in_link_interwiki_uri3583); if (failed) return interwiki;
13025                        match(input,58,FOLLOW_58_in_link_interwiki_uri3585); if (failed) return interwiki;
13026                        match(input,65,FOLLOW_65_in_link_interwiki_uri3587); if (failed) return interwiki;
13027                        match(input,61,FOLLOW_61_in_link_interwiki_uri3589); if (failed) return interwiki;
13028                        match(input,70,FOLLOW_70_in_link_interwiki_uri3591); if (failed) return interwiki;
13029                        if ( backtracking==0 ) {
13030                           interwiki = new SnipSnapInterwikiLinkNode(); 
13031                        }
13032    
13033                        }
13034                        break;
13035                    case 16 :
13036                        // Creole10.g:859:4: 'T' 'i' 'd' 'd' 'l' 'y' 'W' 'i' 'k' 'i'
13037                        {
13038                        match(input,73,FOLLOW_73_in_link_interwiki_uri3598); if (failed) return interwiki;
13039                        match(input,49,FOLLOW_49_in_link_interwiki_uri3600); if (failed) return interwiki;
13040                        match(input,64,FOLLOW_64_in_link_interwiki_uri3602); if (failed) return interwiki;
13041                        match(input,64,FOLLOW_64_in_link_interwiki_uri3604); if (failed) return interwiki;
13042                        match(input,51,FOLLOW_51_in_link_interwiki_uri3606); if (failed) return interwiki;
13043                        match(input,74,FOLLOW_74_in_link_interwiki_uri3608); if (failed) return interwiki;
13044                        match(input,48,FOLLOW_48_in_link_interwiki_uri3610); if (failed) return interwiki;
13045                        match(input,49,FOLLOW_49_in_link_interwiki_uri3612); if (failed) return interwiki;
13046                        match(input,46,FOLLOW_46_in_link_interwiki_uri3614); if (failed) return interwiki;
13047                        match(input,49,FOLLOW_49_in_link_interwiki_uri3616); if (failed) return interwiki;
13048                        if ( backtracking==0 ) {
13049                           interwiki = new TiddlyWikiInterwikiLinkNode(); 
13050                        }
13051    
13052                        }
13053                        break;
13054                    case 17 :
13055                        // Creole10.g:860:4: 'T' 'W' 'i' 'k' 'i'
13056                        {
13057                        match(input,73,FOLLOW_73_in_link_interwiki_uri3623); if (failed) return interwiki;
13058                        match(input,48,FOLLOW_48_in_link_interwiki_uri3625); if (failed) return interwiki;
13059                        match(input,49,FOLLOW_49_in_link_interwiki_uri3627); if (failed) return interwiki;
13060                        match(input,46,FOLLOW_46_in_link_interwiki_uri3629); if (failed) return interwiki;
13061                        match(input,49,FOLLOW_49_in_link_interwiki_uri3631); if (failed) return interwiki;
13062                        if ( backtracking==0 ) {
13063                           interwiki = new TWikiInterwikiLinkNode(); 
13064                        }
13065    
13066                        }
13067                        break;
13068                    case 18 :
13069                        // Creole10.g:861:4: 'U' 's' 'e' 'm' 'o' 'd'
13070                        {
13071                        match(input,75,FOLLOW_75_in_link_interwiki_uri3638); if (failed) return interwiki;
13072                        match(input,68,FOLLOW_68_in_link_interwiki_uri3640); if (failed) return interwiki;
13073                        match(input,56,FOLLOW_56_in_link_interwiki_uri3642); if (failed) return interwiki;
13074                        match(input,67,FOLLOW_67_in_link_interwiki_uri3644); if (failed) return interwiki;
13075                        match(input,45,FOLLOW_45_in_link_interwiki_uri3646); if (failed) return interwiki;
13076                        match(input,64,FOLLOW_64_in_link_interwiki_uri3648); if (failed) return interwiki;
13077                        if ( backtracking==0 ) {
13078                           interwiki = new UsemodInterwikiLinkNode(); 
13079                        }
13080    
13081                        }
13082                        break;
13083                    case 19 :
13084                        // Creole10.g:862:4: 'W' 'i' 'k' 'i' 'p' 'e' 'd' 'i' 'a'
13085                        {
13086                        match(input,48,FOLLOW_48_in_link_interwiki_uri3655); if (failed) return interwiki;
13087                        match(input,49,FOLLOW_49_in_link_interwiki_uri3657); if (failed) return interwiki;
13088                        match(input,46,FOLLOW_46_in_link_interwiki_uri3659); if (failed) return interwiki;
13089                        match(input,49,FOLLOW_49_in_link_interwiki_uri3661); if (failed) return interwiki;
13090                        match(input,70,FOLLOW_70_in_link_interwiki_uri3663); if (failed) return interwiki;
13091                        match(input,56,FOLLOW_56_in_link_interwiki_uri3665); if (failed) return interwiki;
13092                        match(input,64,FOLLOW_64_in_link_interwiki_uri3667); if (failed) return interwiki;
13093                        match(input,49,FOLLOW_49_in_link_interwiki_uri3669); if (failed) return interwiki;
13094                        match(input,61,FOLLOW_61_in_link_interwiki_uri3671); if (failed) return interwiki;
13095                        if ( backtracking==0 ) {
13096                           interwiki = new WikipediaInterwikiLinkNode(); 
13097                        }
13098    
13099                        }
13100                        break;
13101                    case 20 :
13102                        // Creole10.g:863:4: 'X' 'W' 'i' 'k' 'i'
13103                        {
13104                        match(input,76,FOLLOW_76_in_link_interwiki_uri3678); if (failed) return interwiki;
13105                        match(input,48,FOLLOW_48_in_link_interwiki_uri3680); if (failed) return interwiki;
13106                        match(input,49,FOLLOW_49_in_link_interwiki_uri3682); if (failed) return interwiki;
13107                        match(input,46,FOLLOW_46_in_link_interwiki_uri3684); if (failed) return interwiki;
13108                        match(input,49,FOLLOW_49_in_link_interwiki_uri3686); if (failed) return interwiki;
13109                        if ( backtracking==0 ) {
13110                           interwiki = new XWikiInterwikiLinkNode(); 
13111                        }
13112    
13113                        }
13114                        break;
13115    
13116                }
13117            }
13118            catch (RecognitionException re) {
13119                reportError(re);
13120                recover(input,re);
13121            }
13122            finally {
13123            }
13124            return interwiki;
13125        }
13126        // $ANTLR end link_interwiki_uri
13127    
13128    
13129        // $ANTLR start link_interwiki_pagename
13130        // Creole10.g:865:1: link_interwiki_pagename returns [StringBundler text = new StringBundler()] : (c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF ) )+ ;
13131        public final StringBundler link_interwiki_pagename() throws RecognitionException {
13132            StringBundler text =  new StringBundler();
13133    
13134            Token c=null;
13135    
13136            try {
13137                // Creole10.g:866:2: ( (c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF ) )+ )
13138                // Creole10.g:866:4: (c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF ) )+
13139                {
13140                // Creole10.g:866:4: (c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF ) )+
13141                int cnt118=0;
13142                loop118:
13143                do {
13144                    int alt118=2;
13145                    int LA118_0 = input.LA(1);
13146    
13147                    if ( ((LA118_0>=FORCED_END_OF_LINE && LA118_0<=WIKI)||(LA118_0>=POUND && LA118_0<=EQUAL)||(LA118_0>=ITAL && LA118_0<=NOWIKI_CLOSE)||(LA118_0>=IMAGE_CLOSE && LA118_0<=80)) ) {
13148                        alt118=1;
13149                    }
13150    
13151    
13152                    switch (alt118) {
13153                    case 1 :
13154                        // Creole10.g:866:6: c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF )
13155                        {
13156                        c=(Token)input.LT(1);
13157                        if ( (input.LA(1)>=FORCED_END_OF_LINE && input.LA(1)<=WIKI)||(input.LA(1)>=POUND && input.LA(1)<=EQUAL)||(input.LA(1)>=ITAL && input.LA(1)<=NOWIKI_CLOSE)||(input.LA(1)>=IMAGE_CLOSE && input.LA(1)<=80) ) {
13158                            input.consume();
13159                            errorRecovery=false;failed=false;
13160                        }
13161                        else {
13162                            if (backtracking>0) {failed=true; return text;}
13163                            MismatchedSetException mse =
13164                                new MismatchedSetException(null,input);
13165                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_link_interwiki_pagename3708);    throw mse;
13166                        }
13167    
13168                        if ( backtracking==0 ) {
13169                           text.append(c.getText()); 
13170                        }
13171    
13172                        }
13173                        break;
13174    
13175                    default :
13176                        if ( cnt118 >= 1 ) break loop118;
13177                        if (backtracking>0) {failed=true; return text;}
13178                            EarlyExitException eee =
13179                                new EarlyExitException(118, input);
13180                            throw eee;
13181                    }
13182                    cnt118++;
13183                } while (true);
13184    
13185    
13186                }
13187    
13188            }
13189            catch (RecognitionException re) {
13190                reportError(re);
13191                recover(input,re);
13192            }
13193            finally {
13194            }
13195            return text;
13196        }
13197        // $ANTLR end link_interwiki_pagename
13198    
13199    
13200        // $ANTLR start link_description
13201        // Creole10.g:868:1: link_description returns [CollectionNode node = new CollectionNode()] : (l= link_descriptionpart | i= image )+ ;
13202        public final CollectionNode link_description() throws RecognitionException {
13203            CollectionNode node =  new CollectionNode();
13204    
13205            ASTNode l = null;
13206    
13207            ImageNode i = null;
13208    
13209    
13210            try {
13211                // Creole10.g:869:2: ( (l= link_descriptionpart | i= image )+ )
13212                // Creole10.g:869:4: (l= link_descriptionpart | i= image )+
13213                {
13214                // Creole10.g:869:4: (l= link_descriptionpart | i= image )+
13215                int cnt119=0;
13216                loop119:
13217                do {
13218                    int alt119=3;
13219                    int LA119_0 = input.LA(1);
13220    
13221                    if ( ((LA119_0>=FORCED_END_OF_LINE && LA119_0<=WIKI)||(LA119_0>=POUND && LA119_0<=ITAL)||(LA119_0>=FORCED_LINEBREAK && LA119_0<=NOWIKI_CLOSE)||(LA119_0>=IMAGE_CLOSE && LA119_0<=80)) ) {
13222                        alt119=1;
13223                    }
13224                    else if ( (LA119_0==IMAGE_OPEN) ) {
13225                        alt119=2;
13226                    }
13227    
13228    
13229                    switch (alt119) {
13230                    case 1 :
13231                        // Creole10.g:869:6: l= link_descriptionpart
13232                        {
13233                        pushFollow(FOLLOW_link_descriptionpart_in_link_description3751);
13234                        l=link_descriptionpart();
13235                        _fsp--;
13236                        if (failed) return node;
13237                        if ( backtracking==0 ) {
13238    
13239                                                            // Recover code: some bad syntax could include null elements in the collection
13240                                                            if (l != null) {
13241                                                                    node.add(l);
13242                                                            }
13243                                                    
13244                        }
13245    
13246                        }
13247                        break;
13248                    case 2 :
13249                        // Creole10.g:875:5: i= image
13250                        {
13251                        pushFollow(FOLLOW_image_in_link_description3763);
13252                        i=image();
13253                        _fsp--;
13254                        if (failed) return node;
13255                        if ( backtracking==0 ) {
13256                          node.add(i);
13257                        }
13258    
13259                        }
13260                        break;
13261    
13262                    default :
13263                        if ( cnt119 >= 1 ) break loop119;
13264                        if (backtracking>0) {failed=true; return node;}
13265                            EarlyExitException eee =
13266                                new EarlyExitException(119, input);
13267                            throw eee;
13268                    }
13269                    cnt119++;
13270                } while (true);
13271    
13272    
13273                }
13274    
13275            }
13276            catch (RecognitionException re) {
13277                reportError(re);
13278                recover(input,re);
13279            }
13280            finally {
13281            }
13282            return node;
13283        }
13284        // $ANTLR end link_description
13285    
13286        protected static class link_descriptionpart_scope {
13287            CollectionNode element;
13288        }
13289        protected Stack link_descriptionpart_stack = new Stack();
13290    
13291    
13292        // $ANTLR start link_descriptionpart
13293        // Creole10.g:877:1: link_descriptionpart returns [ASTNode text = null] : ( bold_markup onestar (lb= link_bold_descriptionpart onestar )+ bold_markup | ital_markup onestar (li= link_ital_descriptionpart onestar )+ ital_markup | onestar (t= link_descriptiontext onestar )+ );
13294        public final ASTNode link_descriptionpart() throws RecognitionException {
13295            link_descriptionpart_stack.push(new link_descriptionpart_scope());
13296            ASTNode text =  null;
13297    
13298            ASTNode lb = null;
13299    
13300            ASTNode li = null;
13301    
13302            CollectionNode t = null;
13303    
13304    
13305    
13306                    ((link_descriptionpart_scope)link_descriptionpart_stack.peek()).element = new CollectionNode();
13307    
13308            try {
13309                // Creole10.g:884:2: ( bold_markup onestar (lb= link_bold_descriptionpart onestar )+ bold_markup | ital_markup onestar (li= link_ital_descriptionpart onestar )+ ital_markup | onestar (t= link_descriptiontext onestar )+ )
13310                int alt123=3;
13311                switch ( input.LA(1) ) {
13312                case STAR:
13313                    {
13314                    int LA123_1 = input.LA(2);
13315    
13316                    if ( (LA123_1==STAR) ) {
13317                        alt123=1;
13318                    }
13319                    else if ( ((LA123_1>=FORCED_END_OF_LINE && LA123_1<=WIKI)||LA123_1==POUND||(LA123_1>=EQUAL && LA123_1<=PIPE)||(LA123_1>=FORCED_LINEBREAK && LA123_1<=NOWIKI_CLOSE)||(LA123_1>=IMAGE_CLOSE && LA123_1<=80)) ) {
13320                        alt123=3;
13321                    }
13322                    else {
13323                        if (backtracking>0) {failed=true; return text;}
13324                        NoViableAltException nvae =
13325                            new NoViableAltException("877:1: link_descriptionpart returns [ASTNode text = null] : ( bold_markup onestar (lb= link_bold_descriptionpart onestar )+ bold_markup | ital_markup onestar (li= link_ital_descriptionpart onestar )+ ital_markup | onestar (t= link_descriptiontext onestar )+ );", 123, 1, input);
13326    
13327                        throw nvae;
13328                    }
13329                    }
13330                    break;
13331                case ITAL:
13332                    {
13333                    alt123=2;
13334                    }
13335                    break;
13336                case FORCED_END_OF_LINE:
13337                case HEADING_SECTION:
13338                case HORIZONTAL_SECTION:
13339                case LIST_ITEM:
13340                case LIST_ITEM_PART:
13341                case NOWIKI_SECTION:
13342                case SCAPE_NODE:
13343                case TEXT_NODE:
13344                case UNORDERED_LIST:
13345                case UNFORMATTED_TEXT:
13346                case WIKI:
13347                case POUND:
13348                case EQUAL:
13349                case PIPE:
13350                case FORCED_LINEBREAK:
13351                case ESCAPE:
13352                case NOWIKI_BLOCK_CLOSE:
13353                case NOWIKI_CLOSE:
13354                case IMAGE_CLOSE:
13355                case BLANKS:
13356                case DASH:
13357                case CR:
13358                case LF:
13359                case SPACE:
13360                case TABULATOR:
13361                case BRACE_CLOSE:
13362                case COLON_SLASH:
13363                case SLASH:
13364                case INSIGNIFICANT_CHAR:
13365                case 41:
13366                case 42:
13367                case 43:
13368                case 44:
13369                case 45:
13370                case 46:
13371                case 47:
13372                case 48:
13373                case 49:
13374                case 50:
13375                case 51:
13376                case 52:
13377                case 53:
13378                case 54:
13379                case 55:
13380                case 56:
13381                case 57:
13382                case 58:
13383                case 59:
13384                case 60:
13385                case 61:
13386                case 62:
13387                case 63:
13388                case 64:
13389                case 65:
13390                case 66:
13391                case 67:
13392                case 68:
13393                case 69:
13394                case 70:
13395                case 71:
13396                case 72:
13397                case 73:
13398                case 74:
13399                case 75:
13400                case 76:
13401                case 77:
13402                case 78:
13403                case 79:
13404                case 80:
13405                    {
13406                    alt123=3;
13407                    }
13408                    break;
13409                default:
13410                    if (backtracking>0) {failed=true; return text;}
13411                    NoViableAltException nvae =
13412                        new NoViableAltException("877:1: link_descriptionpart returns [ASTNode text = null] : ( bold_markup onestar (lb= link_bold_descriptionpart onestar )+ bold_markup | ital_markup onestar (li= link_ital_descriptionpart onestar )+ ital_markup | onestar (t= link_descriptiontext onestar )+ );", 123, 0, input);
13413    
13414                    throw nvae;
13415                }
13416    
13417                switch (alt123) {
13418                    case 1 :
13419                        // Creole10.g:884:4: bold_markup onestar (lb= link_bold_descriptionpart onestar )+ bold_markup
13420                        {
13421                        pushFollow(FOLLOW_bold_markup_in_link_descriptionpart3788);
13422                        bold_markup();
13423                        _fsp--;
13424                        if (failed) return text;
13425                        pushFollow(FOLLOW_onestar_in_link_descriptionpart3791);
13426                        onestar();
13427                        _fsp--;
13428                        if (failed) return text;
13429                        // Creole10.g:884:25: (lb= link_bold_descriptionpart onestar )+
13430                        int cnt120=0;
13431                        loop120:
13432                        do {
13433                            int alt120=2;
13434                            int LA120_0 = input.LA(1);
13435    
13436                            if ( ((LA120_0>=FORCED_END_OF_LINE && LA120_0<=WIKI)||LA120_0==POUND||(LA120_0>=EQUAL && LA120_0<=ITAL)||(LA120_0>=FORCED_LINEBREAK && LA120_0<=NOWIKI_CLOSE)||(LA120_0>=IMAGE_CLOSE && LA120_0<=80)) ) {
13437                                alt120=1;
13438                            }
13439    
13440    
13441                            switch (alt120) {
13442                            case 1 :
13443                                // Creole10.g:884:27: lb= link_bold_descriptionpart onestar
13444                                {
13445                                pushFollow(FOLLOW_link_bold_descriptionpart_in_link_descriptionpart3799);
13446                                lb=link_bold_descriptionpart();
13447                                _fsp--;
13448                                if (failed) return text;
13449                                if ( backtracking==0 ) {
13450                                  ((link_descriptionpart_scope)link_descriptionpart_stack.peek()).element.add(lb);
13451                                }
13452                                pushFollow(FOLLOW_onestar_in_link_descriptionpart3804);
13453                                onestar();
13454                                _fsp--;
13455                                if (failed) return text;
13456    
13457                                }
13458                                break;
13459    
13460                            default :
13461                                if ( cnt120 >= 1 ) break loop120;
13462                                if (backtracking>0) {failed=true; return text;}
13463                                    EarlyExitException eee =
13464                                        new EarlyExitException(120, input);
13465                                    throw eee;
13466                            }
13467                            cnt120++;
13468                        } while (true);
13469    
13470                        if ( backtracking==0 ) {
13471                          text = new BoldTextNode(((link_descriptionpart_scope)link_descriptionpart_stack.peek()).element);
13472                        }
13473                        pushFollow(FOLLOW_bold_markup_in_link_descriptionpart3814);
13474                        bold_markup();
13475                        _fsp--;
13476                        if (failed) return text;
13477    
13478                        }
13479                        break;
13480                    case 2 :
13481                        // Creole10.g:886:4: ital_markup onestar (li= link_ital_descriptionpart onestar )+ ital_markup
13482                        {
13483                        pushFollow(FOLLOW_ital_markup_in_link_descriptionpart3819);
13484                        ital_markup();
13485                        _fsp--;
13486                        if (failed) return text;
13487                        pushFollow(FOLLOW_onestar_in_link_descriptionpart3822);
13488                        onestar();
13489                        _fsp--;
13490                        if (failed) return text;
13491                        // Creole10.g:886:26: (li= link_ital_descriptionpart onestar )+
13492                        int cnt121=0;
13493                        loop121:
13494                        do {
13495                            int alt121=2;
13496                            int LA121_0 = input.LA(1);
13497    
13498                            if ( ((LA121_0>=FORCED_END_OF_LINE && LA121_0<=WIKI)||(LA121_0>=POUND && LA121_0<=PIPE)||(LA121_0>=FORCED_LINEBREAK && LA121_0<=NOWIKI_CLOSE)||(LA121_0>=IMAGE_CLOSE && LA121_0<=80)) ) {
13499                                alt121=1;
13500                            }
13501    
13502    
13503                            switch (alt121) {
13504                            case 1 :
13505                                // Creole10.g:886:28: li= link_ital_descriptionpart onestar
13506                                {
13507                                pushFollow(FOLLOW_link_ital_descriptionpart_in_link_descriptionpart3831);
13508                                li=link_ital_descriptionpart();
13509                                _fsp--;
13510                                if (failed) return text;
13511                                if ( backtracking==0 ) {
13512                                  ((link_descriptionpart_scope)link_descriptionpart_stack.peek()).element.add(li);
13513                                }
13514                                pushFollow(FOLLOW_onestar_in_link_descriptionpart3836);
13515                                onestar();
13516                                _fsp--;
13517                                if (failed) return text;
13518    
13519                                }
13520                                break;
13521    
13522                            default :
13523                                if ( cnt121 >= 1 ) break loop121;
13524                                if (backtracking>0) {failed=true; return text;}
13525                                    EarlyExitException eee =
13526                                        new EarlyExitException(121, input);
13527                                    throw eee;
13528                            }
13529                            cnt121++;
13530                        } while (true);
13531    
13532                        if ( backtracking==0 ) {
13533                          text = new ItalicTextNode(((link_descriptionpart_scope)link_descriptionpart_stack.peek()).element);
13534                        }
13535                        pushFollow(FOLLOW_ital_markup_in_link_descriptionpart3845);
13536                        ital_markup();
13537                        _fsp--;
13538                        if (failed) return text;
13539    
13540                        }
13541                        break;
13542                    case 3 :
13543                        // Creole10.g:888:4: onestar (t= link_descriptiontext onestar )+
13544                        {
13545                        pushFollow(FOLLOW_onestar_in_link_descriptionpart3850);
13546                        onestar();
13547                        _fsp--;
13548                        if (failed) return text;
13549                        // Creole10.g:888:13: (t= link_descriptiontext onestar )+
13550                        int cnt122=0;
13551                        loop122:
13552                        do {
13553                            int alt122=2;
13554                            switch ( input.LA(1) ) {
13555                            case FORCED_END_OF_LINE:
13556                            case HEADING_SECTION:
13557                            case HORIZONTAL_SECTION:
13558                            case LIST_ITEM:
13559                            case LIST_ITEM_PART:
13560                            case NOWIKI_SECTION:
13561                            case SCAPE_NODE:
13562                            case TEXT_NODE:
13563                            case UNORDERED_LIST:
13564                            case UNFORMATTED_TEXT:
13565                            case WIKI:
13566                            case POUND:
13567                            case EQUAL:
13568                            case PIPE:
13569                            case NOWIKI_BLOCK_CLOSE:
13570                            case NOWIKI_CLOSE:
13571                            case IMAGE_CLOSE:
13572                            case BLANKS:
13573                            case DASH:
13574                            case CR:
13575                            case LF:
13576                            case SPACE:
13577                            case TABULATOR:
13578                            case BRACE_CLOSE:
13579                            case COLON_SLASH:
13580                            case SLASH:
13581                            case INSIGNIFICANT_CHAR:
13582                            case 41:
13583                            case 42:
13584                            case 43:
13585                            case 44:
13586                            case 45:
13587                            case 46:
13588                            case 47:
13589                            case 48:
13590                            case 49:
13591                            case 50:
13592                            case 51:
13593                            case 52:
13594                            case 53:
13595                            case 54:
13596                            case 55:
13597                            case 56:
13598                            case 57:
13599                            case 58:
13600                            case 59:
13601                            case 60:
13602                            case 61:
13603                            case 62:
13604                            case 63:
13605                            case 64:
13606                            case 65:
13607                            case 66:
13608                            case 67:
13609                            case 68:
13610                            case 69:
13611                            case 70:
13612                            case 71:
13613                            case 72:
13614                            case 73:
13615                            case 74:
13616                            case 75:
13617                            case 76:
13618                            case 77:
13619                            case 78:
13620                            case 79:
13621                            case 80:
13622                                {
13623                                alt122=1;
13624                                }
13625                                break;
13626                            case FORCED_LINEBREAK:
13627                                {
13628                                alt122=1;
13629                                }
13630                                break;
13631                            case ESCAPE:
13632                                {
13633                                alt122=1;
13634                                }
13635                                break;
13636    
13637                            }
13638    
13639                            switch (alt122) {
13640                            case 1 :
13641                                // Creole10.g:888:15: t= link_descriptiontext onestar
13642                                {
13643                                pushFollow(FOLLOW_link_descriptiontext_in_link_descriptionpart3859);
13644                                t=link_descriptiontext();
13645                                _fsp--;
13646                                if (failed) return text;
13647                                pushFollow(FOLLOW_onestar_in_link_descriptionpart3862);
13648                                onestar();
13649                                _fsp--;
13650                                if (failed) return text;
13651                                if ( backtracking==0 ) {
13652                                  ((link_descriptionpart_scope)link_descriptionpart_stack.peek()).element.add(t);
13653                                }
13654    
13655                                }
13656                                break;
13657    
13658                            default :
13659                                if ( cnt122 >= 1 ) break loop122;
13660                                if (backtracking>0) {failed=true; return text;}
13661                                    EarlyExitException eee =
13662                                        new EarlyExitException(122, input);
13663                                    throw eee;
13664                            }
13665                            cnt122++;
13666                        } while (true);
13667    
13668                        if ( backtracking==0 ) {
13669                          text = new UnformattedTextNode(((link_descriptionpart_scope)link_descriptionpart_stack.peek()).element);
13670                        }
13671    
13672                        }
13673                        break;
13674    
13675                }
13676            }
13677            catch (RecognitionException re) {
13678                reportError(re);
13679                recover(input,re);
13680            }
13681            finally {
13682                link_descriptionpart_stack.pop();
13683            }
13684            return text;
13685        }
13686        // $ANTLR end link_descriptionpart
13687    
13688    
13689        // $ANTLR start link_bold_descriptionpart
13690        // Creole10.g:890:1: link_bold_descriptionpart returns [ASTNode text = null] : ( ital_markup t= link_boldital_description ital_markup | ld= link_descriptiontext );
13691        public final ASTNode link_bold_descriptionpart() throws RecognitionException {
13692            ASTNode text =  null;
13693    
13694            CollectionNode t = null;
13695    
13696            CollectionNode ld = null;
13697    
13698    
13699            try {
13700                // Creole10.g:891:2: ( ital_markup t= link_boldital_description ital_markup | ld= link_descriptiontext )
13701                int alt124=2;
13702                int LA124_0 = input.LA(1);
13703    
13704                if ( (LA124_0==ITAL) ) {
13705                    alt124=1;
13706                }
13707                else if ( ((LA124_0>=FORCED_END_OF_LINE && LA124_0<=WIKI)||LA124_0==POUND||(LA124_0>=EQUAL && LA124_0<=PIPE)||(LA124_0>=FORCED_LINEBREAK && LA124_0<=NOWIKI_CLOSE)||(LA124_0>=IMAGE_CLOSE && LA124_0<=80)) ) {
13708                    alt124=2;
13709                }
13710                else {
13711                    if (backtracking>0) {failed=true; return text;}
13712                    NoViableAltException nvae =
13713                        new NoViableAltException("890:1: link_bold_descriptionpart returns [ASTNode text = null] : ( ital_markup t= link_boldital_description ital_markup | ld= link_descriptiontext );", 124, 0, input);
13714    
13715                    throw nvae;
13716                }
13717                switch (alt124) {
13718                    case 1 :
13719                        // Creole10.g:891:4: ital_markup t= link_boldital_description ital_markup
13720                        {
13721                        pushFollow(FOLLOW_ital_markup_in_link_bold_descriptionpart3882);
13722                        ital_markup();
13723                        _fsp--;
13724                        if (failed) return text;
13725                        pushFollow(FOLLOW_link_boldital_description_in_link_bold_descriptionpart3889);
13726                        t=link_boldital_description();
13727                        _fsp--;
13728                        if (failed) return text;
13729                        if ( backtracking==0 ) {
13730                          text = new ItalicTextNode(t);
13731                        }
13732                        pushFollow(FOLLOW_ital_markup_in_link_bold_descriptionpart3894);
13733                        ital_markup();
13734                        _fsp--;
13735                        if (failed) return text;
13736    
13737                        }
13738                        break;
13739                    case 2 :
13740                        // Creole10.g:892:4: ld= link_descriptiontext
13741                        {
13742                        pushFollow(FOLLOW_link_descriptiontext_in_link_bold_descriptionpart3903);
13743                        ld=link_descriptiontext();
13744                        _fsp--;
13745                        if (failed) return text;
13746                        if ( backtracking==0 ) {
13747                          text =ld;
13748                        }
13749    
13750                        }
13751                        break;
13752    
13753                }
13754            }
13755            catch (RecognitionException re) {
13756                reportError(re);
13757                recover(input,re);
13758            }
13759            finally {
13760            }
13761            return text;
13762        }
13763        // $ANTLR end link_bold_descriptionpart
13764    
13765    
13766        // $ANTLR start link_ital_descriptionpart
13767        // Creole10.g:894:1: link_ital_descriptionpart returns [ASTNode text = null] : ( bold_markup td= link_boldital_description bold_markup | t= link_descriptiontext );
13768        public final ASTNode link_ital_descriptionpart() throws RecognitionException {
13769            ASTNode text =  null;
13770    
13771            CollectionNode td = null;
13772    
13773            CollectionNode t = null;
13774    
13775    
13776            try {
13777                // Creole10.g:895:2: ( bold_markup td= link_boldital_description bold_markup | t= link_descriptiontext )
13778                int alt125=2;
13779                int LA125_0 = input.LA(1);
13780    
13781                if ( (LA125_0==STAR) ) {
13782                    alt125=1;
13783                }
13784                else if ( ((LA125_0>=FORCED_END_OF_LINE && LA125_0<=WIKI)||LA125_0==POUND||(LA125_0>=EQUAL && LA125_0<=PIPE)||(LA125_0>=FORCED_LINEBREAK && LA125_0<=NOWIKI_CLOSE)||(LA125_0>=IMAGE_CLOSE && LA125_0<=80)) ) {
13785                    alt125=2;
13786                }
13787                else {
13788                    if (backtracking>0) {failed=true; return text;}
13789                    NoViableAltException nvae =
13790                        new NoViableAltException("894:1: link_ital_descriptionpart returns [ASTNode text = null] : ( bold_markup td= link_boldital_description bold_markup | t= link_descriptiontext );", 125, 0, input);
13791    
13792                    throw nvae;
13793                }
13794                switch (alt125) {
13795                    case 1 :
13796                        // Creole10.g:895:4: bold_markup td= link_boldital_description bold_markup
13797                        {
13798                        pushFollow(FOLLOW_bold_markup_in_link_ital_descriptionpart3919);
13799                        bold_markup();
13800                        _fsp--;
13801                        if (failed) return text;
13802                        pushFollow(FOLLOW_link_boldital_description_in_link_ital_descriptionpart3926);
13803                        td=link_boldital_description();
13804                        _fsp--;
13805                        if (failed) return text;
13806                        pushFollow(FOLLOW_bold_markup_in_link_ital_descriptionpart3929);
13807                        bold_markup();
13808                        _fsp--;
13809                        if (failed) return text;
13810                        if ( backtracking==0 ) {
13811                          text = new BoldTextNode(td);
13812                        }
13813    
13814                        }
13815                        break;
13816                    case 2 :
13817                        // Creole10.g:896:4: t= link_descriptiontext
13818                        {
13819                        pushFollow(FOLLOW_link_descriptiontext_in_link_ital_descriptionpart3940);
13820                        t=link_descriptiontext();
13821                        _fsp--;
13822                        if (failed) return text;
13823                        if ( backtracking==0 ) {
13824                          text = t; 
13825                        }
13826    
13827                        }
13828                        break;
13829    
13830                }
13831            }
13832            catch (RecognitionException re) {
13833                reportError(re);
13834                recover(input,re);
13835            }
13836            finally {
13837            }
13838            return text;
13839        }
13840        // $ANTLR end link_ital_descriptionpart
13841    
13842    
13843        // $ANTLR start link_boldital_description
13844        // Creole10.g:898:1: link_boldital_description returns [CollectionNode text = new CollectionNode()] : onestar (t= link_descriptiontext onestar )+ ;
13845        public final CollectionNode link_boldital_description() throws RecognitionException {
13846            CollectionNode text =  new CollectionNode();
13847    
13848            CollectionNode t = null;
13849    
13850    
13851            try {
13852                // Creole10.g:899:2: ( onestar (t= link_descriptiontext onestar )+ )
13853                // Creole10.g:899:4: onestar (t= link_descriptiontext onestar )+
13854                {
13855                pushFollow(FOLLOW_onestar_in_link_boldital_description3956);
13856                onestar();
13857                _fsp--;
13858                if (failed) return text;
13859                // Creole10.g:899:13: (t= link_descriptiontext onestar )+
13860                int cnt126=0;
13861                loop126:
13862                do {
13863                    int alt126=2;
13864                    int LA126_0 = input.LA(1);
13865    
13866                    if ( ((LA126_0>=FORCED_END_OF_LINE && LA126_0<=WIKI)||LA126_0==POUND||(LA126_0>=EQUAL && LA126_0<=PIPE)||(LA126_0>=FORCED_LINEBREAK && LA126_0<=NOWIKI_CLOSE)||(LA126_0>=IMAGE_CLOSE && LA126_0<=80)) ) {
13867                        alt126=1;
13868                    }
13869    
13870    
13871                    switch (alt126) {
13872                    case 1 :
13873                        // Creole10.g:899:15: t= link_descriptiontext onestar
13874                        {
13875                        pushFollow(FOLLOW_link_descriptiontext_in_link_boldital_description3965);
13876                        t=link_descriptiontext();
13877                        _fsp--;
13878                        if (failed) return text;
13879                        pushFollow(FOLLOW_onestar_in_link_boldital_description3968);
13880                        onestar();
13881                        _fsp--;
13882                        if (failed) return text;
13883                        if ( backtracking==0 ) {
13884    
13885                                                            for (ASTNode item:t.getASTNodes()) {
13886                                                                    text.add(item);
13887                                                            }
13888                                                    
13889                        }
13890    
13891                        }
13892                        break;
13893    
13894                    default :
13895                        if ( cnt126 >= 1 ) break loop126;
13896                        if (backtracking>0) {failed=true; return text;}
13897                            EarlyExitException eee =
13898                                new EarlyExitException(126, input);
13899                            throw eee;
13900                    }
13901                    cnt126++;
13902                } while (true);
13903    
13904    
13905                }
13906    
13907            }
13908            catch (RecognitionException re) {
13909                reportError(re);
13910                recover(input,re);
13911            }
13912            finally {
13913            }
13914            return text;
13915        }
13916        // $ANTLR end link_boldital_description
13917    
13918    
13919        // $ANTLR start link_descriptiontext
13920        // Creole10.g:905:1: link_descriptiontext returns [CollectionNode text = new CollectionNode()] : (t= link_descriptiontext_simple | ( forced_linebreak | e= escaped )+ );
13921        public final CollectionNode link_descriptiontext() throws RecognitionException {
13922            CollectionNode text =  new CollectionNode();
13923    
13924            StringBundler t = null;
13925    
13926            ScapedNode e = null;
13927    
13928    
13929            try {
13930                // Creole10.g:906:2: (t= link_descriptiontext_simple | ( forced_linebreak | e= escaped )+ )
13931                int alt128=2;
13932                int LA128_0 = input.LA(1);
13933    
13934                if ( ((LA128_0>=FORCED_END_OF_LINE && LA128_0<=WIKI)||LA128_0==POUND||(LA128_0>=EQUAL && LA128_0<=PIPE)||(LA128_0>=NOWIKI_BLOCK_CLOSE && LA128_0<=NOWIKI_CLOSE)||(LA128_0>=IMAGE_CLOSE && LA128_0<=80)) ) {
13935                    alt128=1;
13936                }
13937                else if ( ((LA128_0>=FORCED_LINEBREAK && LA128_0<=ESCAPE)) ) {
13938                    alt128=2;
13939                }
13940                else {
13941                    if (backtracking>0) {failed=true; return text;}
13942                    NoViableAltException nvae =
13943                        new NoViableAltException("905:1: link_descriptiontext returns [CollectionNode text = new CollectionNode()] : (t= link_descriptiontext_simple | ( forced_linebreak | e= escaped )+ );", 128, 0, input);
13944    
13945                    throw nvae;
13946                }
13947                switch (alt128) {
13948                    case 1 :
13949                        // Creole10.g:906:5: t= link_descriptiontext_simple
13950                        {
13951                        pushFollow(FOLLOW_link_descriptiontext_simple_in_link_descriptiontext3991);
13952                        t=link_descriptiontext_simple();
13953                        _fsp--;
13954                        if (failed) return text;
13955                        if ( backtracking==0 ) {
13956                           text.add(new UnformattedTextNode(t.toString()));
13957                        }
13958    
13959                        }
13960                        break;
13961                    case 2 :
13962                        // Creole10.g:907:5: ( forced_linebreak | e= escaped )+
13963                        {
13964                        // Creole10.g:907:5: ( forced_linebreak | e= escaped )+
13965                        int cnt127=0;
13966                        loop127:
13967                        do {
13968                            int alt127=3;
13969                            int LA127_0 = input.LA(1);
13970    
13971                            if ( (LA127_0==FORCED_LINEBREAK) ) {
13972                                alt127=1;
13973                            }
13974                            else if ( (LA127_0==ESCAPE) ) {
13975                                alt127=2;
13976                            }
13977    
13978    
13979                            switch (alt127) {
13980                            case 1 :
13981                                // Creole10.g:907:7: forced_linebreak
13982                                {
13983                                pushFollow(FOLLOW_forced_linebreak_in_link_descriptiontext4001);
13984                                forced_linebreak();
13985                                _fsp--;
13986                                if (failed) return text;
13987                                if ( backtracking==0 ) {
13988                                  text.add(new ForcedEndOfLineNode());
13989                                }
13990    
13991                                }
13992                                break;
13993                            case 2 :
13994                                // Creole10.g:908:5: e= escaped
13995                                {
13996                                pushFollow(FOLLOW_escaped_in_link_descriptiontext4013);
13997                                e=escaped();
13998                                _fsp--;
13999                                if (failed) return text;
14000                                if ( backtracking==0 ) {
14001                                  text.add(e);
14002                                }
14003    
14004                                }
14005                                break;
14006    
14007                            default :
14008                                if ( cnt127 >= 1 ) break loop127;
14009                                if (backtracking>0) {failed=true; return text;}
14010                                    EarlyExitException eee =
14011                                        new EarlyExitException(127, input);
14012                                    throw eee;
14013                            }
14014                            cnt127++;
14015                        } while (true);
14016    
14017    
14018                        }
14019                        break;
14020    
14021                }
14022            }
14023            catch (RecognitionException re) {
14024                reportError(re);
14025                recover(input,re);
14026            }
14027            finally {
14028            }
14029            return text;
14030        }
14031        // $ANTLR end link_descriptiontext
14032    
14033    
14034        // $ANTLR start link_descriptiontext_simple
14035        // Creole10.g:910:1: link_descriptiontext_simple returns [StringBundler text = new StringBundler()] : (c=~ ( LINK_CLOSE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+ ;
14036        public final StringBundler link_descriptiontext_simple() throws RecognitionException {
14037            StringBundler text =  new StringBundler();
14038    
14039            Token c=null;
14040    
14041            try {
14042                // Creole10.g:911:2: ( (c=~ ( LINK_CLOSE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+ )
14043                // Creole10.g:911:4: (c=~ ( LINK_CLOSE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+
14044                {
14045                // Creole10.g:911:4: (c=~ ( LINK_CLOSE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+
14046                int cnt129=0;
14047                loop129:
14048                do {
14049                    int alt129=2;
14050                    int LA129_0 = input.LA(1);
14051    
14052                    if ( ((LA129_0>=FORCED_END_OF_LINE && LA129_0<=WIKI)||LA129_0==POUND||(LA129_0>=EQUAL && LA129_0<=PIPE)||(LA129_0>=NOWIKI_BLOCK_CLOSE && LA129_0<=NOWIKI_CLOSE)||(LA129_0>=IMAGE_CLOSE && LA129_0<=80)) ) {
14053                        alt129=1;
14054                    }
14055    
14056    
14057                    switch (alt129) {
14058                    case 1 :
14059                        // Creole10.g:911:6: c=~ ( LINK_CLOSE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF )
14060                        {
14061                        c=(Token)input.LT(1);
14062                        if ( (input.LA(1)>=FORCED_END_OF_LINE && input.LA(1)<=WIKI)||input.LA(1)==POUND||(input.LA(1)>=EQUAL && input.LA(1)<=PIPE)||(input.LA(1)>=NOWIKI_BLOCK_CLOSE && input.LA(1)<=NOWIKI_CLOSE)||(input.LA(1)>=IMAGE_CLOSE && input.LA(1)<=80) ) {
14063                            input.consume();
14064                            errorRecovery=false;failed=false;
14065                        }
14066                        else {
14067                            if (backtracking>0) {failed=true; return text;}
14068                            MismatchedSetException mse =
14069                                new MismatchedSetException(null,input);
14070                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_link_descriptiontext_simple4038);    throw mse;
14071                        }
14072    
14073                        if ( backtracking==0 ) {
14074                           text.append(c.getText()); 
14075                        }
14076    
14077                        }
14078                        break;
14079    
14080                    default :
14081                        if ( cnt129 >= 1 ) break loop129;
14082                        if (backtracking>0) {failed=true; return text;}
14083                            EarlyExitException eee =
14084                                new EarlyExitException(129, input);
14085                            throw eee;
14086                    }
14087                    cnt129++;
14088                } while (true);
14089    
14090    
14091                }
14092    
14093            }
14094            catch (RecognitionException re) {
14095                reportError(re);
14096                recover(input,re);
14097            }
14098            finally {
14099            }
14100            return text;
14101        }
14102        // $ANTLR end link_descriptiontext_simple
14103    
14104    
14105        // $ANTLR start link_uri
14106        // Creole10.g:923:1: link_uri returns [StringBundler text = new StringBundler()] : (c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF ) )+ ;
14107        public final StringBundler link_uri() throws RecognitionException {
14108            StringBundler text =  new StringBundler();
14109    
14110            Token c=null;
14111    
14112            try {
14113                // Creole10.g:924:2: ( (c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF ) )+ )
14114                // Creole10.g:924:4: (c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF ) )+
14115                {
14116                // Creole10.g:924:4: (c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF ) )+
14117                int cnt130=0;
14118                loop130:
14119                do {
14120                    int alt130=2;
14121                    int LA130_0 = input.LA(1);
14122    
14123                    if ( ((LA130_0>=FORCED_END_OF_LINE && LA130_0<=WIKI)||(LA130_0>=POUND && LA130_0<=EQUAL)||(LA130_0>=ITAL && LA130_0<=NOWIKI_CLOSE)||(LA130_0>=IMAGE_CLOSE && LA130_0<=80)) ) {
14124                        alt130=1;
14125                    }
14126    
14127    
14128                    switch (alt130) {
14129                    case 1 :
14130                        // Creole10.g:924:6: c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF )
14131                        {
14132                        c=(Token)input.LT(1);
14133                        if ( (input.LA(1)>=FORCED_END_OF_LINE && input.LA(1)<=WIKI)||(input.LA(1)>=POUND && input.LA(1)<=EQUAL)||(input.LA(1)>=ITAL && input.LA(1)<=NOWIKI_CLOSE)||(input.LA(1)>=IMAGE_CLOSE && input.LA(1)<=80) ) {
14134                            input.consume();
14135                            errorRecovery=false;failed=false;
14136                        }
14137                        else {
14138                            if (backtracking>0) {failed=true; return text;}
14139                            MismatchedSetException mse =
14140                                new MismatchedSetException(null,input);
14141                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_link_uri4137);    throw mse;
14142                        }
14143    
14144                        if ( backtracking==0 ) {
14145                          text.append(c.getText()); 
14146                        }
14147    
14148                        }
14149                        break;
14150    
14151                    default :
14152                        if ( cnt130 >= 1 ) break loop130;
14153                        if (backtracking>0) {failed=true; return text;}
14154                            EarlyExitException eee =
14155                                new EarlyExitException(130, input);
14156                            throw eee;
14157                    }
14158                    cnt130++;
14159                } while (true);
14160    
14161    
14162                }
14163    
14164            }
14165            catch (RecognitionException re) {
14166                reportError(re);
14167                recover(input,re);
14168            }
14169            finally {
14170            }
14171            return text;
14172        }
14173        // $ANTLR end link_uri
14174    
14175    
14176        // $ANTLR start image
14177        // Creole10.g:931:1: image returns [ImageNode image = new ImageNode()] : image_open_markup uri= image_uri (alt= image_alternative )? image_close_markup ;
14178        public final ImageNode image() throws RecognitionException {
14179            ImageNode image =  new ImageNode();
14180    
14181            StringBundler uri = null;
14182    
14183            CollectionNode alt = null;
14184    
14185    
14186            try {
14187                // Creole10.g:932:2: ( image_open_markup uri= image_uri (alt= image_alternative )? image_close_markup )
14188                // Creole10.g:932:4: image_open_markup uri= image_uri (alt= image_alternative )? image_close_markup
14189                {
14190                pushFollow(FOLLOW_image_open_markup_in_image4178);
14191                image_open_markup();
14192                _fsp--;
14193                if (failed) return image;
14194                pushFollow(FOLLOW_image_uri_in_image4184);
14195                uri=image_uri();
14196                _fsp--;
14197                if (failed) return image;
14198                if ( backtracking==0 ) {
14199                  image.setLink(uri.toString());
14200                }
14201                // Creole10.g:932:79: (alt= image_alternative )?
14202                int alt131=2;
14203                int LA131_0 = input.LA(1);
14204    
14205                if ( (LA131_0==PIPE) ) {
14206                    alt131=1;
14207                }
14208                switch (alt131) {
14209                    case 1 :
14210                        // Creole10.g:932:81: alt= image_alternative
14211                        {
14212                        pushFollow(FOLLOW_image_alternative_in_image4194);
14213                        alt=image_alternative();
14214                        _fsp--;
14215                        if (failed) return image;
14216                        if ( backtracking==0 ) {
14217                          image.setAltCollectionNode(alt);
14218                        }
14219    
14220                        }
14221                        break;
14222    
14223                }
14224    
14225                pushFollow(FOLLOW_image_close_markup_in_image4203);
14226                image_close_markup();
14227                _fsp--;
14228                if (failed) return image;
14229    
14230                }
14231    
14232            }
14233            catch (RecognitionException re) {
14234                reportError(re);
14235                recover(input,re);
14236            }
14237            finally {
14238            }
14239            return image;
14240        }
14241        // $ANTLR end image
14242    
14243    
14244        // $ANTLR start image_uri
14245        // Creole10.g:935:1: image_uri returns [StringBundler link = new StringBundler()] : (c=~ ( PIPE | IMAGE_CLOSE | NEWLINE | EOF ) )+ ;
14246        public final StringBundler image_uri() throws RecognitionException {
14247            StringBundler link =  new StringBundler();
14248    
14249            Token c=null;
14250    
14251            try {
14252                // Creole10.g:936:2: ( (c=~ ( PIPE | IMAGE_CLOSE | NEWLINE | EOF ) )+ )
14253                // Creole10.g:936:4: (c=~ ( PIPE | IMAGE_CLOSE | NEWLINE | EOF ) )+
14254                {
14255                // Creole10.g:936:4: (c=~ ( PIPE | IMAGE_CLOSE | NEWLINE | EOF ) )+
14256                int cnt132=0;
14257                loop132:
14258                do {
14259                    int alt132=2;
14260                    int LA132_0 = input.LA(1);
14261    
14262                    if ( ((LA132_0>=FORCED_END_OF_LINE && LA132_0<=WIKI)||(LA132_0>=POUND && LA132_0<=EQUAL)||(LA132_0>=ITAL && LA132_0<=LINK_CLOSE)||(LA132_0>=BLANKS && LA132_0<=80)) ) {
14263                        alt132=1;
14264                    }
14265    
14266    
14267                    switch (alt132) {
14268                    case 1 :
14269                        // Creole10.g:936:5: c=~ ( PIPE | IMAGE_CLOSE | NEWLINE | EOF )
14270                        {
14271                        c=(Token)input.LT(1);
14272                        if ( (input.LA(1)>=FORCED_END_OF_LINE && input.LA(1)<=WIKI)||(input.LA(1)>=POUND && input.LA(1)<=EQUAL)||(input.LA(1)>=ITAL && input.LA(1)<=LINK_CLOSE)||(input.LA(1)>=BLANKS && input.LA(1)<=80) ) {
14273                            input.consume();
14274                            errorRecovery=false;failed=false;
14275                        }
14276                        else {
14277                            if (backtracking>0) {failed=true; return link;}
14278                            MismatchedSetException mse =
14279                                new MismatchedSetException(null,input);
14280                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_image_uri4222);    throw mse;
14281                        }
14282    
14283                        if ( backtracking==0 ) {
14284                          link.append(c.getText()); 
14285                        }
14286    
14287                        }
14288                        break;
14289    
14290                    default :
14291                        if ( cnt132 >= 1 ) break loop132;
14292                        if (backtracking>0) {failed=true; return link;}
14293                            EarlyExitException eee =
14294                                new EarlyExitException(132, input);
14295                            throw eee;
14296                    }
14297                    cnt132++;
14298                } while (true);
14299    
14300    
14301                }
14302    
14303            }
14304            catch (RecognitionException re) {
14305                reportError(re);
14306                recover(input,re);
14307            }
14308            finally {
14309            }
14310            return link;
14311        }
14312        // $ANTLR end image_uri
14313    
14314    
14315        // $ANTLR start image_alternative
14316        // Creole10.g:938:1: image_alternative returns [CollectionNode alternative = new CollectionNode()] : image_alternative_markup (p= image_alternativepart )+ ;
14317        public final CollectionNode image_alternative() throws RecognitionException {
14318            CollectionNode alternative =  new CollectionNode();
14319    
14320            ASTNode p = null;
14321    
14322    
14323            try {
14324                // Creole10.g:939:2: ( image_alternative_markup (p= image_alternativepart )+ )
14325                // Creole10.g:939:4: image_alternative_markup (p= image_alternativepart )+
14326                {
14327                pushFollow(FOLLOW_image_alternative_markup_in_image_alternative4257);
14328                image_alternative_markup();
14329                _fsp--;
14330                if (failed) return alternative;
14331                // Creole10.g:939:30: (p= image_alternativepart )+
14332                int cnt133=0;
14333                loop133:
14334                do {
14335                    int alt133=2;
14336                    int LA133_0 = input.LA(1);
14337    
14338                    if ( ((LA133_0>=FORCED_END_OF_LINE && LA133_0<=WIKI)||(LA133_0>=POUND && LA133_0<=ITAL)||(LA133_0>=FORCED_LINEBREAK && LA133_0<=LINK_CLOSE)||(LA133_0>=BLANKS && LA133_0<=80)) ) {
14339                        alt133=1;
14340                    }
14341    
14342    
14343                    switch (alt133) {
14344                    case 1 :
14345                        // Creole10.g:939:32: p= image_alternativepart
14346                        {
14347                        pushFollow(FOLLOW_image_alternativepart_in_image_alternative4266);
14348                        p=image_alternativepart();
14349                        _fsp--;
14350                        if (failed) return alternative;
14351                        if ( backtracking==0 ) {
14352                          alternative.add(p); 
14353                        }
14354    
14355                        }
14356                        break;
14357    
14358                    default :
14359                        if ( cnt133 >= 1 ) break loop133;
14360                        if (backtracking>0) {failed=true; return alternative;}
14361                            EarlyExitException eee =
14362                                new EarlyExitException(133, input);
14363                            throw eee;
14364                    }
14365                    cnt133++;
14366                } while (true);
14367    
14368    
14369                }
14370    
14371            }
14372            catch (RecognitionException re) {
14373                reportError(re);
14374                recover(input,re);
14375            }
14376            finally {
14377            }
14378            return alternative;
14379        }
14380        // $ANTLR end image_alternative
14381    
14382        protected static class image_alternativepart_scope {
14383            CollectionNode elements;
14384        }
14385        protected Stack image_alternativepart_stack = new Stack();
14386    
14387    
14388        // $ANTLR start image_alternativepart
14389        // Creole10.g:941:1: image_alternativepart returns [ASTNode item = null] : ( bold_markup onestar (t1= image_bold_alternativepart onestar )+ bold_markup | ital_markup onestar (t2= image_ital_alternativepart onestar )+ ital_markup | onestar (t3= image_alternativetext onestar )+ );
14390        public final ASTNode image_alternativepart() throws RecognitionException {
14391            image_alternativepart_stack.push(new image_alternativepart_scope());
14392            ASTNode item =  null;
14393    
14394            ASTNode t1 = null;
14395    
14396            ASTNode t2 = null;
14397    
14398            CollectionNode t3 = null;
14399    
14400    
14401    
14402               ((image_alternativepart_scope)image_alternativepart_stack.peek()).elements = new CollectionNode();
14403    
14404            try {
14405                // Creole10.g:948:2: ( bold_markup onestar (t1= image_bold_alternativepart onestar )+ bold_markup | ital_markup onestar (t2= image_ital_alternativepart onestar )+ ital_markup | onestar (t3= image_alternativetext onestar )+ )
14406                int alt137=3;
14407                switch ( input.LA(1) ) {
14408                case STAR:
14409                    {
14410                    int LA137_1 = input.LA(2);
14411    
14412                    if ( (LA137_1==STAR) ) {
14413                        alt137=1;
14414                    }
14415                    else if ( ((LA137_1>=FORCED_END_OF_LINE && LA137_1<=WIKI)||LA137_1==POUND||(LA137_1>=EQUAL && LA137_1<=PIPE)||(LA137_1>=FORCED_LINEBREAK && LA137_1<=LINK_CLOSE)||(LA137_1>=BLANKS && LA137_1<=80)) ) {
14416                        alt137=3;
14417                    }
14418                    else {
14419                        if (backtracking>0) {failed=true; return item;}
14420                        NoViableAltException nvae =
14421                            new NoViableAltException("941:1: image_alternativepart returns [ASTNode item = null] : ( bold_markup onestar (t1= image_bold_alternativepart onestar )+ bold_markup | ital_markup onestar (t2= image_ital_alternativepart onestar )+ ital_markup | onestar (t3= image_alternativetext onestar )+ );", 137, 1, input);
14422    
14423                        throw nvae;
14424                    }
14425                    }
14426                    break;
14427                case ITAL:
14428                    {
14429                    alt137=2;
14430                    }
14431                    break;
14432                case FORCED_END_OF_LINE:
14433                case HEADING_SECTION:
14434                case HORIZONTAL_SECTION:
14435                case LIST_ITEM:
14436                case LIST_ITEM_PART:
14437                case NOWIKI_SECTION:
14438                case SCAPE_NODE:
14439                case TEXT_NODE:
14440                case UNORDERED_LIST:
14441                case UNFORMATTED_TEXT:
14442                case WIKI:
14443                case POUND:
14444                case EQUAL:
14445                case PIPE:
14446                case FORCED_LINEBREAK:
14447                case ESCAPE:
14448                case NOWIKI_BLOCK_CLOSE:
14449                case NOWIKI_CLOSE:
14450                case LINK_CLOSE:
14451                case BLANKS:
14452                case DASH:
14453                case CR:
14454                case LF:
14455                case SPACE:
14456                case TABULATOR:
14457                case BRACE_CLOSE:
14458                case COLON_SLASH:
14459                case SLASH:
14460                case INSIGNIFICANT_CHAR:
14461                case 41:
14462                case 42:
14463                case 43:
14464                case 44:
14465                case 45:
14466                case 46:
14467                case 47:
14468                case 48:
14469                case 49:
14470                case 50:
14471                case 51:
14472                case 52:
14473                case 53:
14474                case 54:
14475                case 55:
14476                case 56:
14477                case 57:
14478                case 58:
14479                case 59:
14480                case 60:
14481                case 61:
14482                case 62:
14483                case 63:
14484                case 64:
14485                case 65:
14486                case 66:
14487                case 67:
14488                case 68:
14489                case 69:
14490                case 70:
14491                case 71:
14492                case 72:
14493                case 73:
14494                case 74:
14495                case 75:
14496                case 76:
14497                case 77:
14498                case 78:
14499                case 79:
14500                case 80:
14501                    {
14502                    alt137=3;
14503                    }
14504                    break;
14505                default:
14506                    if (backtracking>0) {failed=true; return item;}
14507                    NoViableAltException nvae =
14508                        new NoViableAltException("941:1: image_alternativepart returns [ASTNode item = null] : ( bold_markup onestar (t1= image_bold_alternativepart onestar )+ bold_markup | ital_markup onestar (t2= image_ital_alternativepart onestar )+ ital_markup | onestar (t3= image_alternativetext onestar )+ );", 137, 0, input);
14509    
14510                    throw nvae;
14511                }
14512    
14513                switch (alt137) {
14514                    case 1 :
14515                        // Creole10.g:948:4: bold_markup onestar (t1= image_bold_alternativepart onestar )+ bold_markup
14516                        {
14517                        pushFollow(FOLLOW_bold_markup_in_image_alternativepart4292);
14518                        bold_markup();
14519                        _fsp--;
14520                        if (failed) return item;
14521                        pushFollow(FOLLOW_onestar_in_image_alternativepart4295);
14522                        onestar();
14523                        _fsp--;
14524                        if (failed) return item;
14525                        // Creole10.g:948:26: (t1= image_bold_alternativepart onestar )+
14526                        int cnt134=0;
14527                        loop134:
14528                        do {
14529                            int alt134=2;
14530                            int LA134_0 = input.LA(1);
14531    
14532                            if ( (LA134_0==STAR) ) {
14533                                int LA134_1 = input.LA(2);
14534    
14535                                if ( ((LA134_1>=FORCED_END_OF_LINE && LA134_1<=WIKI)||LA134_1==POUND||(LA134_1>=EQUAL && LA134_1<=PIPE)||(LA134_1>=FORCED_LINEBREAK && LA134_1<=LINK_CLOSE)||(LA134_1>=BLANKS && LA134_1<=80)) ) {
14536                                    alt134=1;
14537                                }
14538    
14539    
14540                            }
14541                            else if ( ((LA134_0>=FORCED_END_OF_LINE && LA134_0<=WIKI)||LA134_0==POUND||(LA134_0>=EQUAL && LA134_0<=ITAL)||(LA134_0>=FORCED_LINEBREAK && LA134_0<=LINK_CLOSE)||(LA134_0>=BLANKS && LA134_0<=80)) ) {
14542                                alt134=1;
14543                            }
14544    
14545    
14546                            switch (alt134) {
14547                            case 1 :
14548                                // Creole10.g:948:28: t1= image_bold_alternativepart onestar
14549                                {
14550                                pushFollow(FOLLOW_image_bold_alternativepart_in_image_alternativepart4304);
14551                                t1=image_bold_alternativepart();
14552                                _fsp--;
14553                                if (failed) return item;
14554                                if ( backtracking==0 ) {
14555                                  ((image_alternativepart_scope)image_alternativepart_stack.peek()).elements.add(t1);
14556                                }
14557                                pushFollow(FOLLOW_onestar_in_image_alternativepart4309);
14558                                onestar();
14559                                _fsp--;
14560                                if (failed) return item;
14561    
14562                                }
14563                                break;
14564    
14565                            default :
14566                                if ( cnt134 >= 1 ) break loop134;
14567                                if (backtracking>0) {failed=true; return item;}
14568                                    EarlyExitException eee =
14569                                        new EarlyExitException(134, input);
14570                                    throw eee;
14571                            }
14572                            cnt134++;
14573                        } while (true);
14574    
14575                        pushFollow(FOLLOW_bold_markup_in_image_alternativepart4316);
14576                        bold_markup();
14577                        _fsp--;
14578                        if (failed) return item;
14579                        if ( backtracking==0 ) {
14580                          item = new BoldTextNode(((image_alternativepart_scope)image_alternativepart_stack.peek()).elements);
14581                        }
14582    
14583                        }
14584                        break;
14585                    case 2 :
14586                        // Creole10.g:950:4: ital_markup onestar (t2= image_ital_alternativepart onestar )+ ital_markup
14587                        {
14588                        pushFollow(FOLLOW_ital_markup_in_image_alternativepart4323);
14589                        ital_markup();
14590                        _fsp--;
14591                        if (failed) return item;
14592                        pushFollow(FOLLOW_onestar_in_image_alternativepart4326);
14593                        onestar();
14594                        _fsp--;
14595                        if (failed) return item;
14596                        // Creole10.g:950:26: (t2= image_ital_alternativepart onestar )+
14597                        int cnt135=0;
14598                        loop135:
14599                        do {
14600                            int alt135=2;
14601                            int LA135_0 = input.LA(1);
14602    
14603                            if ( ((LA135_0>=FORCED_END_OF_LINE && LA135_0<=WIKI)||(LA135_0>=POUND && LA135_0<=PIPE)||(LA135_0>=FORCED_LINEBREAK && LA135_0<=LINK_CLOSE)||(LA135_0>=BLANKS && LA135_0<=80)) ) {
14604                                alt135=1;
14605                            }
14606    
14607    
14608                            switch (alt135) {
14609                            case 1 :
14610                                // Creole10.g:950:29: t2= image_ital_alternativepart onestar
14611                                {
14612                                pushFollow(FOLLOW_image_ital_alternativepart_in_image_alternativepart4336);
14613                                t2=image_ital_alternativepart();
14614                                _fsp--;
14615                                if (failed) return item;
14616                                if ( backtracking==0 ) {
14617                                  ((image_alternativepart_scope)image_alternativepart_stack.peek()).elements.add(t2);
14618                                }
14619                                pushFollow(FOLLOW_onestar_in_image_alternativepart4341);
14620                                onestar();
14621                                _fsp--;
14622                                if (failed) return item;
14623    
14624                                }
14625                                break;
14626    
14627                            default :
14628                                if ( cnt135 >= 1 ) break loop135;
14629                                if (backtracking>0) {failed=true; return item;}
14630                                    EarlyExitException eee =
14631                                        new EarlyExitException(135, input);
14632                                    throw eee;
14633                            }
14634                            cnt135++;
14635                        } while (true);
14636    
14637                        pushFollow(FOLLOW_ital_markup_in_image_alternativepart4348);
14638                        ital_markup();
14639                        _fsp--;
14640                        if (failed) return item;
14641                        if ( backtracking==0 ) {
14642                          item = new ItalicTextNode(((image_alternativepart_scope)image_alternativepart_stack.peek()).elements);
14643                        }
14644    
14645                        }
14646                        break;
14647                    case 3 :
14648                        // Creole10.g:952:4: onestar (t3= image_alternativetext onestar )+
14649                        {
14650                        pushFollow(FOLLOW_onestar_in_image_alternativepart4355);
14651                        onestar();
14652                        _fsp--;
14653                        if (failed) return item;
14654                        // Creole10.g:952:13: (t3= image_alternativetext onestar )+
14655                        int cnt136=0;
14656                        loop136:
14657                        do {
14658                            int alt136=2;
14659                            int LA136_0 = input.LA(1);
14660    
14661                            if ( ((LA136_0>=FORCED_END_OF_LINE && LA136_0<=WIKI)||LA136_0==POUND||(LA136_0>=EQUAL && LA136_0<=PIPE)||(LA136_0>=ESCAPE && LA136_0<=LINK_CLOSE)||(LA136_0>=BLANKS && LA136_0<=80)) ) {
14662                                alt136=1;
14663                            }
14664                            else if ( (LA136_0==FORCED_LINEBREAK) ) {
14665                                alt136=1;
14666                            }
14667    
14668    
14669                            switch (alt136) {
14670                            case 1 :
14671                                // Creole10.g:952:15: t3= image_alternativetext onestar
14672                                {
14673                                pushFollow(FOLLOW_image_alternativetext_in_image_alternativepart4362);
14674                                t3=image_alternativetext();
14675                                _fsp--;
14676                                if (failed) return item;
14677                                if ( backtracking==0 ) {
14678    
14679                                                                    for (ASTNode n: t3.getASTNodes()) {
14680                                                                       ((image_alternativepart_scope)image_alternativepart_stack.peek()).elements.add(n);
14681                                                                     }
14682                                                                          
14683                                }
14684                                pushFollow(FOLLOW_onestar_in_image_alternativepart4367);
14685                                onestar();
14686                                _fsp--;
14687                                if (failed) return item;
14688    
14689                                }
14690                                break;
14691    
14692                            default :
14693                                if ( cnt136 >= 1 ) break loop136;
14694                                if (backtracking>0) {failed=true; return item;}
14695                                    EarlyExitException eee =
14696                                        new EarlyExitException(136, input);
14697                                    throw eee;
14698                            }
14699                            cnt136++;
14700                        } while (true);
14701    
14702                        if ( backtracking==0 ) {
14703                          item =new UnformattedTextNode(((image_alternativepart_scope)image_alternativepart_stack.peek()).elements);
14704                        }
14705    
14706                        }
14707                        break;
14708    
14709                }
14710            }
14711            catch (RecognitionException re) {
14712                reportError(re);
14713                recover(input,re);
14714            }
14715            finally {
14716                image_alternativepart_stack.pop();
14717            }
14718            return item;
14719        }
14720        // $ANTLR end image_alternativepart
14721    
14722        protected static class image_bold_alternativepart_scope {
14723            CollectionNode elements;
14724        }
14725        protected Stack image_bold_alternativepart_stack = new Stack();
14726    
14727    
14728        // $ANTLR start image_bold_alternativepart
14729        // Creole10.g:958:1: image_bold_alternativepart returns [ASTNode text = null] : ( ital_markup t= link_boldital_description ital_markup | onestar (i= image_alternativetext onestar )+ );
14730        public final ASTNode image_bold_alternativepart() throws RecognitionException {
14731            image_bold_alternativepart_stack.push(new image_bold_alternativepart_scope());
14732            ASTNode text =  null;
14733    
14734            CollectionNode t = null;
14735    
14736            CollectionNode i = null;
14737    
14738    
14739    
14740               ((image_bold_alternativepart_scope)image_bold_alternativepart_stack.peek()).elements = new CollectionNode();
14741    
14742            try {
14743                // Creole10.g:965:2: ( ital_markup t= link_boldital_description ital_markup | onestar (i= image_alternativetext onestar )+ )
14744                int alt139=2;
14745                int LA139_0 = input.LA(1);
14746    
14747                if ( (LA139_0==ITAL) ) {
14748                    alt139=1;
14749                }
14750                else if ( ((LA139_0>=FORCED_END_OF_LINE && LA139_0<=WIKI)||(LA139_0>=POUND && LA139_0<=PIPE)||(LA139_0>=FORCED_LINEBREAK && LA139_0<=LINK_CLOSE)||(LA139_0>=BLANKS && LA139_0<=80)) ) {
14751                    alt139=2;
14752                }
14753                else {
14754                    if (backtracking>0) {failed=true; return text;}
14755                    NoViableAltException nvae =
14756                        new NoViableAltException("958:1: image_bold_alternativepart returns [ASTNode text = null] : ( ital_markup t= link_boldital_description ital_markup | onestar (i= image_alternativetext onestar )+ );", 139, 0, input);
14757    
14758                    throw nvae;
14759                }
14760                switch (alt139) {
14761                    case 1 :
14762                        // Creole10.g:965:4: ital_markup t= link_boldital_description ital_markup
14763                        {
14764                        pushFollow(FOLLOW_ital_markup_in_image_bold_alternativepart4393);
14765                        ital_markup();
14766                        _fsp--;
14767                        if (failed) return text;
14768                        pushFollow(FOLLOW_link_boldital_description_in_image_bold_alternativepart4400);
14769                        t=link_boldital_description();
14770                        _fsp--;
14771                        if (failed) return text;
14772                        if ( backtracking==0 ) {
14773                          text = new ItalicTextNode(t); 
14774                        }
14775                        pushFollow(FOLLOW_ital_markup_in_image_bold_alternativepart4405);
14776                        ital_markup();
14777                        _fsp--;
14778                        if (failed) return text;
14779    
14780                        }
14781                        break;
14782                    case 2 :
14783                        // Creole10.g:966:4: onestar (i= image_alternativetext onestar )+
14784                        {
14785                        pushFollow(FOLLOW_onestar_in_image_bold_alternativepart4410);
14786                        onestar();
14787                        _fsp--;
14788                        if (failed) return text;
14789                        // Creole10.g:966:13: (i= image_alternativetext onestar )+
14790                        int cnt138=0;
14791                        loop138:
14792                        do {
14793                            int alt138=2;
14794                            int LA138_0 = input.LA(1);
14795    
14796                            if ( ((LA138_0>=FORCED_END_OF_LINE && LA138_0<=WIKI)||LA138_0==POUND||(LA138_0>=EQUAL && LA138_0<=PIPE)||(LA138_0>=ESCAPE && LA138_0<=LINK_CLOSE)||(LA138_0>=BLANKS && LA138_0<=80)) ) {
14797                                alt138=1;
14798                            }
14799                            else if ( (LA138_0==FORCED_LINEBREAK) ) {
14800                                alt138=1;
14801                            }
14802    
14803    
14804                            switch (alt138) {
14805                            case 1 :
14806                                // Creole10.g:966:15: i= image_alternativetext onestar
14807                                {
14808                                pushFollow(FOLLOW_image_alternativetext_in_image_bold_alternativepart4419);
14809                                i=image_alternativetext();
14810                                _fsp--;
14811                                if (failed) return text;
14812                                pushFollow(FOLLOW_onestar_in_image_bold_alternativepart4422);
14813                                onestar();
14814                                _fsp--;
14815                                if (failed) return text;
14816                                if ( backtracking==0 ) {
14817    
14818                                                                    for (ASTNode item:i.getASTNodes()) {
14819                                                                        ((image_ital_alternativepart_scope)image_ital_alternativepart_stack.peek()).elements.add(item);
14820                                                                    }
14821                                                                    
14822                                }
14823    
14824                                }
14825                                break;
14826    
14827                            default :
14828                                if ( cnt138 >= 1 ) break loop138;
14829                                if (backtracking>0) {failed=true; return text;}
14830                                    EarlyExitException eee =
14831                                        new EarlyExitException(138, input);
14832                                    throw eee;
14833                            }
14834                            cnt138++;
14835                        } while (true);
14836    
14837                        if ( backtracking==0 ) {
14838                          text = new UnformattedTextNode(((image_bold_alternativepart_scope)image_bold_alternativepart_stack.peek()).elements);
14839                        }
14840    
14841                        }
14842                        break;
14843    
14844                }
14845            }
14846            catch (RecognitionException re) {
14847                reportError(re);
14848                recover(input,re);
14849            }
14850            finally {
14851                image_bold_alternativepart_stack.pop();
14852            }
14853            return text;
14854        }
14855        // $ANTLR end image_bold_alternativepart
14856    
14857        protected static class image_ital_alternativepart_scope {
14858            CollectionNode elements;
14859        }
14860        protected Stack image_ital_alternativepart_stack = new Stack();
14861    
14862    
14863        // $ANTLR start image_ital_alternativepart
14864        // Creole10.g:973:1: image_ital_alternativepart returns [ASTNode text = null] : ( bold_markup t= link_boldital_description bold_markup | onestar (i= image_alternativetext onestar )+ );
14865        public final ASTNode image_ital_alternativepart() throws RecognitionException {
14866            image_ital_alternativepart_stack.push(new image_ital_alternativepart_scope());
14867            ASTNode text =  null;
14868    
14869            CollectionNode t = null;
14870    
14871            CollectionNode i = null;
14872    
14873    
14874    
14875               ((image_ital_alternativepart_scope)image_ital_alternativepart_stack.peek()).elements = new CollectionNode();
14876    
14877            try {
14878                // Creole10.g:980:2: ( bold_markup t= link_boldital_description bold_markup | onestar (i= image_alternativetext onestar )+ )
14879                int alt141=2;
14880                int LA141_0 = input.LA(1);
14881    
14882                if ( (LA141_0==STAR) ) {
14883                    int LA141_1 = input.LA(2);
14884    
14885                    if ( (LA141_1==STAR) ) {
14886                        alt141=1;
14887                    }
14888                    else if ( ((LA141_1>=FORCED_END_OF_LINE && LA141_1<=WIKI)||LA141_1==POUND||(LA141_1>=EQUAL && LA141_1<=PIPE)||(LA141_1>=FORCED_LINEBREAK && LA141_1<=LINK_CLOSE)||(LA141_1>=BLANKS && LA141_1<=80)) ) {
14889                        alt141=2;
14890                    }
14891                    else {
14892                        if (backtracking>0) {failed=true; return text;}
14893                        NoViableAltException nvae =
14894                            new NoViableAltException("973:1: image_ital_alternativepart returns [ASTNode text = null] : ( bold_markup t= link_boldital_description bold_markup | onestar (i= image_alternativetext onestar )+ );", 141, 1, input);
14895    
14896                        throw nvae;
14897                    }
14898                }
14899                else if ( ((LA141_0>=FORCED_END_OF_LINE && LA141_0<=WIKI)||LA141_0==POUND||(LA141_0>=EQUAL && LA141_0<=PIPE)||(LA141_0>=FORCED_LINEBREAK && LA141_0<=LINK_CLOSE)||(LA141_0>=BLANKS && LA141_0<=80)) ) {
14900                    alt141=2;
14901                }
14902                else {
14903                    if (backtracking>0) {failed=true; return text;}
14904                    NoViableAltException nvae =
14905                        new NoViableAltException("973:1: image_ital_alternativepart returns [ASTNode text = null] : ( bold_markup t= link_boldital_description bold_markup | onestar (i= image_alternativetext onestar )+ );", 141, 0, input);
14906    
14907                    throw nvae;
14908                }
14909                switch (alt141) {
14910                    case 1 :
14911                        // Creole10.g:980:4: bold_markup t= link_boldital_description bold_markup
14912                        {
14913                        pushFollow(FOLLOW_bold_markup_in_image_ital_alternativepart4450);
14914                        bold_markup();
14915                        _fsp--;
14916                        if (failed) return text;
14917                        pushFollow(FOLLOW_link_boldital_description_in_image_ital_alternativepart4457);
14918                        t=link_boldital_description();
14919                        _fsp--;
14920                        if (failed) return text;
14921                        if ( backtracking==0 ) {
14922                          text = new BoldTextNode(t); 
14923                        }
14924                        pushFollow(FOLLOW_bold_markup_in_image_ital_alternativepart4462);
14925                        bold_markup();
14926                        _fsp--;
14927                        if (failed) return text;
14928    
14929                        }
14930                        break;
14931                    case 2 :
14932                        // Creole10.g:981:4: onestar (i= image_alternativetext onestar )+
14933                        {
14934                        pushFollow(FOLLOW_onestar_in_image_ital_alternativepart4467);
14935                        onestar();
14936                        _fsp--;
14937                        if (failed) return text;
14938                        // Creole10.g:981:13: (i= image_alternativetext onestar )+
14939                        int cnt140=0;
14940                        loop140:
14941                        do {
14942                            int alt140=2;
14943                            int LA140_0 = input.LA(1);
14944    
14945                            if ( ((LA140_0>=FORCED_END_OF_LINE && LA140_0<=WIKI)||LA140_0==POUND||(LA140_0>=EQUAL && LA140_0<=PIPE)||(LA140_0>=ESCAPE && LA140_0<=LINK_CLOSE)||(LA140_0>=BLANKS && LA140_0<=80)) ) {
14946                                alt140=1;
14947                            }
14948                            else if ( (LA140_0==FORCED_LINEBREAK) ) {
14949                                alt140=1;
14950                            }
14951    
14952    
14953                            switch (alt140) {
14954                            case 1 :
14955                                // Creole10.g:981:14: i= image_alternativetext onestar
14956                                {
14957                                pushFollow(FOLLOW_image_alternativetext_in_image_ital_alternativepart4476);
14958                                i=image_alternativetext();
14959                                _fsp--;
14960                                if (failed) return text;
14961                                pushFollow(FOLLOW_onestar_in_image_ital_alternativepart4479);
14962                                onestar();
14963                                _fsp--;
14964                                if (failed) return text;
14965                                if ( backtracking==0 ) {
14966    
14967                                                                    for (ASTNode item:i.getASTNodes()) {
14968                                                                        ((image_ital_alternativepart_scope)image_ital_alternativepart_stack.peek()).elements.add(item);
14969                                                                    }
14970                                                                    
14971                                }
14972    
14973                                }
14974                                break;
14975    
14976                            default :
14977                                if ( cnt140 >= 1 ) break loop140;
14978                                if (backtracking>0) {failed=true; return text;}
14979                                    EarlyExitException eee =
14980                                        new EarlyExitException(140, input);
14981                                    throw eee;
14982                            }
14983                            cnt140++;
14984                        } while (true);
14985    
14986                        if ( backtracking==0 ) {
14987                          text = new UnformattedTextNode(((image_ital_alternativepart_scope)image_ital_alternativepart_stack.peek()).elements);
14988                        }
14989    
14990                        }
14991                        break;
14992    
14993                }
14994            }
14995            catch (RecognitionException re) {
14996                reportError(re);
14997                recover(input,re);
14998            }
14999            finally {
15000                image_ital_alternativepart_stack.pop();
15001            }
15002            return text;
15003        }
15004        // $ANTLR end image_ital_alternativepart
15005    
15006    
15007        // $ANTLR start image_boldital_alternative
15008        // Creole10.g:987:1: image_boldital_alternative returns [CollectionNode text = new CollectionNode()] : onestar (i= image_alternativetext onestar )+ ;
15009        public final CollectionNode image_boldital_alternative() throws RecognitionException {
15010            CollectionNode text =  new CollectionNode();
15011    
15012            CollectionNode i = null;
15013    
15014    
15015            try {
15016                // Creole10.g:988:2: ( onestar (i= image_alternativetext onestar )+ )
15017                // Creole10.g:988:4: onestar (i= image_alternativetext onestar )+
15018                {
15019                pushFollow(FOLLOW_onestar_in_image_boldital_alternative4500);
15020                onestar();
15021                _fsp--;
15022                if (failed) return text;
15023                // Creole10.g:988:13: (i= image_alternativetext onestar )+
15024                int cnt142=0;
15025                loop142:
15026                do {
15027                    int alt142=2;
15028                    int LA142_0 = input.LA(1);
15029    
15030                    if ( ((LA142_0>=FORCED_END_OF_LINE && LA142_0<=WIKI)||LA142_0==POUND||(LA142_0>=EQUAL && LA142_0<=PIPE)||(LA142_0>=FORCED_LINEBREAK && LA142_0<=LINK_CLOSE)||(LA142_0>=BLANKS && LA142_0<=80)) ) {
15031                        alt142=1;
15032                    }
15033    
15034    
15035                    switch (alt142) {
15036                    case 1 :
15037                        // Creole10.g:988:15: i= image_alternativetext onestar
15038                        {
15039                        pushFollow(FOLLOW_image_alternativetext_in_image_boldital_alternative4509);
15040                        i=image_alternativetext();
15041                        _fsp--;
15042                        if (failed) return text;
15043                        pushFollow(FOLLOW_onestar_in_image_boldital_alternative4512);
15044                        onestar();
15045                        _fsp--;
15046                        if (failed) return text;
15047                        if ( backtracking==0 ) {
15048    
15049                                                            for (ASTNode item:i.getASTNodes()) {
15050                                                                text.add(item);
15051                                                            }
15052                                                            
15053                        }
15054    
15055                        }
15056                        break;
15057    
15058                    default :
15059                        if ( cnt142 >= 1 ) break loop142;
15060                        if (backtracking>0) {failed=true; return text;}
15061                            EarlyExitException eee =
15062                                new EarlyExitException(142, input);
15063                            throw eee;
15064                    }
15065                    cnt142++;
15066                } while (true);
15067    
15068    
15069                }
15070    
15071            }
15072            catch (RecognitionException re) {
15073                reportError(re);
15074                recover(input,re);
15075            }
15076            finally {
15077            }
15078            return text;
15079        }
15080        // $ANTLR end image_boldital_alternative
15081    
15082    
15083        // $ANTLR start image_alternativetext
15084        // Creole10.g:994:1: image_alternativetext returns [CollectionNode items = new CollectionNode()] : (contents= image_alternative_simple_text | ( forced_linebreak )+ );
15085        public final CollectionNode image_alternativetext() throws RecognitionException {
15086            CollectionNode items =  new CollectionNode();
15087    
15088            StringBundler contents = null;
15089    
15090    
15091            try {
15092                // Creole10.g:995:2: (contents= image_alternative_simple_text | ( forced_linebreak )+ )
15093                int alt144=2;
15094                int LA144_0 = input.LA(1);
15095    
15096                if ( ((LA144_0>=FORCED_END_OF_LINE && LA144_0<=WIKI)||LA144_0==POUND||(LA144_0>=EQUAL && LA144_0<=PIPE)||(LA144_0>=ESCAPE && LA144_0<=LINK_CLOSE)||(LA144_0>=BLANKS && LA144_0<=80)) ) {
15097                    alt144=1;
15098                }
15099                else if ( (LA144_0==FORCED_LINEBREAK) ) {
15100                    alt144=2;
15101                }
15102                else {
15103                    if (backtracking>0) {failed=true; return items;}
15104                    NoViableAltException nvae =
15105                        new NoViableAltException("994:1: image_alternativetext returns [CollectionNode items = new CollectionNode()] : (contents= image_alternative_simple_text | ( forced_linebreak )+ );", 144, 0, input);
15106    
15107                    throw nvae;
15108                }
15109                switch (alt144) {
15110                    case 1 :
15111                        // Creole10.g:995:4: contents= image_alternative_simple_text
15112                        {
15113                        pushFollow(FOLLOW_image_alternative_simple_text_in_image_alternativetext4534);
15114                        contents=image_alternative_simple_text();
15115                        _fsp--;
15116                        if (failed) return items;
15117                        if ( backtracking==0 ) {
15118                          items.add(new UnformattedTextNode(contents.toString())); 
15119                        }
15120    
15121                        }
15122                        break;
15123                    case 2 :
15124                        // Creole10.g:996:4: ( forced_linebreak )+
15125                        {
15126                        // Creole10.g:996:4: ( forced_linebreak )+
15127                        int cnt143=0;
15128                        loop143:
15129                        do {
15130                            int alt143=2;
15131                            int LA143_0 = input.LA(1);
15132    
15133                            if ( (LA143_0==FORCED_LINEBREAK) ) {
15134                                alt143=1;
15135                            }
15136    
15137    
15138                            switch (alt143) {
15139                            case 1 :
15140                                // Creole10.g:996:5: forced_linebreak
15141                                {
15142                                pushFollow(FOLLOW_forced_linebreak_in_image_alternativetext4542);
15143                                forced_linebreak();
15144                                _fsp--;
15145                                if (failed) return items;
15146                                if ( backtracking==0 ) {
15147                                  items.add(new ForcedEndOfLineNode());
15148                                }
15149    
15150                                }
15151                                break;
15152    
15153                            default :
15154                                if ( cnt143 >= 1 ) break loop143;
15155                                if (backtracking>0) {failed=true; return items;}
15156                                    EarlyExitException eee =
15157                                        new EarlyExitException(143, input);
15158                                    throw eee;
15159                            }
15160                            cnt143++;
15161                        } while (true);
15162    
15163    
15164                        }
15165                        break;
15166    
15167                }
15168            }
15169            catch (RecognitionException re) {
15170                reportError(re);
15171                recover(input,re);
15172            }
15173            finally {
15174            }
15175            return items;
15176        }
15177        // $ANTLR end image_alternativetext
15178    
15179    
15180        // $ANTLR start image_alternative_simple_text
15181        // Creole10.g:999:1: image_alternative_simple_text returns [StringBundler text = new StringBundler()] : (c=~ ( IMAGE_CLOSE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | NEWLINE | EOF ) )+ ;
15182        public final StringBundler image_alternative_simple_text() throws RecognitionException {
15183            StringBundler text =  new StringBundler();
15184    
15185            Token c=null;
15186    
15187            try {
15188                // Creole10.g:1000:2: ( (c=~ ( IMAGE_CLOSE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | NEWLINE | EOF ) )+ )
15189                // Creole10.g:1001:2: (c=~ ( IMAGE_CLOSE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | NEWLINE | EOF ) )+
15190                {
15191                // Creole10.g:1001:2: (c=~ ( IMAGE_CLOSE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | NEWLINE | EOF ) )+
15192                int cnt145=0;
15193                loop145:
15194                do {
15195                    int alt145=2;
15196                    int LA145_0 = input.LA(1);
15197    
15198                    if ( ((LA145_0>=FORCED_END_OF_LINE && LA145_0<=WIKI)||LA145_0==POUND||(LA145_0>=EQUAL && LA145_0<=PIPE)||(LA145_0>=ESCAPE && LA145_0<=LINK_CLOSE)||(LA145_0>=BLANKS && LA145_0<=80)) ) {
15199                        alt145=1;
15200                    }
15201    
15202    
15203                    switch (alt145) {
15204                    case 1 :
15205                        // Creole10.g:1001:4: c=~ ( IMAGE_CLOSE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | NEWLINE | EOF )
15206                        {
15207                        c=(Token)input.LT(1);
15208                        if ( (input.LA(1)>=FORCED_END_OF_LINE && input.LA(1)<=WIKI)||input.LA(1)==POUND||(input.LA(1)>=EQUAL && input.LA(1)<=PIPE)||(input.LA(1)>=ESCAPE && input.LA(1)<=LINK_CLOSE)||(input.LA(1)>=BLANKS && input.LA(1)<=80) ) {
15209                            input.consume();
15210                            errorRecovery=false;failed=false;
15211                        }
15212                        else {
15213                            if (backtracking>0) {failed=true; return text;}
15214                            MismatchedSetException mse =
15215                                new MismatchedSetException(null,input);
15216                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_image_alternative_simple_text4568);    throw mse;
15217                        }
15218    
15219                        if ( backtracking==0 ) {
15220                          text.append(c.getText()); 
15221                        }
15222    
15223                        }
15224                        break;
15225    
15226                    default :
15227                        if ( cnt145 >= 1 ) break loop145;
15228                        if (backtracking>0) {failed=true; return text;}
15229                            EarlyExitException eee =
15230                                new EarlyExitException(145, input);
15231                            throw eee;
15232                    }
15233                    cnt145++;
15234                } while (true);
15235    
15236    
15237                }
15238    
15239            }
15240            catch (RecognitionException re) {
15241                reportError(re);
15242                recover(input,re);
15243            }
15244            finally {
15245            }
15246            return text;
15247        }
15248        // $ANTLR end image_alternative_simple_text
15249    
15250    
15251        // $ANTLR start extension
15252        // Creole10.g:1015:1: extension returns [ASTNode node = null] : extension_markup extension_handler blanks extension_statement extension_markup ;
15253        public final ASTNode extension() throws RecognitionException {
15254            ASTNode node =  null;
15255    
15256            try {
15257                // Creole10.g:1016:2: ( extension_markup extension_handler blanks extension_statement extension_markup )
15258                // Creole10.g:1016:4: extension_markup extension_handler blanks extension_statement extension_markup
15259                {
15260                pushFollow(FOLLOW_extension_markup_in_extension4660);
15261                extension_markup();
15262                _fsp--;
15263                if (failed) return node;
15264                pushFollow(FOLLOW_extension_handler_in_extension4663);
15265                extension_handler();
15266                _fsp--;
15267                if (failed) return node;
15268                pushFollow(FOLLOW_blanks_in_extension4666);
15269                blanks();
15270                _fsp--;
15271                if (failed) return node;
15272                pushFollow(FOLLOW_extension_statement_in_extension4669);
15273                extension_statement();
15274                _fsp--;
15275                if (failed) return node;
15276                pushFollow(FOLLOW_extension_markup_in_extension4673);
15277                extension_markup();
15278                _fsp--;
15279                if (failed) return node;
15280    
15281                }
15282    
15283            }
15284            catch (RecognitionException re) {
15285                reportError(re);
15286                recover(input,re);
15287            }
15288            finally {
15289            }
15290            return node;
15291        }
15292        // $ANTLR end extension
15293    
15294    
15295        // $ANTLR start extension_handler
15296        // Creole10.g:1020:1: extension_handler : (~ ( EXTENSION | BLANKS | ESCAPE | NEWLINE | EOF ) | escaped )+ ;
15297        public final void extension_handler() throws RecognitionException {
15298            try {
15299                // Creole10.g:1021:2: ( (~ ( EXTENSION | BLANKS | ESCAPE | NEWLINE | EOF ) | escaped )+ )
15300                // Creole10.g:1021:4: (~ ( EXTENSION | BLANKS | ESCAPE | NEWLINE | EOF ) | escaped )+
15301                {
15302                // Creole10.g:1021:4: (~ ( EXTENSION | BLANKS | ESCAPE | NEWLINE | EOF ) | escaped )+
15303                int cnt146=0;
15304                loop146:
15305                do {
15306                    int alt146=3;
15307                    int LA146_0 = input.LA(1);
15308    
15309                    if ( ((LA146_0>=FORCED_END_OF_LINE && LA146_0<=WIKI)||(LA146_0>=POUND && LA146_0<=NOWIKI_OPEN)||LA146_0==FORCED_LINEBREAK||(LA146_0>=NOWIKI_BLOCK_CLOSE && LA146_0<=IMAGE_CLOSE)||(LA146_0>=DASH && LA146_0<=80)) ) {
15310                        alt146=1;
15311                    }
15312                    else if ( (LA146_0==ESCAPE) ) {
15313                        alt146=2;
15314                    }
15315    
15316    
15317                    switch (alt146) {
15318                    case 1 :
15319                        // Creole10.g:1021:5: ~ ( EXTENSION | BLANKS | ESCAPE | NEWLINE | EOF )
15320                        {
15321                        if ( (input.LA(1)>=FORCED_END_OF_LINE && input.LA(1)<=WIKI)||(input.LA(1)>=POUND && input.LA(1)<=NOWIKI_OPEN)||input.LA(1)==FORCED_LINEBREAK||(input.LA(1)>=NOWIKI_BLOCK_CLOSE && input.LA(1)<=IMAGE_CLOSE)||(input.LA(1)>=DASH && input.LA(1)<=80) ) {
15322                            input.consume();
15323                            errorRecovery=false;failed=false;
15324                        }
15325                        else {
15326                            if (backtracking>0) {failed=true; return ;}
15327                            MismatchedSetException mse =
15328                                new MismatchedSetException(null,input);
15329                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_extension_handler4685);    throw mse;
15330                        }
15331    
15332    
15333                        }
15334                        break;
15335                    case 2 :
15336                        // Creole10.g:1021:64: escaped
15337                        {
15338                        pushFollow(FOLLOW_escaped_in_extension_handler4718);
15339                        escaped();
15340                        _fsp--;
15341                        if (failed) return ;
15342    
15343                        }
15344                        break;
15345    
15346                    default :
15347                        if ( cnt146 >= 1 ) break loop146;
15348                        if (backtracking>0) {failed=true; return ;}
15349                            EarlyExitException eee =
15350                                new EarlyExitException(146, input);
15351                            throw eee;
15352                    }
15353                    cnt146++;
15354                } while (true);
15355    
15356    
15357                }
15358    
15359            }
15360            catch (RecognitionException re) {
15361                reportError(re);
15362                recover(input,re);
15363            }
15364            finally {
15365            }
15366            return ;
15367        }
15368        // $ANTLR end extension_handler
15369    
15370    
15371        // $ANTLR start extension_statement
15372        // Creole10.g:1024:1: extension_statement : (~ ( EXTENSION | ESCAPE | EOF ) | escaped )* ;
15373        public final void extension_statement() throws RecognitionException {
15374            try {
15375                // Creole10.g:1025:2: ( (~ ( EXTENSION | ESCAPE | EOF ) | escaped )* )
15376                // Creole10.g:1025:4: (~ ( EXTENSION | ESCAPE | EOF ) | escaped )*
15377                {
15378                // Creole10.g:1025:4: (~ ( EXTENSION | ESCAPE | EOF ) | escaped )*
15379                loop147:
15380                do {
15381                    int alt147=3;
15382                    int LA147_0 = input.LA(1);
15383    
15384                    if ( ((LA147_0>=FORCED_END_OF_LINE && LA147_0<=NOWIKI_OPEN)||LA147_0==FORCED_LINEBREAK||(LA147_0>=NOWIKI_BLOCK_CLOSE && LA147_0<=80)) ) {
15385                        alt147=1;
15386                    }
15387                    else if ( (LA147_0==ESCAPE) ) {
15388                        alt147=2;
15389                    }
15390    
15391    
15392                    switch (alt147) {
15393                    case 1 :
15394                        // Creole10.g:1025:5: ~ ( EXTENSION | ESCAPE | EOF )
15395                        {
15396                        if ( (input.LA(1)>=FORCED_END_OF_LINE && input.LA(1)<=NOWIKI_OPEN)||input.LA(1)==FORCED_LINEBREAK||(input.LA(1)>=NOWIKI_BLOCK_CLOSE && input.LA(1)<=80) ) {
15397                            input.consume();
15398                            errorRecovery=false;failed=false;
15399                        }
15400                        else {
15401                            if (backtracking>0) {failed=true; return ;}
15402                            MismatchedSetException mse =
15403                                new MismatchedSetException(null,input);
15404                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_extension_statement4733);    throw mse;
15405                        }
15406    
15407    
15408                        }
15409                        break;
15410                    case 2 :
15411                        // Creole10.g:1025:41: escaped
15412                        {
15413                        pushFollow(FOLLOW_escaped_in_extension_statement4754);
15414                        escaped();
15415                        _fsp--;
15416                        if (failed) return ;
15417    
15418                        }
15419                        break;
15420    
15421                    default :
15422                        break loop147;
15423                    }
15424                } while (true);
15425    
15426    
15427                }
15428    
15429            }
15430            catch (RecognitionException re) {
15431                reportError(re);
15432                recover(input,re);
15433            }
15434            finally {
15435            }
15436            return ;
15437        }
15438        // $ANTLR end extension_statement
15439    
15440    
15441        // $ANTLR start table_of_contents
15442        // Creole10.g:1031:1: table_of_contents returns [TableOfContentsNode tableOfContents = new TableOfContentsNode()] : ( '<<TableOfContents>>' | '<<TableOfContents title=' '\\\"' t= table_of_contents_title_text '\\\"' '>>' ) ;
15443        public final TableOfContentsNode table_of_contents() throws RecognitionException {
15444            TableOfContentsNode tableOfContents =  new TableOfContentsNode();
15445    
15446            StringBundler t = null;
15447    
15448    
15449            try {
15450                // Creole10.g:1032:2: ( ( '<<TableOfContents>>' | '<<TableOfContents title=' '\\\"' t= table_of_contents_title_text '\\\"' '>>' ) )
15451                // Creole10.g:1033:3: ( '<<TableOfContents>>' | '<<TableOfContents title=' '\\\"' t= table_of_contents_title_text '\\\"' '>>' )
15452                {
15453                // Creole10.g:1033:3: ( '<<TableOfContents>>' | '<<TableOfContents title=' '\\\"' t= table_of_contents_title_text '\\\"' '>>' )
15454                int alt148=2;
15455                int LA148_0 = input.LA(1);
15456    
15457                if ( (LA148_0==77) ) {
15458                    alt148=1;
15459                }
15460                else if ( (LA148_0==78) ) {
15461                    alt148=2;
15462                }
15463                else {
15464                    if (backtracking>0) {failed=true; return tableOfContents;}
15465                    NoViableAltException nvae =
15466                        new NoViableAltException("1033:3: ( '<<TableOfContents>>' | '<<TableOfContents title=' '\\\"' t= table_of_contents_title_text '\\\"' '>>' )", 148, 0, input);
15467    
15468                    throw nvae;
15469                }
15470                switch (alt148) {
15471                    case 1 :
15472                        // Creole10.g:1034:4: '<<TableOfContents>>'
15473                        {
15474                        match(input,77,FOLLOW_77_in_table_of_contents4782); if (failed) return tableOfContents;
15475    
15476                        }
15477                        break;
15478                    case 2 :
15479                        // Creole10.g:1036:4: '<<TableOfContents title=' '\\\"' t= table_of_contents_title_text '\\\"' '>>'
15480                        {
15481                        match(input,78,FOLLOW_78_in_table_of_contents4792); if (failed) return tableOfContents;
15482                        match(input,79,FOLLOW_79_in_table_of_contents4797); if (failed) return tableOfContents;
15483                        pushFollow(FOLLOW_table_of_contents_title_text_in_table_of_contents4806);
15484                        t=table_of_contents_title_text();
15485                        _fsp--;
15486                        if (failed) return tableOfContents;
15487                        if ( backtracking==0 ) {
15488                           tableOfContents.setTitle(t.toString()); 
15489                        }
15490                        match(input,79,FOLLOW_79_in_table_of_contents4813); if (failed) return tableOfContents;
15491                        match(input,80,FOLLOW_80_in_table_of_contents4818); if (failed) return tableOfContents;
15492    
15493                        }
15494                        break;
15495    
15496                }
15497    
15498    
15499                }
15500    
15501            }
15502            catch (RecognitionException re) {
15503                reportError(re);
15504                recover(input,re);
15505            }
15506            finally {
15507            }
15508            return tableOfContents;
15509        }
15510        // $ANTLR end table_of_contents
15511    
15512    
15513        // $ANTLR start table_of_contents_title_text
15514        // Creole10.g:1045:1: table_of_contents_title_text returns [StringBundler text = new StringBundler()] : (c=~ ( LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EQUAL | ESCAPE | NEWLINE | EOF | '>>' ) )+ ;
15515        public final StringBundler table_of_contents_title_text() throws RecognitionException {
15516            StringBundler text =  new StringBundler();
15517    
15518            Token c=null;
15519    
15520            try {
15521                // Creole10.g:1046:2: ( (c=~ ( LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EQUAL | ESCAPE | NEWLINE | EOF | '>>' ) )+ )
15522                // Creole10.g:1046:4: (c=~ ( LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EQUAL | ESCAPE | NEWLINE | EOF | '>>' ) )+
15523                {
15524                // Creole10.g:1046:4: (c=~ ( LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EQUAL | ESCAPE | NEWLINE | EOF | '>>' ) )+
15525                int cnt149=0;
15526                loop149:
15527                do {
15528                    int alt149=2;
15529                    int LA149_0 = input.LA(1);
15530    
15531                    if ( (LA149_0==79) ) {
15532                        int LA149_1 = input.LA(2);
15533    
15534                        if ( ((LA149_1>=FORCED_END_OF_LINE && LA149_1<=WIKI)||(LA149_1>=POUND && LA149_1<=STAR)||(LA149_1>=PIPE && LA149_1<=ITAL)||(LA149_1>=EXTENSION && LA149_1<=FORCED_LINEBREAK)||(LA149_1>=NOWIKI_BLOCK_CLOSE && LA149_1<=79)) ) {
15535                            alt149=1;
15536                        }
15537    
15538    
15539                    }
15540                    else if ( ((LA149_0>=FORCED_END_OF_LINE && LA149_0<=WIKI)||(LA149_0>=POUND && LA149_0<=STAR)||(LA149_0>=PIPE && LA149_0<=ITAL)||(LA149_0>=EXTENSION && LA149_0<=FORCED_LINEBREAK)||(LA149_0>=NOWIKI_BLOCK_CLOSE && LA149_0<=78)) ) {
15541                        alt149=1;
15542                    }
15543    
15544    
15545                    switch (alt149) {
15546                    case 1 :
15547                        // Creole10.g:1046:6: c=~ ( LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EQUAL | ESCAPE | NEWLINE | EOF | '>>' )
15548                        {
15549                        c=(Token)input.LT(1);
15550                        if ( (input.LA(1)>=FORCED_END_OF_LINE && input.LA(1)<=WIKI)||(input.LA(1)>=POUND && input.LA(1)<=STAR)||(input.LA(1)>=PIPE && input.LA(1)<=ITAL)||(input.LA(1)>=EXTENSION && input.LA(1)<=FORCED_LINEBREAK)||(input.LA(1)>=NOWIKI_BLOCK_CLOSE && input.LA(1)<=79) ) {
15551                            input.consume();
15552                            errorRecovery=false;failed=false;
15553                        }
15554                        else {
15555                            if (backtracking>0) {failed=true; return text;}
15556                            MismatchedSetException mse =
15557                                new MismatchedSetException(null,input);
15558                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_table_of_contents_title_text4844);    throw mse;
15559                        }
15560    
15561                        if ( backtracking==0 ) {
15562                          text.append(c.getText());
15563                        }
15564    
15565                        }
15566                        break;
15567    
15568                    default :
15569                        if ( cnt149 >= 1 ) break loop149;
15570                        if (backtracking>0) {failed=true; return text;}
15571                            EarlyExitException eee =
15572                                new EarlyExitException(149, input);
15573                            throw eee;
15574                    }
15575                    cnt149++;
15576                } while (true);
15577    
15578    
15579                }
15580    
15581            }
15582            catch (RecognitionException re) {
15583                reportError(re);
15584                recover(input,re);
15585            }
15586            finally {
15587            }
15588            return text;
15589        }
15590        // $ANTLR end table_of_contents_title_text
15591    
15592    
15593        // $ANTLR start onestar
15594        // Creole10.g:1049:1: onestar : ( ({...}? ( STAR )? ) | );
15595        public final void onestar() throws RecognitionException {
15596            try {
15597                // Creole10.g:1050:2: ( ({...}? ( STAR )? ) | )
15598                int alt151=2;
15599                switch ( input.LA(1) ) {
15600                case STAR:
15601                    {
15602                    int LA151_1 = input.LA(2);
15603    
15604                    if ( ( input.LA(2) != STAR ) ) {
15605                        alt151=1;
15606                    }
15607                    else if ( (true) ) {
15608                        alt151=2;
15609                    }
15610                    else {
15611                        if (backtracking>0) {failed=true; return ;}
15612                        NoViableAltException nvae =
15613                            new NoViableAltException("1049:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 1, input);
15614    
15615                        throw nvae;
15616                    }
15617                    }
15618                    break;
15619                case BLANKS:
15620                    {
15621                    int LA151_2 = input.LA(2);
15622    
15623                    if ( ( input.LA(2) != STAR ) ) {
15624                        alt151=1;
15625                    }
15626                    else if ( (true) ) {
15627                        alt151=2;
15628                    }
15629                    else {
15630                        if (backtracking>0) {failed=true; return ;}
15631                        NoViableAltException nvae =
15632                            new NoViableAltException("1049:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 2, input);
15633    
15634                        throw nvae;
15635                    }
15636                    }
15637                    break;
15638                case FORCED_LINEBREAK:
15639                    {
15640                    int LA151_3 = input.LA(2);
15641    
15642                    if ( ( input.LA(2) != STAR ) ) {
15643                        alt151=1;
15644                    }
15645                    else if ( (true) ) {
15646                        alt151=2;
15647                    }
15648                    else {
15649                        if (backtracking>0) {failed=true; return ;}
15650                        NoViableAltException nvae =
15651                            new NoViableAltException("1049:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 3, input);
15652    
15653                        throw nvae;
15654                    }
15655                    }
15656                    break;
15657                case ESCAPE:
15658                    {
15659                    int LA151_4 = input.LA(2);
15660    
15661                    if ( ( input.LA(2) != STAR ) ) {
15662                        alt151=1;
15663                    }
15664                    else if ( (true) ) {
15665                        alt151=2;
15666                    }
15667                    else {
15668                        if (backtracking>0) {failed=true; return ;}
15669                        NoViableAltException nvae =
15670                            new NoViableAltException("1049:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 4, input);
15671    
15672                        throw nvae;
15673                    }
15674                    }
15675                    break;
15676                case LINK_OPEN:
15677                    {
15678                    int LA151_5 = input.LA(2);
15679    
15680                    if ( ( input.LA(2) != STAR ) ) {
15681                        alt151=1;
15682                    }
15683                    else if ( (true) ) {
15684                        alt151=2;
15685                    }
15686                    else {
15687                        if (backtracking>0) {failed=true; return ;}
15688                        NoViableAltException nvae =
15689                            new NoViableAltException("1049:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 5, input);
15690    
15691                        throw nvae;
15692                    }
15693                    }
15694                    break;
15695                case IMAGE_OPEN:
15696                    {
15697                    int LA151_6 = input.LA(2);
15698    
15699                    if ( ( input.LA(2) != STAR ) ) {
15700                        alt151=1;
15701                    }
15702                    else if ( (true) ) {
15703                        alt151=2;
15704                    }
15705                    else {
15706                        if (backtracking>0) {failed=true; return ;}
15707                        NoViableAltException nvae =
15708                            new NoViableAltException("1049:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 6, input);
15709    
15710                        throw nvae;
15711                    }
15712                    }
15713                    break;
15714                case EXTENSION:
15715                    {
15716                    int LA151_7 = input.LA(2);
15717    
15718                    if ( ( input.LA(2) != STAR ) ) {
15719                        alt151=1;
15720                    }
15721                    else if ( (true) ) {
15722                        alt151=2;
15723                    }
15724                    else {
15725                        if (backtracking>0) {failed=true; return ;}
15726                        NoViableAltException nvae =
15727                            new NoViableAltException("1049:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 7, input);
15728    
15729                        throw nvae;
15730                    }
15731                    }
15732                    break;
15733                case NOWIKI_OPEN:
15734                    {
15735                    int LA151_8 = input.LA(2);
15736    
15737                    if ( ( input.LA(2) != STAR ) ) {
15738                        alt151=1;
15739                    }
15740                    else if ( (true) ) {
15741                        alt151=2;
15742                    }
15743                    else {
15744                        if (backtracking>0) {failed=true; return ;}
15745                        NoViableAltException nvae =
15746                            new NoViableAltException("1049:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 8, input);
15747    
15748                        throw nvae;
15749                    }
15750                    }
15751                    break;
15752                case NEWLINE:
15753                    {
15754                    int LA151_9 = input.LA(2);
15755    
15756                    if ( ((( input.LA(2) != STAR && input.LA(2) != DASH && input.LA(2) != POUND &&
15757                                    input.LA(2) != EQUAL && input.LA(2) != NEWLINE )|| input.LA(2) != STAR )) ) {
15758                        alt151=1;
15759                    }
15760                    else if ( (true) ) {
15761                        alt151=2;
15762                    }
15763                    else {
15764                        if (backtracking>0) {failed=true; return ;}
15765                        NoViableAltException nvae =
15766                            new NoViableAltException("1049:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 9, input);
15767    
15768                        throw nvae;
15769                    }
15770                    }
15771                    break;
15772                case EOF:
15773                    {
15774                    int LA151_10 = input.LA(2);
15775    
15776                    if ( ((( input.LA(2) != STAR && input.LA(2) != DASH && input.LA(2) != POUND &&
15777                                    input.LA(2) != EQUAL && input.LA(2) != NEWLINE )|| input.LA(2) != STAR )) ) {
15778                        alt151=1;
15779                    }
15780                    else if ( (true) ) {
15781                        alt151=2;
15782                    }
15783                    else {
15784                        if (backtracking>0) {failed=true; return ;}
15785                        NoViableAltException nvae =
15786                            new NoViableAltException("1049:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 10, input);
15787    
15788                        throw nvae;
15789                    }
15790                    }
15791                    break;
15792                case ITAL:
15793                    {
15794                    int LA151_11 = input.LA(2);
15795    
15796                    if ( ( input.LA(2) != STAR ) ) {
15797                        alt151=1;
15798                    }
15799                    else if ( (true) ) {
15800                        alt151=2;
15801                    }
15802                    else {
15803                        if (backtracking>0) {failed=true; return ;}
15804                        NoViableAltException nvae =
15805                            new NoViableAltException("1049:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 11, input);
15806    
15807                        throw nvae;
15808                    }
15809                    }
15810                    break;
15811                case EQUAL:
15812                    {
15813                    int LA151_12 = input.LA(2);
15814    
15815                    if ( ( input.LA(2) != STAR ) ) {
15816                        alt151=1;
15817                    }
15818                    else if ( (true) ) {
15819                        alt151=2;
15820                    }
15821                    else {
15822                        if (backtracking>0) {failed=true; return ;}
15823                        NoViableAltException nvae =
15824                            new NoViableAltException("1049:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 12, input);
15825    
15826                        throw nvae;
15827                    }
15828                    }
15829                    break;
15830                case FORCED_END_OF_LINE:
15831                case HEADING_SECTION:
15832                case HORIZONTAL_SECTION:
15833                case LIST_ITEM:
15834                case LIST_ITEM_PART:
15835                case NOWIKI_SECTION:
15836                case SCAPE_NODE:
15837                case TEXT_NODE:
15838                case UNORDERED_LIST:
15839                case UNFORMATTED_TEXT:
15840                case WIKI:
15841                case POUND:
15842                case NOWIKI_BLOCK_CLOSE:
15843                case NOWIKI_CLOSE:
15844                case DASH:
15845                case CR:
15846                case LF:
15847                case SPACE:
15848                case TABULATOR:
15849                case BRACE_CLOSE:
15850                case COLON_SLASH:
15851                case SLASH:
15852                case INSIGNIFICANT_CHAR:
15853                case 41:
15854                case 42:
15855                case 43:
15856                case 44:
15857                case 45:
15858                case 46:
15859                case 47:
15860                case 48:
15861                case 49:
15862                case 50:
15863                case 51:
15864                case 52:
15865                case 53:
15866                case 54:
15867                case 55:
15868                case 56:
15869                case 57:
15870                case 58:
15871                case 59:
15872                case 60:
15873                case 61:
15874                case 62:
15875                case 63:
15876                case 64:
15877                case 65:
15878                case 66:
15879                case 67:
15880                case 68:
15881                case 69:
15882                case 70:
15883                case 71:
15884                case 72:
15885                case 73:
15886                case 74:
15887                case 75:
15888                case 76:
15889                case 77:
15890                case 78:
15891                case 79:
15892                case 80:
15893                    {
15894                    int LA151_13 = input.LA(2);
15895    
15896                    if ( ( input.LA(2) != STAR ) ) {
15897                        alt151=1;
15898                    }
15899                    else if ( (true) ) {
15900                        alt151=2;
15901                    }
15902                    else {
15903                        if (backtracking>0) {failed=true; return ;}
15904                        NoViableAltException nvae =
15905                            new NoViableAltException("1049:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 13, input);
15906    
15907                        throw nvae;
15908                    }
15909                    }
15910                    break;
15911                case PIPE:
15912                    {
15913                    int LA151_14 = input.LA(2);
15914    
15915                    if ( ((( input.LA(2) != STAR && input.LA(2) == EQUAL )||( input.LA(2) != STAR && input.LA(1) == PIPE && input.LA(2) == PIPE )||(( input.LA(2) != STAR && input.LA(1) == PIPE && input.LA(2) == PIPE )&& input.LA(2) == EQUAL )|| input.LA(2) != STAR )) ) {
15916                        alt151=1;
15917                    }
15918                    else if ( (true) ) {
15919                        alt151=2;
15920                    }
15921                    else {
15922                        if (backtracking>0) {failed=true; return ;}
15923                        NoViableAltException nvae =
15924                            new NoViableAltException("1049:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 14, input);
15925    
15926                        throw nvae;
15927                    }
15928                    }
15929                    break;
15930                case LINK_CLOSE:
15931                    {
15932                    int LA151_15 = input.LA(2);
15933    
15934                    if ( ( input.LA(2) != STAR ) ) {
15935                        alt151=1;
15936                    }
15937                    else if ( (true) ) {
15938                        alt151=2;
15939                    }
15940                    else {
15941                        if (backtracking>0) {failed=true; return ;}
15942                        NoViableAltException nvae =
15943                            new NoViableAltException("1049:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 15, input);
15944    
15945                        throw nvae;
15946                    }
15947                    }
15948                    break;
15949                case IMAGE_CLOSE:
15950                    {
15951                    int LA151_16 = input.LA(2);
15952    
15953                    if ( ( input.LA(2) != STAR ) ) {
15954                        alt151=1;
15955                    }
15956                    else if ( (true) ) {
15957                        alt151=2;
15958                    }
15959                    else {
15960                        if (backtracking>0) {failed=true; return ;}
15961                        NoViableAltException nvae =
15962                            new NoViableAltException("1049:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 16, input);
15963    
15964                        throw nvae;
15965                    }
15966                    }
15967                    break;
15968                default:
15969                    if (backtracking>0) {failed=true; return ;}
15970                    NoViableAltException nvae =
15971                        new NoViableAltException("1049:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 0, input);
15972    
15973                    throw nvae;
15974                }
15975    
15976                switch (alt151) {
15977                    case 1 :
15978                        // Creole10.g:1050:4: ({...}? ( STAR )? )
15979                        {
15980                        // Creole10.g:1050:4: ({...}? ( STAR )? )
15981                        // Creole10.g:1050:6: {...}? ( STAR )?
15982                        {
15983                        if ( !( input.LA(2) != STAR ) ) {
15984                            if (backtracking>0) {failed=true; return ;}
15985                            throw new FailedPredicateException(input, "onestar", " input.LA(2) != STAR ");
15986                        }
15987                        // Creole10.g:1050:32: ( STAR )?
15988                        int alt150=2;
15989                        int LA150_0 = input.LA(1);
15990    
15991                        if ( (LA150_0==STAR) ) {
15992                            alt150=1;
15993                        }
15994                        switch (alt150) {
15995                            case 1 :
15996                                // Creole10.g:1050:34: STAR
15997                                {
15998                                match(input,STAR,FOLLOW_STAR_in_onestar4899); if (failed) return ;
15999    
16000                                }
16001                                break;
16002    
16003                        }
16004    
16005    
16006                        }
16007    
16008    
16009                        }
16010                        break;
16011                    case 2 :
16012                        // Creole10.g:1052:2: 
16013                        {
16014                        }
16015                        break;
16016    
16017                }
16018            }
16019            catch (RecognitionException re) {
16020                reportError(re);
16021                recover(input,re);
16022            }
16023            finally {
16024            }
16025            return ;
16026        }
16027        // $ANTLR end onestar
16028    
16029    
16030        // $ANTLR start escaped
16031        // Creole10.g:1053:1: escaped returns [ScapedNode scaped = new ScapedNode()] : ESCAPE c= . ;
16032        public final ScapedNode escaped() throws RecognitionException {
16033            ScapedNode scaped =  new ScapedNode();
16034    
16035            Token c=null;
16036    
16037            try {
16038                // Creole10.g:1054:2: ( ESCAPE c= . )
16039                // Creole10.g:1054:4: ESCAPE c= .
16040                {
16041                match(input,ESCAPE,FOLLOW_ESCAPE_in_escaped4920); if (failed) return scaped;
16042                c=(Token)input.LT(1);
16043                matchAny(input); if (failed) return scaped;
16044                if ( backtracking==0 ) {
16045                   scaped.setContent(c.getText()) ; 
16046                }
16047    
16048                }
16049    
16050            }
16051            catch (RecognitionException re) {
16052                reportError(re);
16053                recover(input,re);
16054            }
16055            finally {
16056            }
16057            return scaped;
16058        }
16059        // $ANTLR end escaped
16060    
16061    
16062        // $ANTLR start paragraph_separator
16063        // Creole10.g:1057:1: paragraph_separator : ( ( newline )+ | EOF );
16064        public final void paragraph_separator() throws RecognitionException {
16065            try {
16066                // Creole10.g:1058:2: ( ( newline )+ | EOF )
16067                int alt153=2;
16068                int LA153_0 = input.LA(1);
16069    
16070                if ( (LA153_0==NEWLINE) ) {
16071                    alt153=1;
16072                }
16073                else if ( (LA153_0==EOF) ) {
16074                    alt153=2;
16075                }
16076                else {
16077                    if (backtracking>0) {failed=true; return ;}
16078                    NoViableAltException nvae =
16079                        new NoViableAltException("1057:1: paragraph_separator : ( ( newline )+ | EOF );", 153, 0, input);
16080    
16081                    throw nvae;
16082                }
16083                switch (alt153) {
16084                    case 1 :
16085                        // Creole10.g:1058:4: ( newline )+
16086                        {
16087                        // Creole10.g:1058:4: ( newline )+
16088                        int cnt152=0;
16089                        loop152:
16090                        do {
16091                            int alt152=2;
16092                            int LA152_0 = input.LA(1);
16093    
16094                            if ( (LA152_0==NEWLINE) ) {
16095                                alt152=1;
16096                            }
16097    
16098    
16099                            switch (alt152) {
16100                            case 1 :
16101                                // Creole10.g:1058:6: newline
16102                                {
16103                                pushFollow(FOLLOW_newline_in_paragraph_separator4944);
16104                                newline();
16105                                _fsp--;
16106                                if (failed) return ;
16107    
16108                                }
16109                                break;
16110    
16111                            default :
16112                                if ( cnt152 >= 1 ) break loop152;
16113                                if (backtracking>0) {failed=true; return ;}
16114                                    EarlyExitException eee =
16115                                        new EarlyExitException(152, input);
16116                                    throw eee;
16117                            }
16118                            cnt152++;
16119                        } while (true);
16120    
16121    
16122                        }
16123                        break;
16124                    case 2 :
16125                        // Creole10.g:1059:4: EOF
16126                        {
16127                        match(input,EOF,FOLLOW_EOF_in_paragraph_separator4952); if (failed) return ;
16128    
16129                        }
16130                        break;
16131    
16132                }
16133            }
16134            catch (RecognitionException re) {
16135                reportError(re);
16136                recover(input,re);
16137            }
16138            finally {
16139            }
16140            return ;
16141        }
16142        // $ANTLR end paragraph_separator
16143    
16144    
16145        // $ANTLR start whitespaces
16146        // Creole10.g:1061:1: whitespaces : ( blanks | newline )+ ;
16147        public final void whitespaces() throws RecognitionException {
16148            try {
16149                // Creole10.g:1062:2: ( ( blanks | newline )+ )
16150                // Creole10.g:1062:4: ( blanks | newline )+
16151                {
16152                // Creole10.g:1062:4: ( blanks | newline )+
16153                int cnt154=0;
16154                loop154:
16155                do {
16156                    int alt154=3;
16157                    int LA154_0 = input.LA(1);
16158    
16159                    if ( (LA154_0==BLANKS) ) {
16160                        alt154=1;
16161                    }
16162                    else if ( (LA154_0==NEWLINE) ) {
16163                        alt154=2;
16164                    }
16165    
16166    
16167                    switch (alt154) {
16168                    case 1 :
16169                        // Creole10.g:1062:6: blanks
16170                        {
16171                        pushFollow(FOLLOW_blanks_in_whitespaces4964);
16172                        blanks();
16173                        _fsp--;
16174                        if (failed) return ;
16175    
16176                        }
16177                        break;
16178                    case 2 :
16179                        // Creole10.g:1062:15: newline
16180                        {
16181                        pushFollow(FOLLOW_newline_in_whitespaces4968);
16182                        newline();
16183                        _fsp--;
16184                        if (failed) return ;
16185    
16186                        }
16187                        break;
16188    
16189                    default :
16190                        if ( cnt154 >= 1 ) break loop154;
16191                        if (backtracking>0) {failed=true; return ;}
16192                            EarlyExitException eee =
16193                                new EarlyExitException(154, input);
16194                            throw eee;
16195                    }
16196                    cnt154++;
16197                } while (true);
16198    
16199    
16200                }
16201    
16202            }
16203            catch (RecognitionException re) {
16204                reportError(re);
16205                recover(input,re);
16206            }
16207            finally {
16208            }
16209            return ;
16210        }
16211        // $ANTLR end whitespaces
16212    
16213    
16214        // $ANTLR start blanks
16215        // Creole10.g:1064:1: blanks : BLANKS ;
16216        public final void blanks() throws RecognitionException {
16217            try {
16218                // Creole10.g:1065:2: ( BLANKS )
16219                // Creole10.g:1065:4: BLANKS
16220                {
16221                match(input,BLANKS,FOLLOW_BLANKS_in_blanks4981); if (failed) return ;
16222    
16223                }
16224    
16225            }
16226            catch (RecognitionException re) {
16227                reportError(re);
16228                recover(input,re);
16229            }
16230            finally {
16231            }
16232            return ;
16233        }
16234        // $ANTLR end blanks
16235    
16236    
16237        // $ANTLR start text_lineseparator
16238        // Creole10.g:1067:1: text_lineseparator : ( newline ( blanks )? | EOF );
16239        public final void text_lineseparator() throws RecognitionException {
16240            try {
16241                // Creole10.g:1068:2: ( newline ( blanks )? | EOF )
16242                int alt156=2;
16243                int LA156_0 = input.LA(1);
16244    
16245                if ( (LA156_0==NEWLINE) ) {
16246                    alt156=1;
16247                }
16248                else if ( (LA156_0==EOF) ) {
16249                    alt156=2;
16250                }
16251                else {
16252                    if (backtracking>0) {failed=true; return ;}
16253                    NoViableAltException nvae =
16254                        new NoViableAltException("1067:1: text_lineseparator : ( newline ( blanks )? | EOF );", 156, 0, input);
16255    
16256                    throw nvae;
16257                }
16258                switch (alt156) {
16259                    case 1 :
16260                        // Creole10.g:1068:4: newline ( blanks )?
16261                        {
16262                        pushFollow(FOLLOW_newline_in_text_lineseparator4991);
16263                        newline();
16264                        _fsp--;
16265                        if (failed) return ;
16266                        // Creole10.g:1068:13: ( blanks )?
16267                        int alt155=2;
16268                        int LA155_0 = input.LA(1);
16269    
16270                        if ( (LA155_0==BLANKS) ) {
16271                            alt155=1;
16272                        }
16273                        switch (alt155) {
16274                            case 1 :
16275                                // Creole10.g:1068:15: blanks
16276                                {
16277                                pushFollow(FOLLOW_blanks_in_text_lineseparator4996);
16278                                blanks();
16279                                _fsp--;
16280                                if (failed) return ;
16281    
16282                                }
16283                                break;
16284    
16285                        }
16286    
16287    
16288                        }
16289                        break;
16290                    case 2 :
16291                        // Creole10.g:1069:4: EOF
16292                        {
16293                        match(input,EOF,FOLLOW_EOF_in_text_lineseparator5004); if (failed) return ;
16294    
16295                        }
16296                        break;
16297    
16298                }
16299            }
16300            catch (RecognitionException re) {
16301                reportError(re);
16302                recover(input,re);
16303            }
16304            finally {
16305            }
16306            return ;
16307        }
16308        // $ANTLR end text_lineseparator
16309    
16310    
16311        // $ANTLR start newline
16312        // Creole10.g:1071:1: newline : NEWLINE ;
16313        public final void newline() throws RecognitionException {
16314            try {
16315                // Creole10.g:1072:2: ( NEWLINE )
16316                // Creole10.g:1072:4: NEWLINE
16317                {
16318                match(input,NEWLINE,FOLLOW_NEWLINE_in_newline5014); if (failed) return ;
16319    
16320                }
16321    
16322            }
16323            catch (RecognitionException re) {
16324                reportError(re);
16325                recover(input,re);
16326            }
16327            finally {
16328            }
16329            return ;
16330        }
16331        // $ANTLR end newline
16332    
16333    
16334        // $ANTLR start bold_markup
16335        // Creole10.g:1074:1: bold_markup : STAR STAR ;
16336        public final void bold_markup() throws RecognitionException {
16337            try {
16338                // Creole10.g:1075:2: ( STAR STAR )
16339                // Creole10.g:1075:4: STAR STAR
16340                {
16341                match(input,STAR,FOLLOW_STAR_in_bold_markup5024); if (failed) return ;
16342                match(input,STAR,FOLLOW_STAR_in_bold_markup5027); if (failed) return ;
16343    
16344                }
16345    
16346            }
16347            catch (RecognitionException re) {
16348                reportError(re);
16349                recover(input,re);
16350            }
16351            finally {
16352            }
16353            return ;
16354        }
16355        // $ANTLR end bold_markup
16356    
16357    
16358        // $ANTLR start ital_markup
16359        // Creole10.g:1077:1: ital_markup : ITAL ;
16360        public final void ital_markup() throws RecognitionException {
16361            try {
16362                // Creole10.g:1078:2: ( ITAL )
16363                // Creole10.g:1078:4: ITAL
16364                {
16365                match(input,ITAL,FOLLOW_ITAL_in_ital_markup5037); if (failed) return ;
16366    
16367                }
16368    
16369            }
16370            catch (RecognitionException re) {
16371                reportError(re);
16372                recover(input,re);
16373            }
16374            finally {
16375            }
16376            return ;
16377        }
16378        // $ANTLR end ital_markup
16379    
16380    
16381        // $ANTLR start heading_markup
16382        // Creole10.g:1080:1: heading_markup : EQUAL ;
16383        public final void heading_markup() throws RecognitionException {
16384            try {
16385                // Creole10.g:1081:2: ( EQUAL )
16386                // Creole10.g:1081:4: EQUAL
16387                {
16388                match(input,EQUAL,FOLLOW_EQUAL_in_heading_markup5047); if (failed) return ;
16389    
16390                }
16391    
16392            }
16393            catch (RecognitionException re) {
16394                reportError(re);
16395                recover(input,re);
16396            }
16397            finally {
16398            }
16399            return ;
16400        }
16401        // $ANTLR end heading_markup
16402    
16403        public static class list_ordelem_markup_return extends ParserRuleReturnScope {
16404        };
16405    
16406        // $ANTLR start list_ordelem_markup
16407        // Creole10.g:1083:1: list_ordelem_markup : POUND ;
16408        public final list_ordelem_markup_return list_ordelem_markup() throws RecognitionException {
16409            list_ordelem_markup_return retval = new list_ordelem_markup_return();
16410            retval.start = input.LT(1);
16411    
16412            try {
16413                // Creole10.g:1084:2: ( POUND )
16414                // Creole10.g:1084:4: POUND
16415                {
16416                match(input,POUND,FOLLOW_POUND_in_list_ordelem_markup5057); if (failed) return retval;
16417    
16418                }
16419    
16420                retval.stop = input.LT(-1);
16421    
16422            }
16423            catch (RecognitionException re) {
16424                reportError(re);
16425                recover(input,re);
16426            }
16427            finally {
16428            }
16429            return retval;
16430        }
16431        // $ANTLR end list_ordelem_markup
16432    
16433        public static class list_unordelem_markup_return extends ParserRuleReturnScope {
16434        };
16435    
16436        // $ANTLR start list_unordelem_markup
16437        // Creole10.g:1086:1: list_unordelem_markup : STAR ;
16438        public final list_unordelem_markup_return list_unordelem_markup() throws RecognitionException {
16439            list_unordelem_markup_return retval = new list_unordelem_markup_return();
16440            retval.start = input.LT(1);
16441    
16442            try {
16443                // Creole10.g:1087:2: ( STAR )
16444                // Creole10.g:1087:4: STAR
16445                {
16446                match(input,STAR,FOLLOW_STAR_in_list_unordelem_markup5067); if (failed) return retval;
16447    
16448                }
16449    
16450                retval.stop = input.LT(-1);
16451    
16452            }
16453            catch (RecognitionException re) {
16454                reportError(re);
16455                recover(input,re);
16456            }
16457            finally {
16458            }
16459            return retval;
16460        }
16461        // $ANTLR end list_unordelem_markup
16462    
16463    
16464        // $ANTLR start list_elemseparator
16465        // Creole10.g:1089:1: list_elemseparator : ( newline ( blanks )? | EOF );
16466        public final void list_elemseparator() throws RecognitionException {
16467            try {
16468                // Creole10.g:1090:2: ( newline ( blanks )? | EOF )
16469                int alt158=2;
16470                int LA158_0 = input.LA(1);
16471    
16472                if ( (LA158_0==NEWLINE) ) {
16473                    alt158=1;
16474                }
16475                else if ( (LA158_0==EOF) ) {
16476                    alt158=2;
16477                }
16478                else {
16479                    if (backtracking>0) {failed=true; return ;}
16480                    NoViableAltException nvae =
16481                        new NoViableAltException("1089:1: list_elemseparator : ( newline ( blanks )? | EOF );", 158, 0, input);
16482    
16483                    throw nvae;
16484                }
16485                switch (alt158) {
16486                    case 1 :
16487                        // Creole10.g:1090:4: newline ( blanks )?
16488                        {
16489                        pushFollow(FOLLOW_newline_in_list_elemseparator5077);
16490                        newline();
16491                        _fsp--;
16492                        if (failed) return ;
16493                        // Creole10.g:1090:13: ( blanks )?
16494                        int alt157=2;
16495                        int LA157_0 = input.LA(1);
16496    
16497                        if ( (LA157_0==BLANKS) ) {
16498                            alt157=1;
16499                        }
16500                        switch (alt157) {
16501                            case 1 :
16502                                // Creole10.g:1090:15: blanks
16503                                {
16504                                pushFollow(FOLLOW_blanks_in_list_elemseparator5082);
16505                                blanks();
16506                                _fsp--;
16507                                if (failed) return ;
16508    
16509                                }
16510                                break;
16511    
16512                        }
16513    
16514    
16515                        }
16516                        break;
16517                    case 2 :
16518                        // Creole10.g:1091:4: EOF
16519                        {
16520                        match(input,EOF,FOLLOW_EOF_in_list_elemseparator5090); if (failed) return ;
16521    
16522                        }
16523                        break;
16524    
16525                }
16526            }
16527            catch (RecognitionException re) {
16528                reportError(re);
16529                recover(input,re);
16530            }
16531            finally {
16532            }
16533            return ;
16534        }
16535        // $ANTLR end list_elemseparator
16536    
16537    
16538        // $ANTLR start end_of_list
16539        // Creole10.g:1093:1: end_of_list : ( newline | EOF );
16540        public final void end_of_list() throws RecognitionException {
16541            try {
16542                // Creole10.g:1094:2: ( newline | EOF )
16543                int alt159=2;
16544                int LA159_0 = input.LA(1);
16545    
16546                if ( (LA159_0==NEWLINE) ) {
16547                    alt159=1;
16548                }
16549                else if ( (LA159_0==EOF) ) {
16550                    alt159=2;
16551                }
16552                else {
16553                    if (backtracking>0) {failed=true; return ;}
16554                    NoViableAltException nvae =
16555                        new NoViableAltException("1093:1: end_of_list : ( newline | EOF );", 159, 0, input);
16556    
16557                    throw nvae;
16558                }
16559                switch (alt159) {
16560                    case 1 :
16561                        // Creole10.g:1094:4: newline
16562                        {
16563                        pushFollow(FOLLOW_newline_in_end_of_list5100);
16564                        newline();
16565                        _fsp--;
16566                        if (failed) return ;
16567    
16568                        }
16569                        break;
16570                    case 2 :
16571                        // Creole10.g:1095:4: EOF
16572                        {
16573                        match(input,EOF,FOLLOW_EOF_in_end_of_list5105); if (failed) return ;
16574    
16575                        }
16576                        break;
16577    
16578                }
16579            }
16580            catch (RecognitionException re) {
16581                reportError(re);
16582                recover(input,re);
16583            }
16584            finally {
16585            }
16586            return ;
16587        }
16588        // $ANTLR end end_of_list
16589    
16590    
16591        // $ANTLR start table_cell_markup
16592        // Creole10.g:1097:1: table_cell_markup : PIPE ;
16593        public final void table_cell_markup() throws RecognitionException {
16594            try {
16595                // Creole10.g:1098:2: ( PIPE )
16596                // Creole10.g:1098:4: PIPE
16597                {
16598                match(input,PIPE,FOLLOW_PIPE_in_table_cell_markup5115); if (failed) return ;
16599    
16600                }
16601    
16602            }
16603            catch (RecognitionException re) {
16604                reportError(re);
16605                recover(input,re);
16606            }
16607            finally {
16608            }
16609            return ;
16610        }
16611        // $ANTLR end table_cell_markup
16612    
16613    
16614        // $ANTLR start table_headercell_markup
16615        // Creole10.g:1100:1: table_headercell_markup : PIPE EQUAL ;
16616        public final void table_headercell_markup() throws RecognitionException {
16617            try {
16618                // Creole10.g:1101:2: ( PIPE EQUAL )
16619                // Creole10.g:1101:4: PIPE EQUAL
16620                {
16621                match(input,PIPE,FOLLOW_PIPE_in_table_headercell_markup5125); if (failed) return ;
16622                match(input,EQUAL,FOLLOW_EQUAL_in_table_headercell_markup5128); if (failed) return ;
16623    
16624                }
16625    
16626            }
16627            catch (RecognitionException re) {
16628                reportError(re);
16629                recover(input,re);
16630            }
16631            finally {
16632            }
16633            return ;
16634        }
16635        // $ANTLR end table_headercell_markup
16636    
16637    
16638        // $ANTLR start table_rowseparator
16639        // Creole10.g:1103:1: table_rowseparator : ( newline | EOF );
16640        public final void table_rowseparator() throws RecognitionException {
16641            try {
16642                // Creole10.g:1104:2: ( newline | EOF )
16643                int alt160=2;
16644                int LA160_0 = input.LA(1);
16645    
16646                if ( (LA160_0==NEWLINE) ) {
16647                    alt160=1;
16648                }
16649                else if ( (LA160_0==EOF) ) {
16650                    alt160=2;
16651                }
16652                else {
16653                    if (backtracking>0) {failed=true; return ;}
16654                    NoViableAltException nvae =
16655                        new NoViableAltException("1103:1: table_rowseparator : ( newline | EOF );", 160, 0, input);
16656    
16657                    throw nvae;
16658                }
16659                switch (alt160) {
16660                    case 1 :
16661                        // Creole10.g:1104:4: newline
16662                        {
16663                        pushFollow(FOLLOW_newline_in_table_rowseparator5138);
16664                        newline();
16665                        _fsp--;
16666                        if (failed) return ;
16667    
16668                        }
16669                        break;
16670                    case 2 :
16671                        // Creole10.g:1105:4: EOF
16672                        {
16673                        match(input,EOF,FOLLOW_EOF_in_table_rowseparator5143); if (failed) return ;
16674    
16675                        }
16676                        break;
16677    
16678                }
16679            }
16680            catch (RecognitionException re) {
16681                reportError(re);
16682                recover(input,re);
16683            }
16684            finally {
16685            }
16686            return ;
16687        }
16688        // $ANTLR end table_rowseparator
16689    
16690    
16691        // $ANTLR start nowiki_open_markup
16692        // Creole10.g:1107:1: nowiki_open_markup : NOWIKI_OPEN ;
16693        public final void nowiki_open_markup() throws RecognitionException {
16694            try {
16695                // Creole10.g:1108:2: ( NOWIKI_OPEN )
16696                // Creole10.g:1108:4: NOWIKI_OPEN
16697                {
16698                match(input,NOWIKI_OPEN,FOLLOW_NOWIKI_OPEN_in_nowiki_open_markup5153); if (failed) return ;
16699    
16700                }
16701    
16702            }
16703            catch (RecognitionException re) {
16704                reportError(re);
16705                recover(input,re);
16706            }
16707            finally {
16708            }
16709            return ;
16710        }
16711        // $ANTLR end nowiki_open_markup
16712    
16713    
16714        // $ANTLR start nowiki_close_markup
16715        // Creole10.g:1110:1: nowiki_close_markup : NOWIKI_CLOSE ;
16716        public final void nowiki_close_markup() throws RecognitionException {
16717            try {
16718                // Creole10.g:1111:2: ( NOWIKI_CLOSE )
16719                // Creole10.g:1111:4: NOWIKI_CLOSE
16720                {
16721                match(input,NOWIKI_CLOSE,FOLLOW_NOWIKI_CLOSE_in_nowiki_close_markup5163); if (failed) return ;
16722    
16723                }
16724    
16725            }
16726            catch (RecognitionException re) {
16727                reportError(re);
16728                recover(input,re);
16729            }
16730            finally {
16731            }
16732            return ;
16733        }
16734        // $ANTLR end nowiki_close_markup
16735    
16736    
16737        // $ANTLR start horizontalrule_markup
16738        // Creole10.g:1113:1: horizontalrule_markup : DASH DASH DASH DASH ;
16739        public final void horizontalrule_markup() throws RecognitionException {
16740            try {
16741                // Creole10.g:1114:2: ( DASH DASH DASH DASH )
16742                // Creole10.g:1114:4: DASH DASH DASH DASH
16743                {
16744                match(input,DASH,FOLLOW_DASH_in_horizontalrule_markup5173); if (failed) return ;
16745                match(input,DASH,FOLLOW_DASH_in_horizontalrule_markup5176); if (failed) return ;
16746                match(input,DASH,FOLLOW_DASH_in_horizontalrule_markup5179); if (failed) return ;
16747                match(input,DASH,FOLLOW_DASH_in_horizontalrule_markup5182); if (failed) return ;
16748    
16749                }
16750    
16751            }
16752            catch (RecognitionException re) {
16753                reportError(re);
16754                recover(input,re);
16755            }
16756            finally {
16757            }
16758            return ;
16759        }
16760        // $ANTLR end horizontalrule_markup
16761    
16762    
16763        // $ANTLR start link_open_markup
16764        // Creole10.g:1116:1: link_open_markup : LINK_OPEN ;
16765        public final void link_open_markup() throws RecognitionException {
16766            try {
16767                // Creole10.g:1117:2: ( LINK_OPEN )
16768                // Creole10.g:1117:4: LINK_OPEN
16769                {
16770                match(input,LINK_OPEN,FOLLOW_LINK_OPEN_in_link_open_markup5192); if (failed) return ;
16771    
16772                }
16773    
16774            }
16775            catch (RecognitionException re) {
16776                reportError(re);
16777                recover(input,re);
16778            }
16779            finally {
16780            }
16781            return ;
16782        }
16783        // $ANTLR end link_open_markup
16784    
16785    
16786        // $ANTLR start link_close_markup
16787        // Creole10.g:1119:1: link_close_markup : LINK_CLOSE ;
16788        public final void link_close_markup() throws RecognitionException {
16789            try {
16790                // Creole10.g:1120:2: ( LINK_CLOSE )
16791                // Creole10.g:1120:4: LINK_CLOSE
16792                {
16793                match(input,LINK_CLOSE,FOLLOW_LINK_CLOSE_in_link_close_markup5202); if (failed) return ;
16794    
16795                }
16796    
16797            }
16798            catch (RecognitionException re) {
16799                reportError(re);
16800                recover(input,re);
16801            }
16802            finally {
16803            }
16804            return ;
16805        }
16806        // $ANTLR end link_close_markup
16807    
16808    
16809        // $ANTLR start link_description_markup
16810        // Creole10.g:1122:1: link_description_markup : PIPE ;
16811        public final void link_description_markup() throws RecognitionException {
16812            try {
16813                // Creole10.g:1123:2: ( PIPE )
16814                // Creole10.g:1123:4: PIPE
16815                {
16816                match(input,PIPE,FOLLOW_PIPE_in_link_description_markup5212); if (failed) return ;
16817    
16818                }
16819    
16820            }
16821            catch (RecognitionException re) {
16822                reportError(re);
16823                recover(input,re);
16824            }
16825            finally {
16826            }
16827            return ;
16828        }
16829        // $ANTLR end link_description_markup
16830    
16831    
16832        // $ANTLR start image_open_markup
16833        // Creole10.g:1125:1: image_open_markup : IMAGE_OPEN ;
16834        public final void image_open_markup() throws RecognitionException {
16835            try {
16836                // Creole10.g:1126:2: ( IMAGE_OPEN )
16837                // Creole10.g:1126:4: IMAGE_OPEN
16838                {
16839                match(input,IMAGE_OPEN,FOLLOW_IMAGE_OPEN_in_image_open_markup5222); if (failed) return ;
16840    
16841                }
16842    
16843            }
16844            catch (RecognitionException re) {
16845                reportError(re);
16846                recover(input,re);
16847            }
16848            finally {
16849            }
16850            return ;
16851        }
16852        // $ANTLR end image_open_markup
16853    
16854    
16855        // $ANTLR start image_close_markup
16856        // Creole10.g:1128:1: image_close_markup : IMAGE_CLOSE ;
16857        public final void image_close_markup() throws RecognitionException {
16858            try {
16859                // Creole10.g:1129:2: ( IMAGE_CLOSE )
16860                // Creole10.g:1129:4: IMAGE_CLOSE
16861                {
16862                match(input,IMAGE_CLOSE,FOLLOW_IMAGE_CLOSE_in_image_close_markup5232); if (failed) return ;
16863    
16864                }
16865    
16866            }
16867            catch (RecognitionException re) {
16868                reportError(re);
16869                recover(input,re);
16870            }
16871            finally {
16872            }
16873            return ;
16874        }
16875        // $ANTLR end image_close_markup
16876    
16877    
16878        // $ANTLR start image_alternative_markup
16879        // Creole10.g:1131:1: image_alternative_markup : PIPE ;
16880        public final void image_alternative_markup() throws RecognitionException {
16881            try {
16882                // Creole10.g:1132:2: ( PIPE )
16883                // Creole10.g:1132:4: PIPE
16884                {
16885                match(input,PIPE,FOLLOW_PIPE_in_image_alternative_markup5242); if (failed) return ;
16886    
16887                }
16888    
16889            }
16890            catch (RecognitionException re) {
16891                reportError(re);
16892                recover(input,re);
16893            }
16894            finally {
16895            }
16896            return ;
16897        }
16898        // $ANTLR end image_alternative_markup
16899    
16900    
16901        // $ANTLR start extension_markup
16902        // Creole10.g:1134:1: extension_markup : EXTENSION ;
16903        public final void extension_markup() throws RecognitionException {
16904            try {
16905                // Creole10.g:1135:2: ( EXTENSION )
16906                // Creole10.g:1135:4: EXTENSION
16907                {
16908                match(input,EXTENSION,FOLLOW_EXTENSION_in_extension_markup5252); if (failed) return ;
16909    
16910                }
16911    
16912            }
16913            catch (RecognitionException re) {
16914                reportError(re);
16915                recover(input,re);
16916            }
16917            finally {
16918            }
16919            return ;
16920        }
16921        // $ANTLR end extension_markup
16922    
16923    
16924        // $ANTLR start forced_linebreak
16925        // Creole10.g:1137:1: forced_linebreak : FORCED_LINEBREAK ;
16926        public final void forced_linebreak() throws RecognitionException {
16927            try {
16928                // Creole10.g:1138:2: ( FORCED_LINEBREAK )
16929                // Creole10.g:1138:4: FORCED_LINEBREAK
16930                {
16931                match(input,FORCED_LINEBREAK,FOLLOW_FORCED_LINEBREAK_in_forced_linebreak5262); if (failed) return ;
16932    
16933                }
16934    
16935            }
16936            catch (RecognitionException re) {
16937                reportError(re);
16938                recover(input,re);
16939            }
16940            finally {
16941            }
16942            return ;
16943        }
16944        // $ANTLR end forced_linebreak
16945    
16946        // $ANTLR start synpred1
16947        public final void synpred1_fragment() throws RecognitionException {   
16948            // Creole10.g:198:5: ( NOWIKI_OPEN ~ ( NEWLINE ) )
16949            // Creole10.g:198:7: NOWIKI_OPEN ~ ( NEWLINE )
16950            {
16951            match(input,NOWIKI_OPEN,FOLLOW_NOWIKI_OPEN_in_synpred1317); if (failed) return ;
16952            if ( (input.LA(1)>=FORCED_END_OF_LINE && input.LA(1)<=WIKI)||(input.LA(1)>=POUND && input.LA(1)<=80) ) {
16953                input.consume();
16954                errorRecovery=false;failed=false;
16955            }
16956            else {
16957                if (backtracking>0) {failed=true; return ;}
16958                MismatchedSetException mse =
16959                    new MismatchedSetException(null,input);
16960                recoverFromMismatchedSet(input,mse,FOLLOW_set_in_synpred1320);    throw mse;
16961            }
16962    
16963    
16964            }
16965        }
16966        // $ANTLR end synpred1
16967    
16968        public final boolean synpred1() {
16969            backtracking++;
16970            int start = input.mark();
16971            try {
16972                synpred1_fragment(); // can never throw exception
16973            } catch (RecognitionException re) {
16974                System.err.println("impossible: "+re);
16975            }
16976            boolean success = !failed;
16977            input.rewind(start);
16978            backtracking--;
16979            failed=false;
16980            return success;
16981        }
16982    
16983    
16984     
16985    
16986        public static final BitSet FOLLOW_whitespaces_in_wikipage111 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF0L,0x000000000001FFFFL});
16987        public static final BitSet FOLLOW_paragraphs_in_wikipage119 = new BitSet(new long[]{0x0000000000000000L});
16988        public static final BitSet FOLLOW_EOF_in_wikipage124 = new BitSet(new long[]{0x0000000000000002L});
16989        public static final BitSet FOLLOW_paragraph_in_paragraphs142 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000001FFFFL});
16990        public static final BitSet FOLLOW_nowiki_block_in_paragraph163 = new BitSet(new long[]{0x0000000000000002L});
16991        public static final BitSet FOLLOW_blanks_in_paragraph170 = new BitSet(new long[]{0x0000000000008000L});
16992        public static final BitSet FOLLOW_paragraph_separator_in_paragraph173 = new BitSet(new long[]{0x0000000000000002L});
16993        public static final BitSet FOLLOW_blanks_in_paragraph180 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF0L,0x000000000001FFFFL});
16994        public static final BitSet FOLLOW_table_of_contents_in_paragraph194 = new BitSet(new long[]{0x0000000000008002L});
16995        public static final BitSet FOLLOW_heading_in_paragraph208 = new BitSet(new long[]{0x0000000000008002L});
16996        public static final BitSet FOLLOW_horizontalrule_in_paragraph227 = new BitSet(new long[]{0x0000000000008002L});
16997        public static final BitSet FOLLOW_list_in_paragraph240 = new BitSet(new long[]{0x0000000000008002L});
16998        public static final BitSet FOLLOW_table_in_paragraph253 = new BitSet(new long[]{0x0000000000008002L});
16999        public static final BitSet FOLLOW_text_paragraph_in_paragraph266 = new BitSet(new long[]{0x0000000000008002L});
17000        public static final BitSet FOLLOW_paragraph_separator_in_paragraph279 = new BitSet(new long[]{0x0000000000000002L});
17001        public static final BitSet FOLLOW_text_line_in_text_paragraph307 = new BitSet(new long[]{0xFFFFFFFFFFF27FF2L,0x000000000001FFFFL});
17002        public static final BitSet FOLLOW_nowiki_inline_in_text_paragraph339 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000001FFFFL});
17003        public static final BitSet FOLLOW_text_element_in_text_paragraph350 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000001FFFFL});
17004        public static final BitSet FOLLOW_text_lineseparator_in_text_paragraph359 = new BitSet(new long[]{0xFFFFFFFFFFF27FF2L,0x000000000001FFFFL});
17005        public static final BitSet FOLLOW_text_firstelement_in_text_line382 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000001FFFFL});
17006        public static final BitSet FOLLOW_text_element_in_text_line401 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000001FFFFL});
17007        public static final BitSet FOLLOW_text_lineseparator_in_text_line415 = new BitSet(new long[]{0x0000000000000002L});
17008        public static final BitSet FOLLOW_text_formattedelement_in_text_firstelement437 = new BitSet(new long[]{0x0000000000000002L});
17009        public static final BitSet FOLLOW_text_first_unformattedelement_in_text_firstelement448 = new BitSet(new long[]{0x0000000000000002L});
17010        public static final BitSet FOLLOW_ital_markup_in_text_formattedelement464 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF2L,0x000000000001FFFFL});
17011        public static final BitSet FOLLOW_text_italcontent_in_text_formattedelement470 = new BitSet(new long[]{0x0000000000108002L});
17012        public static final BitSet FOLLOW_NEWLINE_in_text_formattedelement479 = new BitSet(new long[]{0x0000000000100000L});
17013        public static final BitSet FOLLOW_ital_markup_in_text_formattedelement485 = new BitSet(new long[]{0x0000000000000002L});
17014        public static final BitSet FOLLOW_bold_markup_in_text_formattedelement493 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF2L,0x000000000001FFFFL});
17015        public static final BitSet FOLLOW_text_boldcontent_in_text_formattedelement500 = new BitSet(new long[]{0x0000000000028002L});
17016        public static final BitSet FOLLOW_NEWLINE_in_text_formattedelement509 = new BitSet(new long[]{0x0000000000020000L});
17017        public static final BitSet FOLLOW_bold_markup_in_text_formattedelement515 = new BitSet(new long[]{0x0000000000000002L});
17018        public static final BitSet FOLLOW_NEWLINE_in_text_boldcontent534 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000001FFFFL});
17019        public static final BitSet FOLLOW_text_boldcontentpart_in_text_boldcontent546 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000001FFFFL});
17020        public static final BitSet FOLLOW_EOF_in_text_boldcontent557 = new BitSet(new long[]{0x0000000000000002L});
17021        public static final BitSet FOLLOW_NEWLINE_in_text_italcontent573 = new BitSet(new long[]{0xFFFFFFFFFFEF7FF2L,0x000000000001FFFFL});
17022        public static final BitSet FOLLOW_text_italcontentpart_in_text_italcontent585 = new BitSet(new long[]{0xFFFFFFFFFFEF7FF2L,0x000000000001FFFFL});
17023        public static final BitSet FOLLOW_EOF_in_text_italcontent596 = new BitSet(new long[]{0x0000000000000002L});
17024        public static final BitSet FOLLOW_onestar_in_text_element610 = new BitSet(new long[]{0xFFFFFFFFFFED7FF0L,0x000000000001FFFFL});
17025        public static final BitSet FOLLOW_text_unformattedelement_in_text_element617 = new BitSet(new long[]{0x0000000000000002L});
17026        public static final BitSet FOLLOW_text_unformattedelement_in_text_element628 = new BitSet(new long[]{0x0000000000020002L});
17027        public static final BitSet FOLLOW_onestar_in_text_element631 = new BitSet(new long[]{0x0000000000000002L});
17028        public static final BitSet FOLLOW_text_formattedelement_in_text_element642 = new BitSet(new long[]{0x0000000000000002L});
17029        public static final BitSet FOLLOW_ital_markup_in_text_boldcontentpart659 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF2L,0x000000000001FFFFL});
17030        public static final BitSet FOLLOW_text_bolditalcontent_in_text_boldcontentpart666 = new BitSet(new long[]{0x0000000000100002L});
17031        public static final BitSet FOLLOW_ital_markup_in_text_boldcontentpart673 = new BitSet(new long[]{0x0000000000000002L});
17032        public static final BitSet FOLLOW_text_formattedcontent_in_text_boldcontentpart685 = new BitSet(new long[]{0x0000000000000002L});
17033        public static final BitSet FOLLOW_bold_markup_in_text_italcontentpart701 = new BitSet(new long[]{0xFFFFFFFFFFEFFFF2L,0x000000000001FFFFL});
17034        public static final BitSet FOLLOW_text_bolditalcontent_in_text_italcontentpart708 = new BitSet(new long[]{0x0000000000020002L});
17035        public static final BitSet FOLLOW_bold_markup_in_text_italcontentpart714 = new BitSet(new long[]{0x0000000000000002L});
17036        public static final BitSet FOLLOW_text_formattedcontent_in_text_italcontentpart725 = new BitSet(new long[]{0x0000000000000002L});
17037        public static final BitSet FOLLOW_NEWLINE_in_text_bolditalcontent743 = new BitSet(new long[]{0xFFFFFFFFFFEF7FF2L,0x000000000001FFFFL});
17038        public static final BitSet FOLLOW_text_formattedcontent_in_text_bolditalcontent754 = new BitSet(new long[]{0x0000000000000002L});
17039        public static final BitSet FOLLOW_EOF_in_text_bolditalcontent764 = new BitSet(new long[]{0x0000000000000002L});
17040        public static final BitSet FOLLOW_onestar_in_text_formattedcontent778 = new BitSet(new long[]{0xFFFFFFFFFFED7FF0L,0x000000000001FFFFL});
17041        public static final BitSet FOLLOW_text_unformattedelement_in_text_formattedcontent787 = new BitSet(new long[]{0xFFFFFFFFFFEFFFF2L,0x000000000001FFFFL});
17042        public static final BitSet FOLLOW_onestar_in_text_formattedcontent792 = new BitSet(new long[]{0xFFFFFFFFFFEDFFF2L,0x000000000001FFFFL});
17043        public static final BitSet FOLLOW_text_linebreak_in_text_formattedcontent797 = new BitSet(new long[]{0xFFFFFFFFFFED7FF2L,0x000000000001FFFFL});
17044        public static final BitSet FOLLOW_text_lineseparator_in_text_linebreak817 = new BitSet(new long[]{0x0000000000000002L});
17045        public static final BitSet FOLLOW_text_first_inlineelement_in_text_inlineelement835 = new BitSet(new long[]{0x0000000000000002L});
17046        public static final BitSet FOLLOW_nowiki_inline_in_text_inlineelement846 = new BitSet(new long[]{0x0000000000000002L});
17047        public static final BitSet FOLLOW_link_in_text_first_inlineelement867 = new BitSet(new long[]{0x0000000000000002L});
17048        public static final BitSet FOLLOW_image_in_text_first_inlineelement878 = new BitSet(new long[]{0x0000000000000002L});
17049        public static final BitSet FOLLOW_extension_in_text_first_inlineelement888 = new BitSet(new long[]{0x0000000000000002L});
17050        public static final BitSet FOLLOW_text_first_unformatted_in_text_first_unformattedelement908 = new BitSet(new long[]{0x0000000000000002L});
17051        public static final BitSet FOLLOW_text_first_inlineelement_in_text_first_unformattedelement919 = new BitSet(new long[]{0x0000000000000002L});
17052        public static final BitSet FOLLOW_text_first_unformmatted_text_in_text_first_unformatted941 = new BitSet(new long[]{0x0000000000000002L});
17053        public static final BitSet FOLLOW_forced_linebreak_in_text_first_unformatted950 = new BitSet(new long[]{0x0000000006000002L});
17054        public static final BitSet FOLLOW_escaped_in_text_first_unformatted962 = new BitSet(new long[]{0x0000000006000002L});
17055        public static final BitSet FOLLOW_set_in_text_first_unformmatted_text990 = new BitSet(new long[]{0xFFFFFFFFF8007FF2L,0x000000000001FFFFL});
17056        public static final BitSet FOLLOW_text_unformatted_in_text_unformattedelement1104 = new BitSet(new long[]{0x0000000000000002L});
17057        public static final BitSet FOLLOW_text_inlineelement_in_text_unformattedelement1115 = new BitSet(new long[]{0x0000000000000002L});
17058        public static final BitSet FOLLOW_text_unformated_text_in_text_unformatted1137 = new BitSet(new long[]{0x0000000000000002L});
17059        public static final BitSet FOLLOW_forced_linebreak_in_text_unformatted1146 = new BitSet(new long[]{0x0000000006000002L});
17060        public static final BitSet FOLLOW_escaped_in_text_unformatted1158 = new BitSet(new long[]{0x0000000006000002L});
17061        public static final BitSet FOLLOW_set_in_text_unformated_text1183 = new BitSet(new long[]{0xFFFFFFFFF80D7FF2L,0x000000000001FFFFL});
17062        public static final BitSet FOLLOW_heading_markup_in_heading1285 = new BitSet(new long[]{0xFFFFFFFFFBFFFFF0L,0x000000000001FFFFL});
17063        public static final BitSet FOLLOW_heading_content_in_heading1290 = new BitSet(new long[]{0x0000000080048000L});
17064        public static final BitSet FOLLOW_heading_markup_in_heading1297 = new BitSet(new long[]{0x0000000080008000L});
17065        public static final BitSet FOLLOW_blanks_in_heading1305 = new BitSet(new long[]{0x0000000000008000L});
17066        public static final BitSet FOLLOW_paragraph_separator_in_heading1312 = new BitSet(new long[]{0x0000000000000002L});
17067        public static final BitSet FOLLOW_heading_markup_in_heading_content1322 = new BitSet(new long[]{0xFFFFFFFFFBFF7FF0L,0x000000000001FFFFL});
17068        public static final BitSet FOLLOW_heading_content_in_heading_content1327 = new BitSet(new long[]{0x0000000000040002L});
17069        public static final BitSet FOLLOW_heading_markup_in_heading_content1332 = new BitSet(new long[]{0x0000000000000002L});
17070        public static final BitSet FOLLOW_heading_text_in_heading_content1344 = new BitSet(new long[]{0x0000000000000002L});
17071        public static final BitSet FOLLOW_heading_cellcontent_in_heading_text1365 = new BitSet(new long[]{0x0000000000000002L});
17072        public static final BitSet FOLLOW_onestar_in_heading_cellcontent1382 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000001FFFFL});
17073        public static final BitSet FOLLOW_heading_cellcontentpart_in_heading_cellcontent1391 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000001FFFFL});
17074        public static final BitSet FOLLOW_onestar_in_heading_cellcontent1402 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000001FFFFL});
17075        public static final BitSet FOLLOW_heading_formattedelement_in_heading_cellcontentpart1423 = new BitSet(new long[]{0x0000000000000002L});
17076        public static final BitSet FOLLOW_heading_unformattedelement_in_heading_cellcontentpart1434 = new BitSet(new long[]{0x0000000000000002L});
17077        public static final BitSet FOLLOW_ital_markup_in_heading_formattedelement1450 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000001FFFFL});
17078        public static final BitSet FOLLOW_heading_italcontent_in_heading_formattedelement1460 = new BitSet(new long[]{0x0000000000100002L});
17079        public static final BitSet FOLLOW_ital_markup_in_heading_formattedelement1469 = new BitSet(new long[]{0x0000000000000002L});
17080        public static final BitSet FOLLOW_bold_markup_in_heading_formattedelement1477 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000001FFFFL});
17081        public static final BitSet FOLLOW_heading_boldcontent_in_heading_formattedelement1484 = new BitSet(new long[]{0x0000000000020002L});
17082        public static final BitSet FOLLOW_bold_markup_in_heading_formattedelement1494 = new BitSet(new long[]{0x0000000000000002L});
17083        public static final BitSet FOLLOW_onestar_in_heading_boldcontent1511 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF0L,0x000000000001FFFFL});
17084        public static final BitSet FOLLOW_heading_boldcontentpart_in_heading_boldcontent1520 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000001FFFFL});
17085        public static final BitSet FOLLOW_onestar_in_heading_boldcontent1525 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000001FFFFL});
17086        public static final BitSet FOLLOW_EOF_in_heading_boldcontent1533 = new BitSet(new long[]{0x0000000000000002L});
17087        public static final BitSet FOLLOW_onestar_in_heading_italcontent1547 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF0L,0x000000000001FFFFL});
17088        public static final BitSet FOLLOW_heading_italcontentpart_in_heading_italcontent1556 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000001FFFFL});
17089        public static final BitSet FOLLOW_onestar_in_heading_italcontent1561 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000001FFFFL});
17090        public static final BitSet FOLLOW_EOF_in_heading_italcontent1569 = new BitSet(new long[]{0x0000000000000002L});
17091        public static final BitSet FOLLOW_heading_formattedcontent_in_heading_boldcontentpart1587 = new BitSet(new long[]{0x0000000000000002L});
17092        public static final BitSet FOLLOW_ital_markup_in_heading_boldcontentpart1594 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000001FFFFL});
17093        public static final BitSet FOLLOW_heading_bolditalcontent_in_heading_boldcontentpart1601 = new BitSet(new long[]{0x0000000000100002L});
17094        public static final BitSet FOLLOW_ital_markup_in_heading_boldcontentpart1608 = new BitSet(new long[]{0x0000000000000002L});
17095        public static final BitSet FOLLOW_bold_markup_in_heading_italcontentpart1625 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000001FFFFL});
17096        public static final BitSet FOLLOW_heading_bolditalcontent_in_heading_italcontentpart1632 = new BitSet(new long[]{0x0000000000020002L});
17097        public static final BitSet FOLLOW_bold_markup_in_heading_italcontentpart1639 = new BitSet(new long[]{0x0000000000000002L});
17098        public static final BitSet FOLLOW_heading_formattedcontent_in_heading_italcontentpart1651 = new BitSet(new long[]{0x0000000000000002L});
17099        public static final BitSet FOLLOW_onestar_in_heading_bolditalcontent1667 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000001FFFFL});
17100        public static final BitSet FOLLOW_heading_formattedcontent_in_heading_bolditalcontent1676 = new BitSet(new long[]{0x0000000000020002L});
17101        public static final BitSet FOLLOW_onestar_in_heading_bolditalcontent1681 = new BitSet(new long[]{0x0000000000000002L});
17102        public static final BitSet FOLLOW_EOF_in_heading_bolditalcontent1689 = new BitSet(new long[]{0x0000000000000002L});
17103        public static final BitSet FOLLOW_heading_unformattedelement_in_heading_formattedcontent1709 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000001FFFFL});
17104        public static final BitSet FOLLOW_heading_unformatted_text_in_heading_unformattedelement1732 = new BitSet(new long[]{0x0000000000000002L});
17105        public static final BitSet FOLLOW_heading_inlineelement_in_heading_unformattedelement1744 = new BitSet(new long[]{0x0000000000000002L});
17106        public static final BitSet FOLLOW_link_in_heading_inlineelement1764 = new BitSet(new long[]{0x0000000000000002L});
17107        public static final BitSet FOLLOW_image_in_heading_inlineelement1774 = new BitSet(new long[]{0x0000000000000002L});
17108        public static final BitSet FOLLOW_nowiki_inline_in_heading_inlineelement1785 = new BitSet(new long[]{0x0000000000000002L});
17109        public static final BitSet FOLLOW_set_in_heading_unformatted_text1808 = new BitSet(new long[]{0xFFFFFFFFFB1B7FF2L,0x000000000001FFFFL});
17110        public static final BitSet FOLLOW_list_elems_in_list1882 = new BitSet(new long[]{0x0000000000038002L});
17111        public static final BitSet FOLLOW_end_of_list_in_list1890 = new BitSet(new long[]{0x0000000000000002L});
17112        public static final BitSet FOLLOW_list_ordelem_markup_in_list_elems1920 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000001FFFFL});
17113        public static final BitSet FOLLOW_list_elem_in_list_elems1932 = new BitSet(new long[]{0x0000000000000002L});
17114        public static final BitSet FOLLOW_list_unordelem_markup_in_list_elems1943 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000001FFFFL});
17115        public static final BitSet FOLLOW_list_elem_in_list_elems1955 = new BitSet(new long[]{0x0000000000000002L});
17116        public static final BitSet FOLLOW_list_elem_markup_in_list_elem1978 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000001FFFFL});
17117        public static final BitSet FOLLOW_list_elemcontent_in_list_elem1989 = new BitSet(new long[]{0x0000000000008000L});
17118        public static final BitSet FOLLOW_list_elemseparator_in_list_elem1994 = new BitSet(new long[]{0x0000000000000002L});
17119        public static final BitSet FOLLOW_list_ordelem_markup_in_list_elem_markup2004 = new BitSet(new long[]{0x0000000000000002L});
17120        public static final BitSet FOLLOW_list_unordelem_markup_in_list_elem_markup2009 = new BitSet(new long[]{0x0000000000000002L});
17121        public static final BitSet FOLLOW_onestar_in_list_elemcontent2023 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000001FFFFL});
17122        public static final BitSet FOLLOW_list_elemcontentpart_in_list_elemcontent2032 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000001FFFFL});
17123        public static final BitSet FOLLOW_onestar_in_list_elemcontent2037 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000001FFFFL});
17124        public static final BitSet FOLLOW_text_unformattedelement_in_list_elemcontentpart2058 = new BitSet(new long[]{0x0000000000000002L});
17125        public static final BitSet FOLLOW_list_formatted_elem_in_list_elemcontentpart2069 = new BitSet(new long[]{0x0000000000000002L});
17126        public static final BitSet FOLLOW_bold_markup_in_list_formatted_elem2085 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000001FFFFL});
17127        public static final BitSet FOLLOW_onestar_in_list_formatted_elem2088 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000001FFFFL});
17128        public static final BitSet FOLLOW_list_boldcontentpart_in_list_formatted_elem2097 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000001FFFFL});
17129        public static final BitSet FOLLOW_onestar_in_list_formatted_elem2106 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000001FFFFL});
17130        public static final BitSet FOLLOW_bold_markup_in_list_formatted_elem2115 = new BitSet(new long[]{0x0000000000000002L});
17131        public static final BitSet FOLLOW_ital_markup_in_list_formatted_elem2123 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000001FFFFL});
17132        public static final BitSet FOLLOW_onestar_in_list_formatted_elem2128 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000001FFFFL});
17133        public static final BitSet FOLLOW_list_italcontentpart_in_list_formatted_elem2137 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000001FFFFL});
17134        public static final BitSet FOLLOW_onestar_in_list_formatted_elem2146 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000001FFFFL});
17135        public static final BitSet FOLLOW_ital_markup_in_list_formatted_elem2155 = new BitSet(new long[]{0x0000000000000002L});
17136        public static final BitSet FOLLOW_ital_markup_in_list_boldcontentpart2181 = new BitSet(new long[]{0xFFFFFFFFFFED7FF0L,0x000000000001FFFFL});
17137        public static final BitSet FOLLOW_list_bolditalcontent_in_list_boldcontentpart2188 = new BitSet(new long[]{0x0000000000100002L});
17138        public static final BitSet FOLLOW_ital_markup_in_list_boldcontentpart2195 = new BitSet(new long[]{0x0000000000000002L});
17139        public static final BitSet FOLLOW_text_unformattedelement_in_list_boldcontentpart2209 = new BitSet(new long[]{0xFFFFFFFFFFED7FF2L,0x000000000001FFFFL});
17140        public static final BitSet FOLLOW_text_unformattedelement_in_list_bolditalcontent2240 = new BitSet(new long[]{0xFFFFFFFFFFED7FF2L,0x000000000001FFFFL});
17141        public static final BitSet FOLLOW_bold_markup_in_list_italcontentpart2268 = new BitSet(new long[]{0xFFFFFFFFFFED7FF0L,0x000000000001FFFFL});
17142        public static final BitSet FOLLOW_list_bolditalcontent_in_list_italcontentpart2275 = new BitSet(new long[]{0x0000000000020002L});
17143        public static final BitSet FOLLOW_bold_markup_in_list_italcontentpart2282 = new BitSet(new long[]{0x0000000000000002L});
17144        public static final BitSet FOLLOW_text_unformattedelement_in_list_italcontentpart2296 = new BitSet(new long[]{0xFFFFFFFFFFED7FF2L,0x000000000001FFFFL});
17145        public static final BitSet FOLLOW_table_row_in_table2324 = new BitSet(new long[]{0x0000000000080002L});
17146        public static final BitSet FOLLOW_table_cell_in_table_row2350 = new BitSet(new long[]{0x0000000000088000L});
17147        public static final BitSet FOLLOW_table_cell_in_table_row2363 = new BitSet(new long[]{0x0000000000088000L});
17148        public static final BitSet FOLLOW_table_rowseparator_in_table_row2372 = new BitSet(new long[]{0x0000000000000002L});
17149        public static final BitSet FOLLOW_table_headercell_in_table_cell2393 = new BitSet(new long[]{0x0000000000000002L});
17150        public static final BitSet FOLLOW_table_normalcell_in_table_cell2404 = new BitSet(new long[]{0x0000000000000002L});
17151        public static final BitSet FOLLOW_table_headercell_markup_in_table_headercell2420 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000001FFFFL});
17152        public static final BitSet FOLLOW_table_cellcontent_in_table_headercell2427 = new BitSet(new long[]{0x0000000000000002L});
17153        public static final BitSet FOLLOW_table_cell_markup_in_table_normalcell2443 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000001FFFFL});
17154        public static final BitSet FOLLOW_table_cellcontent_in_table_normalcell2450 = new BitSet(new long[]{0x0000000000000002L});
17155        public static final BitSet FOLLOW_onestar_in_table_cellcontent2466 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000001FFFFL});
17156        public static final BitSet FOLLOW_table_cellcontentpart_in_table_cellcontent2475 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000001FFFFL});
17157        public static final BitSet FOLLOW_onestar_in_table_cellcontent2482 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000001FFFFL});
17158        public static final BitSet FOLLOW_table_formattedelement_in_table_cellcontentpart2503 = new BitSet(new long[]{0x0000000000000002L});
17159        public static final BitSet FOLLOW_table_unformattedelement_in_table_cellcontentpart2514 = new BitSet(new long[]{0x0000000000000002L});
17160        public static final BitSet FOLLOW_ital_markup_in_table_formattedelement2530 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000001FFFFL});
17161        public static final BitSet FOLLOW_table_italcontent_in_table_formattedelement2540 = new BitSet(new long[]{0x0000000000100002L});
17162        public static final BitSet FOLLOW_ital_markup_in_table_formattedelement2549 = new BitSet(new long[]{0x0000000000000002L});
17163        public static final BitSet FOLLOW_bold_markup_in_table_formattedelement2557 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000001FFFFL});
17164        public static final BitSet FOLLOW_table_boldcontent_in_table_formattedelement2564 = new BitSet(new long[]{0x0000000000020002L});
17165        public static final BitSet FOLLOW_bold_markup_in_table_formattedelement2574 = new BitSet(new long[]{0x0000000000000002L});
17166        public static final BitSet FOLLOW_onestar_in_table_boldcontent2591 = new BitSet(new long[]{0xFFFFFFFFFFF57FF0L,0x000000000001FFFFL});
17167        public static final BitSet FOLLOW_table_boldcontentpart_in_table_boldcontent2600 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000001FFFFL});
17168        public static final BitSet FOLLOW_onestar_in_table_boldcontent2605 = new BitSet(new long[]{0xFFFFFFFFFFF57FF2L,0x000000000001FFFFL});
17169        public static final BitSet FOLLOW_EOF_in_table_boldcontent2613 = new BitSet(new long[]{0x0000000000000002L});
17170        public static final BitSet FOLLOW_onestar_in_table_italcontent2627 = new BitSet(new long[]{0xFFFFFFFFFFE77FF0L,0x000000000001FFFFL});
17171        public static final BitSet FOLLOW_table_italcontentpart_in_table_italcontent2636 = new BitSet(new long[]{0xFFFFFFFFFFE77FF2L,0x000000000001FFFFL});
17172        public static final BitSet FOLLOW_onestar_in_table_italcontent2641 = new BitSet(new long[]{0xFFFFFFFFFFE77FF2L,0x000000000001FFFFL});
17173        public static final BitSet FOLLOW_EOF_in_table_italcontent2649 = new BitSet(new long[]{0x0000000000000002L});
17174        public static final BitSet FOLLOW_table_formattedcontent_in_table_boldcontentpart2667 = new BitSet(new long[]{0x0000000000000002L});
17175        public static final BitSet FOLLOW_ital_markup_in_table_boldcontentpart2674 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000001FFFFL});
17176        public static final BitSet FOLLOW_table_bolditalcontent_in_table_boldcontentpart2681 = new BitSet(new long[]{0x0000000000100002L});
17177        public static final BitSet FOLLOW_ital_markup_in_table_boldcontentpart2688 = new BitSet(new long[]{0x0000000000000002L});
17178        public static final BitSet FOLLOW_bold_markup_in_table_italcontentpart2705 = new BitSet(new long[]{0xFFFFFFFFFFE77FF2L,0x000000000001FFFFL});
17179        public static final BitSet FOLLOW_table_bolditalcontent_in_table_italcontentpart2712 = new BitSet(new long[]{0x0000000000020002L});
17180        public static final BitSet FOLLOW_bold_markup_in_table_italcontentpart2719 = new BitSet(new long[]{0x0000000000000002L});
17181        public static final BitSet FOLLOW_table_formattedcontent_in_table_italcontentpart2731 = new BitSet(new long[]{0x0000000000000002L});
17182        public static final BitSet FOLLOW_onestar_in_table_bolditalcontent2747 = new BitSet(new long[]{0xFFFFFFFFFFE57FF2L,0x000000000001FFFFL});
17183        public static final BitSet FOLLOW_table_formattedcontent_in_table_bolditalcontent2756 = new BitSet(new long[]{0x0000000000020002L});
17184        public static final BitSet FOLLOW_onestar_in_table_bolditalcontent2761 = new BitSet(new long[]{0x0000000000000002L});
17185        public static final BitSet FOLLOW_EOF_in_table_bolditalcontent2769 = new BitSet(new long[]{0x0000000000000002L});
17186        public static final BitSet FOLLOW_table_unformattedelement_in_table_formattedcontent2789 = new BitSet(new long[]{0xFFFFFFFFFFE57FF2L,0x000000000001FFFFL});
17187        public static final BitSet FOLLOW_table_unformatted_in_table_unformattedelement2812 = new BitSet(new long[]{0x0000000000000002L});
17188        public static final BitSet FOLLOW_table_inlineelement_in_table_unformattedelement2824 = new BitSet(new long[]{0x0000000000000002L});
17189        public static final BitSet FOLLOW_link_in_table_inlineelement2844 = new BitSet(new long[]{0x0000000000000002L});
17190        public static final BitSet FOLLOW_image_in_table_inlineelement2854 = new BitSet(new long[]{0x0000000000000002L});
17191        public static final BitSet FOLLOW_extension_in_table_inlineelement2865 = new BitSet(new long[]{0x0000000000000002L});
17192        public static final BitSet FOLLOW_nowiki_inline_in_table_inlineelement2875 = new BitSet(new long[]{0x0000000000000002L});
17193        public static final BitSet FOLLOW_table_unformatted_text_in_table_unformatted2896 = new BitSet(new long[]{0x0000000000000002L});
17194        public static final BitSet FOLLOW_forced_linebreak_in_table_unformatted2905 = new BitSet(new long[]{0x0000000006000002L});
17195        public static final BitSet FOLLOW_escaped_in_table_unformatted2917 = new BitSet(new long[]{0x0000000006000002L});
17196        public static final BitSet FOLLOW_set_in_table_unformatted_text2943 = new BitSet(new long[]{0xFFFFFFFFF8057FF2L,0x000000000001FFFFL});
17197        public static final BitSet FOLLOW_nowikiblock_open_markup_in_nowiki_block3040 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000001FFFFL});
17198        public static final BitSet FOLLOW_nowiki_block_contents_in_nowiki_block3047 = new BitSet(new long[]{0x0000000008000000L});
17199        public static final BitSet FOLLOW_nowikiblock_close_markup_in_nowiki_block3053 = new BitSet(new long[]{0x0000000000008000L});
17200        public static final BitSet FOLLOW_paragraph_separator_in_nowiki_block3056 = new BitSet(new long[]{0x0000000000000002L});
17201        public static final BitSet FOLLOW_nowiki_open_markup_in_nowikiblock_open_markup3067 = new BitSet(new long[]{0x0000000000008000L});
17202        public static final BitSet FOLLOW_newline_in_nowikiblock_open_markup3070 = new BitSet(new long[]{0x0000000000000002L});
17203        public static final BitSet FOLLOW_NOWIKI_BLOCK_CLOSE_in_nowikiblock_close_markup3081 = new BitSet(new long[]{0x0000000000000002L});
17204        public static final BitSet FOLLOW_nowiki_open_markup_in_nowiki_inline3096 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF0L,0x000000000001FFFFL});
17205        public static final BitSet FOLLOW_nowiki_inline_contents_in_nowiki_inline3103 = new BitSet(new long[]{0x0000000010000000L});
17206        public static final BitSet FOLLOW_nowiki_close_markup_in_nowiki_inline3107 = new BitSet(new long[]{0x0000000000000002L});
17207        public static final BitSet FOLLOW_set_in_nowiki_block_contents3125 = new BitSet(new long[]{0xFFFFFFFFF7FFFFF2L,0x000000000001FFFFL});
17208        public static final BitSet FOLLOW_set_in_nowiki_inline_contents3158 = new BitSet(new long[]{0xFFFFFFFFEFFF7FF2L,0x000000000001FFFFL});
17209        public static final BitSet FOLLOW_horizontalrule_markup_in_horizontalrule3194 = new BitSet(new long[]{0x0000000080008000L});
17210        public static final BitSet FOLLOW_blanks_in_horizontalrule3199 = new BitSet(new long[]{0x0000000000008000L});
17211        public static final BitSet FOLLOW_paragraph_separator_in_horizontalrule3205 = new BitSet(new long[]{0x0000000000000002L});
17212        public static final BitSet FOLLOW_link_open_markup_in_link3226 = new BitSet(new long[]{0xFFFFFFFFDFF77FF0L,0x000000000001FFFFL});
17213        public static final BitSet FOLLOW_link_address_in_link3232 = new BitSet(new long[]{0x0000000020080000L});
17214        public static final BitSet FOLLOW_link_description_markup_in_link3238 = new BitSet(new long[]{0xFFFFFFFFDE5F7FF0L,0x000000000001FFFFL});
17215        public static final BitSet FOLLOW_link_description_in_link3246 = new BitSet(new long[]{0x0000000020000000L});
17216        public static final BitSet FOLLOW_link_close_markup_in_link3254 = new BitSet(new long[]{0x0000000000000002L});
17217        public static final BitSet FOLLOW_link_interwiki_uri_in_link_address3273 = new BitSet(new long[]{0x0000020000000000L});
17218        public static final BitSet FOLLOW_41_in_link_address3276 = new BitSet(new long[]{0xFFFFFFFFDFF77FF0L,0x000000000001FFFFL});
17219        public static final BitSet FOLLOW_link_interwiki_pagename_in_link_address3283 = new BitSet(new long[]{0x0000000000000002L});
17220        public static final BitSet FOLLOW_link_uri_in_link_address3294 = new BitSet(new long[]{0x0000000000000002L});
17221        public static final BitSet FOLLOW_42_in_link_interwiki_uri3310 = new BitSet(new long[]{0x0000080000000000L});
17222        public static final BitSet FOLLOW_43_in_link_interwiki_uri3312 = new BitSet(new long[]{0x0000000000000002L});
17223        public static final BitSet FOLLOW_44_in_link_interwiki_uri3319 = new BitSet(new long[]{0x0000200000000000L});
17224        public static final BitSet FOLLOW_45_in_link_interwiki_uri3321 = new BitSet(new long[]{0x0000400000000000L});
17225        public static final BitSet FOLLOW_46_in_link_interwiki_uri3323 = new BitSet(new long[]{0x0000800000000000L});
17226        public static final BitSet FOLLOW_47_in_link_interwiki_uri3325 = new BitSet(new long[]{0x0001000000000000L});
17227        public static final BitSet FOLLOW_48_in_link_interwiki_uri3327 = new BitSet(new long[]{0x0002000000000000L});
17228        public static final BitSet FOLLOW_49_in_link_interwiki_uri3329 = new BitSet(new long[]{0x0000400000000000L});
17229        public static final BitSet FOLLOW_46_in_link_interwiki_uri3331 = new BitSet(new long[]{0x0002000000000000L});
17230        public static final BitSet FOLLOW_49_in_link_interwiki_uri3333 = new BitSet(new long[]{0x0000000000000002L});
17231        public static final BitSet FOLLOW_50_in_link_interwiki_uri3340 = new BitSet(new long[]{0x0008000000000000L});
17232        public static final BitSet FOLLOW_51_in_link_interwiki_uri3342 = new BitSet(new long[]{0x0002000000000000L});
17233        public static final BitSet FOLLOW_49_in_link_interwiki_uri3344 = new BitSet(new long[]{0x0010000000000000L});
17234        public static final BitSet FOLLOW_52_in_link_interwiki_uri3346 = new BitSet(new long[]{0x0000400000000000L});
17235        public static final BitSet FOLLOW_46_in_link_interwiki_uri3348 = new BitSet(new long[]{0x0020000000000000L});
17236        public static final BitSet FOLLOW_53_in_link_interwiki_uri3350 = new BitSet(new long[]{0x0000000000000002L});
17237        public static final BitSet FOLLOW_54_in_link_interwiki_uri3358 = new BitSet(new long[]{0x0000200000000000L});
17238        public static final BitSet FOLLOW_45_in_link_interwiki_uri3360 = new BitSet(new long[]{0x0000200000000000L});
17239        public static final BitSet FOLLOW_45_in_link_interwiki_uri3362 = new BitSet(new long[]{0x0080000000000000L});
17240        public static final BitSet FOLLOW_55_in_link_interwiki_uri3364 = new BitSet(new long[]{0x0008000000000000L});
17241        public static final BitSet FOLLOW_51_in_link_interwiki_uri3366 = new BitSet(new long[]{0x0100000000000000L});
17242        public static final BitSet FOLLOW_56_in_link_interwiki_uri3368 = new BitSet(new long[]{0x0000000000000002L});
17243        public static final BitSet FOLLOW_57_in_link_interwiki_uri3375 = new BitSet(new long[]{0x0400000000000000L});
17244        public static final BitSet FOLLOW_58_in_link_interwiki_uri3377 = new BitSet(new long[]{0x0800000000000000L});
17245        public static final BitSet FOLLOW_59_in_link_interwiki_uri3379 = new BitSet(new long[]{0x0001000000000000L});
17246        public static final BitSet FOLLOW_48_in_link_interwiki_uri3381 = new BitSet(new long[]{0x0002000000000000L});
17247        public static final BitSet FOLLOW_49_in_link_interwiki_uri3383 = new BitSet(new long[]{0x0000400000000000L});
17248        public static final BitSet FOLLOW_46_in_link_interwiki_uri3385 = new BitSet(new long[]{0x0002000000000000L});
17249        public static final BitSet FOLLOW_49_in_link_interwiki_uri3387 = new BitSet(new long[]{0x0000000000000002L});
17250        public static final BitSet FOLLOW_60_in_link_interwiki_uri3394 = new BitSet(new long[]{0x0100000000000000L});
17251        public static final BitSet FOLLOW_56_in_link_interwiki_uri3396 = new BitSet(new long[]{0x2000000000000000L});
17252        public static final BitSet FOLLOW_61_in_link_interwiki_uri3398 = new BitSet(new long[]{0x4000000000000000L});
17253        public static final BitSet FOLLOW_62_in_link_interwiki_uri3400 = new BitSet(new long[]{0x8000000000000000L});
17254        public static final BitSet FOLLOW_63_in_link_interwiki_uri3402 = new BitSet(new long[]{0x2000000000000000L});
17255        public static final BitSet FOLLOW_61_in_link_interwiki_uri3404 = new BitSet(new long[]{0x0008000000000000L});
17256        public static final BitSet FOLLOW_51_in_link_interwiki_uri3406 = new BitSet(new long[]{0x0008000000000000L});
17257        public static final BitSet FOLLOW_51_in_link_interwiki_uri3408 = new BitSet(new long[]{0x0000000000000002L});
17258        public static final BitSet FOLLOW_60_in_link_interwiki_uri3415 = new BitSet(new long[]{0x0100000000000000L});
17259        public static final BitSet FOLLOW_56_in_link_interwiki_uri3417 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
17260        public static final BitSet FOLLOW_64_in_link_interwiki_uri3419 = new BitSet(new long[]{0x0002000000000000L});
17261        public static final BitSet FOLLOW_49_in_link_interwiki_uri3421 = new BitSet(new long[]{0x2000000000000000L});
17262        public static final BitSet FOLLOW_61_in_link_interwiki_uri3423 = new BitSet(new long[]{0x0001000000000000L});
17263        public static final BitSet FOLLOW_48_in_link_interwiki_uri3425 = new BitSet(new long[]{0x0002000000000000L});
17264        public static final BitSet FOLLOW_49_in_link_interwiki_uri3427 = new BitSet(new long[]{0x0000400000000000L});
17265        public static final BitSet FOLLOW_46_in_link_interwiki_uri3429 = new BitSet(new long[]{0x0002000000000000L});
17266        public static final BitSet FOLLOW_49_in_link_interwiki_uri3431 = new BitSet(new long[]{0x0000000000000002L});
17267        public static final BitSet FOLLOW_60_in_link_interwiki_uri3438 = new BitSet(new long[]{0x0000200000000000L});
17268        public static final BitSet FOLLOW_45_in_link_interwiki_uri3440 = new BitSet(new long[]{0x0002000000000000L});
17269        public static final BitSet FOLLOW_49_in_link_interwiki_uri3442 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
17270        public static final BitSet FOLLOW_65_in_link_interwiki_uri3444 = new BitSet(new long[]{0x1000000000000000L});
17271        public static final BitSet FOLLOW_60_in_link_interwiki_uri3446 = new BitSet(new long[]{0x0000200000000000L});
17272        public static final BitSet FOLLOW_45_in_link_interwiki_uri3448 = new BitSet(new long[]{0x0002000000000000L});
17273        public static final BitSet FOLLOW_49_in_link_interwiki_uri3450 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
17274        public static final BitSet FOLLOW_65_in_link_interwiki_uri3452 = new BitSet(new long[]{0x0000000000000002L});
17275        public static final BitSet FOLLOW_66_in_link_interwiki_uri3460 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
17276        public static final BitSet FOLLOW_64_in_link_interwiki_uri3462 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
17277        public static final BitSet FOLLOW_64_in_link_interwiki_uri3464 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
17278        public static final BitSet FOLLOW_67_in_link_interwiki_uri3466 = new BitSet(new long[]{0x0000800000000000L});
17279        public static final BitSet FOLLOW_47_in_link_interwiki_uri3468 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
17280        public static final BitSet FOLLOW_68_in_link_interwiki_uri3470 = new BitSet(new long[]{0x0100000000000000L});
17281        public static final BitSet FOLLOW_56_in_link_interwiki_uri3472 = new BitSet(new long[]{0x0000000000000002L});
17282        public static final BitSet FOLLOW_66_in_link_interwiki_uri3480 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
17283        public static final BitSet FOLLOW_69_in_link_interwiki_uri3482 = new BitSet(new long[]{0x2000000000000000L});
17284        public static final BitSet FOLLOW_61_in_link_interwiki_uri3484 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
17285        public static final BitSet FOLLOW_65_in_link_interwiki_uri3486 = new BitSet(new long[]{0x2000000000000000L});
17286        public static final BitSet FOLLOW_61_in_link_interwiki_uri3488 = new BitSet(new long[]{0x0000000000000002L});
17287        public static final BitSet FOLLOW_59_in_link_interwiki_uri3495 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
17288        public static final BitSet FOLLOW_67_in_link_interwiki_uri3497 = new BitSet(new long[]{0x0001000000000000L});
17289        public static final BitSet FOLLOW_48_in_link_interwiki_uri3499 = new BitSet(new long[]{0x0002000000000000L});
17290        public static final BitSet FOLLOW_49_in_link_interwiki_uri3501 = new BitSet(new long[]{0x0000400000000000L});
17291        public static final BitSet FOLLOW_46_in_link_interwiki_uri3503 = new BitSet(new long[]{0x0002000000000000L});
17292        public static final BitSet FOLLOW_49_in_link_interwiki_uri3505 = new BitSet(new long[]{0x0000000000000002L});
17293        public static final BitSet FOLLOW_59_in_link_interwiki_uri3513 = new BitSet(new long[]{0x0000800000000000L});
17294        public static final BitSet FOLLOW_47_in_link_interwiki_uri3515 = new BitSet(new long[]{0x0000400000000000L});
17295        public static final BitSet FOLLOW_46_in_link_interwiki_uri3517 = new BitSet(new long[]{0x0002000000000000L});
17296        public static final BitSet FOLLOW_49_in_link_interwiki_uri3519 = new BitSet(new long[]{0x0001000000000000L});
17297        public static final BitSet FOLLOW_48_in_link_interwiki_uri3521 = new BitSet(new long[]{0x0002000000000000L});
17298        public static final BitSet FOLLOW_49_in_link_interwiki_uri3523 = new BitSet(new long[]{0x0000400000000000L});
17299        public static final BitSet FOLLOW_46_in_link_interwiki_uri3525 = new BitSet(new long[]{0x0002000000000000L});
17300        public static final BitSet FOLLOW_49_in_link_interwiki_uri3527 = new BitSet(new long[]{0x0000000000000002L});
17301        public static final BitSet FOLLOW_59_in_link_interwiki_uri3535 = new BitSet(new long[]{0x0000800000000000L});
17302        public static final BitSet FOLLOW_47_in_link_interwiki_uri3537 = new BitSet(new long[]{0x0020000000000000L});
17303        public static final BitSet FOLLOW_53_in_link_interwiki_uri3539 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
17304        public static final BitSet FOLLOW_70_in_link_interwiki_uri3541 = new BitSet(new long[]{0x0008000000000000L});
17305        public static final BitSet FOLLOW_51_in_link_interwiki_uri3543 = new BitSet(new long[]{0x0100000000000000L});
17306        public static final BitSet FOLLOW_56_in_link_interwiki_uri3545 = new BitSet(new long[]{0x0001000000000000L});
17307        public static final BitSet FOLLOW_48_in_link_interwiki_uri3547 = new BitSet(new long[]{0x0002000000000000L});
17308        public static final BitSet FOLLOW_49_in_link_interwiki_uri3549 = new BitSet(new long[]{0x0000400000000000L});
17309        public static final BitSet FOLLOW_46_in_link_interwiki_uri3551 = new BitSet(new long[]{0x0002000000000000L});
17310        public static final BitSet FOLLOW_49_in_link_interwiki_uri3553 = new BitSet(new long[]{0x0000000000000002L});
17311        public static final BitSet FOLLOW_71_in_link_interwiki_uri3560 = new BitSet(new long[]{0x2000000000000000L});
17312        public static final BitSet FOLLOW_61_in_link_interwiki_uri3562 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
17313        public static final BitSet FOLLOW_64_in_link_interwiki_uri3564 = new BitSet(new long[]{0x0100000000000000L});
17314        public static final BitSet FOLLOW_56_in_link_interwiki_uri3566 = new BitSet(new long[]{0x0000200000000000L});
17315        public static final BitSet FOLLOW_45_in_link_interwiki_uri3568 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
17316        public static final BitSet FOLLOW_72_in_link_interwiki_uri3570 = new BitSet(new long[]{0x0000000000000002L});
17317        public static final BitSet FOLLOW_58_in_link_interwiki_uri3577 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
17318        public static final BitSet FOLLOW_65_in_link_interwiki_uri3579 = new BitSet(new long[]{0x0002000000000000L});
17319        public static final BitSet FOLLOW_49_in_link_interwiki_uri3581 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
17320        public static final BitSet FOLLOW_70_in_link_interwiki_uri3583 = new BitSet(new long[]{0x0400000000000000L});
17321        public static final BitSet FOLLOW_58_in_link_interwiki_uri3585 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
17322        public static final BitSet FOLLOW_65_in_link_interwiki_uri3587 = new BitSet(new long[]{0x2000000000000000L});
17323        public static final BitSet FOLLOW_61_in_link_interwiki_uri3589 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
17324        public static final BitSet FOLLOW_70_in_link_interwiki_uri3591 = new BitSet(new long[]{0x0000000000000002L});
17325        public static final BitSet FOLLOW_73_in_link_interwiki_uri3598 = new BitSet(new long[]{0x0002000000000000L});
17326        public static final BitSet FOLLOW_49_in_link_interwiki_uri3600 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
17327        public static final BitSet FOLLOW_64_in_link_interwiki_uri3602 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
17328        public static final BitSet FOLLOW_64_in_link_interwiki_uri3604 = new BitSet(new long[]{0x0008000000000000L});
17329        public static final BitSet FOLLOW_51_in_link_interwiki_uri3606 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
17330        public static final BitSet FOLLOW_74_in_link_interwiki_uri3608 = new BitSet(new long[]{0x0001000000000000L});
17331        public static final BitSet FOLLOW_48_in_link_interwiki_uri3610 = new BitSet(new long[]{0x0002000000000000L});
17332        public static final BitSet FOLLOW_49_in_link_interwiki_uri3612 = new BitSet(new long[]{0x0000400000000000L});
17333        public static final BitSet FOLLOW_46_in_link_interwiki_uri3614 = new BitSet(new long[]{0x0002000000000000L});
17334        public static final BitSet FOLLOW_49_in_link_interwiki_uri3616 = new BitSet(new long[]{0x0000000000000002L});
17335        public static final BitSet FOLLOW_73_in_link_interwiki_uri3623 = new BitSet(new long[]{0x0001000000000000L});
17336        public static final BitSet FOLLOW_48_in_link_interwiki_uri3625 = new BitSet(new long[]{0x0002000000000000L});
17337        public static final BitSet FOLLOW_49_in_link_interwiki_uri3627 = new BitSet(new long[]{0x0000400000000000L});
17338        public static final BitSet FOLLOW_46_in_link_interwiki_uri3629 = new BitSet(new long[]{0x0002000000000000L});
17339        public static final BitSet FOLLOW_49_in_link_interwiki_uri3631 = new BitSet(new long[]{0x0000000000000002L});
17340        public static final BitSet FOLLOW_75_in_link_interwiki_uri3638 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
17341        public static final BitSet FOLLOW_68_in_link_interwiki_uri3640 = new BitSet(new long[]{0x0100000000000000L});
17342        public static final BitSet FOLLOW_56_in_link_interwiki_uri3642 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
17343        public static final BitSet FOLLOW_67_in_link_interwiki_uri3644 = new BitSet(new long[]{0x0000200000000000L});
17344        public static final BitSet FOLLOW_45_in_link_interwiki_uri3646 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
17345        public static final BitSet FOLLOW_64_in_link_interwiki_uri3648 = new BitSet(new long[]{0x0000000000000002L});
17346        public static final BitSet FOLLOW_48_in_link_interwiki_uri3655 = new BitSet(new long[]{0x0002000000000000L});
17347        public static final BitSet FOLLOW_49_in_link_interwiki_uri3657 = new BitSet(new long[]{0x0000400000000000L});
17348        public static final BitSet FOLLOW_46_in_link_interwiki_uri3659 = new BitSet(new long[]{0x0002000000000000L});
17349        public static final BitSet FOLLOW_49_in_link_interwiki_uri3661 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
17350        public static final BitSet FOLLOW_70_in_link_interwiki_uri3663 = new BitSet(new long[]{0x0100000000000000L});
17351        public static final BitSet FOLLOW_56_in_link_interwiki_uri3665 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
17352        public static final BitSet FOLLOW_64_in_link_interwiki_uri3667 = new BitSet(new long[]{0x0002000000000000L});
17353        public static final BitSet FOLLOW_49_in_link_interwiki_uri3669 = new BitSet(new long[]{0x2000000000000000L});
17354        public static final BitSet FOLLOW_61_in_link_interwiki_uri3671 = new BitSet(new long[]{0x0000000000000002L});
17355        public static final BitSet FOLLOW_76_in_link_interwiki_uri3678 = new BitSet(new long[]{0x0001000000000000L});
17356        public static final BitSet FOLLOW_48_in_link_interwiki_uri3680 = new BitSet(new long[]{0x0002000000000000L});
17357        public static final BitSet FOLLOW_49_in_link_interwiki_uri3682 = new BitSet(new long[]{0x0000400000000000L});
17358        public static final BitSet FOLLOW_46_in_link_interwiki_uri3684 = new BitSet(new long[]{0x0002000000000000L});
17359        public static final BitSet FOLLOW_49_in_link_interwiki_uri3686 = new BitSet(new long[]{0x0000000000000002L});
17360        public static final BitSet FOLLOW_set_in_link_interwiki_pagename3708 = new BitSet(new long[]{0xFFFFFFFFDFF77FF2L,0x000000000001FFFFL});
17361        public static final BitSet FOLLOW_link_descriptionpart_in_link_description3751 = new BitSet(new long[]{0xFFFFFFFFDE5F7FF2L,0x000000000001FFFFL});
17362        public static final BitSet FOLLOW_image_in_link_description3763 = new BitSet(new long[]{0xFFFFFFFFDE5F7FF2L,0x000000000001FFFFL});
17363        public static final BitSet FOLLOW_bold_markup_in_link_descriptionpart3788 = new BitSet(new long[]{0xFFFFFFFFDE1F7FF0L,0x000000000001FFFFL});
17364        public static final BitSet FOLLOW_onestar_in_link_descriptionpart3791 = new BitSet(new long[]{0xFFFFFFFFDE1D7FF0L,0x000000000001FFFFL});
17365        public static final BitSet FOLLOW_link_bold_descriptionpart_in_link_descriptionpart3799 = new BitSet(new long[]{0xFFFFFFFFDE1F7FF0L,0x000000000001FFFFL});
17366        public static final BitSet FOLLOW_onestar_in_link_descriptionpart3804 = new BitSet(new long[]{0xFFFFFFFFDE1F7FF0L,0x000000000001FFFFL});
17367        public static final BitSet FOLLOW_bold_markup_in_link_descriptionpart3814 = new BitSet(new long[]{0x0000000000000002L});
17368        public static final BitSet FOLLOW_ital_markup_in_link_descriptionpart3819 = new BitSet(new long[]{0xFFFFFFFFDE0F7FF0L,0x000000000001FFFFL});
17369        public static final BitSet FOLLOW_onestar_in_link_descriptionpart3822 = new BitSet(new long[]{0xFFFFFFFFDE0F7FF0L,0x000000000001FFFFL});
17370        public static final BitSet FOLLOW_link_ital_descriptionpart_in_link_descriptionpart3831 = new BitSet(new long[]{0xFFFFFFFFDE1F7FF0L,0x000000000001FFFFL});
17371        public static final BitSet FOLLOW_onestar_in_link_descriptionpart3836 = new BitSet(new long[]{0xFFFFFFFFDE1F7FF0L,0x000000000001FFFFL});
17372        public static final BitSet FOLLOW_ital_markup_in_link_descriptionpart3845 = new BitSet(new long[]{0x0000000000000002L});
17373        public static final BitSet FOLLOW_onestar_in_link_descriptionpart3850 = new BitSet(new long[]{0xFFFFFFFFDE0D7FF0L,0x000000000001FFFFL});
17374        public static final BitSet FOLLOW_link_descriptiontext_in_link_descriptionpart3859 = new BitSet(new long[]{0xFFFFFFFFDE0F7FF2L,0x000000000001FFFFL});
17375        public static final BitSet FOLLOW_onestar_in_link_descriptionpart3862 = new BitSet(new long[]{0xFFFFFFFFDE0D7FF2L,0x000000000001FFFFL});
17376        public static final BitSet FOLLOW_ital_markup_in_link_bold_descriptionpart3882 = new BitSet(new long[]{0xFFFFFFFFDE0F7FF0L,0x000000000001FFFFL});
17377        public static final BitSet FOLLOW_link_boldital_description_in_link_bold_descriptionpart3889 = new BitSet(new long[]{0x0000000000100000L});
17378        public static final BitSet FOLLOW_ital_markup_in_link_bold_descriptionpart3894 = new BitSet(new long[]{0x0000000000000002L});
17379        public static final BitSet FOLLOW_link_descriptiontext_in_link_bold_descriptionpart3903 = new BitSet(new long[]{0x0000000000000002L});
17380        public static final BitSet FOLLOW_bold_markup_in_link_ital_descriptionpart3919 = new BitSet(new long[]{0xFFFFFFFFDE0F7FF0L,0x000000000001FFFFL});
17381        public static final BitSet FOLLOW_link_boldital_description_in_link_ital_descriptionpart3926 = new BitSet(new long[]{0x0000000000020000L});
17382        public static final BitSet FOLLOW_bold_markup_in_link_ital_descriptionpart3929 = new BitSet(new long[]{0x0000000000000002L});
17383        public static final BitSet FOLLOW_link_descriptiontext_in_link_ital_descriptionpart3940 = new BitSet(new long[]{0x0000000000000002L});
17384        public static final BitSet FOLLOW_onestar_in_link_boldital_description3956 = new BitSet(new long[]{0xFFFFFFFFDE0D7FF0L,0x000000000001FFFFL});
17385        public static final BitSet FOLLOW_link_descriptiontext_in_link_boldital_description3965 = new BitSet(new long[]{0xFFFFFFFFDE0F7FF2L,0x000000000001FFFFL});
17386        public static final BitSet FOLLOW_onestar_in_link_boldital_description3968 = new BitSet(new long[]{0xFFFFFFFFDE0D7FF2L,0x000000000001FFFFL});
17387        public static final BitSet FOLLOW_link_descriptiontext_simple_in_link_descriptiontext3991 = new BitSet(new long[]{0x0000000000000002L});
17388        public static final BitSet FOLLOW_forced_linebreak_in_link_descriptiontext4001 = new BitSet(new long[]{0x0000000006000002L});
17389        public static final BitSet FOLLOW_escaped_in_link_descriptiontext4013 = new BitSet(new long[]{0x0000000006000002L});
17390        public static final BitSet FOLLOW_set_in_link_descriptiontext_simple4038 = new BitSet(new long[]{0xFFFFFFFFD80D7FF2L,0x000000000001FFFFL});
17391        public static final BitSet FOLLOW_set_in_link_uri4137 = new BitSet(new long[]{0xFFFFFFFFDFF77FF2L,0x000000000001FFFFL});
17392        public static final BitSet FOLLOW_image_open_markup_in_image4178 = new BitSet(new long[]{0xFFFFFFFFBFF77FF0L,0x000000000001FFFFL});
17393        public static final BitSet FOLLOW_image_uri_in_image4184 = new BitSet(new long[]{0x0000000040080000L});
17394        public static final BitSet FOLLOW_image_alternative_in_image4194 = new BitSet(new long[]{0x0000000040000000L});
17395        public static final BitSet FOLLOW_image_close_markup_in_image4203 = new BitSet(new long[]{0x0000000000000002L});
17396        public static final BitSet FOLLOW_set_in_image_uri4222 = new BitSet(new long[]{0xFFFFFFFFBFF77FF2L,0x000000000001FFFFL});
17397        public static final BitSet FOLLOW_image_alternative_markup_in_image_alternative4257 = new BitSet(new long[]{0xFFFFFFFFBE1F7FF0L,0x000000000001FFFFL});
17398        public static final BitSet FOLLOW_image_alternativepart_in_image_alternative4266 = new BitSet(new long[]{0xFFFFFFFFBE1F7FF2L,0x000000000001FFFFL});
17399        public static final BitSet FOLLOW_bold_markup_in_image_alternativepart4292 = new BitSet(new long[]{0x0000000000120000L});
17400        public static final BitSet FOLLOW_onestar_in_image_alternativepart4295 = new BitSet(new long[]{0xFFFFFFFFBE1F7FF0L,0x000000000001FFFFL});
17401        public static final BitSet FOLLOW_image_bold_alternativepart_in_image_alternativepart4304 = new BitSet(new long[]{0x0000000000120000L});
17402        public static final BitSet FOLLOW_onestar_in_image_alternativepart4309 = new BitSet(new long[]{0xFFFFFFFFBE1F7FF0L,0x000000000001FFFFL});
17403        public static final BitSet FOLLOW_bold_markup_in_image_alternativepart4316 = new BitSet(new long[]{0x0000000000000002L});
17404        public static final BitSet FOLLOW_ital_markup_in_image_alternativepart4323 = new BitSet(new long[]{0x0000000000020000L});
17405        public static final BitSet FOLLOW_onestar_in_image_alternativepart4326 = new BitSet(new long[]{0xFFFFFFFFBE0F7FF0L,0x000000000001FFFFL});
17406        public static final BitSet FOLLOW_image_ital_alternativepart_in_image_alternativepart4336 = new BitSet(new long[]{0x0000000000120000L});
17407        public static final BitSet FOLLOW_onestar_in_image_alternativepart4341 = new BitSet(new long[]{0xFFFFFFFFBE1F7FF0L,0x000000000001FFFFL});
17408        public static final BitSet FOLLOW_ital_markup_in_image_alternativepart4348 = new BitSet(new long[]{0x0000000000000002L});
17409        public static final BitSet FOLLOW_onestar_in_image_alternativepart4355 = new BitSet(new long[]{0xFFFFFFFFBE0D7FF0L,0x000000000001FFFFL});
17410        public static final BitSet FOLLOW_image_alternativetext_in_image_alternativepart4362 = new BitSet(new long[]{0xFFFFFFFFBE0F7FF2L,0x000000000001FFFFL});
17411        public static final BitSet FOLLOW_onestar_in_image_alternativepart4367 = new BitSet(new long[]{0xFFFFFFFFBE0D7FF2L,0x000000000001FFFFL});
17412        public static final BitSet FOLLOW_ital_markup_in_image_bold_alternativepart4393 = new BitSet(new long[]{0xFFFFFFFFDE0F7FF0L,0x000000000001FFFFL});
17413        public static final BitSet FOLLOW_link_boldital_description_in_image_bold_alternativepart4400 = new BitSet(new long[]{0x0000000000100000L});
17414        public static final BitSet FOLLOW_ital_markup_in_image_bold_alternativepart4405 = new BitSet(new long[]{0x0000000000000002L});
17415        public static final BitSet FOLLOW_onestar_in_image_bold_alternativepart4410 = new BitSet(new long[]{0xFFFFFFFFBE0D7FF0L,0x000000000001FFFFL});
17416        public static final BitSet FOLLOW_image_alternativetext_in_image_bold_alternativepart4419 = new BitSet(new long[]{0xFFFFFFFFBE0F7FF2L,0x000000000001FFFFL});
17417        public static final BitSet FOLLOW_onestar_in_image_bold_alternativepart4422 = new BitSet(new long[]{0xFFFFFFFFBE0D7FF2L,0x000000000001FFFFL});
17418        public static final BitSet FOLLOW_bold_markup_in_image_ital_alternativepart4450 = new BitSet(new long[]{0xFFFFFFFFDE0F7FF0L,0x000000000001FFFFL});
17419        public static final BitSet FOLLOW_link_boldital_description_in_image_ital_alternativepart4457 = new BitSet(new long[]{0x0000000000020000L});
17420        public static final BitSet FOLLOW_bold_markup_in_image_ital_alternativepart4462 = new BitSet(new long[]{0x0000000000000002L});
17421        public static final BitSet FOLLOW_onestar_in_image_ital_alternativepart4467 = new BitSet(new long[]{0xFFFFFFFFBE0D7FF0L,0x000000000001FFFFL});
17422        public static final BitSet FOLLOW_image_alternativetext_in_image_ital_alternativepart4476 = new BitSet(new long[]{0xFFFFFFFFBE0F7FF2L,0x000000000001FFFFL});
17423        public static final BitSet FOLLOW_onestar_in_image_ital_alternativepart4479 = new BitSet(new long[]{0xFFFFFFFFBE0D7FF2L,0x000000000001FFFFL});
17424        public static final BitSet FOLLOW_onestar_in_image_boldital_alternative4500 = new BitSet(new long[]{0xFFFFFFFFBE0D7FF0L,0x000000000001FFFFL});
17425        public static final BitSet FOLLOW_image_alternativetext_in_image_boldital_alternative4509 = new BitSet(new long[]{0xFFFFFFFFBE0F7FF2L,0x000000000001FFFFL});
17426        public static final BitSet FOLLOW_onestar_in_image_boldital_alternative4512 = new BitSet(new long[]{0xFFFFFFFFBE0D7FF2L,0x000000000001FFFFL});
17427        public static final BitSet FOLLOW_image_alternative_simple_text_in_image_alternativetext4534 = new BitSet(new long[]{0x0000000000000002L});
17428        public static final BitSet FOLLOW_forced_linebreak_in_image_alternativetext4542 = new BitSet(new long[]{0x0000000002000002L});
17429        public static final BitSet FOLLOW_set_in_image_alternative_simple_text4568 = new BitSet(new long[]{0xFFFFFFFFBC0D7FF2L,0x000000000001FFFFL});
17430        public static final BitSet FOLLOW_extension_markup_in_extension4660 = new BitSet(new long[]{0xFFFFFFFF7EFF7FF0L,0x000000000001FFFFL});
17431        public static final BitSet FOLLOW_extension_handler_in_extension4663 = new BitSet(new long[]{0x0000000080000000L});
17432        public static final BitSet FOLLOW_blanks_in_extension4666 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000001FFFFL});
17433        public static final BitSet FOLLOW_extension_statement_in_extension4669 = new BitSet(new long[]{0x0000000001000000L});
17434        public static final BitSet FOLLOW_extension_markup_in_extension4673 = new BitSet(new long[]{0x0000000000000002L});
17435        public static final BitSet FOLLOW_set_in_extension_handler4685 = new BitSet(new long[]{0xFFFFFFFF7EFF7FF2L,0x000000000001FFFFL});
17436        public static final BitSet FOLLOW_escaped_in_extension_handler4718 = new BitSet(new long[]{0xFFFFFFFF7EFF7FF2L,0x000000000001FFFFL});
17437        public static final BitSet FOLLOW_set_in_extension_statement4733 = new BitSet(new long[]{0xFFFFFFFFFEFFFFF2L,0x000000000001FFFFL});
17438        public static final BitSet FOLLOW_escaped_in_extension_statement4754 = new BitSet(new long[]{0xFFFFFFFFFEFFFFF2L,0x000000000001FFFFL});
17439        public static final BitSet FOLLOW_77_in_table_of_contents4782 = new BitSet(new long[]{0x0000000000000002L});
17440        public static final BitSet FOLLOW_78_in_table_of_contents4792 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L});
17441        public static final BitSet FOLLOW_79_in_table_of_contents4797 = new BitSet(new long[]{0xFFFFFFFFFB1B7FF0L,0x000000000000FFFFL});
17442        public static final BitSet FOLLOW_table_of_contents_title_text_in_table_of_contents4806 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L});
17443        public static final BitSet FOLLOW_79_in_table_of_contents4813 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L});
17444        public static final BitSet FOLLOW_80_in_table_of_contents4818 = new BitSet(new long[]{0x0000000000000002L});
17445        public static final BitSet FOLLOW_set_in_table_of_contents_title_text4844 = new BitSet(new long[]{0xFFFFFFFFFB1B7FF2L,0x000000000000FFFFL});
17446        public static final BitSet FOLLOW_STAR_in_onestar4899 = new BitSet(new long[]{0x0000000000000002L});
17447        public static final BitSet FOLLOW_ESCAPE_in_escaped4920 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000001FFFFL});
17448        public static final BitSet FOLLOW_newline_in_paragraph_separator4944 = new BitSet(new long[]{0x0000000000008002L});
17449        public static final BitSet FOLLOW_EOF_in_paragraph_separator4952 = new BitSet(new long[]{0x0000000000000002L});
17450        public static final BitSet FOLLOW_blanks_in_whitespaces4964 = new BitSet(new long[]{0x0000000080008002L});
17451        public static final BitSet FOLLOW_newline_in_whitespaces4968 = new BitSet(new long[]{0x0000000080008002L});
17452        public static final BitSet FOLLOW_BLANKS_in_blanks4981 = new BitSet(new long[]{0x0000000000000002L});
17453        public static final BitSet FOLLOW_newline_in_text_lineseparator4991 = new BitSet(new long[]{0x0000000080000002L});
17454        public static final BitSet FOLLOW_blanks_in_text_lineseparator4996 = new BitSet(new long[]{0x0000000000000002L});
17455        public static final BitSet FOLLOW_EOF_in_text_lineseparator5004 = new BitSet(new long[]{0x0000000000000002L});
17456        public static final BitSet FOLLOW_NEWLINE_in_newline5014 = new BitSet(new long[]{0x0000000000000002L});
17457        public static final BitSet FOLLOW_STAR_in_bold_markup5024 = new BitSet(new long[]{0x0000000000020000L});
17458        public static final BitSet FOLLOW_STAR_in_bold_markup5027 = new BitSet(new long[]{0x0000000000000002L});
17459        public static final BitSet FOLLOW_ITAL_in_ital_markup5037 = new BitSet(new long[]{0x0000000000000002L});
17460        public static final BitSet FOLLOW_EQUAL_in_heading_markup5047 = new BitSet(new long[]{0x0000000000000002L});
17461        public static final BitSet FOLLOW_POUND_in_list_ordelem_markup5057 = new BitSet(new long[]{0x0000000000000002L});
17462        public static final BitSet FOLLOW_STAR_in_list_unordelem_markup5067 = new BitSet(new long[]{0x0000000000000002L});
17463        public static final BitSet FOLLOW_newline_in_list_elemseparator5077 = new BitSet(new long[]{0x0000000080000002L});
17464        public static final BitSet FOLLOW_blanks_in_list_elemseparator5082 = new BitSet(new long[]{0x0000000000000002L});
17465        public static final BitSet FOLLOW_EOF_in_list_elemseparator5090 = new BitSet(new long[]{0x0000000000000002L});
17466        public static final BitSet FOLLOW_newline_in_end_of_list5100 = new BitSet(new long[]{0x0000000000000002L});
17467        public static final BitSet FOLLOW_EOF_in_end_of_list5105 = new BitSet(new long[]{0x0000000000000002L});
17468        public static final BitSet FOLLOW_PIPE_in_table_cell_markup5115 = new BitSet(new long[]{0x0000000000000002L});
17469        public static final BitSet FOLLOW_PIPE_in_table_headercell_markup5125 = new BitSet(new long[]{0x0000000000040000L});
17470        public static final BitSet FOLLOW_EQUAL_in_table_headercell_markup5128 = new BitSet(new long[]{0x0000000000000002L});
17471        public static final BitSet FOLLOW_newline_in_table_rowseparator5138 = new BitSet(new long[]{0x0000000000000002L});
17472        public static final BitSet FOLLOW_EOF_in_table_rowseparator5143 = new BitSet(new long[]{0x0000000000000002L});
17473        public static final BitSet FOLLOW_NOWIKI_OPEN_in_nowiki_open_markup5153 = new BitSet(new long[]{0x0000000000000002L});
17474        public static final BitSet FOLLOW_NOWIKI_CLOSE_in_nowiki_close_markup5163 = new BitSet(new long[]{0x0000000000000002L});
17475        public static final BitSet FOLLOW_DASH_in_horizontalrule_markup5173 = new BitSet(new long[]{0x0000000100000000L});
17476        public static final BitSet FOLLOW_DASH_in_horizontalrule_markup5176 = new BitSet(new long[]{0x0000000100000000L});
17477        public static final BitSet FOLLOW_DASH_in_horizontalrule_markup5179 = new BitSet(new long[]{0x0000000100000000L});
17478        public static final BitSet FOLLOW_DASH_in_horizontalrule_markup5182 = new BitSet(new long[]{0x0000000000000002L});
17479        public static final BitSet FOLLOW_LINK_OPEN_in_link_open_markup5192 = new BitSet(new long[]{0x0000000000000002L});
17480        public static final BitSet FOLLOW_LINK_CLOSE_in_link_close_markup5202 = new BitSet(new long[]{0x0000000000000002L});
17481        public static final BitSet FOLLOW_PIPE_in_link_description_markup5212 = new BitSet(new long[]{0x0000000000000002L});
17482        public static final BitSet FOLLOW_IMAGE_OPEN_in_image_open_markup5222 = new BitSet(new long[]{0x0000000000000002L});
17483        public static final BitSet FOLLOW_IMAGE_CLOSE_in_image_close_markup5232 = new BitSet(new long[]{0x0000000000000002L});
17484        public static final BitSet FOLLOW_PIPE_in_image_alternative_markup5242 = new BitSet(new long[]{0x0000000000000002L});
17485        public static final BitSet FOLLOW_EXTENSION_in_extension_markup5252 = new BitSet(new long[]{0x0000000000000002L});
17486        public static final BitSet FOLLOW_FORCED_LINEBREAK_in_forced_linebreak5262 = new BitSet(new long[]{0x0000000000000002L});
17487        public static final BitSet FOLLOW_NOWIKI_OPEN_in_synpred1317 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF0L,0x000000000001FFFFL});
17488        public static final BitSet FOLLOW_set_in_synpred1320 = new BitSet(new long[]{0x0000000000000002L});
17489    
17490    }