001    // $ANTLR 3.0.1 Creole10.g 2013-04-10 07:46:28
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.InterwikiLinkNode;
036    import com.liferay.portal.parsers.creole.ast.link.LinkNode;
037    import com.liferay.portal.parsers.creole.ast.NoWikiSectionNode;
038    import com.liferay.portal.parsers.creole.ast.OrderedListItemNode;
039    import com.liferay.portal.parsers.creole.ast.OrderedListNode;
040    import com.liferay.portal.parsers.creole.ast.ParagraphNode;
041    import com.liferay.portal.parsers.creole.ast.ScapedNode;
042    import com.liferay.portal.parsers.creole.ast.table.TableCellNode;
043    import com.liferay.portal.parsers.creole.ast.table.TableDataNode;
044    import com.liferay.portal.parsers.creole.ast.table.TableHeaderNode;
045    import com.liferay.portal.parsers.creole.ast.table.TableNode;
046    import com.liferay.portal.parsers.creole.ast.UnorderedListItemNode;
047    import com.liferay.portal.parsers.creole.ast.UnorderedListNode;
048    import com.liferay.portal.parsers.creole.ast.UnformattedTextNode;
049    import com.liferay.portal.parsers.creole.ast.WikiPageNode;
050    
051    import java.util.Stack;
052    
053    /**
054    * This is a generated file from Creole10.g. DO NOT MODIFY THIS FILE MANUALLY!!
055    * If needed, modify the grammar and rerun the ant generation task
056    * (ant build-creole-parser)
057    */
058    
059    
060    import org.antlr.runtime.*;
061    import java.util.Stack;
062    import java.util.List;
063    import java.util.ArrayList;
064    import java.util.Map;
065    import java.util.HashMap;
066    @SuppressWarnings("all")
067    public class Creole10Parser extends Parser {
068        public static final String[] tokenNames = new String[] {
069            "<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", "TABLE_OF_CONTENTS_OPEN", "TABLE_OF_CONTENTS_CLOSE", "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='", "'\\\"'"
070        };
071        public static final int BLANKS=31;
072        public static final int INSIGNIFICANT_CHAR=42;
073        public static final int FORCED_LINEBREAK=25;
074        public static final int UNORDERED_LIST=12;
075        public static final int STAR=17;
076        public static final int DASH=34;
077        public static final int POUND=16;
078        public static final int HEADING_SECTION=5;
079        public static final int NOWIKI_OPEN=23;
080        public static final int FORCED_END_OF_LINE=4;
081        public static final int HORIZONTAL_SECTION=6;
082        public static final int NOWIKI_BLOCK_CLOSE=27;
083        public static final int UNFORMATTED_TEXT=13;
084        public static final int TABLE_OF_CONTENTS_CLOSE=33;
085        public static final int NOWIKI_SECTION=9;
086        public static final int SPACE=37;
087        public static final int NOWIKI_CLOSE=28;
088        public static final int IMAGE_OPEN=22;
089        public static final int ITAL=20;
090        public static final int EOF=-1;
091        public static final int COLON_SLASH=40;
092        public static final int LIST_ITEM=7;
093        public static final int TEXT_NODE=11;
094        public static final int WIKI=14;
095        public static final int SLASH=41;
096        public static final int ESCAPE=26;
097        public static final int NEWLINE=15;
098        public static final int BRACE_CLOSE=39;
099        public static final int SCAPE_NODE=10;
100        public static final int IMAGE_CLOSE=30;
101        public static final int EQUAL=18;
102        public static final int TABULATOR=38;
103        public static final int LINK_CLOSE=29;
104        public static final int LIST_ITEM_PART=8;
105        public static final int PIPE=19;
106        public static final int TABLE_OF_CONTENTS_OPEN=32;
107        public static final int LINK_OPEN=21;
108        public static final int CR=35;
109        public static final int EXTENSION=24;
110        public static final int LF=36;
111        protected static class CountLevel_scope {
112            int level;
113            String currentMarkup;
114            String groups;
115        }
116        protected Stack CountLevel_stack = new Stack();
117    
118    
119            public Creole10Parser(TokenStream input) {
120                super(input);
121                ruleMemo = new HashMap[128+1];
122             }
123            
124    
125        public String[] getTokenNames() { return tokenNames; }
126        public String getGrammarFileName() { return "Creole10.g"; }
127    
128    
129            public void displayRecognitionError(String[] tokenNames,RecognitionException e) {
130                    String header = getErrorHeader(e);
131                    String message = getErrorMessage(e, tokenNames);
132    
133                    _errors.add(header + " " + message);
134            }
135    
136            public List<String> getErrors() {
137                    return _errors;
138            }
139    
140            public WikiPageNode getWikiPageNode() {
141                    if (_wikipage == null)
142                            throw new IllegalStateException("No succesful parsing process");
143    
144                    return _wikipage;
145            }
146    
147            protected static final String GROUPING_SEPARATOR = "-";
148    
149            protected BaseParentableNode buildAndComposeListNode(BaseParentableNode baseParentableNode, ItemNode itemNode, boolean ordered) {
150                    BaseParentableNode listNode = null;
151                    
152                    if (ordered) {
153                            listNode = new OrderedListNode(baseParentableNode);
154                    } 
155                    else {
156                            listNode = new UnorderedListNode(baseParentableNode);
157                    }
158    
159                    itemNode.setBaseParentableNode(listNode);
160                    listNode.addChildASTNode(itemNode);
161    
162                    baseParentableNode.addChildASTNode(listNode);
163    
164                    return listNode;
165            }
166    
167            private List<String> _errors = new ArrayList<String>();
168            private WikiPageNode _wikipage;
169    
170    
171    
172    
173        // $ANTLR start wikipage
174        // Creole10.g:147:1: wikipage : ( whitespaces )? p= paragraphs EOF ;
175        public final void wikipage() throws RecognitionException {
176            CollectionNode p = null;
177    
178    
179            try {
180                // Creole10.g:148:2: ( ( whitespaces )? p= paragraphs EOF )
181                // Creole10.g:148:4: ( whitespaces )? p= paragraphs EOF
182                {
183                // Creole10.g:148:4: ( whitespaces )?
184                int alt1=2;
185                int LA1_0 = input.LA(1);
186    
187                if ( (LA1_0==NEWLINE||LA1_0==BLANKS) ) {
188                    alt1=1;
189                }
190                switch (alt1) {
191                    case 1 :
192                        // Creole10.g:148:6: whitespaces
193                        {
194                        pushFollow(FOLLOW_whitespaces_in_wikipage111);
195                        whitespaces();
196                        _fsp--;
197                        if (failed) return ;
198    
199                        }
200                        break;
201    
202                }
203    
204                pushFollow(FOLLOW_paragraphs_in_wikipage119);
205                p=paragraphs();
206                _fsp--;
207                if (failed) return ;
208                if ( backtracking==0 ) {
209                   _wikipage = new WikiPageNode(p); 
210                }
211                match(input,EOF,FOLLOW_EOF_in_wikipage124); if (failed) return ;
212    
213                }
214    
215            }
216            catch (RecognitionException re) {
217                reportError(re);
218                recover(input,re);
219            }
220            finally {
221            }
222            return ;
223        }
224        // $ANTLR end wikipage
225    
226    
227        // $ANTLR start paragraphs
228        // Creole10.g:150:1: paragraphs returns [CollectionNode sections = new CollectionNode()] : (p= paragraph )* ;
229        public final CollectionNode paragraphs() throws RecognitionException {
230            CollectionNode sections =  new CollectionNode();
231    
232            ASTNode p = null;
233    
234    
235            try {
236                // Creole10.g:151:2: ( (p= paragraph )* )
237                // Creole10.g:151:4: (p= paragraph )*
238                {
239                // Creole10.g:151:4: (p= paragraph )*
240                loop2:
241                do {
242                    int alt2=2;
243                    int LA2_0 = input.LA(1);
244    
245                    if ( ((LA2_0>=FORCED_END_OF_LINE && LA2_0<=WIKI)||(LA2_0>=POUND && LA2_0<=81)) ) {
246                        alt2=1;
247                    }
248    
249    
250                    switch (alt2) {
251                    case 1 :
252                        // Creole10.g:151:5: p= paragraph
253                        {
254                        pushFollow(FOLLOW_paragraph_in_paragraphs142);
255                        p=paragraph();
256                        _fsp--;
257                        if (failed) return sections;
258                        if ( backtracking==0 ) {
259    
260                                            if (p != null){ // at this moment we ignore paragraps with blanks
261                                                    sections.add(p);
262                                            }
263                                            
264                        }
265    
266                        }
267                        break;
268    
269                    default :
270                        break loop2;
271                    }
272                } while (true);
273    
274    
275                }
276    
277            }
278            catch (RecognitionException re) {
279                reportError(re);
280                recover(input,re);
281            }
282            finally {
283            }
284            return sections;
285        }
286        // $ANTLR end paragraphs
287    
288    
289        // $ANTLR start paragraph
290        // Creole10.g:157: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 )? );
291        public final ASTNode paragraph() throws RecognitionException {
292            ASTNode node =  null;
293    
294            NoWikiSectionNode n = null;
295    
296            TableOfContentsNode tof = null;
297    
298            ASTNode h = null;
299    
300            ASTNode hn = null;
301    
302            ListNode l = null;
303    
304            TableNode t = null;
305    
306            ParagraphNode tp = null;
307    
308    
309            try {
310                // Creole10.g:158: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 )? )
311                int alt6=3;
312                switch ( input.LA(1) ) {
313                case NOWIKI_OPEN:
314                    {
315                    int LA6_1 = input.LA(2);
316    
317                    if ( ((LA6_1>=FORCED_END_OF_LINE && LA6_1<=WIKI)||(LA6_1>=POUND && LA6_1<=81)) ) {
318                        alt6=3;
319                    }
320                    else if ( (LA6_1==NEWLINE) ) {
321                        alt6=1;
322                    }
323                    else {
324                        if (backtracking>0) {failed=true; return node;}
325                        NoViableAltException nvae =
326                            new NoViableAltException("157: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);
327    
328                        throw nvae;
329                    }
330                    }
331                    break;
332                case BLANKS:
333                    {
334                    switch ( input.LA(2) ) {
335                    case NEWLINE:
336                        {
337                        alt6=2;
338                        }
339                        break;
340                    case EOF:
341                        {
342                        alt6=2;
343                        }
344                        break;
345                    case FORCED_END_OF_LINE:
346                    case HEADING_SECTION:
347                    case HORIZONTAL_SECTION:
348                    case LIST_ITEM:
349                    case LIST_ITEM_PART:
350                    case NOWIKI_SECTION:
351                    case SCAPE_NODE:
352                    case TEXT_NODE:
353                    case UNORDERED_LIST:
354                    case UNFORMATTED_TEXT:
355                    case WIKI:
356                    case POUND:
357                    case STAR:
358                    case EQUAL:
359                    case PIPE:
360                    case ITAL:
361                    case LINK_OPEN:
362                    case IMAGE_OPEN:
363                    case NOWIKI_OPEN:
364                    case EXTENSION:
365                    case FORCED_LINEBREAK:
366                    case ESCAPE:
367                    case NOWIKI_BLOCK_CLOSE:
368                    case NOWIKI_CLOSE:
369                    case LINK_CLOSE:
370                    case IMAGE_CLOSE:
371                    case BLANKS:
372                    case TABLE_OF_CONTENTS_OPEN:
373                    case TABLE_OF_CONTENTS_CLOSE:
374                    case DASH:
375                    case CR:
376                    case LF:
377                    case SPACE:
378                    case TABULATOR:
379                    case BRACE_CLOSE:
380                    case COLON_SLASH:
381                    case SLASH:
382                    case INSIGNIFICANT_CHAR:
383                    case 43:
384                    case 44:
385                    case 45:
386                    case 46:
387                    case 47:
388                    case 48:
389                    case 49:
390                    case 50:
391                    case 51:
392                    case 52:
393                    case 53:
394                    case 54:
395                    case 55:
396                    case 56:
397                    case 57:
398                    case 58:
399                    case 59:
400                    case 60:
401                    case 61:
402                    case 62:
403                    case 63:
404                    case 64:
405                    case 65:
406                    case 66:
407                    case 67:
408                    case 68:
409                    case 69:
410                    case 70:
411                    case 71:
412                    case 72:
413                    case 73:
414                    case 74:
415                    case 75:
416                    case 76:
417                    case 77:
418                    case 78:
419                    case 79:
420                    case 80:
421                    case 81:
422                        {
423                        alt6=3;
424                        }
425                        break;
426                    default:
427                        if (backtracking>0) {failed=true; return node;}
428                        NoViableAltException nvae =
429                            new NoViableAltException("157: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);
430    
431                        throw nvae;
432                    }
433    
434                    }
435                    break;
436                case FORCED_END_OF_LINE:
437                case HEADING_SECTION:
438                case HORIZONTAL_SECTION:
439                case LIST_ITEM:
440                case LIST_ITEM_PART:
441                case NOWIKI_SECTION:
442                case SCAPE_NODE:
443                case TEXT_NODE:
444                case UNORDERED_LIST:
445                case UNFORMATTED_TEXT:
446                case WIKI:
447                case POUND:
448                case STAR:
449                case EQUAL:
450                case PIPE:
451                case ITAL:
452                case LINK_OPEN:
453                case IMAGE_OPEN:
454                case EXTENSION:
455                case FORCED_LINEBREAK:
456                case ESCAPE:
457                case NOWIKI_BLOCK_CLOSE:
458                case NOWIKI_CLOSE:
459                case LINK_CLOSE:
460                case IMAGE_CLOSE:
461                case TABLE_OF_CONTENTS_OPEN:
462                case TABLE_OF_CONTENTS_CLOSE:
463                case DASH:
464                case CR:
465                case LF:
466                case SPACE:
467                case TABULATOR:
468                case BRACE_CLOSE:
469                case COLON_SLASH:
470                case SLASH:
471                case INSIGNIFICANT_CHAR:
472                case 43:
473                case 44:
474                case 45:
475                case 46:
476                case 47:
477                case 48:
478                case 49:
479                case 50:
480                case 51:
481                case 52:
482                case 53:
483                case 54:
484                case 55:
485                case 56:
486                case 57:
487                case 58:
488                case 59:
489                case 60:
490                case 61:
491                case 62:
492                case 63:
493                case 64:
494                case 65:
495                case 66:
496                case 67:
497                case 68:
498                case 69:
499                case 70:
500                case 71:
501                case 72:
502                case 73:
503                case 74:
504                case 75:
505                case 76:
506                case 77:
507                case 78:
508                case 79:
509                case 80:
510                case 81:
511                    {
512                    alt6=3;
513                    }
514                    break;
515                default:
516                    if (backtracking>0) {failed=true; return node;}
517                    NoViableAltException nvae =
518                        new NoViableAltException("157: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);
519    
520                    throw nvae;
521                }
522    
523                switch (alt6) {
524                    case 1 :
525                        // Creole10.g:158:4: n= nowiki_block
526                        {
527                        pushFollow(FOLLOW_nowiki_block_in_paragraph163);
528                        n=nowiki_block();
529                        _fsp--;
530                        if (failed) return node;
531                        if ( backtracking==0 ) {
532                           node = n; 
533                        }
534    
535                        }
536                        break;
537                    case 2 :
538                        // Creole10.g:159:4: blanks paragraph_separator
539                        {
540                        pushFollow(FOLLOW_blanks_in_paragraph170);
541                        blanks();
542                        _fsp--;
543                        if (failed) return node;
544                        pushFollow(FOLLOW_paragraph_separator_in_paragraph173);
545                        paragraph_separator();
546                        _fsp--;
547                        if (failed) return node;
548    
549                        }
550                        break;
551                    case 3 :
552                        // Creole10.g:160:4: ( blanks )? (tof= table_of_contents | h= heading | {...}?hn= horizontalrule | l= list | t= table | tp= text_paragraph ) ( paragraph_separator )?
553                        {
554                        // Creole10.g:160:4: ( blanks )?
555                        int alt3=2;
556                        int LA3_0 = input.LA(1);
557    
558                        if ( (LA3_0==BLANKS) ) {
559                            alt3=1;
560                        }
561                        switch (alt3) {
562                            case 1 :
563                                // Creole10.g:160:6: blanks
564                                {
565                                pushFollow(FOLLOW_blanks_in_paragraph180);
566                                blanks();
567                                _fsp--;
568                                if (failed) return node;
569    
570                                }
571                                break;
572    
573                        }
574    
575                        // Creole10.g:161:4: (tof= table_of_contents | h= heading | {...}?hn= horizontalrule | l= list | t= table | tp= text_paragraph )
576                        int alt4=6;
577                        switch ( input.LA(1) ) {
578                        case TABLE_OF_CONTENTS_OPEN:
579                            {
580                            alt4=1;
581                            }
582                            break;
583                        case EQUAL:
584                            {
585                            alt4=2;
586                            }
587                            break;
588                        case DASH:
589                            {
590                            int LA4_3 = input.LA(2);
591    
592                            if ( ( input.LA(1) == DASH && input.LA(2) == DASH &&
593                                                            input.LA(3) == DASH && input.LA(4) == DASH ) ) {
594                                alt4=3;
595                            }
596                            else if ( (true) ) {
597                                alt4=6;
598                            }
599                            else {
600                                if (backtracking>0) {failed=true; return node;}
601                                NoViableAltException nvae =
602                                    new NoViableAltException("161:4: (tof= table_of_contents | h= heading | {...}?hn= horizontalrule | l= list | t= table | tp= text_paragraph )", 4, 3, input);
603    
604                                throw nvae;
605                            }
606                            }
607                            break;
608                        case POUND:
609                            {
610                            alt4=4;
611                            }
612                            break;
613                        case STAR:
614                            {
615                            int LA4_5 = input.LA(2);
616    
617                            if ( (!( input.LA(1) != STAR || (input.LA(1) == STAR && input.LA(2) == STAR) )) ) {
618                                alt4=4;
619                            }
620                            else if ( ( input.LA(1) != STAR || (input.LA(1) == STAR && input.LA(2) == STAR) ) ) {
621                                alt4=6;
622                            }
623                            else {
624                                if (backtracking>0) {failed=true; return node;}
625                                NoViableAltException nvae =
626                                    new NoViableAltException("161:4: (tof= table_of_contents | h= heading | {...}?hn= horizontalrule | l= list | t= table | tp= text_paragraph )", 4, 5, input);
627    
628                                throw nvae;
629                            }
630                            }
631                            break;
632                        case PIPE:
633                            {
634                            alt4=5;
635                            }
636                            break;
637                        case FORCED_END_OF_LINE:
638                        case HEADING_SECTION:
639                        case HORIZONTAL_SECTION:
640                        case LIST_ITEM:
641                        case LIST_ITEM_PART:
642                        case NOWIKI_SECTION:
643                        case SCAPE_NODE:
644                        case TEXT_NODE:
645                        case UNORDERED_LIST:
646                        case UNFORMATTED_TEXT:
647                        case WIKI:
648                        case ITAL:
649                        case LINK_OPEN:
650                        case IMAGE_OPEN:
651                        case NOWIKI_OPEN:
652                        case EXTENSION:
653                        case FORCED_LINEBREAK:
654                        case ESCAPE:
655                        case NOWIKI_BLOCK_CLOSE:
656                        case NOWIKI_CLOSE:
657                        case LINK_CLOSE:
658                        case IMAGE_CLOSE:
659                        case BLANKS:
660                        case TABLE_OF_CONTENTS_CLOSE:
661                        case CR:
662                        case LF:
663                        case SPACE:
664                        case TABULATOR:
665                        case BRACE_CLOSE:
666                        case COLON_SLASH:
667                        case SLASH:
668                        case INSIGNIFICANT_CHAR:
669                        case 43:
670                        case 44:
671                        case 45:
672                        case 46:
673                        case 47:
674                        case 48:
675                        case 49:
676                        case 50:
677                        case 51:
678                        case 52:
679                        case 53:
680                        case 54:
681                        case 55:
682                        case 56:
683                        case 57:
684                        case 58:
685                        case 59:
686                        case 60:
687                        case 61:
688                        case 62:
689                        case 63:
690                        case 64:
691                        case 65:
692                        case 66:
693                        case 67:
694                        case 68:
695                        case 69:
696                        case 70:
697                        case 71:
698                        case 72:
699                        case 73:
700                        case 74:
701                        case 75:
702                        case 76:
703                        case 77:
704                        case 78:
705                        case 79:
706                        case 80:
707                        case 81:
708                            {
709                            alt4=6;
710                            }
711                            break;
712                        default:
713                            if (backtracking>0) {failed=true; return node;}
714                            NoViableAltException nvae =
715                                new NoViableAltException("161:4: (tof= table_of_contents | h= heading | {...}?hn= horizontalrule | l= list | t= table | tp= text_paragraph )", 4, 0, input);
716    
717                            throw nvae;
718                        }
719    
720                        switch (alt4) {
721                            case 1 :
722                                // Creole10.g:161:6: tof= table_of_contents
723                                {
724                                pushFollow(FOLLOW_table_of_contents_in_paragraph194);
725                                tof=table_of_contents();
726                                _fsp--;
727                                if (failed) return node;
728                                if ( backtracking==0 ) {
729                                  node = tof;
730                                }
731    
732                                }
733                                break;
734                            case 2 :
735                                // Creole10.g:162:6: h= heading
736                                {
737                                pushFollow(FOLLOW_heading_in_paragraph208);
738                                h=heading();
739                                _fsp--;
740                                if (failed) return node;
741                                if ( backtracking==0 ) {
742                                   node = h;
743                                }
744    
745                                }
746                                break;
747                            case 3 :
748                                // Creole10.g:163:6: {...}?hn= horizontalrule
749                                {
750                                if ( !( input.LA(1) == DASH && input.LA(2) == DASH &&
751                                                            input.LA(3) == DASH && input.LA(4) == DASH ) ) {
752                                    if (backtracking>0) {failed=true; return node;}
753                                    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 ");
754                                }
755                                pushFollow(FOLLOW_horizontalrule_in_paragraph227);
756                                hn=horizontalrule();
757                                _fsp--;
758                                if (failed) return node;
759                                if ( backtracking==0 ) {
760                                  node = hn;
761                                }
762    
763                                }
764                                break;
765                            case 4 :
766                                // Creole10.g:166:6: l= list
767                                {
768                                pushFollow(FOLLOW_list_in_paragraph240);
769                                l=list();
770                                _fsp--;
771                                if (failed) return node;
772                                if ( backtracking==0 ) {
773                                  node = l;
774                                }
775    
776                                }
777                                break;
778                            case 5 :
779                                // Creole10.g:167:6: t= table
780                                {
781                                pushFollow(FOLLOW_table_in_paragraph253);
782                                t=table();
783                                _fsp--;
784                                if (failed) return node;
785                                if ( backtracking==0 ) {
786                                   node = t; 
787                                }
788    
789                                }
790                                break;
791                            case 6 :
792                                // Creole10.g:168:6: tp= text_paragraph
793                                {
794                                pushFollow(FOLLOW_text_paragraph_in_paragraph266);
795                                tp=text_paragraph();
796                                _fsp--;
797                                if (failed) return node;
798                                if ( backtracking==0 ) {
799                                  node = tp; 
800                                }
801    
802                                }
803                                break;
804    
805                        }
806    
807                        // Creole10.g:169:7: ( paragraph_separator )?
808                        int alt5=2;
809                        int LA5_0 = input.LA(1);
810    
811                        if ( (LA5_0==NEWLINE) ) {
812                            alt5=1;
813                        }
814                        else if ( (LA5_0==EOF) ) {
815                            int LA5_2 = input.LA(2);
816    
817                            if ( (LA5_2==EOF) ) {
818                                int LA5_4 = input.LA(3);
819    
820                                if ( (LA5_4==EOF) ) {
821                                    alt5=1;
822                                }
823                            }
824                            else if ( ((LA5_2>=FORCED_END_OF_LINE && LA5_2<=WIKI)||(LA5_2>=POUND && LA5_2<=81)) ) {
825                                alt5=1;
826                            }
827                        }
828                        switch (alt5) {
829                            case 1 :
830                                // Creole10.g:169:9: paragraph_separator
831                                {
832                                pushFollow(FOLLOW_paragraph_separator_in_paragraph279);
833                                paragraph_separator();
834                                _fsp--;
835                                if (failed) return node;
836    
837                                }
838                                break;
839    
840                        }
841    
842    
843                        }
844                        break;
845    
846                }
847            }
848            catch (RecognitionException re) {
849                reportError(re);
850                recover(input,re);
851            }
852            finally {
853            }
854            return node;
855        }
856        // $ANTLR end paragraph
857    
858    
859        // $ANTLR start text_paragraph
860        // Creole10.g:176:1: text_paragraph returns [ ParagraphNode paragraph = new ParagraphNode() ] : (tl= text_line | ( NOWIKI_OPEN ~ ( NEWLINE ) )=>nw= nowiki_inline (te= text_element )* text_lineseparator )+ ;
861        public final ParagraphNode text_paragraph() throws RecognitionException {
862            ParagraphNode paragraph =  new ParagraphNode();
863    
864            LineNode tl = null;
865    
866            NoWikiSectionNode nw = null;
867    
868            ASTNode te = null;
869    
870    
871            try {
872                // Creole10.g:177:2: ( (tl= text_line | ( NOWIKI_OPEN ~ ( NEWLINE ) )=>nw= nowiki_inline (te= text_element )* text_lineseparator )+ )
873                // Creole10.g:177:4: (tl= text_line | ( NOWIKI_OPEN ~ ( NEWLINE ) )=>nw= nowiki_inline (te= text_element )* text_lineseparator )+
874                {
875                // Creole10.g:177:4: (tl= text_line | ( NOWIKI_OPEN ~ ( NEWLINE ) )=>nw= nowiki_inline (te= text_element )* text_lineseparator )+
876                int cnt8=0;
877                loop8:
878                do {
879                    int alt8=3;
880                    switch ( input.LA(1) ) {
881                    case NOWIKI_OPEN:
882                        {
883                        int LA8_2 = input.LA(2);
884    
885                        if ( (synpred1()) ) {
886                            alt8=2;
887                        }
888    
889    
890                        }
891                        break;
892                    case BLANKS:
893                        {
894                        alt8=1;
895                        }
896                        break;
897                    case TABLE_OF_CONTENTS_OPEN:
898                        {
899                        alt8=1;
900                        }
901                        break;
902                    case DASH:
903                        {
904                        alt8=1;
905                        }
906                        break;
907                    case STAR:
908                        {
909                        int LA8_6 = input.LA(2);
910    
911                        if ( ( input.LA(1) != STAR || (input.LA(1) == STAR && input.LA(2) == STAR) ) ) {
912                            alt8=1;
913                        }
914    
915    
916                        }
917                        break;
918                    case ITAL:
919                        {
920                        int LA8_7 = input.LA(2);
921    
922                        if ( ( input.LA(1) != STAR || (input.LA(1) == STAR && input.LA(2) == STAR) ) ) {
923                            alt8=1;
924                        }
925    
926    
927                        }
928                        break;
929                    case FORCED_END_OF_LINE:
930                    case HEADING_SECTION:
931                    case HORIZONTAL_SECTION:
932                    case LIST_ITEM:
933                    case LIST_ITEM_PART:
934                    case NOWIKI_SECTION:
935                    case SCAPE_NODE:
936                    case TEXT_NODE:
937                    case UNORDERED_LIST:
938                    case UNFORMATTED_TEXT:
939                    case WIKI:
940                    case NOWIKI_BLOCK_CLOSE:
941                    case NOWIKI_CLOSE:
942                    case LINK_CLOSE:
943                    case IMAGE_CLOSE:
944                    case TABLE_OF_CONTENTS_CLOSE:
945                    case CR:
946                    case LF:
947                    case SPACE:
948                    case TABULATOR:
949                    case BRACE_CLOSE:
950                    case COLON_SLASH:
951                    case SLASH:
952                    case INSIGNIFICANT_CHAR:
953                    case 43:
954                    case 44:
955                    case 45:
956                    case 46:
957                    case 47:
958                    case 48:
959                    case 49:
960                    case 50:
961                    case 51:
962                    case 52:
963                    case 53:
964                    case 54:
965                    case 55:
966                    case 56:
967                    case 57:
968                    case 58:
969                    case 59:
970                    case 60:
971                    case 61:
972                    case 62:
973                    case 63:
974                    case 64:
975                    case 65:
976                    case 66:
977                    case 67:
978                    case 68:
979                    case 69:
980                    case 70:
981                    case 71:
982                    case 72:
983                    case 73:
984                    case 74:
985                    case 75:
986                    case 76:
987                    case 77:
988                    case 78:
989                    case 79:
990                    case 80:
991                    case 81:
992                        {
993                        alt8=1;
994                        }
995                        break;
996                    case FORCED_LINEBREAK:
997                        {
998                        alt8=1;
999                        }
1000                        break;
1001                    case ESCAPE:
1002                        {
1003                        alt8=1;
1004                        }
1005                        break;
1006                    case LINK_OPEN:
1007                        {
1008                        alt8=1;
1009                        }
1010                        break;
1011                    case IMAGE_OPEN:
1012                        {
1013                        alt8=1;
1014                        }
1015                        break;
1016                    case EXTENSION:
1017                        {
1018                        alt8=1;
1019                        }
1020                        break;
1021    
1022                    }
1023    
1024                    switch (alt8) {
1025                    case 1 :
1026                        // Creole10.g:177:6: tl= text_line
1027                        {
1028                        pushFollow(FOLLOW_text_line_in_text_paragraph307);
1029                        tl=text_line();
1030                        _fsp--;
1031                        if (failed) return paragraph;
1032                        if ( backtracking==0 ) {
1033                            paragraph.addChildASTNode(tl);  
1034                        }
1035    
1036                        }
1037                        break;
1038                    case 2 :
1039                        // Creole10.g:178:5: ( NOWIKI_OPEN ~ ( NEWLINE ) )=>nw= nowiki_inline (te= text_element )* text_lineseparator
1040                        {
1041                        pushFollow(FOLLOW_nowiki_inline_in_text_paragraph339);
1042                        nw=nowiki_inline();
1043                        _fsp--;
1044                        if (failed) return paragraph;
1045                        if ( backtracking==0 ) {
1046                          paragraph.addChildASTNode(nw);
1047                        }
1048                        // Creole10.g:179:66: (te= text_element )*
1049                        loop7:
1050                        do {
1051                            int alt7=2;
1052                            int LA7_0 = input.LA(1);
1053    
1054                            if ( ((LA7_0>=FORCED_END_OF_LINE && LA7_0<=WIKI)||(LA7_0>=POUND && LA7_0<=81)) ) {
1055                                alt7=1;
1056                            }
1057    
1058    
1059                            switch (alt7) {
1060                            case 1 :
1061                                // Creole10.g:179:68: te= text_element
1062                                {
1063                                pushFollow(FOLLOW_text_element_in_text_paragraph350);
1064                                te=text_element();
1065                                _fsp--;
1066                                if (failed) return paragraph;
1067                                if ( backtracking==0 ) {
1068                                  paragraph.addChildASTNode(te);
1069                                }
1070    
1071                                }
1072                                break;
1073    
1074                            default :
1075                                break loop7;
1076                            }
1077                        } while (true);
1078    
1079                        pushFollow(FOLLOW_text_lineseparator_in_text_paragraph359);
1080                        text_lineseparator();
1081                        _fsp--;
1082                        if (failed) return paragraph;
1083    
1084                        }
1085                        break;
1086    
1087                    default :
1088                        if ( cnt8 >= 1 ) break loop8;
1089                        if (backtracking>0) {failed=true; return paragraph;}
1090                            EarlyExitException eee =
1091                                new EarlyExitException(8, input);
1092                            throw eee;
1093                    }
1094                    cnt8++;
1095                } while (true);
1096    
1097    
1098                }
1099    
1100            }
1101            catch (RecognitionException re) {
1102                reportError(re);
1103                recover(input,re);
1104            }
1105            finally {
1106            }
1107            return paragraph;
1108        }
1109        // $ANTLR end text_paragraph
1110    
1111    
1112        // $ANTLR start text_line
1113        // Creole10.g:182:1: text_line returns [LineNode line = new LineNode()] : first= text_firstelement (element= text_element )* text_lineseparator ;
1114        public final LineNode text_line() throws RecognitionException {
1115            LineNode line =  new LineNode();
1116    
1117            ASTNode first = null;
1118    
1119            ASTNode element = null;
1120    
1121    
1122            try {
1123                // Creole10.g:183:2: (first= text_firstelement (element= text_element )* text_lineseparator )
1124                // Creole10.g:183:4: first= text_firstelement (element= text_element )* text_lineseparator
1125                {
1126                pushFollow(FOLLOW_text_firstelement_in_text_line382);
1127                first=text_firstelement();
1128                _fsp--;
1129                if (failed) return line;
1130                if ( backtracking==0 ) {
1131    
1132                                                                                            if (first != null) { // recovering from errors
1133                                                                                                    line.addChildASTNode(first);
1134                                                                                            }
1135                                                                                    
1136                }
1137                // Creole10.g:188:9: (element= text_element )*
1138                loop9:
1139                do {
1140                    int alt9=2;
1141                    int LA9_0 = input.LA(1);
1142    
1143                    if ( ((LA9_0>=FORCED_END_OF_LINE && LA9_0<=WIKI)||(LA9_0>=POUND && LA9_0<=81)) ) {
1144                        alt9=1;
1145                    }
1146    
1147    
1148                    switch (alt9) {
1149                    case 1 :
1150                        // Creole10.g:188:11: element= text_element
1151                        {
1152                        pushFollow(FOLLOW_text_element_in_text_line401);
1153                        element=text_element();
1154                        _fsp--;
1155                        if (failed) return line;
1156                        if ( backtracking==0 ) {
1157    
1158                                                                                    if (element != null) // recovering from errors
1159                                                                                            line.addChildASTNode(element);
1160                                                                            
1161                        }
1162    
1163                        }
1164                        break;
1165    
1166                    default :
1167                        break loop9;
1168                    }
1169                } while (true);
1170    
1171                pushFollow(FOLLOW_text_lineseparator_in_text_line415);
1172                text_lineseparator();
1173                _fsp--;
1174                if (failed) return line;
1175    
1176                }
1177    
1178            }
1179            catch (RecognitionException re) {
1180                reportError(re);
1181                recover(input,re);
1182            }
1183            finally {
1184            }
1185            return line;
1186        }
1187        // $ANTLR end text_line
1188    
1189    
1190        // $ANTLR start text_firstelement
1191        // Creole10.g:194:1: text_firstelement returns [ASTNode item = null] : ({...}?tf= text_formattedelement | tu= text_first_unformattedelement );
1192        public final ASTNode text_firstelement() throws RecognitionException {
1193            ASTNode item =  null;
1194    
1195            FormattedTextNode tf = null;
1196    
1197            ASTNode tu = null;
1198    
1199    
1200            try {
1201                // Creole10.g:195:2: ({...}?tf= text_formattedelement | tu= text_first_unformattedelement )
1202                int alt10=2;
1203                int LA10_0 = input.LA(1);
1204    
1205                if ( (LA10_0==STAR||LA10_0==ITAL) ) {
1206                    alt10=1;
1207                }
1208                else if ( ((LA10_0>=FORCED_END_OF_LINE && LA10_0<=WIKI)||(LA10_0>=LINK_OPEN && LA10_0<=IMAGE_OPEN)||(LA10_0>=EXTENSION && LA10_0<=81)) ) {
1209                    alt10=2;
1210                }
1211                else {
1212                    if (backtracking>0) {failed=true; return item;}
1213                    NoViableAltException nvae =
1214                        new NoViableAltException("194:1: text_firstelement returns [ASTNode item = null] : ({...}?tf= text_formattedelement | tu= text_first_unformattedelement );", 10, 0, input);
1215    
1216                    throw nvae;
1217                }
1218                switch (alt10) {
1219                    case 1 :
1220                        // Creole10.g:195:4: {...}?tf= text_formattedelement
1221                        {
1222                        if ( !( input.LA(1) != STAR || (input.LA(1) == STAR && input.LA(2) == STAR) ) ) {
1223                            if (backtracking>0) {failed=true; return item;}
1224                            throw new FailedPredicateException(input, "text_firstelement", " input.LA(1) != STAR || (input.LA(1) == STAR && input.LA(2) == STAR) ");
1225                        }
1226                        pushFollow(FOLLOW_text_formattedelement_in_text_firstelement437);
1227                        tf=text_formattedelement();
1228                        _fsp--;
1229                        if (failed) return item;
1230                        if ( backtracking==0 ) {
1231                           item = tf; 
1232                        }
1233    
1234                        }
1235                        break;
1236                    case 2 :
1237                        // Creole10.g:197:4: tu= text_first_unformattedelement
1238                        {
1239                        pushFollow(FOLLOW_text_first_unformattedelement_in_text_firstelement448);
1240                        tu=text_first_unformattedelement();
1241                        _fsp--;
1242                        if (failed) return item;
1243                        if ( backtracking==0 ) {
1244                           item = tu; 
1245                        }
1246    
1247                        }
1248                        break;
1249    
1250                }
1251            }
1252            catch (RecognitionException re) {
1253                reportError(re);
1254                recover(input,re);
1255            }
1256            finally {
1257            }
1258            return item;
1259        }
1260        // $ANTLR end text_firstelement
1261    
1262    
1263        // $ANTLR start text_formattedelement
1264        // Creole10.g:199:1: text_formattedelement returns [FormattedTextNode item = null] : ( ital_markup ic= text_italcontent ( ( NEWLINE )? ital_markup )? | bold_markup bc= text_boldcontent ( ( NEWLINE )? bold_markup )? );
1265        public final FormattedTextNode text_formattedelement() throws RecognitionException {
1266            FormattedTextNode item =  null;
1267    
1268            CollectionNode ic = null;
1269    
1270            CollectionNode bc = null;
1271    
1272    
1273            try {
1274                // Creole10.g:200:2: ( ital_markup ic= text_italcontent ( ( NEWLINE )? ital_markup )? | bold_markup bc= text_boldcontent ( ( NEWLINE )? bold_markup )? )
1275                int alt15=2;
1276                int LA15_0 = input.LA(1);
1277    
1278                if ( (LA15_0==ITAL) ) {
1279                    alt15=1;
1280                }
1281                else if ( (LA15_0==STAR) ) {
1282                    alt15=2;
1283                }
1284                else {
1285                    if (backtracking>0) {failed=true; return item;}
1286                    NoViableAltException nvae =
1287                        new NoViableAltException("199: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);
1288    
1289                    throw nvae;
1290                }
1291                switch (alt15) {
1292                    case 1 :
1293                        // Creole10.g:200:4: ital_markup ic= text_italcontent ( ( NEWLINE )? ital_markup )?
1294                        {
1295                        pushFollow(FOLLOW_ital_markup_in_text_formattedelement464);
1296                        ital_markup();
1297                        _fsp--;
1298                        if (failed) return item;
1299                        pushFollow(FOLLOW_text_italcontent_in_text_formattedelement470);
1300                        ic=text_italcontent();
1301                        _fsp--;
1302                        if (failed) return item;
1303                        if ( backtracking==0 ) {
1304                           item = new ItalicTextNode(ic); 
1305                        }
1306                        // Creole10.g:200:81: ( ( NEWLINE )? ital_markup )?
1307                        int alt12=2;
1308                        int LA12_0 = input.LA(1);
1309    
1310                        if ( (LA12_0==NEWLINE) ) {
1311                            int LA12_1 = input.LA(2);
1312    
1313                            if ( (LA12_1==ITAL) ) {
1314                                alt12=1;
1315                            }
1316                        }
1317                        else if ( (LA12_0==ITAL) ) {
1318                            alt12=1;
1319                        }
1320                        switch (alt12) {
1321                            case 1 :
1322                                // Creole10.g:200:83: ( NEWLINE )? ital_markup
1323                                {
1324                                // Creole10.g:200:83: ( NEWLINE )?
1325                                int alt11=2;
1326                                int LA11_0 = input.LA(1);
1327    
1328                                if ( (LA11_0==NEWLINE) ) {
1329                                    alt11=1;
1330                                }
1331                                switch (alt11) {
1332                                    case 1 :
1333                                        // Creole10.g:200:85: NEWLINE
1334                                        {
1335                                        match(input,NEWLINE,FOLLOW_NEWLINE_in_text_formattedelement479); if (failed) return item;
1336    
1337                                        }
1338                                        break;
1339    
1340                                }
1341    
1342                                pushFollow(FOLLOW_ital_markup_in_text_formattedelement485);
1343                                ital_markup();
1344                                _fsp--;
1345                                if (failed) return item;
1346    
1347                                }
1348                                break;
1349    
1350                        }
1351    
1352    
1353                        }
1354                        break;
1355                    case 2 :
1356                        // Creole10.g:201:4: bold_markup bc= text_boldcontent ( ( NEWLINE )? bold_markup )?
1357                        {
1358                        pushFollow(FOLLOW_bold_markup_in_text_formattedelement493);
1359                        bold_markup();
1360                        _fsp--;
1361                        if (failed) return item;
1362                        pushFollow(FOLLOW_text_boldcontent_in_text_formattedelement500);
1363                        bc=text_boldcontent();
1364                        _fsp--;
1365                        if (failed) return item;
1366                        if ( backtracking==0 ) {
1367                          item = new BoldTextNode(bc); 
1368                        }
1369                        // Creole10.g:201:79: ( ( NEWLINE )? bold_markup )?
1370                        int alt14=2;
1371                        int LA14_0 = input.LA(1);
1372    
1373                        if ( (LA14_0==NEWLINE) ) {
1374                            int LA14_1 = input.LA(2);
1375    
1376                            if ( (LA14_1==STAR) ) {
1377                                int LA14_4 = input.LA(3);
1378    
1379                                if ( (LA14_4==STAR) ) {
1380                                    alt14=1;
1381                                }
1382                            }
1383                        }
1384                        else if ( (LA14_0==STAR) ) {
1385                            int LA14_2 = input.LA(2);
1386    
1387                            if ( (LA14_2==STAR) ) {
1388                                alt14=1;
1389                            }
1390                        }
1391                        switch (alt14) {
1392                            case 1 :
1393                                // Creole10.g:201:81: ( NEWLINE )? bold_markup
1394                                {
1395                                // Creole10.g:201:81: ( NEWLINE )?
1396                                int alt13=2;
1397                                int LA13_0 = input.LA(1);
1398    
1399                                if ( (LA13_0==NEWLINE) ) {
1400                                    alt13=1;
1401                                }
1402                                switch (alt13) {
1403                                    case 1 :
1404                                        // Creole10.g:201:83: NEWLINE
1405                                        {
1406                                        match(input,NEWLINE,FOLLOW_NEWLINE_in_text_formattedelement509); if (failed) return item;
1407    
1408                                        }
1409                                        break;
1410    
1411                                }
1412    
1413                                pushFollow(FOLLOW_bold_markup_in_text_formattedelement515);
1414                                bold_markup();
1415                                _fsp--;
1416                                if (failed) return item;
1417    
1418                                }
1419                                break;
1420    
1421                        }
1422    
1423    
1424                        }
1425                        break;
1426    
1427                }
1428            }
1429            catch (RecognitionException re) {
1430                reportError(re);
1431                recover(input,re);
1432            }
1433            finally {
1434            }
1435            return item;
1436        }
1437        // $ANTLR end text_formattedelement
1438    
1439    
1440        // $ANTLR start text_boldcontent
1441        // Creole10.g:203:1: text_boldcontent returns [ CollectionNode text = new CollectionNode() ] : ( ( NEWLINE )? (p= text_boldcontentpart )* | EOF );
1442        public final CollectionNode text_boldcontent() throws RecognitionException {
1443            CollectionNode text =  new CollectionNode();
1444    
1445            FormattedTextNode p = null;
1446    
1447    
1448            try {
1449                // Creole10.g:204:2: ( ( NEWLINE )? (p= text_boldcontentpart )* | EOF )
1450                int alt18=2;
1451                int LA18_0 = input.LA(1);
1452    
1453                if ( ((LA18_0>=FORCED_END_OF_LINE && LA18_0<=81)) ) {
1454                    alt18=1;
1455                }
1456                else if ( (LA18_0==EOF) ) {
1457                    alt18=1;
1458                }
1459                else {
1460                    if (backtracking>0) {failed=true; return text;}
1461                    NoViableAltException nvae =
1462                        new NoViableAltException("203:1: text_boldcontent returns [ CollectionNode text = new CollectionNode() ] : ( ( NEWLINE )? (p= text_boldcontentpart )* | EOF );", 18, 0, input);
1463    
1464                    throw nvae;
1465                }
1466                switch (alt18) {
1467                    case 1 :
1468                        // Creole10.g:204:4: ( NEWLINE )? (p= text_boldcontentpart )*
1469                        {
1470                        // Creole10.g:204:4: ( NEWLINE )?
1471                        int alt16=2;
1472                        int LA16_0 = input.LA(1);
1473    
1474                        if ( (LA16_0==NEWLINE) ) {
1475                            alt16=1;
1476                        }
1477                        switch (alt16) {
1478                            case 1 :
1479                                // Creole10.g:204:6: NEWLINE
1480                                {
1481                                match(input,NEWLINE,FOLLOW_NEWLINE_in_text_boldcontent534); if (failed) return text;
1482    
1483                                }
1484                                break;
1485    
1486                        }
1487    
1488                        // Creole10.g:204:18: (p= text_boldcontentpart )*
1489                        loop17:
1490                        do {
1491                            int alt17=2;
1492                            switch ( input.LA(1) ) {
1493                            case STAR:
1494                                {
1495                                int LA17_2 = input.LA(2);
1496    
1497                                if ( ( input.LA(2) != STAR ) ) {
1498                                    alt17=1;
1499                                }
1500    
1501    
1502                                }
1503                                break;
1504                            case FORCED_END_OF_LINE:
1505                            case HEADING_SECTION:
1506                            case HORIZONTAL_SECTION:
1507                            case LIST_ITEM:
1508                            case LIST_ITEM_PART:
1509                            case NOWIKI_SECTION:
1510                            case SCAPE_NODE:
1511                            case TEXT_NODE:
1512                            case UNORDERED_LIST:
1513                            case UNFORMATTED_TEXT:
1514                            case WIKI:
1515                            case POUND:
1516                            case EQUAL:
1517                            case PIPE:
1518                            case NOWIKI_BLOCK_CLOSE:
1519                            case NOWIKI_CLOSE:
1520                            case LINK_CLOSE:
1521                            case IMAGE_CLOSE:
1522                            case BLANKS:
1523                            case TABLE_OF_CONTENTS_OPEN:
1524                            case TABLE_OF_CONTENTS_CLOSE:
1525                            case DASH:
1526                            case CR:
1527                            case LF:
1528                            case SPACE:
1529                            case TABULATOR:
1530                            case BRACE_CLOSE:
1531                            case COLON_SLASH:
1532                            case SLASH:
1533                            case INSIGNIFICANT_CHAR:
1534                            case 43:
1535                            case 44:
1536                            case 45:
1537                            case 46:
1538                            case 47:
1539                            case 48:
1540                            case 49:
1541                            case 50:
1542                            case 51:
1543                            case 52:
1544                            case 53:
1545                            case 54:
1546                            case 55:
1547                            case 56:
1548                            case 57:
1549                            case 58:
1550                            case 59:
1551                            case 60:
1552                            case 61:
1553                            case 62:
1554                            case 63:
1555                            case 64:
1556                            case 65:
1557                            case 66:
1558                            case 67:
1559                            case 68:
1560                            case 69:
1561                            case 70:
1562                            case 71:
1563                            case 72:
1564                            case 73:
1565                            case 74:
1566                            case 75:
1567                            case 76:
1568                            case 77:
1569                            case 78:
1570                            case 79:
1571                            case 80:
1572                            case 81:
1573                                {
1574                                alt17=1;
1575                                }
1576                                break;
1577                            case FORCED_LINEBREAK:
1578                                {
1579                                alt17=1;
1580                                }
1581                                break;
1582                            case ESCAPE:
1583                                {
1584                                alt17=1;
1585                                }
1586                                break;
1587                            case LINK_OPEN:
1588                                {
1589                                alt17=1;
1590                                }
1591                                break;
1592                            case IMAGE_OPEN:
1593                                {
1594                                alt17=1;
1595                                }
1596                                break;
1597                            case EXTENSION:
1598                                {
1599                                alt17=1;
1600                                }
1601                                break;
1602                            case NOWIKI_OPEN:
1603                                {
1604                                alt17=1;
1605                                }
1606                                break;
1607                            case ITAL:
1608                                {
1609                                alt17=1;
1610                                }
1611                                break;
1612    
1613                            }
1614    
1615                            switch (alt17) {
1616                            case 1 :
1617                                // Creole10.g:204:20: p= text_boldcontentpart
1618                                {
1619                                pushFollow(FOLLOW_text_boldcontentpart_in_text_boldcontent546);
1620                                p=text_boldcontentpart();
1621                                _fsp--;
1622                                if (failed) return text;
1623                                if ( backtracking==0 ) {
1624                                   text.add(p); 
1625                                }
1626    
1627                                }
1628                                break;
1629    
1630                            default :
1631                                break loop17;
1632                            }
1633                        } while (true);
1634    
1635    
1636                        }
1637                        break;
1638                    case 2 :
1639                        // Creole10.g:205:4: EOF
1640                        {
1641                        match(input,EOF,FOLLOW_EOF_in_text_boldcontent557); if (failed) return text;
1642    
1643                        }
1644                        break;
1645    
1646                }
1647            }
1648            catch (RecognitionException re) {
1649                reportError(re);
1650                recover(input,re);
1651            }
1652            finally {
1653            }
1654            return text;
1655        }
1656        // $ANTLR end text_boldcontent
1657    
1658    
1659        // $ANTLR start text_italcontent
1660        // Creole10.g:207:1: text_italcontent returns [ CollectionNode text = new CollectionNode() ] : ( ( NEWLINE )? (p= text_italcontentpart )* | EOF );
1661        public final CollectionNode text_italcontent() throws RecognitionException {
1662            CollectionNode text =  new CollectionNode();
1663    
1664            FormattedTextNode p = null;
1665    
1666    
1667            try {
1668                // Creole10.g:208:2: ( ( NEWLINE )? (p= text_italcontentpart )* | EOF )
1669                int alt21=2;
1670                int LA21_0 = input.LA(1);
1671    
1672                if ( ((LA21_0>=FORCED_END_OF_LINE && LA21_0<=81)) ) {
1673                    alt21=1;
1674                }
1675                else if ( (LA21_0==EOF) ) {
1676                    alt21=1;
1677                }
1678                else {
1679                    if (backtracking>0) {failed=true; return text;}
1680                    NoViableAltException nvae =
1681                        new NoViableAltException("207:1: text_italcontent returns [ CollectionNode text = new CollectionNode() ] : ( ( NEWLINE )? (p= text_italcontentpart )* | EOF );", 21, 0, input);
1682    
1683                    throw nvae;
1684                }
1685                switch (alt21) {
1686                    case 1 :
1687                        // Creole10.g:208:4: ( NEWLINE )? (p= text_italcontentpart )*
1688                        {
1689                        // Creole10.g:208:4: ( NEWLINE )?
1690                        int alt19=2;
1691                        int LA19_0 = input.LA(1);
1692    
1693                        if ( (LA19_0==NEWLINE) ) {
1694                            alt19=1;
1695                        }
1696                        switch (alt19) {
1697                            case 1 :
1698                                // Creole10.g:208:6: NEWLINE
1699                                {
1700                                match(input,NEWLINE,FOLLOW_NEWLINE_in_text_italcontent573); if (failed) return text;
1701    
1702                                }
1703                                break;
1704    
1705                        }
1706    
1707                        // Creole10.g:208:18: (p= text_italcontentpart )*
1708                        loop20:
1709                        do {
1710                            int alt20=2;
1711                            switch ( input.LA(1) ) {
1712                            case STAR:
1713                                {
1714                                alt20=1;
1715                                }
1716                                break;
1717                            case FORCED_END_OF_LINE:
1718                            case HEADING_SECTION:
1719                            case HORIZONTAL_SECTION:
1720                            case LIST_ITEM:
1721                            case LIST_ITEM_PART:
1722                            case NOWIKI_SECTION:
1723                            case SCAPE_NODE:
1724                            case TEXT_NODE:
1725                            case UNORDERED_LIST:
1726                            case UNFORMATTED_TEXT:
1727                            case WIKI:
1728                            case POUND:
1729                            case EQUAL:
1730                            case PIPE:
1731                            case NOWIKI_BLOCK_CLOSE:
1732                            case NOWIKI_CLOSE:
1733                            case LINK_CLOSE:
1734                            case IMAGE_CLOSE:
1735                            case BLANKS:
1736                            case TABLE_OF_CONTENTS_OPEN:
1737                            case TABLE_OF_CONTENTS_CLOSE:
1738                            case DASH:
1739                            case CR:
1740                            case LF:
1741                            case SPACE:
1742                            case TABULATOR:
1743                            case BRACE_CLOSE:
1744                            case COLON_SLASH:
1745                            case SLASH:
1746                            case INSIGNIFICANT_CHAR:
1747                            case 43:
1748                            case 44:
1749                            case 45:
1750                            case 46:
1751                            case 47:
1752                            case 48:
1753                            case 49:
1754                            case 50:
1755                            case 51:
1756                            case 52:
1757                            case 53:
1758                            case 54:
1759                            case 55:
1760                            case 56:
1761                            case 57:
1762                            case 58:
1763                            case 59:
1764                            case 60:
1765                            case 61:
1766                            case 62:
1767                            case 63:
1768                            case 64:
1769                            case 65:
1770                            case 66:
1771                            case 67:
1772                            case 68:
1773                            case 69:
1774                            case 70:
1775                            case 71:
1776                            case 72:
1777                            case 73:
1778                            case 74:
1779                            case 75:
1780                            case 76:
1781                            case 77:
1782                            case 78:
1783                            case 79:
1784                            case 80:
1785                            case 81:
1786                                {
1787                                alt20=1;
1788                                }
1789                                break;
1790                            case FORCED_LINEBREAK:
1791                                {
1792                                alt20=1;
1793                                }
1794                                break;
1795                            case ESCAPE:
1796                                {
1797                                alt20=1;
1798                                }
1799                                break;
1800                            case LINK_OPEN:
1801                                {
1802                                alt20=1;
1803                                }
1804                                break;
1805                            case IMAGE_OPEN:
1806                                {
1807                                alt20=1;
1808                                }
1809                                break;
1810                            case EXTENSION:
1811                                {
1812                                alt20=1;
1813                                }
1814                                break;
1815                            case NOWIKI_OPEN:
1816                                {
1817                                alt20=1;
1818                                }
1819                                break;
1820    
1821                            }
1822    
1823                            switch (alt20) {
1824                            case 1 :
1825                                // Creole10.g:208:20: p= text_italcontentpart
1826                                {
1827                                pushFollow(FOLLOW_text_italcontentpart_in_text_italcontent585);
1828                                p=text_italcontentpart();
1829                                _fsp--;
1830                                if (failed) return text;
1831                                if ( backtracking==0 ) {
1832                                   text.add(p); 
1833                                }
1834    
1835                                }
1836                                break;
1837    
1838                            default :
1839                                break loop20;
1840                            }
1841                        } while (true);
1842    
1843    
1844                        }
1845                        break;
1846                    case 2 :
1847                        // Creole10.g:209:4: EOF
1848                        {
1849                        match(input,EOF,FOLLOW_EOF_in_text_italcontent596); if (failed) return text;
1850    
1851                        }
1852                        break;
1853    
1854                }
1855            }
1856            catch (RecognitionException re) {
1857                reportError(re);
1858                recover(input,re);
1859            }
1860            finally {
1861            }
1862            return text;
1863        }
1864        // $ANTLR end text_italcontent
1865    
1866    
1867        // $ANTLR start text_element
1868        // Creole10.g:211:1: text_element returns [ASTNode item = null] : ( onestar tu1= text_unformattedelement | tu2= text_unformattedelement onestar | tf= text_formattedelement );
1869        public final ASTNode text_element() throws RecognitionException {
1870            ASTNode item =  null;
1871    
1872            ASTNode tu1 = null;
1873    
1874            ASTNode tu2 = null;
1875    
1876            FormattedTextNode tf = null;
1877    
1878    
1879            try {
1880                // Creole10.g:212:2: ( onestar tu1= text_unformattedelement | tu2= text_unformattedelement onestar | tf= text_formattedelement )
1881                int alt22=3;
1882                switch ( input.LA(1) ) {
1883                case STAR:
1884                    {
1885                    int LA22_1 = input.LA(2);
1886    
1887                    if ( ( input.LA(2) != STAR ) ) {
1888                        alt22=1;
1889                    }
1890                    else if ( (true) ) {
1891                        alt22=3;
1892                    }
1893                    else {
1894                        if (backtracking>0) {failed=true; return item;}
1895                        NoViableAltException nvae =
1896                            new NoViableAltException("211:1: text_element returns [ASTNode item = null] : ( onestar tu1= text_unformattedelement | tu2= text_unformattedelement onestar | tf= text_formattedelement );", 22, 1, input);
1897    
1898                        throw nvae;
1899                    }
1900                    }
1901                    break;
1902                case FORCED_END_OF_LINE:
1903                case HEADING_SECTION:
1904                case HORIZONTAL_SECTION:
1905                case LIST_ITEM:
1906                case LIST_ITEM_PART:
1907                case NOWIKI_SECTION:
1908                case SCAPE_NODE:
1909                case TEXT_NODE:
1910                case UNORDERED_LIST:
1911                case UNFORMATTED_TEXT:
1912                case WIKI:
1913                case POUND:
1914                case EQUAL:
1915                case PIPE:
1916                case NOWIKI_BLOCK_CLOSE:
1917                case NOWIKI_CLOSE:
1918                case LINK_CLOSE:
1919                case IMAGE_CLOSE:
1920                case BLANKS:
1921                case TABLE_OF_CONTENTS_OPEN:
1922                case TABLE_OF_CONTENTS_CLOSE:
1923                case DASH:
1924                case CR:
1925                case LF:
1926                case SPACE:
1927                case TABULATOR:
1928                case BRACE_CLOSE:
1929                case COLON_SLASH:
1930                case SLASH:
1931                case INSIGNIFICANT_CHAR:
1932                case 43:
1933                case 44:
1934                case 45:
1935                case 46:
1936                case 47:
1937                case 48:
1938                case 49:
1939                case 50:
1940                case 51:
1941                case 52:
1942                case 53:
1943                case 54:
1944                case 55:
1945                case 56:
1946                case 57:
1947                case 58:
1948                case 59:
1949                case 60:
1950                case 61:
1951                case 62:
1952                case 63:
1953                case 64:
1954                case 65:
1955                case 66:
1956                case 67:
1957                case 68:
1958                case 69:
1959                case 70:
1960                case 71:
1961                case 72:
1962                case 73:
1963                case 74:
1964                case 75:
1965                case 76:
1966                case 77:
1967                case 78:
1968                case 79:
1969                case 80:
1970                case 81:
1971                    {
1972                    alt22=1;
1973                    }
1974                    break;
1975                case FORCED_LINEBREAK:
1976                    {
1977                    alt22=1;
1978                    }
1979                    break;
1980                case ESCAPE:
1981                    {
1982                    alt22=1;
1983                    }
1984                    break;
1985                case LINK_OPEN:
1986                    {
1987                    alt22=1;
1988                    }
1989                    break;
1990                case IMAGE_OPEN:
1991                    {
1992                    alt22=1;
1993                    }
1994                    break;
1995                case EXTENSION:
1996                    {
1997                    alt22=1;
1998                    }
1999                    break;
2000                case NOWIKI_OPEN:
2001                    {
2002                    alt22=1;
2003                    }
2004                    break;
2005                case ITAL:
2006                    {
2007                    alt22=3;
2008                    }
2009                    break;
2010                default:
2011                    if (backtracking>0) {failed=true; return item;}
2012                    NoViableAltException nvae =
2013                        new NoViableAltException("211:1: text_element returns [ASTNode item = null] : ( onestar tu1= text_unformattedelement | tu2= text_unformattedelement onestar | tf= text_formattedelement );", 22, 0, input);
2014    
2015                    throw nvae;
2016                }
2017    
2018                switch (alt22) {
2019                    case 1 :
2020                        // Creole10.g:212:4: onestar tu1= text_unformattedelement
2021                        {
2022                        pushFollow(FOLLOW_onestar_in_text_element610);
2023                        onestar();
2024                        _fsp--;
2025                        if (failed) return item;
2026                        pushFollow(FOLLOW_text_unformattedelement_in_text_element617);
2027                        tu1=text_unformattedelement();
2028                        _fsp--;
2029                        if (failed) return item;
2030                        if ( backtracking==0 ) {
2031                           item = tu1; 
2032                        }
2033    
2034                        }
2035                        break;
2036                    case 2 :
2037                        // Creole10.g:213:4: tu2= text_unformattedelement onestar
2038                        {
2039                        pushFollow(FOLLOW_text_unformattedelement_in_text_element628);
2040                        tu2=text_unformattedelement();
2041                        _fsp--;
2042                        if (failed) return item;
2043                        pushFollow(FOLLOW_onestar_in_text_element631);
2044                        onestar();
2045                        _fsp--;
2046                        if (failed) return item;
2047                        if ( backtracking==0 ) {
2048                           item = tu2; 
2049                        }
2050    
2051                        }
2052                        break;
2053                    case 3 :
2054                        // Creole10.g:214:4: tf= text_formattedelement
2055                        {
2056                        pushFollow(FOLLOW_text_formattedelement_in_text_element642);
2057                        tf=text_formattedelement();
2058                        _fsp--;
2059                        if (failed) return item;
2060                        if ( backtracking==0 ) {
2061                           item = tf; 
2062                        }
2063    
2064                        }
2065                        break;
2066    
2067                }
2068            }
2069            catch (RecognitionException re) {
2070                reportError(re);
2071                recover(input,re);
2072            }
2073            finally {
2074            }
2075            return item;
2076        }
2077        // $ANTLR end text_element
2078    
2079    
2080        // $ANTLR start text_boldcontentpart
2081        // Creole10.g:217:1: text_boldcontentpart returns [FormattedTextNode node = null] : ( ital_markup t= text_bolditalcontent ( ital_markup )? | tf= text_formattedcontent );
2082        public final FormattedTextNode text_boldcontentpart() throws RecognitionException {
2083            FormattedTextNode node =  null;
2084    
2085            ASTNode t = null;
2086    
2087            CollectionNode tf = null;
2088    
2089    
2090            try {
2091                // Creole10.g:218:2: ( ital_markup t= text_bolditalcontent ( ital_markup )? | tf= text_formattedcontent )
2092                int alt24=2;
2093                int LA24_0 = input.LA(1);
2094    
2095                if ( (LA24_0==ITAL) ) {
2096                    alt24=1;
2097                }
2098                else if ( ((LA24_0>=FORCED_END_OF_LINE && LA24_0<=WIKI)||(LA24_0>=POUND && LA24_0<=PIPE)||(LA24_0>=LINK_OPEN && LA24_0<=81)) ) {
2099                    alt24=2;
2100                }
2101                else {
2102                    if (backtracking>0) {failed=true; return node;}
2103                    NoViableAltException nvae =
2104                        new NoViableAltException("217:1: text_boldcontentpart returns [FormattedTextNode node = null] : ( ital_markup t= text_bolditalcontent ( ital_markup )? | tf= text_formattedcontent );", 24, 0, input);
2105    
2106                    throw nvae;
2107                }
2108                switch (alt24) {
2109                    case 1 :
2110                        // Creole10.g:218:4: ital_markup t= text_bolditalcontent ( ital_markup )?
2111                        {
2112                        pushFollow(FOLLOW_ital_markup_in_text_boldcontentpart659);
2113                        ital_markup();
2114                        _fsp--;
2115                        if (failed) return node;
2116                        pushFollow(FOLLOW_text_bolditalcontent_in_text_boldcontentpart666);
2117                        t=text_bolditalcontent();
2118                        _fsp--;
2119                        if (failed) return node;
2120                        if ( backtracking==0 ) {
2121                          node = new ItalicTextNode(t); 
2122                        }
2123                        // Creole10.g:218:84: ( ital_markup )?
2124                        int alt23=2;
2125                        int LA23_0 = input.LA(1);
2126    
2127                        if ( (LA23_0==ITAL) ) {
2128                            alt23=1;
2129                        }
2130                        switch (alt23) {
2131                            case 1 :
2132                                // Creole10.g:218:86: ital_markup
2133                                {
2134                                pushFollow(FOLLOW_ital_markup_in_text_boldcontentpart673);
2135                                ital_markup();
2136                                _fsp--;
2137                                if (failed) return node;
2138    
2139                                }
2140                                break;
2141    
2142                        }
2143    
2144    
2145                        }
2146                        break;
2147                    case 2 :
2148                        // Creole10.g:219:4: tf= text_formattedcontent
2149                        {
2150                        pushFollow(FOLLOW_text_formattedcontent_in_text_boldcontentpart685);
2151                        tf=text_formattedcontent();
2152                        _fsp--;
2153                        if (failed) return node;
2154                        if ( backtracking==0 ) {
2155                          node = new FormattedTextNode(tf); 
2156                        }
2157    
2158                        }
2159                        break;
2160    
2161                }
2162            }
2163            catch (RecognitionException re) {
2164                reportError(re);
2165                recover(input,re);
2166            }
2167            finally {
2168            }
2169            return node;
2170        }
2171        // $ANTLR end text_boldcontentpart
2172    
2173    
2174        // $ANTLR start text_italcontentpart
2175        // Creole10.g:221:1: text_italcontentpart returns [FormattedTextNode node = null] : ( bold_markup t= text_bolditalcontent ( bold_markup )? | tf= text_formattedcontent );
2176        public final FormattedTextNode text_italcontentpart() throws RecognitionException {
2177            FormattedTextNode node =  null;
2178    
2179            ASTNode t = null;
2180    
2181            CollectionNode tf = null;
2182    
2183    
2184            try {
2185                // Creole10.g:222:2: ( bold_markup t= text_bolditalcontent ( bold_markup )? | tf= text_formattedcontent )
2186                int alt26=2;
2187                int LA26_0 = input.LA(1);
2188    
2189                if ( (LA26_0==STAR) ) {
2190                    int LA26_1 = input.LA(2);
2191    
2192                    if ( (LA26_1==STAR) ) {
2193                        alt26=1;
2194                    }
2195                    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<=81)) ) {
2196                        alt26=2;
2197                    }
2198                    else {
2199                        if (backtracking>0) {failed=true; return node;}
2200                        NoViableAltException nvae =
2201                            new NoViableAltException("221:1: text_italcontentpart returns [FormattedTextNode node = null] : ( bold_markup t= text_bolditalcontent ( bold_markup )? | tf= text_formattedcontent );", 26, 1, input);
2202    
2203                        throw nvae;
2204                    }
2205                }
2206                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<=81)) ) {
2207                    alt26=2;
2208                }
2209                else {
2210                    if (backtracking>0) {failed=true; return node;}
2211                    NoViableAltException nvae =
2212                        new NoViableAltException("221:1: text_italcontentpart returns [FormattedTextNode node = null] : ( bold_markup t= text_bolditalcontent ( bold_markup )? | tf= text_formattedcontent );", 26, 0, input);
2213    
2214                    throw nvae;
2215                }
2216                switch (alt26) {
2217                    case 1 :
2218                        // Creole10.g:222:4: bold_markup t= text_bolditalcontent ( bold_markup )?
2219                        {
2220                        pushFollow(FOLLOW_bold_markup_in_text_italcontentpart701);
2221                        bold_markup();
2222                        _fsp--;
2223                        if (failed) return node;
2224                        pushFollow(FOLLOW_text_bolditalcontent_in_text_italcontentpart708);
2225                        t=text_bolditalcontent();
2226                        _fsp--;
2227                        if (failed) return node;
2228                        if ( backtracking==0 ) {
2229                           node = new BoldTextNode(t); 
2230                        }
2231                        // Creole10.g:222:82: ( bold_markup )?
2232                        int alt25=2;
2233                        int LA25_0 = input.LA(1);
2234    
2235                        if ( (LA25_0==STAR) ) {
2236                            int LA25_1 = input.LA(2);
2237    
2238                            if ( (LA25_1==STAR) ) {
2239                                alt25=1;
2240                            }
2241                        }
2242                        switch (alt25) {
2243                            case 1 :
2244                                // Creole10.g:222:84: bold_markup
2245                                {
2246                                pushFollow(FOLLOW_bold_markup_in_text_italcontentpart714);
2247                                bold_markup();
2248                                _fsp--;
2249                                if (failed) return node;
2250    
2251                                }
2252                                break;
2253    
2254                        }
2255    
2256    
2257                        }
2258                        break;
2259                    case 2 :
2260                        // Creole10.g:223:4: tf= text_formattedcontent
2261                        {
2262                        pushFollow(FOLLOW_text_formattedcontent_in_text_italcontentpart725);
2263                        tf=text_formattedcontent();
2264                        _fsp--;
2265                        if (failed) return node;
2266                        if ( backtracking==0 ) {
2267                          node = new FormattedTextNode(tf); 
2268                        }
2269    
2270                        }
2271                        break;
2272    
2273                }
2274            }
2275            catch (RecognitionException re) {
2276                reportError(re);
2277                recover(input,re);
2278            }
2279            finally {
2280            }
2281            return node;
2282        }
2283        // $ANTLR end text_italcontentpart
2284    
2285    
2286        // $ANTLR start text_bolditalcontent
2287        // Creole10.g:225:1: text_bolditalcontent returns [ASTNode items = null] : ( ( NEWLINE )? (tf= text_formattedcontent )? | EOF );
2288        public final ASTNode text_bolditalcontent() throws RecognitionException {
2289            ASTNode items =  null;
2290    
2291            CollectionNode tf = null;
2292    
2293    
2294            try {
2295                // Creole10.g:226:2: ( ( NEWLINE )? (tf= text_formattedcontent )? | EOF )
2296                int alt29=2;
2297                int LA29_0 = input.LA(1);
2298    
2299                if ( ((LA29_0>=FORCED_END_OF_LINE && LA29_0<=81)) ) {
2300                    alt29=1;
2301                }
2302                else if ( (LA29_0==EOF) ) {
2303                    alt29=1;
2304                }
2305                else {
2306                    if (backtracking>0) {failed=true; return items;}
2307                    NoViableAltException nvae =
2308                        new NoViableAltException("225:1: text_bolditalcontent returns [ASTNode items = null] : ( ( NEWLINE )? (tf= text_formattedcontent )? | EOF );", 29, 0, input);
2309    
2310                    throw nvae;
2311                }
2312                switch (alt29) {
2313                    case 1 :
2314                        // Creole10.g:226:4: ( NEWLINE )? (tf= text_formattedcontent )?
2315                        {
2316                        // Creole10.g:226:4: ( NEWLINE )?
2317                        int alt27=2;
2318                        int LA27_0 = input.LA(1);
2319    
2320                        if ( (LA27_0==NEWLINE) ) {
2321                            alt27=1;
2322                        }
2323                        switch (alt27) {
2324                            case 1 :
2325                                // Creole10.g:226:6: NEWLINE
2326                                {
2327                                match(input,NEWLINE,FOLLOW_NEWLINE_in_text_bolditalcontent743); if (failed) return items;
2328    
2329                                }
2330                                break;
2331    
2332                        }
2333    
2334                        // Creole10.g:226:18: (tf= text_formattedcontent )?
2335                        int alt28=2;
2336                        switch ( input.LA(1) ) {
2337                            case STAR:
2338                                {
2339                                int LA28_1 = input.LA(2);
2340    
2341                                if ( ( input.LA(2) != STAR ) ) {
2342                                    alt28=1;
2343                                }
2344                                }
2345                                break;
2346                            case FORCED_END_OF_LINE:
2347                            case HEADING_SECTION:
2348                            case HORIZONTAL_SECTION:
2349                            case LIST_ITEM:
2350                            case LIST_ITEM_PART:
2351                            case NOWIKI_SECTION:
2352                            case SCAPE_NODE:
2353                            case TEXT_NODE:
2354                            case UNORDERED_LIST:
2355                            case UNFORMATTED_TEXT:
2356                            case WIKI:
2357                            case POUND:
2358                            case EQUAL:
2359                            case PIPE:
2360                            case NOWIKI_BLOCK_CLOSE:
2361                            case NOWIKI_CLOSE:
2362                            case LINK_CLOSE:
2363                            case IMAGE_CLOSE:
2364                            case BLANKS:
2365                            case TABLE_OF_CONTENTS_OPEN:
2366                            case TABLE_OF_CONTENTS_CLOSE:
2367                            case DASH:
2368                            case CR:
2369                            case LF:
2370                            case SPACE:
2371                            case TABULATOR:
2372                            case BRACE_CLOSE:
2373                            case COLON_SLASH:
2374                            case SLASH:
2375                            case INSIGNIFICANT_CHAR:
2376                            case 43:
2377                            case 44:
2378                            case 45:
2379                            case 46:
2380                            case 47:
2381                            case 48:
2382                            case 49:
2383                            case 50:
2384                            case 51:
2385                            case 52:
2386                            case 53:
2387                            case 54:
2388                            case 55:
2389                            case 56:
2390                            case 57:
2391                            case 58:
2392                            case 59:
2393                            case 60:
2394                            case 61:
2395                            case 62:
2396                            case 63:
2397                            case 64:
2398                            case 65:
2399                            case 66:
2400                            case 67:
2401                            case 68:
2402                            case 69:
2403                            case 70:
2404                            case 71:
2405                            case 72:
2406                            case 73:
2407                            case 74:
2408                            case 75:
2409                            case 76:
2410                            case 77:
2411                            case 78:
2412                            case 79:
2413                            case 80:
2414                            case 81:
2415                                {
2416                                alt28=1;
2417                                }
2418                                break;
2419                            case FORCED_LINEBREAK:
2420                                {
2421                                alt28=1;
2422                                }
2423                                break;
2424                            case ESCAPE:
2425                                {
2426                                alt28=1;
2427                                }
2428                                break;
2429                            case LINK_OPEN:
2430                                {
2431                                alt28=1;
2432                                }
2433                                break;
2434                            case IMAGE_OPEN:
2435                                {
2436                                alt28=1;
2437                                }
2438                                break;
2439                            case EXTENSION:
2440                                {
2441                                alt28=1;
2442                                }
2443                                break;
2444                            case NOWIKI_OPEN:
2445                                {
2446                                alt28=1;
2447                                }
2448                                break;
2449                        }
2450    
2451                        switch (alt28) {
2452                            case 1 :
2453                                // Creole10.g:226:20: tf= text_formattedcontent
2454                                {
2455                                pushFollow(FOLLOW_text_formattedcontent_in_text_bolditalcontent754);
2456                                tf=text_formattedcontent();
2457                                _fsp--;
2458                                if (failed) return items;
2459                                if ( backtracking==0 ) {
2460                                  items = tf; 
2461                                }
2462    
2463                                }
2464                                break;
2465    
2466                        }
2467    
2468    
2469                        }
2470                        break;
2471                    case 2 :
2472                        // Creole10.g:227:4: EOF
2473                        {
2474                        match(input,EOF,FOLLOW_EOF_in_text_bolditalcontent764); if (failed) return items;
2475    
2476                        }
2477                        break;
2478    
2479                }
2480            }
2481            catch (RecognitionException re) {
2482                reportError(re);
2483                recover(input,re);
2484            }
2485            finally {
2486            }
2487            return items;
2488        }
2489        // $ANTLR end text_bolditalcontent
2490    
2491    
2492        // $ANTLR start text_formattedcontent
2493        // Creole10.g:229:1: text_formattedcontent returns [CollectionNode items = new CollectionNode ()] : onestar (t= text_unformattedelement onestar ( text_linebreak )? )+ ;
2494        public final CollectionNode text_formattedcontent() throws RecognitionException {
2495            CollectionNode items =  new CollectionNode ();
2496    
2497            ASTNode t = null;
2498    
2499    
2500            try {
2501                // Creole10.g:230:2: ( onestar (t= text_unformattedelement onestar ( text_linebreak )? )+ )
2502                // Creole10.g:230:4: onestar (t= text_unformattedelement onestar ( text_linebreak )? )+
2503                {
2504                pushFollow(FOLLOW_onestar_in_text_formattedcontent778);
2505                onestar();
2506                _fsp--;
2507                if (failed) return items;
2508                // Creole10.g:230:13: (t= text_unformattedelement onestar ( text_linebreak )? )+
2509                int cnt31=0;
2510                loop31:
2511                do {
2512                    int alt31=2;
2513                    switch ( input.LA(1) ) {
2514                    case FORCED_END_OF_LINE:
2515                    case HEADING_SECTION:
2516                    case HORIZONTAL_SECTION:
2517                    case LIST_ITEM:
2518                    case LIST_ITEM_PART:
2519                    case NOWIKI_SECTION:
2520                    case SCAPE_NODE:
2521                    case TEXT_NODE:
2522                    case UNORDERED_LIST:
2523                    case UNFORMATTED_TEXT:
2524                    case WIKI:
2525                    case POUND:
2526                    case EQUAL:
2527                    case PIPE:
2528                    case NOWIKI_BLOCK_CLOSE:
2529                    case NOWIKI_CLOSE:
2530                    case LINK_CLOSE:
2531                    case IMAGE_CLOSE:
2532                    case BLANKS:
2533                    case TABLE_OF_CONTENTS_OPEN:
2534                    case TABLE_OF_CONTENTS_CLOSE:
2535                    case DASH:
2536                    case CR:
2537                    case LF:
2538                    case SPACE:
2539                    case TABULATOR:
2540                    case BRACE_CLOSE:
2541                    case COLON_SLASH:
2542                    case SLASH:
2543                    case INSIGNIFICANT_CHAR:
2544                    case 43:
2545                    case 44:
2546                    case 45:
2547                    case 46:
2548                    case 47:
2549                    case 48:
2550                    case 49:
2551                    case 50:
2552                    case 51:
2553                    case 52:
2554                    case 53:
2555                    case 54:
2556                    case 55:
2557                    case 56:
2558                    case 57:
2559                    case 58:
2560                    case 59:
2561                    case 60:
2562                    case 61:
2563                    case 62:
2564                    case 63:
2565                    case 64:
2566                    case 65:
2567                    case 66:
2568                    case 67:
2569                    case 68:
2570                    case 69:
2571                    case 70:
2572                    case 71:
2573                    case 72:
2574                    case 73:
2575                    case 74:
2576                    case 75:
2577                    case 76:
2578                    case 77:
2579                    case 78:
2580                    case 79:
2581                    case 80:
2582                    case 81:
2583                        {
2584                        alt31=1;
2585                        }
2586                        break;
2587                    case FORCED_LINEBREAK:
2588                        {
2589                        alt31=1;
2590                        }
2591                        break;
2592                    case ESCAPE:
2593                        {
2594                        alt31=1;
2595                        }
2596                        break;
2597                    case LINK_OPEN:
2598                        {
2599                        alt31=1;
2600                        }
2601                        break;
2602                    case IMAGE_OPEN:
2603                        {
2604                        alt31=1;
2605                        }
2606                        break;
2607                    case EXTENSION:
2608                        {
2609                        alt31=1;
2610                        }
2611                        break;
2612                    case NOWIKI_OPEN:
2613                        {
2614                        alt31=1;
2615                        }
2616                        break;
2617    
2618                    }
2619    
2620                    switch (alt31) {
2621                    case 1 :
2622                        // Creole10.g:230:15: t= text_unformattedelement onestar ( text_linebreak )?
2623                        {
2624                        pushFollow(FOLLOW_text_unformattedelement_in_text_formattedcontent787);
2625                        t=text_unformattedelement();
2626                        _fsp--;
2627                        if (failed) return items;
2628                        if ( backtracking==0 ) {
2629                          items.add(t); 
2630                        }
2631                        pushFollow(FOLLOW_onestar_in_text_formattedcontent792);
2632                        onestar();
2633                        _fsp--;
2634                        if (failed) return items;
2635                        // Creole10.g:230:81: ( text_linebreak )?
2636                        int alt30=2;
2637                        int LA30_0 = input.LA(1);
2638    
2639                        if ( (LA30_0==NEWLINE) ) {
2640                            int LA30_1 = input.LA(2);
2641    
2642                            if ( ( input.LA(2) != DASH && input.LA(2) != POUND &&
2643                                            input.LA(2) != EQUAL && input.LA(2) != NEWLINE ) ) {
2644                                alt30=1;
2645                            }
2646                        }
2647                        else if ( (LA30_0==EOF) ) {
2648                            int LA30_2 = input.LA(2);
2649    
2650                            if ( ( input.LA(2) != DASH && input.LA(2) != POUND &&
2651                                            input.LA(2) != EQUAL && input.LA(2) != NEWLINE ) ) {
2652                                alt30=1;
2653                            }
2654                        }
2655                        switch (alt30) {
2656                            case 1 :
2657                                // Creole10.g:230:83: text_linebreak
2658                                {
2659                                pushFollow(FOLLOW_text_linebreak_in_text_formattedcontent797);
2660                                text_linebreak();
2661                                _fsp--;
2662                                if (failed) return items;
2663    
2664                                }
2665                                break;
2666    
2667                        }
2668    
2669    
2670                        }
2671                        break;
2672    
2673                    default :
2674                        if ( cnt31 >= 1 ) break loop31;
2675                        if (backtracking>0) {failed=true; return items;}
2676                            EarlyExitException eee =
2677                                new EarlyExitException(31, input);
2678                            throw eee;
2679                    }
2680                    cnt31++;
2681                } while (true);
2682    
2683    
2684                }
2685    
2686            }
2687            catch (RecognitionException re) {
2688                reportError(re);
2689                recover(input,re);
2690            }
2691            finally {
2692            }
2693            return items;
2694        }
2695        // $ANTLR end text_formattedcontent
2696    
2697    
2698        // $ANTLR start text_linebreak
2699        // Creole10.g:232:1: text_linebreak : {...}? text_lineseparator ;
2700        public final void text_linebreak() throws RecognitionException {
2701            try {
2702                // Creole10.g:233:2: ({...}? text_lineseparator )
2703                // Creole10.g:233:4: {...}? text_lineseparator
2704                {
2705                if ( !( input.LA(2) != DASH && input.LA(2) != POUND &&
2706                            input.LA(2) != EQUAL && input.LA(2) != NEWLINE ) ) {
2707                    if (backtracking>0) {failed=true; return ;}
2708                    throw new FailedPredicateException(input, "text_linebreak", " input.LA(2) != DASH && input.LA(2) != POUND &&\n\t\tinput.LA(2) != EQUAL && input.LA(2) != NEWLINE ");
2709                }
2710                pushFollow(FOLLOW_text_lineseparator_in_text_linebreak817);
2711                text_lineseparator();
2712                _fsp--;
2713                if (failed) return ;
2714    
2715                }
2716    
2717            }
2718            catch (RecognitionException re) {
2719                reportError(re);
2720                recover(input,re);
2721            }
2722            finally {
2723            }
2724            return ;
2725        }
2726        // $ANTLR end text_linebreak
2727    
2728    
2729        // $ANTLR start text_inlineelement
2730        // Creole10.g:237:1: text_inlineelement returns [ASTNode element = null ] : (tf= text_first_inlineelement | nwi= nowiki_inline );
2731        public final ASTNode text_inlineelement() throws RecognitionException {
2732            ASTNode element =  null;
2733    
2734            ASTNode tf = null;
2735    
2736            NoWikiSectionNode nwi = null;
2737    
2738    
2739            try {
2740                // Creole10.g:238:2: (tf= text_first_inlineelement | nwi= nowiki_inline )
2741                int alt32=2;
2742                int LA32_0 = input.LA(1);
2743    
2744                if ( ((LA32_0>=LINK_OPEN && LA32_0<=IMAGE_OPEN)||LA32_0==EXTENSION) ) {
2745                    alt32=1;
2746                }
2747                else if ( (LA32_0==NOWIKI_OPEN) ) {
2748                    alt32=2;
2749                }
2750                else {
2751                    if (backtracking>0) {failed=true; return element;}
2752                    NoViableAltException nvae =
2753                        new NoViableAltException("237:1: text_inlineelement returns [ASTNode element = null ] : (tf= text_first_inlineelement | nwi= nowiki_inline );", 32, 0, input);
2754    
2755                    throw nvae;
2756                }
2757                switch (alt32) {
2758                    case 1 :
2759                        // Creole10.g:238:4: tf= text_first_inlineelement
2760                        {
2761                        pushFollow(FOLLOW_text_first_inlineelement_in_text_inlineelement835);
2762                        tf=text_first_inlineelement();
2763                        _fsp--;
2764                        if (failed) return element;
2765                        if ( backtracking==0 ) {
2766                          element = tf; 
2767                        }
2768    
2769                        }
2770                        break;
2771                    case 2 :
2772                        // Creole10.g:239:4: nwi= nowiki_inline
2773                        {
2774                        pushFollow(FOLLOW_nowiki_inline_in_text_inlineelement846);
2775                        nwi=nowiki_inline();
2776                        _fsp--;
2777                        if (failed) return element;
2778                        if ( backtracking==0 ) {
2779                          element = nwi; 
2780                        }
2781    
2782                        }
2783                        break;
2784    
2785                }
2786            }
2787            catch (RecognitionException re) {
2788                reportError(re);
2789                recover(input,re);
2790            }
2791            finally {
2792            }
2793            return element;
2794        }
2795        // $ANTLR end text_inlineelement
2796    
2797    
2798        // $ANTLR start text_first_inlineelement
2799        // Creole10.g:241:1: text_first_inlineelement returns [ASTNode element = null] : (l= link | i= image | e= extension );
2800        public final ASTNode text_first_inlineelement() throws RecognitionException {
2801            ASTNode element =  null;
2802    
2803            LinkNode l = null;
2804    
2805            ImageNode i = null;
2806    
2807            ASTNode e = null;
2808    
2809    
2810            try {
2811                // Creole10.g:242:2: (l= link | i= image | e= extension )
2812                int alt33=3;
2813                switch ( input.LA(1) ) {
2814                case LINK_OPEN:
2815                    {
2816                    alt33=1;
2817                    }
2818                    break;
2819                case IMAGE_OPEN:
2820                    {
2821                    alt33=2;
2822                    }
2823                    break;
2824                case EXTENSION:
2825                    {
2826                    alt33=3;
2827                    }
2828                    break;
2829                default:
2830                    if (backtracking>0) {failed=true; return element;}
2831                    NoViableAltException nvae =
2832                        new NoViableAltException("241:1: text_first_inlineelement returns [ASTNode element = null] : (l= link | i= image | e= extension );", 33, 0, input);
2833    
2834                    throw nvae;
2835                }
2836    
2837                switch (alt33) {
2838                    case 1 :
2839                        // Creole10.g:243:3: l= link
2840                        {
2841                        pushFollow(FOLLOW_link_in_text_first_inlineelement867);
2842                        l=link();
2843                        _fsp--;
2844                        if (failed) return element;
2845                        if ( backtracking==0 ) {
2846                          element = l;
2847                        }
2848    
2849                        }
2850                        break;
2851                    case 2 :
2852                        // Creole10.g:244:4: i= image
2853                        {
2854                        pushFollow(FOLLOW_image_in_text_first_inlineelement878);
2855                        i=image();
2856                        _fsp--;
2857                        if (failed) return element;
2858                        if ( backtracking==0 ) {
2859                          element = i;
2860                        }
2861    
2862                        }
2863                        break;
2864                    case 3 :
2865                        // Creole10.g:245:4: e= extension
2866                        {
2867                        pushFollow(FOLLOW_extension_in_text_first_inlineelement888);
2868                        e=extension();
2869                        _fsp--;
2870                        if (failed) return element;
2871                        if ( backtracking==0 ) {
2872                          element = e;
2873                        }
2874    
2875                        }
2876                        break;
2877    
2878                }
2879            }
2880            catch (RecognitionException re) {
2881                reportError(re);
2882                recover(input,re);
2883            }
2884            finally {
2885            }
2886            return element;
2887        }
2888        // $ANTLR end text_first_inlineelement
2889    
2890    
2891        // $ANTLR start text_first_unformattedelement
2892        // Creole10.g:247:1: text_first_unformattedelement returns [ASTNode item = null] : (tfu= text_first_unformatted | tfi= text_first_inlineelement );
2893        public final ASTNode text_first_unformattedelement() throws RecognitionException {
2894            ASTNode item =  null;
2895    
2896            CollectionNode tfu = null;
2897    
2898            ASTNode tfi = null;
2899    
2900    
2901            try {
2902                // Creole10.g:248:2: (tfu= text_first_unformatted | tfi= text_first_inlineelement )
2903                int alt34=2;
2904                int LA34_0 = input.LA(1);
2905    
2906                if ( ((LA34_0>=FORCED_END_OF_LINE && LA34_0<=WIKI)||(LA34_0>=FORCED_LINEBREAK && LA34_0<=81)) ) {
2907                    alt34=1;
2908                }
2909                else if ( ((LA34_0>=LINK_OPEN && LA34_0<=IMAGE_OPEN)||LA34_0==EXTENSION) ) {
2910                    alt34=2;
2911                }
2912                else {
2913                    if (backtracking>0) {failed=true; return item;}
2914                    NoViableAltException nvae =
2915                        new NoViableAltException("247:1: text_first_unformattedelement returns [ASTNode item = null] : (tfu= text_first_unformatted | tfi= text_first_inlineelement );", 34, 0, input);
2916    
2917                    throw nvae;
2918                }
2919                switch (alt34) {
2920                    case 1 :
2921                        // Creole10.g:248:4: tfu= text_first_unformatted
2922                        {
2923                        pushFollow(FOLLOW_text_first_unformatted_in_text_first_unformattedelement908);
2924                        tfu=text_first_unformatted();
2925                        _fsp--;
2926                        if (failed) return item;
2927                        if ( backtracking==0 ) {
2928                          item = new UnformattedTextNode(tfu);
2929                        }
2930    
2931                        }
2932                        break;
2933                    case 2 :
2934                        // Creole10.g:249:4: tfi= text_first_inlineelement
2935                        {
2936                        pushFollow(FOLLOW_text_first_inlineelement_in_text_first_unformattedelement919);
2937                        tfi=text_first_inlineelement();
2938                        _fsp--;
2939                        if (failed) return item;
2940                        if ( backtracking==0 ) {
2941                           item = tfi; 
2942                        }
2943    
2944                        }
2945                        break;
2946    
2947                }
2948            }
2949            catch (RecognitionException re) {
2950                reportError(re);
2951                recover(input,re);
2952            }
2953            finally {
2954            }
2955            return item;
2956        }
2957        // $ANTLR end text_first_unformattedelement
2958    
2959    
2960        // $ANTLR start text_first_unformatted
2961        // Creole10.g:251:1: text_first_unformatted returns [CollectionNode items = new CollectionNode()] : (t= text_first_unformmatted_text | ( forced_linebreak | e= escaped )+ );
2962        public final CollectionNode text_first_unformatted() throws RecognitionException {
2963            CollectionNode items =  new CollectionNode();
2964    
2965            StringBundler t = null;
2966    
2967            ScapedNode e = null;
2968    
2969    
2970            try {
2971                // Creole10.g:252:2: (t= text_first_unformmatted_text | ( forced_linebreak | e= escaped )+ )
2972                int alt36=2;
2973                int LA36_0 = input.LA(1);
2974    
2975                if ( ((LA36_0>=FORCED_END_OF_LINE && LA36_0<=WIKI)||(LA36_0>=NOWIKI_BLOCK_CLOSE && LA36_0<=81)) ) {
2976                    alt36=1;
2977                }
2978                else if ( ((LA36_0>=FORCED_LINEBREAK && LA36_0<=ESCAPE)) ) {
2979                    alt36=2;
2980                }
2981                else {
2982                    if (backtracking>0) {failed=true; return items;}
2983                    NoViableAltException nvae =
2984                        new NoViableAltException("251:1: text_first_unformatted returns [CollectionNode items = new CollectionNode()] : (t= text_first_unformmatted_text | ( forced_linebreak | e= escaped )+ );", 36, 0, input);
2985    
2986                    throw nvae;
2987                }
2988                switch (alt36) {
2989                    case 1 :
2990                        // Creole10.g:252:6: t= text_first_unformmatted_text
2991                        {
2992                        pushFollow(FOLLOW_text_first_unformmatted_text_in_text_first_unformatted941);
2993                        t=text_first_unformmatted_text();
2994                        _fsp--;
2995                        if (failed) return items;
2996                        if ( backtracking==0 ) {
2997                          items.add(new UnformattedTextNode(t.toString()));
2998                        }
2999    
3000                        }
3001                        break;
3002                    case 2 :
3003                        // Creole10.g:253:5: ( forced_linebreak | e= escaped )+
3004                        {
3005                        // Creole10.g:253:5: ( forced_linebreak | e= escaped )+
3006                        int cnt35=0;
3007                        loop35:
3008                        do {
3009                            int alt35=3;
3010                            int LA35_0 = input.LA(1);
3011    
3012                            if ( (LA35_0==FORCED_LINEBREAK) ) {
3013                                alt35=1;
3014                            }
3015                            else if ( (LA35_0==ESCAPE) ) {
3016                                int LA35_3 = input.LA(2);
3017    
3018                                if ( ((LA35_3>=FORCED_END_OF_LINE && LA35_3<=81)) ) {
3019                                    alt35=2;
3020                                }
3021    
3022    
3023                            }
3024    
3025    
3026                            switch (alt35) {
3027                            case 1 :
3028                                // Creole10.g:253:6: forced_linebreak
3029                                {
3030                                pushFollow(FOLLOW_forced_linebreak_in_text_first_unformatted950);
3031                                forced_linebreak();
3032                                _fsp--;
3033                                if (failed) return items;
3034                                if ( backtracking==0 ) {
3035                                   items.add(new ForcedEndOfLineNode()); 
3036                                }
3037    
3038                                }
3039                                break;
3040                            case 2 :
3041                                // Creole10.g:254:5: e= escaped
3042                                {
3043                                pushFollow(FOLLOW_escaped_in_text_first_unformatted962);
3044                                e=escaped();
3045                                _fsp--;
3046                                if (failed) return items;
3047                                if ( backtracking==0 ) {
3048                                  items.add(e);
3049                                }
3050    
3051                                }
3052                                break;
3053    
3054                            default :
3055                                if ( cnt35 >= 1 ) break loop35;
3056                                if (backtracking>0) {failed=true; return items;}
3057                                    EarlyExitException eee =
3058                                        new EarlyExitException(35, input);
3059                                    throw eee;
3060                            }
3061                            cnt35++;
3062                        } while (true);
3063    
3064    
3065                        }
3066                        break;
3067    
3068                }
3069            }
3070            catch (RecognitionException re) {
3071                reportError(re);
3072                recover(input,re);
3073            }
3074            finally {
3075            }
3076            return items;
3077        }
3078        // $ANTLR end text_first_unformatted
3079    
3080    
3081        // $ANTLR start text_first_unformmatted_text
3082        // Creole10.g:257: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 ) )+ ;
3083        public final StringBundler text_first_unformmatted_text() throws RecognitionException {
3084            StringBundler text =  new StringBundler();
3085    
3086            Token c=null;
3087    
3088            try {
3089                // Creole10.g:258:2: ( (c=~ ( POUND | STAR | EQUAL | PIPE | ITAL | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+ )
3090                // Creole10.g:259:3: (c=~ ( POUND | STAR | EQUAL | PIPE | ITAL | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+
3091                {
3092                // Creole10.g:259:3: (c=~ ( POUND | STAR | EQUAL | PIPE | ITAL | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+
3093                int cnt37=0;
3094                loop37:
3095                do {
3096                    int alt37=2;
3097                    int LA37_0 = input.LA(1);
3098    
3099                    if ( ((LA37_0>=FORCED_END_OF_LINE && LA37_0<=WIKI)||(LA37_0>=NOWIKI_BLOCK_CLOSE && LA37_0<=81)) ) {
3100                        alt37=1;
3101                    }
3102    
3103    
3104                    switch (alt37) {
3105                    case 1 :
3106                        // Creole10.g:259:4: c=~ ( POUND | STAR | EQUAL | PIPE | ITAL | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF )
3107                        {
3108                        c=(Token)input.LT(1);
3109                        if ( (input.LA(1)>=FORCED_END_OF_LINE && input.LA(1)<=WIKI)||(input.LA(1)>=NOWIKI_BLOCK_CLOSE && input.LA(1)<=81) ) {
3110                            input.consume();
3111                            errorRecovery=false;failed=false;
3112                        }
3113                        else {
3114                            if (backtracking>0) {failed=true; return text;}
3115                            MismatchedSetException mse =
3116                                new MismatchedSetException(null,input);
3117                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_text_first_unformmatted_text990);    throw mse;
3118                        }
3119    
3120                        if ( backtracking==0 ) {
3121                          text.append(c.getText()); 
3122                        }
3123    
3124                        }
3125                        break;
3126    
3127                    default :
3128                        if ( cnt37 >= 1 ) break loop37;
3129                        if (backtracking>0) {failed=true; return text;}
3130                            EarlyExitException eee =
3131                                new EarlyExitException(37, input);
3132                            throw eee;
3133                    }
3134                    cnt37++;
3135                } while (true);
3136    
3137    
3138                }
3139    
3140            }
3141            catch (RecognitionException re) {
3142                reportError(re);
3143                recover(input,re);
3144            }
3145            finally {
3146            }
3147            return text;
3148        }
3149        // $ANTLR end text_first_unformmatted_text
3150    
3151    
3152        // $ANTLR start text_unformattedelement
3153        // Creole10.g:273:1: text_unformattedelement returns [ASTNode contents = null] : (text= text_unformatted | ti= text_inlineelement );
3154        public final ASTNode text_unformattedelement() throws RecognitionException {
3155            ASTNode contents =  null;
3156    
3157            CollectionNode text = null;
3158    
3159            ASTNode ti = null;
3160    
3161    
3162            try {
3163                // Creole10.g:274:2: (text= text_unformatted | ti= text_inlineelement )
3164                int alt38=2;
3165                int LA38_0 = input.LA(1);
3166    
3167                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<=81)) ) {
3168                    alt38=1;
3169                }
3170                else if ( ((LA38_0>=LINK_OPEN && LA38_0<=EXTENSION)) ) {
3171                    alt38=2;
3172                }
3173                else {
3174                    if (backtracking>0) {failed=true; return contents;}
3175                    NoViableAltException nvae =
3176                        new NoViableAltException("273:1: text_unformattedelement returns [ASTNode contents = null] : (text= text_unformatted | ti= text_inlineelement );", 38, 0, input);
3177    
3178                    throw nvae;
3179                }
3180                switch (alt38) {
3181                    case 1 :
3182                        // Creole10.g:274:4: text= text_unformatted
3183                        {
3184                        pushFollow(FOLLOW_text_unformatted_in_text_unformattedelement1104);
3185                        text=text_unformatted();
3186                        _fsp--;
3187                        if (failed) return contents;
3188                        if ( backtracking==0 ) {
3189                           contents = text; 
3190                        }
3191    
3192                        }
3193                        break;
3194                    case 2 :
3195                        // Creole10.g:275:4: ti= text_inlineelement
3196                        {
3197                        pushFollow(FOLLOW_text_inlineelement_in_text_unformattedelement1115);
3198                        ti=text_inlineelement();
3199                        _fsp--;
3200                        if (failed) return contents;
3201                        if ( backtracking==0 ) {
3202                           contents = ti; 
3203                        }
3204    
3205                        }
3206                        break;
3207    
3208                }
3209            }
3210            catch (RecognitionException re) {
3211                reportError(re);
3212                recover(input,re);
3213            }
3214            finally {
3215            }
3216            return contents;
3217        }
3218        // $ANTLR end text_unformattedelement
3219    
3220    
3221        // $ANTLR start text_unformatted
3222        // Creole10.g:278:1: text_unformatted returns [CollectionNode items = new CollectionNode()] : (contents= text_unformated_text | ( forced_linebreak | e= escaped )+ );
3223        public final CollectionNode text_unformatted() throws RecognitionException {
3224            CollectionNode items =  new CollectionNode();
3225    
3226            StringBundler contents = null;
3227    
3228            ScapedNode e = null;
3229    
3230    
3231            try {
3232                // Creole10.g:279:2: (contents= text_unformated_text | ( forced_linebreak | e= escaped )+ )
3233                int alt40=2;
3234                int LA40_0 = input.LA(1);
3235    
3236                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<=81)) ) {
3237                    alt40=1;
3238                }
3239                else if ( ((LA40_0>=FORCED_LINEBREAK && LA40_0<=ESCAPE)) ) {
3240                    alt40=2;
3241                }
3242                else {
3243                    if (backtracking>0) {failed=true; return items;}
3244                    NoViableAltException nvae =
3245                        new NoViableAltException("278:1: text_unformatted returns [CollectionNode items = new CollectionNode()] : (contents= text_unformated_text | ( forced_linebreak | e= escaped )+ );", 40, 0, input);
3246    
3247                    throw nvae;
3248                }
3249                switch (alt40) {
3250                    case 1 :
3251                        // Creole10.g:279:5: contents= text_unformated_text
3252                        {
3253                        pushFollow(FOLLOW_text_unformated_text_in_text_unformatted1137);
3254                        contents=text_unformated_text();
3255                        _fsp--;
3256                        if (failed) return items;
3257                        if ( backtracking==0 ) {
3258                          items.add(new UnformattedTextNode(contents.toString())); 
3259                        }
3260    
3261                        }
3262                        break;
3263                    case 2 :
3264                        // Creole10.g:280:5: ( forced_linebreak | e= escaped )+
3265                        {
3266                        // Creole10.g:280:5: ( forced_linebreak | e= escaped )+
3267                        int cnt39=0;
3268                        loop39:
3269                        do {
3270                            int alt39=3;
3271                            int LA39_0 = input.LA(1);
3272    
3273                            if ( (LA39_0==FORCED_LINEBREAK) ) {
3274                                alt39=1;
3275                            }
3276                            else if ( (LA39_0==ESCAPE) ) {
3277                                alt39=2;
3278                            }
3279    
3280    
3281                            switch (alt39) {
3282                            case 1 :
3283                                // Creole10.g:280:6: forced_linebreak
3284                                {
3285                                pushFollow(FOLLOW_forced_linebreak_in_text_unformatted1146);
3286                                forced_linebreak();
3287                                _fsp--;
3288                                if (failed) return items;
3289                                if ( backtracking==0 ) {
3290                                   items.add(new ForcedEndOfLineNode()); 
3291                                }
3292    
3293                                }
3294                                break;
3295                            case 2 :
3296                                // Creole10.g:281:5: e= escaped
3297                                {
3298                                pushFollow(FOLLOW_escaped_in_text_unformatted1158);
3299                                e=escaped();
3300                                _fsp--;
3301                                if (failed) return items;
3302                                if ( backtracking==0 ) {
3303                                  items.add(e);
3304                                }
3305    
3306                                }
3307                                break;
3308    
3309                            default :
3310                                if ( cnt39 >= 1 ) break loop39;
3311                                if (backtracking>0) {failed=true; return items;}
3312                                    EarlyExitException eee =
3313                                        new EarlyExitException(39, input);
3314                                    throw eee;
3315                            }
3316                            cnt39++;
3317                        } while (true);
3318    
3319    
3320                        }
3321                        break;
3322    
3323                }
3324            }
3325            catch (RecognitionException re) {
3326                reportError(re);
3327                recover(input,re);
3328            }
3329            finally {
3330            }
3331            return items;
3332        }
3333        // $ANTLR end text_unformatted
3334    
3335    
3336        // $ANTLR start text_unformated_text
3337        // Creole10.g:284:1: text_unformated_text returns [StringBundler text = new StringBundler()] : (c=~ ( ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+ ;
3338        public final StringBundler text_unformated_text() throws RecognitionException {
3339            StringBundler text =  new StringBundler();
3340    
3341            Token c=null;
3342    
3343            try {
3344                // Creole10.g:285:1: ( (c=~ ( ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+ )
3345                // Creole10.g:286:2: (c=~ ( ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+
3346                {
3347                // Creole10.g:286:2: (c=~ ( ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+
3348                int cnt41=0;
3349                loop41:
3350                do {
3351                    int alt41=2;
3352                    int LA41_0 = input.LA(1);
3353    
3354                    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<=81)) ) {
3355                        alt41=1;
3356                    }
3357    
3358    
3359                    switch (alt41) {
3360                    case 1 :
3361                        // Creole10.g:286:3: c=~ ( ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF )
3362                        {
3363                        c=(Token)input.LT(1);
3364                        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)<=81) ) {
3365                            input.consume();
3366                            errorRecovery=false;failed=false;
3367                        }
3368                        else {
3369                            if (backtracking>0) {failed=true; return text;}
3370                            MismatchedSetException mse =
3371                                new MismatchedSetException(null,input);
3372                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_text_unformated_text1183);    throw mse;
3373                        }
3374    
3375                        if ( backtracking==0 ) {
3376                           text.append(c.getText());
3377                        }
3378    
3379                        }
3380                        break;
3381    
3382                    default :
3383                        if ( cnt41 >= 1 ) break loop41;
3384                        if (backtracking>0) {failed=true; return text;}
3385                            EarlyExitException eee =
3386                                new EarlyExitException(41, input);
3387                            throw eee;
3388                    }
3389                    cnt41++;
3390                } while (true);
3391    
3392    
3393                }
3394    
3395            }
3396            catch (RecognitionException re) {
3397                reportError(re);
3398                recover(input,re);
3399            }
3400            finally {
3401            }
3402            return text;
3403        }
3404        // $ANTLR end text_unformated_text
3405    
3406        protected static class heading_scope {
3407            CollectionNode items;
3408            int nestedLevel;
3409            String text;
3410        }
3411        protected Stack heading_stack = new Stack();
3412    
3413    
3414        // $ANTLR start heading
3415        // Creole10.g:300:1: heading returns [ASTNode header] : heading_markup heading_content ( heading_markup )? ( blanks )? paragraph_separator ;
3416        public final ASTNode heading() throws RecognitionException {
3417            heading_stack.push(new heading_scope());
3418            ASTNode header = null;
3419    
3420    
3421                            ((heading_scope)heading_stack.peek()).items = new CollectionNode();
3422                            ((heading_scope)heading_stack.peek()).text = new String();
3423                    
3424            try {
3425                // Creole10.g:310:2: ( heading_markup heading_content ( heading_markup )? ( blanks )? paragraph_separator )
3426                // Creole10.g:310:4: heading_markup heading_content ( heading_markup )? ( blanks )? paragraph_separator
3427                {
3428                pushFollow(FOLLOW_heading_markup_in_heading1285);
3429                heading_markup();
3430                _fsp--;
3431                if (failed) return header;
3432                if ( backtracking==0 ) {
3433                  ((heading_scope)heading_stack.peek()).nestedLevel++;
3434                }
3435                pushFollow(FOLLOW_heading_content_in_heading1290);
3436                heading_content();
3437                _fsp--;
3438                if (failed) return header;
3439                if ( backtracking==0 ) {
3440                   header = new HeadingNode(((heading_scope)heading_stack.peek()).items,((heading_scope)heading_stack.peek()).nestedLevel); 
3441                }
3442                // Creole10.g:310:134: ( heading_markup )?
3443                int alt42=2;
3444                int LA42_0 = input.LA(1);
3445    
3446                if ( (LA42_0==EQUAL) ) {
3447                    alt42=1;
3448                }
3449                switch (alt42) {
3450                    case 1 :
3451                        // Creole10.g:310:136: heading_markup
3452                        {
3453                        pushFollow(FOLLOW_heading_markup_in_heading1297);
3454                        heading_markup();
3455                        _fsp--;
3456                        if (failed) return header;
3457    
3458                        }
3459                        break;
3460    
3461                }
3462    
3463                // Creole10.g:310:155: ( blanks )?
3464                int alt43=2;
3465                int LA43_0 = input.LA(1);
3466    
3467                if ( (LA43_0==BLANKS) ) {
3468                    alt43=1;
3469                }
3470                switch (alt43) {
3471                    case 1 :
3472                        // Creole10.g:310:157: blanks
3473                        {
3474                        pushFollow(FOLLOW_blanks_in_heading1305);
3475                        blanks();
3476                        _fsp--;
3477                        if (failed) return header;
3478    
3479                        }
3480                        break;
3481    
3482                }
3483    
3484                pushFollow(FOLLOW_paragraph_separator_in_heading1312);
3485                paragraph_separator();
3486                _fsp--;
3487                if (failed) return header;
3488    
3489                }
3490    
3491            }
3492            catch (RecognitionException re) {
3493                reportError(re);
3494                recover(input,re);
3495            }
3496            finally {
3497                heading_stack.pop();
3498            }
3499            return header;
3500        }
3501        // $ANTLR end heading
3502    
3503    
3504        // $ANTLR start heading_content
3505        // Creole10.g:313:1: heading_content : ( heading_markup heading_content ( heading_markup )? | ht= heading_text );
3506        public final void heading_content() throws RecognitionException {
3507            CollectionNode ht = null;
3508    
3509    
3510            try {
3511                // Creole10.g:314:2: ( heading_markup heading_content ( heading_markup )? | ht= heading_text )
3512                int alt45=2;
3513                int LA45_0 = input.LA(1);
3514    
3515                if ( (LA45_0==EQUAL) ) {
3516                    alt45=1;
3517                }
3518                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<=81)) ) {
3519                    alt45=2;
3520                }
3521                else {
3522                    if (backtracking>0) {failed=true; return ;}
3523                    NoViableAltException nvae =
3524                        new NoViableAltException("313:1: heading_content : ( heading_markup heading_content ( heading_markup )? | ht= heading_text );", 45, 0, input);
3525    
3526                    throw nvae;
3527                }
3528                switch (alt45) {
3529                    case 1 :
3530                        // Creole10.g:314:4: heading_markup heading_content ( heading_markup )?
3531                        {
3532                        pushFollow(FOLLOW_heading_markup_in_heading_content1322);
3533                        heading_markup();
3534                        _fsp--;
3535                        if (failed) return ;
3536                        if ( backtracking==0 ) {
3537                          ((heading_scope)heading_stack.peek()).nestedLevel++;
3538                        }
3539                        pushFollow(FOLLOW_heading_content_in_heading_content1327);
3540                        heading_content();
3541                        _fsp--;
3542                        if (failed) return ;
3543                        // Creole10.g:314:64: ( heading_markup )?
3544                        int alt44=2;
3545                        int LA44_0 = input.LA(1);
3546    
3547                        if ( (LA44_0==EQUAL) ) {
3548                            alt44=1;
3549                        }
3550                        switch (alt44) {
3551                            case 1 :
3552                                // Creole10.g:314:66: heading_markup
3553                                {
3554                                pushFollow(FOLLOW_heading_markup_in_heading_content1332);
3555                                heading_markup();
3556                                _fsp--;
3557                                if (failed) return ;
3558    
3559                                }
3560                                break;
3561    
3562                        }
3563    
3564    
3565                        }
3566                        break;
3567                    case 2 :
3568                        // Creole10.g:315:4: ht= heading_text
3569                        {
3570                        pushFollow(FOLLOW_heading_text_in_heading_content1344);
3571                        ht=heading_text();
3572                        _fsp--;
3573                        if (failed) return ;
3574                        if ( backtracking==0 ) {
3575                          ((heading_scope)heading_stack.peek()).items = ht;
3576                        }
3577    
3578                        }
3579                        break;
3580    
3581                }
3582            }
3583            catch (RecognitionException re) {
3584                reportError(re);
3585                recover(input,re);
3586            }
3587            finally {
3588            }
3589            return ;
3590        }
3591        // $ANTLR end heading_content
3592    
3593    
3594        // $ANTLR start heading_text
3595        // Creole10.g:318:1: heading_text returns [CollectionNode items = null] : te= heading_cellcontent ;
3596        public final CollectionNode heading_text() throws RecognitionException {
3597            CollectionNode items =  null;
3598    
3599            CollectionNode te = null;
3600    
3601    
3602            try {
3603                // Creole10.g:319:2: (te= heading_cellcontent )
3604                // Creole10.g:319:4: te= heading_cellcontent
3605                {
3606                pushFollow(FOLLOW_heading_cellcontent_in_heading_text1365);
3607                te=heading_cellcontent();
3608                _fsp--;
3609                if (failed) return items;
3610                if ( backtracking==0 ) {
3611                  items = te;
3612                }
3613    
3614                }
3615    
3616            }
3617            catch (RecognitionException re) {
3618                reportError(re);
3619                recover(input,re);
3620            }
3621            finally {
3622            }
3623            return items;
3624        }
3625        // $ANTLR end heading_text
3626    
3627    
3628        // $ANTLR start heading_cellcontent
3629        // Creole10.g:322:1: heading_cellcontent returns [CollectionNode items = new CollectionNode()] : onestar (tcp= heading_cellcontentpart onestar )* ;
3630        public final CollectionNode heading_cellcontent() throws RecognitionException {
3631            CollectionNode items =  new CollectionNode();
3632    
3633            ASTNode tcp = null;
3634    
3635    
3636            try {
3637                // Creole10.g:323:2: ( onestar (tcp= heading_cellcontentpart onestar )* )
3638                // Creole10.g:323:4: onestar (tcp= heading_cellcontentpart onestar )*
3639                {
3640                pushFollow(FOLLOW_onestar_in_heading_cellcontent1382);
3641                onestar();
3642                _fsp--;
3643                if (failed) return items;
3644                // Creole10.g:323:13: (tcp= heading_cellcontentpart onestar )*
3645                loop46:
3646                do {
3647                    int alt46=2;
3648                    int LA46_0 = input.LA(1);
3649    
3650                    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<=81)) ) {
3651                        alt46=1;
3652                    }
3653    
3654    
3655                    switch (alt46) {
3656                    case 1 :
3657                        // Creole10.g:323:15: tcp= heading_cellcontentpart onestar
3658                        {
3659                        pushFollow(FOLLOW_heading_cellcontentpart_in_heading_cellcontent1391);
3660                        tcp=heading_cellcontentpart();
3661                        _fsp--;
3662                        if (failed) return items;
3663                        if ( backtracking==0 ) {
3664    
3665    
3666                                                                            if (tcp != null) { // some AST Node could be NULL if bad CREOLE syntax is wrotten
3667                                                                                    items.add(tcp);
3668                                                                            }
3669    
3670                                                                            
3671                        }
3672                        pushFollow(FOLLOW_onestar_in_heading_cellcontent1402);
3673                        onestar();
3674                        _fsp--;
3675                        if (failed) return items;
3676    
3677                        }
3678                        break;
3679    
3680                    default :
3681                        break loop46;
3682                    }
3683                } while (true);
3684    
3685    
3686                }
3687    
3688            }
3689            catch (RecognitionException re) {
3690                reportError(re);
3691                recover(input,re);
3692            }
3693            finally {
3694            }
3695            return items;
3696        }
3697        // $ANTLR end heading_cellcontent
3698    
3699    
3700        // $ANTLR start heading_cellcontentpart
3701        // Creole10.g:332:1: heading_cellcontentpart returns [ASTNode node = null] : (tf= heading_formattedelement | tu= heading_unformattedelement );
3702        public final ASTNode heading_cellcontentpart() throws RecognitionException {
3703            ASTNode node =  null;
3704    
3705            ASTNode tf = null;
3706    
3707            ASTNode tu = null;
3708    
3709    
3710            try {
3711                // Creole10.g:333:2: (tf= heading_formattedelement | tu= heading_unformattedelement )
3712                int alt47=2;
3713                switch ( input.LA(1) ) {
3714                case ITAL:
3715                    {
3716                    alt47=1;
3717                    }
3718                    break;
3719                case STAR:
3720                    {
3721                    int LA47_2 = input.LA(2);
3722    
3723                    if ( (LA47_2==STAR) ) {
3724                        alt47=1;
3725                    }
3726                    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<=81)) ) {
3727                        alt47=2;
3728                    }
3729                    else {
3730                        if (backtracking>0) {failed=true; return node;}
3731                        NoViableAltException nvae =
3732                            new NoViableAltException("332:1: heading_cellcontentpart returns [ASTNode node = null] : (tf= heading_formattedelement | tu= heading_unformattedelement );", 47, 2, input);
3733    
3734                        throw nvae;
3735                    }
3736                    }
3737                    break;
3738                case FORCED_END_OF_LINE:
3739                case HEADING_SECTION:
3740                case HORIZONTAL_SECTION:
3741                case LIST_ITEM:
3742                case LIST_ITEM_PART:
3743                case NOWIKI_SECTION:
3744                case SCAPE_NODE:
3745                case TEXT_NODE:
3746                case UNORDERED_LIST:
3747                case UNFORMATTED_TEXT:
3748                case WIKI:
3749                case POUND:
3750                case PIPE:
3751                case LINK_OPEN:
3752                case IMAGE_OPEN:
3753                case NOWIKI_OPEN:
3754                case EXTENSION:
3755                case FORCED_LINEBREAK:
3756                case NOWIKI_BLOCK_CLOSE:
3757                case NOWIKI_CLOSE:
3758                case LINK_CLOSE:
3759                case IMAGE_CLOSE:
3760                case BLANKS:
3761                case TABLE_OF_CONTENTS_OPEN:
3762                case TABLE_OF_CONTENTS_CLOSE:
3763                case DASH:
3764                case CR:
3765                case LF:
3766                case SPACE:
3767                case TABULATOR:
3768                case BRACE_CLOSE:
3769                case COLON_SLASH:
3770                case SLASH:
3771                case INSIGNIFICANT_CHAR:
3772                case 43:
3773                case 44:
3774                case 45:
3775                case 46:
3776                case 47:
3777                case 48:
3778                case 49:
3779                case 50:
3780                case 51:
3781                case 52:
3782                case 53:
3783                case 54:
3784                case 55:
3785                case 56:
3786                case 57:
3787                case 58:
3788                case 59:
3789                case 60:
3790                case 61:
3791                case 62:
3792                case 63:
3793                case 64:
3794                case 65:
3795                case 66:
3796                case 67:
3797                case 68:
3798                case 69:
3799                case 70:
3800                case 71:
3801                case 72:
3802                case 73:
3803                case 74:
3804                case 75:
3805                case 76:
3806                case 77:
3807                case 78:
3808                case 79:
3809                case 80:
3810                case 81:
3811                    {
3812                    alt47=2;
3813                    }
3814                    break;
3815                default:
3816                    if (backtracking>0) {failed=true; return node;}
3817                    NoViableAltException nvae =
3818                        new NoViableAltException("332:1: heading_cellcontentpart returns [ASTNode node = null] : (tf= heading_formattedelement | tu= heading_unformattedelement );", 47, 0, input);
3819    
3820                    throw nvae;
3821                }
3822    
3823                switch (alt47) {
3824                    case 1 :
3825                        // Creole10.g:333:4: tf= heading_formattedelement
3826                        {
3827                        pushFollow(FOLLOW_heading_formattedelement_in_heading_cellcontentpart1423);
3828                        tf=heading_formattedelement();
3829                        _fsp--;
3830                        if (failed) return node;
3831                        if ( backtracking==0 ) {
3832                          node =tf;
3833                        }
3834    
3835                        }
3836                        break;
3837                    case 2 :
3838                        // Creole10.g:334:4: tu= heading_unformattedelement
3839                        {
3840                        pushFollow(FOLLOW_heading_unformattedelement_in_heading_cellcontentpart1434);
3841                        tu=heading_unformattedelement();
3842                        _fsp--;
3843                        if (failed) return node;
3844                        if ( backtracking==0 ) {
3845                          node =tu;
3846                        }
3847    
3848                        }
3849                        break;
3850    
3851                }
3852            }
3853            catch (RecognitionException re) {
3854                reportError(re);
3855                recover(input,re);
3856            }
3857            finally {
3858            }
3859            return node;
3860        }
3861        // $ANTLR end heading_cellcontentpart
3862    
3863    
3864        // $ANTLR start heading_formattedelement
3865        // Creole10.g:336:1: heading_formattedelement returns [ASTNode content = null] : ( ital_markup (tic= heading_italcontent )? ( ital_markup )? | bold_markup (tbc= heading_boldcontent )? ( bold_markup )? );
3866        public final ASTNode heading_formattedelement() throws RecognitionException {
3867            ASTNode content =  null;
3868    
3869            CollectionNode tic = null;
3870    
3871            CollectionNode tbc = null;
3872    
3873    
3874            try {
3875                // Creole10.g:337:2: ( ital_markup (tic= heading_italcontent )? ( ital_markup )? | bold_markup (tbc= heading_boldcontent )? ( bold_markup )? )
3876                int alt52=2;
3877                int LA52_0 = input.LA(1);
3878    
3879                if ( (LA52_0==ITAL) ) {
3880                    alt52=1;
3881                }
3882                else if ( (LA52_0==STAR) ) {
3883                    alt52=2;
3884                }
3885                else {
3886                    if (backtracking>0) {failed=true; return content;}
3887                    NoViableAltException nvae =
3888                        new NoViableAltException("336:1: heading_formattedelement returns [ASTNode content = null] : ( ital_markup (tic= heading_italcontent )? ( ital_markup )? | bold_markup (tbc= heading_boldcontent )? ( bold_markup )? );", 52, 0, input);
3889    
3890                    throw nvae;
3891                }
3892                switch (alt52) {
3893                    case 1 :
3894                        // Creole10.g:337:4: ital_markup (tic= heading_italcontent )? ( ital_markup )?
3895                        {
3896                        pushFollow(FOLLOW_ital_markup_in_heading_formattedelement1450);
3897                        ital_markup();
3898                        _fsp--;
3899                        if (failed) return content;
3900                        // Creole10.g:337:18: (tic= heading_italcontent )?
3901                        int alt48=2;
3902                        switch ( input.LA(1) ) {
3903                            case STAR:
3904                                {
3905                                alt48=1;
3906                                }
3907                                break;
3908                            case ITAL:
3909                                {
3910                                alt48=1;
3911                                }
3912                                break;
3913                            case LINK_OPEN:
3914                                {
3915                                alt48=1;
3916                                }
3917                                break;
3918                            case IMAGE_OPEN:
3919                                {
3920                                alt48=1;
3921                                }
3922                                break;
3923                            case NOWIKI_OPEN:
3924                                {
3925                                alt48=1;
3926                                }
3927                                break;
3928                            case EOF:
3929                                {
3930                                alt48=1;
3931                                }
3932                                break;
3933                            case BLANKS:
3934                                {
3935                                alt48=1;
3936                                }
3937                                break;
3938                            case FORCED_END_OF_LINE:
3939                            case HEADING_SECTION:
3940                            case HORIZONTAL_SECTION:
3941                            case LIST_ITEM:
3942                            case LIST_ITEM_PART:
3943                            case NOWIKI_SECTION:
3944                            case SCAPE_NODE:
3945                            case TEXT_NODE:
3946                            case UNORDERED_LIST:
3947                            case UNFORMATTED_TEXT:
3948                            case WIKI:
3949                            case POUND:
3950                            case PIPE:
3951                            case EXTENSION:
3952                            case FORCED_LINEBREAK:
3953                            case NOWIKI_BLOCK_CLOSE:
3954                            case NOWIKI_CLOSE:
3955                            case LINK_CLOSE:
3956                            case IMAGE_CLOSE:
3957                            case TABLE_OF_CONTENTS_OPEN:
3958                            case TABLE_OF_CONTENTS_CLOSE:
3959                            case DASH:
3960                            case CR:
3961                            case LF:
3962                            case SPACE:
3963                            case TABULATOR:
3964                            case BRACE_CLOSE:
3965                            case COLON_SLASH:
3966                            case SLASH:
3967                            case INSIGNIFICANT_CHAR:
3968                            case 43:
3969                            case 44:
3970                            case 45:
3971                            case 46:
3972                            case 47:
3973                            case 48:
3974                            case 49:
3975                            case 50:
3976                            case 51:
3977                            case 52:
3978                            case 53:
3979                            case 54:
3980                            case 55:
3981                            case 56:
3982                            case 57:
3983                            case 58:
3984                            case 59:
3985                            case 60:
3986                            case 61:
3987                            case 62:
3988                            case 63:
3989                            case 64:
3990                            case 65:
3991                            case 66:
3992                            case 67:
3993                            case 68:
3994                            case 69:
3995                            case 70:
3996                            case 71:
3997                            case 72:
3998                            case 73:
3999                            case 74:
4000                            case 75:
4001                            case 76:
4002                            case 77:
4003                            case 78:
4004                            case 79:
4005                            case 80:
4006                            case 81:
4007                                {
4008                                alt48=1;
4009                                }
4010                                break;
4011                        }
4012    
4013                        switch (alt48) {
4014                            case 1 :
4015                                // Creole10.g:337:20: tic= heading_italcontent
4016                                {
4017                                pushFollow(FOLLOW_heading_italcontent_in_heading_formattedelement1460);
4018                                tic=heading_italcontent();
4019                                _fsp--;
4020                                if (failed) return content;
4021                                if ( backtracking==0 ) {
4022                                   content = new ItalicTextNode(tic); 
4023                                }
4024    
4025                                }
4026                                break;
4027    
4028                        }
4029    
4030                        // Creole10.g:337:96: ( ital_markup )?
4031                        int alt49=2;
4032                        int LA49_0 = input.LA(1);
4033    
4034                        if ( (LA49_0==ITAL) ) {
4035                            alt49=1;
4036                        }
4037                        switch (alt49) {
4038                            case 1 :
4039                                // Creole10.g:337:98: ital_markup
4040                                {
4041                                pushFollow(FOLLOW_ital_markup_in_heading_formattedelement1469);
4042                                ital_markup();
4043                                _fsp--;
4044                                if (failed) return content;
4045    
4046                                }
4047                                break;
4048    
4049                        }
4050    
4051    
4052                        }
4053                        break;
4054                    case 2 :
4055                        // Creole10.g:338:4: bold_markup (tbc= heading_boldcontent )? ( bold_markup )?
4056                        {
4057                        pushFollow(FOLLOW_bold_markup_in_heading_formattedelement1477);
4058                        bold_markup();
4059                        _fsp--;
4060                        if (failed) return content;
4061                        // Creole10.g:338:16: (tbc= heading_boldcontent )?
4062                        int alt50=2;
4063                        switch ( input.LA(1) ) {
4064                            case STAR:
4065                                {
4066                                alt50=1;
4067                                }
4068                                break;
4069                            case ITAL:
4070                                {
4071                                alt50=1;
4072                                }
4073                                break;
4074                            case LINK_OPEN:
4075                                {
4076                                alt50=1;
4077                                }
4078                                break;
4079                            case IMAGE_OPEN:
4080                                {
4081                                alt50=1;
4082                                }
4083                                break;
4084                            case NOWIKI_OPEN:
4085                                {
4086                                alt50=1;
4087                                }
4088                                break;
4089                            case BLANKS:
4090                                {
4091                                alt50=1;
4092                                }
4093                                break;
4094                            case EOF:
4095                                {
4096                                alt50=1;
4097                                }
4098                                break;
4099                            case FORCED_END_OF_LINE:
4100                            case HEADING_SECTION:
4101                            case HORIZONTAL_SECTION:
4102                            case LIST_ITEM:
4103                            case LIST_ITEM_PART:
4104                            case NOWIKI_SECTION:
4105                            case SCAPE_NODE:
4106                            case TEXT_NODE:
4107                            case UNORDERED_LIST:
4108                            case UNFORMATTED_TEXT:
4109                            case WIKI:
4110                            case POUND:
4111                            case PIPE:
4112                            case EXTENSION:
4113                            case FORCED_LINEBREAK:
4114                            case NOWIKI_BLOCK_CLOSE:
4115                            case NOWIKI_CLOSE:
4116                            case LINK_CLOSE:
4117                            case IMAGE_CLOSE:
4118                            case TABLE_OF_CONTENTS_OPEN:
4119                            case TABLE_OF_CONTENTS_CLOSE:
4120                            case DASH:
4121                            case CR:
4122                            case LF:
4123                            case SPACE:
4124                            case TABULATOR:
4125                            case BRACE_CLOSE:
4126                            case COLON_SLASH:
4127                            case SLASH:
4128                            case INSIGNIFICANT_CHAR:
4129                            case 43:
4130                            case 44:
4131                            case 45:
4132                            case 46:
4133                            case 47:
4134                            case 48:
4135                            case 49:
4136                            case 50:
4137                            case 51:
4138                            case 52:
4139                            case 53:
4140                            case 54:
4141                            case 55:
4142                            case 56:
4143                            case 57:
4144                            case 58:
4145                            case 59:
4146                            case 60:
4147                            case 61:
4148                            case 62:
4149                            case 63:
4150                            case 64:
4151                            case 65:
4152                            case 66:
4153                            case 67:
4154                            case 68:
4155                            case 69:
4156                            case 70:
4157                            case 71:
4158                            case 72:
4159                            case 73:
4160                            case 74:
4161                            case 75:
4162                            case 76:
4163                            case 77:
4164                            case 78:
4165                            case 79:
4166                            case 80:
4167                            case 81:
4168                                {
4169                                alt50=1;
4170                                }
4171                                break;
4172                        }
4173    
4174                        switch (alt50) {
4175                            case 1 :
4176                                // Creole10.g:338:18: tbc= heading_boldcontent
4177                                {
4178                                pushFollow(FOLLOW_heading_boldcontent_in_heading_formattedelement1484);
4179                                tbc=heading_boldcontent();
4180                                _fsp--;
4181                                if (failed) return content;
4182                                if ( backtracking==0 ) {
4183                                  content = new BoldTextNode(tbc);
4184                                }
4185    
4186                                }
4187                                break;
4188    
4189                        }
4190    
4191                        // Creole10.g:338:90: ( bold_markup )?
4192                        int alt51=2;
4193                        int LA51_0 = input.LA(1);
4194    
4195                        if ( (LA51_0==STAR) ) {
4196                            int LA51_1 = input.LA(2);
4197    
4198                            if ( (LA51_1==STAR) ) {
4199                                alt51=1;
4200                            }
4201                        }
4202                        switch (alt51) {
4203                            case 1 :
4204                                // Creole10.g:338:92: bold_markup
4205                                {
4206                                pushFollow(FOLLOW_bold_markup_in_heading_formattedelement1494);
4207                                bold_markup();
4208                                _fsp--;
4209                                if (failed) return content;
4210    
4211                                }
4212                                break;
4213    
4214                        }
4215    
4216    
4217                        }
4218                        break;
4219    
4220                }
4221            }
4222            catch (RecognitionException re) {
4223                reportError(re);
4224                recover(input,re);
4225            }
4226            finally {
4227            }
4228            return content;
4229        }
4230        // $ANTLR end heading_formattedelement
4231    
4232    
4233        // $ANTLR start heading_boldcontent
4234        // Creole10.g:340:1: heading_boldcontent returns [CollectionNode items = new CollectionNode()] : ( onestar (tb= heading_boldcontentpart onestar )+ | EOF );
4235        public final CollectionNode heading_boldcontent() throws RecognitionException {
4236            CollectionNode items =  new CollectionNode();
4237    
4238            ASTNode tb = null;
4239    
4240    
4241            try {
4242                // Creole10.g:341:2: ( onestar (tb= heading_boldcontentpart onestar )+ | EOF )
4243                int alt54=2;
4244                int LA54_0 = input.LA(1);
4245    
4246                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<=81)) ) {
4247                    alt54=1;
4248                }
4249                else if ( (LA54_0==EOF) ) {
4250                    alt54=2;
4251                }
4252                else {
4253                    if (backtracking>0) {failed=true; return items;}
4254                    NoViableAltException nvae =
4255                        new NoViableAltException("340:1: heading_boldcontent returns [CollectionNode items = new CollectionNode()] : ( onestar (tb= heading_boldcontentpart onestar )+ | EOF );", 54, 0, input);
4256    
4257                    throw nvae;
4258                }
4259                switch (alt54) {
4260                    case 1 :
4261                        // Creole10.g:341:4: onestar (tb= heading_boldcontentpart onestar )+
4262                        {
4263                        pushFollow(FOLLOW_onestar_in_heading_boldcontent1511);
4264                        onestar();
4265                        _fsp--;
4266                        if (failed) return items;
4267                        // Creole10.g:341:13: (tb= heading_boldcontentpart onestar )+
4268                        int cnt53=0;
4269                        loop53:
4270                        do {
4271                            int alt53=2;
4272                            switch ( input.LA(1) ) {
4273                            case STAR:
4274                                {
4275                                alt53=1;
4276                                }
4277                                break;
4278                            case BLANKS:
4279                                {
4280                                alt53=1;
4281                                }
4282                                break;
4283                            case ITAL:
4284                                {
4285                                alt53=1;
4286                                }
4287                                break;
4288                            case FORCED_END_OF_LINE:
4289                            case HEADING_SECTION:
4290                            case HORIZONTAL_SECTION:
4291                            case LIST_ITEM:
4292                            case LIST_ITEM_PART:
4293                            case NOWIKI_SECTION:
4294                            case SCAPE_NODE:
4295                            case TEXT_NODE:
4296                            case UNORDERED_LIST:
4297                            case UNFORMATTED_TEXT:
4298                            case WIKI:
4299                            case POUND:
4300                            case PIPE:
4301                            case EXTENSION:
4302                            case FORCED_LINEBREAK:
4303                            case NOWIKI_BLOCK_CLOSE:
4304                            case NOWIKI_CLOSE:
4305                            case LINK_CLOSE:
4306                            case IMAGE_CLOSE:
4307                            case TABLE_OF_CONTENTS_OPEN:
4308                            case TABLE_OF_CONTENTS_CLOSE:
4309                            case DASH:
4310                            case CR:
4311                            case LF:
4312                            case SPACE:
4313                            case TABULATOR:
4314                            case BRACE_CLOSE:
4315                            case COLON_SLASH:
4316                            case SLASH:
4317                            case INSIGNIFICANT_CHAR:
4318                            case 43:
4319                            case 44:
4320                            case 45:
4321                            case 46:
4322                            case 47:
4323                            case 48:
4324                            case 49:
4325                            case 50:
4326                            case 51:
4327                            case 52:
4328                            case 53:
4329                            case 54:
4330                            case 55:
4331                            case 56:
4332                            case 57:
4333                            case 58:
4334                            case 59:
4335                            case 60:
4336                            case 61:
4337                            case 62:
4338                            case 63:
4339                            case 64:
4340                            case 65:
4341                            case 66:
4342                            case 67:
4343                            case 68:
4344                            case 69:
4345                            case 70:
4346                            case 71:
4347                            case 72:
4348                            case 73:
4349                            case 74:
4350                            case 75:
4351                            case 76:
4352                            case 77:
4353                            case 78:
4354                            case 79:
4355                            case 80:
4356                            case 81:
4357                                {
4358                                alt53=1;
4359                                }
4360                                break;
4361                            case LINK_OPEN:
4362                                {
4363                                alt53=1;
4364                                }
4365                                break;
4366                            case IMAGE_OPEN:
4367                                {
4368                                alt53=1;
4369                                }
4370                                break;
4371                            case NOWIKI_OPEN:
4372                                {
4373                                alt53=1;
4374                                }
4375                                break;
4376    
4377                            }
4378    
4379                            switch (alt53) {
4380                            case 1 :
4381                                // Creole10.g:341:15: tb= heading_boldcontentpart onestar
4382                                {
4383                                pushFollow(FOLLOW_heading_boldcontentpart_in_heading_boldcontent1520);
4384                                tb=heading_boldcontentpart();
4385                                _fsp--;
4386                                if (failed) return items;
4387                                if ( backtracking==0 ) {
4388                                   items.add(tb); 
4389                                }
4390                                pushFollow(FOLLOW_onestar_in_heading_boldcontent1525);
4391                                onestar();
4392                                _fsp--;
4393                                if (failed) return items;
4394    
4395                                }
4396                                break;
4397    
4398                            default :
4399                                if ( cnt53 >= 1 ) break loop53;
4400                                if (backtracking>0) {failed=true; return items;}
4401                                    EarlyExitException eee =
4402                                        new EarlyExitException(53, input);
4403                                    throw eee;
4404                            }
4405                            cnt53++;
4406                        } while (true);
4407    
4408    
4409                        }
4410                        break;
4411                    case 2 :
4412                        // Creole10.g:342:4: EOF
4413                        {
4414                        match(input,EOF,FOLLOW_EOF_in_heading_boldcontent1533); if (failed) return items;
4415    
4416                        }
4417                        break;
4418    
4419                }
4420            }
4421            catch (RecognitionException re) {
4422                reportError(re);
4423                recover(input,re);
4424            }
4425            finally {
4426            }
4427            return items;
4428        }
4429        // $ANTLR end heading_boldcontent
4430    
4431    
4432        // $ANTLR start heading_italcontent
4433        // Creole10.g:344:1: heading_italcontent returns [CollectionNode items = new CollectionNode()] : ( onestar (ti= heading_italcontentpart onestar )+ | EOF );
4434        public final CollectionNode heading_italcontent() throws RecognitionException {
4435            CollectionNode items =  new CollectionNode();
4436    
4437            ASTNode ti = null;
4438    
4439    
4440            try {
4441                // Creole10.g:345:2: ( onestar (ti= heading_italcontentpart onestar )+ | EOF )
4442                int alt56=2;
4443                int LA56_0 = input.LA(1);
4444    
4445                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<=81)) ) {
4446                    alt56=1;
4447                }
4448                else if ( (LA56_0==EOF) ) {
4449                    alt56=2;
4450                }
4451                else {
4452                    if (backtracking>0) {failed=true; return items;}
4453                    NoViableAltException nvae =
4454                        new NoViableAltException("344:1: heading_italcontent returns [CollectionNode items = new CollectionNode()] : ( onestar (ti= heading_italcontentpart onestar )+ | EOF );", 56, 0, input);
4455    
4456                    throw nvae;
4457                }
4458                switch (alt56) {
4459                    case 1 :
4460                        // Creole10.g:345:4: onestar (ti= heading_italcontentpart onestar )+
4461                        {
4462                        pushFollow(FOLLOW_onestar_in_heading_italcontent1547);
4463                        onestar();
4464                        _fsp--;
4465                        if (failed) return items;
4466                        // Creole10.g:345:13: (ti= heading_italcontentpart onestar )+
4467                        int cnt55=0;
4468                        loop55:
4469                        do {
4470                            int alt55=2;
4471                            switch ( input.LA(1) ) {
4472                            case ITAL:
4473                                {
4474                                alt55=1;
4475                                }
4476                                break;
4477                            case STAR:
4478                                {
4479                                alt55=1;
4480                                }
4481                                break;
4482                            case BLANKS:
4483                                {
4484                                alt55=1;
4485                                }
4486                                break;
4487                            case FORCED_END_OF_LINE:
4488                            case HEADING_SECTION:
4489                            case HORIZONTAL_SECTION:
4490                            case LIST_ITEM:
4491                            case LIST_ITEM_PART:
4492                            case NOWIKI_SECTION:
4493                            case SCAPE_NODE:
4494                            case TEXT_NODE:
4495                            case UNORDERED_LIST:
4496                            case UNFORMATTED_TEXT:
4497                            case WIKI:
4498                            case POUND:
4499                            case PIPE:
4500                            case EXTENSION:
4501                            case FORCED_LINEBREAK:
4502                            case NOWIKI_BLOCK_CLOSE:
4503                            case NOWIKI_CLOSE:
4504                            case LINK_CLOSE:
4505                            case IMAGE_CLOSE:
4506                            case TABLE_OF_CONTENTS_OPEN:
4507                            case TABLE_OF_CONTENTS_CLOSE:
4508                            case DASH:
4509                            case CR:
4510                            case LF:
4511                            case SPACE:
4512                            case TABULATOR:
4513                            case BRACE_CLOSE:
4514                            case COLON_SLASH:
4515                            case SLASH:
4516                            case INSIGNIFICANT_CHAR:
4517                            case 43:
4518                            case 44:
4519                            case 45:
4520                            case 46:
4521                            case 47:
4522                            case 48:
4523                            case 49:
4524                            case 50:
4525                            case 51:
4526                            case 52:
4527                            case 53:
4528                            case 54:
4529                            case 55:
4530                            case 56:
4531                            case 57:
4532                            case 58:
4533                            case 59:
4534                            case 60:
4535                            case 61:
4536                            case 62:
4537                            case 63:
4538                            case 64:
4539                            case 65:
4540                            case 66:
4541                            case 67:
4542                            case 68:
4543                            case 69:
4544                            case 70:
4545                            case 71:
4546                            case 72:
4547                            case 73:
4548                            case 74:
4549                            case 75:
4550                            case 76:
4551                            case 77:
4552                            case 78:
4553                            case 79:
4554                            case 80:
4555                            case 81:
4556                                {
4557                                alt55=1;
4558                                }
4559                                break;
4560                            case LINK_OPEN:
4561                                {
4562                                alt55=1;
4563                                }
4564                                break;
4565                            case IMAGE_OPEN:
4566                                {
4567                                alt55=1;
4568                                }
4569                                break;
4570                            case NOWIKI_OPEN:
4571                                {
4572                                alt55=1;
4573                                }
4574                                break;
4575    
4576                            }
4577    
4578                            switch (alt55) {
4579                            case 1 :
4580                                // Creole10.g:345:15: ti= heading_italcontentpart onestar
4581                                {
4582                                pushFollow(FOLLOW_heading_italcontentpart_in_heading_italcontent1556);
4583                                ti=heading_italcontentpart();
4584                                _fsp--;
4585                                if (failed) return items;
4586                                if ( backtracking==0 ) {
4587                                   items.add(ti); 
4588                                }
4589                                pushFollow(FOLLOW_onestar_in_heading_italcontent1561);
4590                                onestar();
4591                                _fsp--;
4592                                if (failed) return items;
4593    
4594                                }
4595                                break;
4596    
4597                            default :
4598                                if ( cnt55 >= 1 ) break loop55;
4599                                if (backtracking>0) {failed=true; return items;}
4600                                    EarlyExitException eee =
4601                                        new EarlyExitException(55, input);
4602                                    throw eee;
4603                            }
4604                            cnt55++;
4605                        } while (true);
4606    
4607    
4608                        }
4609                        break;
4610                    case 2 :
4611                        // Creole10.g:346:4: EOF
4612                        {
4613                        match(input,EOF,FOLLOW_EOF_in_heading_italcontent1569); if (failed) return items;
4614    
4615                        }
4616                        break;
4617    
4618                }
4619            }
4620            catch (RecognitionException re) {
4621                reportError(re);
4622                recover(input,re);
4623            }
4624            finally {
4625            }
4626            return items;
4627        }
4628        // $ANTLR end heading_italcontent
4629    
4630    
4631        // $ANTLR start heading_boldcontentpart
4632        // Creole10.g:348:1: heading_boldcontentpart returns [ASTNode node = null] : (tf= heading_formattedcontent | ital_markup tb= heading_bolditalcontent ( ital_markup )? );
4633        public final ASTNode heading_boldcontentpart() throws RecognitionException {
4634            ASTNode node =  null;
4635    
4636            CollectionNode tf = null;
4637    
4638            CollectionNode tb = null;
4639    
4640    
4641            try {
4642                // Creole10.g:349:2: (tf= heading_formattedcontent | ital_markup tb= heading_bolditalcontent ( ital_markup )? )
4643                int alt58=2;
4644                int LA58_0 = input.LA(1);
4645    
4646                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<=81)) ) {
4647                    alt58=1;
4648                }
4649                else {
4650                    if (backtracking>0) {failed=true; return node;}
4651                    NoViableAltException nvae =
4652                        new NoViableAltException("348:1: heading_boldcontentpart returns [ASTNode node = null] : (tf= heading_formattedcontent | ital_markup tb= heading_bolditalcontent ( ital_markup )? );", 58, 0, input);
4653    
4654                    throw nvae;
4655                }
4656                switch (alt58) {
4657                    case 1 :
4658                        // Creole10.g:349:4: tf= heading_formattedcontent
4659                        {
4660                        pushFollow(FOLLOW_heading_formattedcontent_in_heading_boldcontentpart1587);
4661                        tf=heading_formattedcontent();
4662                        _fsp--;
4663                        if (failed) return node;
4664                        if ( backtracking==0 ) {
4665                          node = tf; 
4666                        }
4667    
4668                        }
4669                        break;
4670                    case 2 :
4671                        // Creole10.g:350:4: ital_markup tb= heading_bolditalcontent ( ital_markup )?
4672                        {
4673                        pushFollow(FOLLOW_ital_markup_in_heading_boldcontentpart1594);
4674                        ital_markup();
4675                        _fsp--;
4676                        if (failed) return node;
4677                        pushFollow(FOLLOW_heading_bolditalcontent_in_heading_boldcontentpart1601);
4678                        tb=heading_bolditalcontent();
4679                        _fsp--;
4680                        if (failed) return node;
4681                        if ( backtracking==0 ) {
4682                           node = new ItalicTextNode(tb);  
4683                        }
4684                        // Creole10.g:350:94: ( ital_markup )?
4685                        int alt57=2;
4686                        int LA57_0 = input.LA(1);
4687    
4688                        if ( (LA57_0==ITAL) ) {
4689                            alt57=1;
4690                        }
4691                        switch (alt57) {
4692                            case 1 :
4693                                // Creole10.g:350:96: ital_markup
4694                                {
4695                                pushFollow(FOLLOW_ital_markup_in_heading_boldcontentpart1608);
4696                                ital_markup();
4697                                _fsp--;
4698                                if (failed) return node;
4699    
4700                                }
4701                                break;
4702    
4703                        }
4704    
4705    
4706                        }
4707                        break;
4708    
4709                }
4710            }
4711            catch (RecognitionException re) {
4712                reportError(re);
4713                recover(input,re);
4714            }
4715            finally {
4716            }
4717            return node;
4718        }
4719        // $ANTLR end heading_boldcontentpart
4720    
4721    
4722        // $ANTLR start heading_italcontentpart
4723        // Creole10.g:352:1: heading_italcontentpart returns [ASTNode node = null] : ( bold_markup tb= heading_bolditalcontent ( bold_markup )? | tf= heading_formattedcontent );
4724        public final ASTNode heading_italcontentpart() throws RecognitionException {
4725            ASTNode node =  null;
4726    
4727            CollectionNode tb = null;
4728    
4729            CollectionNode tf = null;
4730    
4731    
4732            try {
4733                // Creole10.g:353:2: ( bold_markup tb= heading_bolditalcontent ( bold_markup )? | tf= heading_formattedcontent )
4734                int alt60=2;
4735                int LA60_0 = input.LA(1);
4736    
4737                if ( (LA60_0==STAR) ) {
4738                    int LA60_1 = input.LA(2);
4739    
4740                    if ( (LA60_1==STAR) ) {
4741                        alt60=1;
4742                    }
4743                    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<=81)) ) {
4744                        alt60=2;
4745                    }
4746                    else {
4747                        if (backtracking>0) {failed=true; return node;}
4748                        NoViableAltException nvae =
4749                            new NoViableAltException("352:1: heading_italcontentpart returns [ASTNode node = null] : ( bold_markup tb= heading_bolditalcontent ( bold_markup )? | tf= heading_formattedcontent );", 60, 1, input);
4750    
4751                        throw nvae;
4752                    }
4753                }
4754                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<=81)) ) {
4755                    alt60=2;
4756                }
4757                else {
4758                    if (backtracking>0) {failed=true; return node;}
4759                    NoViableAltException nvae =
4760                        new NoViableAltException("352:1: heading_italcontentpart returns [ASTNode node = null] : ( bold_markup tb= heading_bolditalcontent ( bold_markup )? | tf= heading_formattedcontent );", 60, 0, input);
4761    
4762                    throw nvae;
4763                }
4764                switch (alt60) {
4765                    case 1 :
4766                        // Creole10.g:353:4: bold_markup tb= heading_bolditalcontent ( bold_markup )?
4767                        {
4768                        pushFollow(FOLLOW_bold_markup_in_heading_italcontentpart1625);
4769                        bold_markup();
4770                        _fsp--;
4771                        if (failed) return node;
4772                        pushFollow(FOLLOW_heading_bolditalcontent_in_heading_italcontentpart1632);
4773                        tb=heading_bolditalcontent();
4774                        _fsp--;
4775                        if (failed) return node;
4776                        if ( backtracking==0 ) {
4777                          node = new BoldTextNode(tb); 
4778                        }
4779                        // Creole10.g:353:90: ( bold_markup )?
4780                        int alt59=2;
4781                        int LA59_0 = input.LA(1);
4782    
4783                        if ( (LA59_0==STAR) ) {
4784                            int LA59_1 = input.LA(2);
4785    
4786                            if ( (LA59_1==STAR) ) {
4787                                alt59=1;
4788                            }
4789                        }
4790                        switch (alt59) {
4791                            case 1 :
4792                                // Creole10.g:353:92: bold_markup
4793                                {
4794                                pushFollow(FOLLOW_bold_markup_in_heading_italcontentpart1639);
4795                                bold_markup();
4796                                _fsp--;
4797                                if (failed) return node;
4798    
4799                                }
4800                                break;
4801    
4802                        }
4803    
4804    
4805                        }
4806                        break;
4807                    case 2 :
4808                        // Creole10.g:354:4: tf= heading_formattedcontent
4809                        {
4810                        pushFollow(FOLLOW_heading_formattedcontent_in_heading_italcontentpart1651);
4811                        tf=heading_formattedcontent();
4812                        _fsp--;
4813                        if (failed) return node;
4814                        if ( backtracking==0 ) {
4815                           node = tf; 
4816                        }
4817    
4818                        }
4819                        break;
4820    
4821                }
4822            }
4823            catch (RecognitionException re) {
4824                reportError(re);
4825                recover(input,re);
4826            }
4827            finally {
4828            }
4829            return node;
4830        }
4831        // $ANTLR end heading_italcontentpart
4832    
4833    
4834        // $ANTLR start heading_bolditalcontent
4835        // Creole10.g:356:1: heading_bolditalcontent returns [CollectionNode elements = null] : ( onestar (tfc= heading_formattedcontent onestar )? | EOF );
4836        public final CollectionNode heading_bolditalcontent() throws RecognitionException {
4837            CollectionNode elements =  null;
4838    
4839            CollectionNode tfc = null;
4840    
4841    
4842            try {
4843                // Creole10.g:357:2: ( onestar (tfc= heading_formattedcontent onestar )? | EOF )
4844                int alt62=2;
4845                int LA62_0 = input.LA(1);
4846    
4847                if ( ((LA62_0>=FORCED_END_OF_LINE && LA62_0<=FORCED_LINEBREAK)||(LA62_0>=NOWIKI_BLOCK_CLOSE && LA62_0<=81)) ) {
4848                    alt62=1;
4849                }
4850                else if ( (LA62_0==EOF) ) {
4851                    alt62=1;
4852                }
4853                else {
4854                    if (backtracking>0) {failed=true; return elements;}
4855                    NoViableAltException nvae =
4856                        new NoViableAltException("356:1: heading_bolditalcontent returns [CollectionNode elements = null] : ( onestar (tfc= heading_formattedcontent onestar )? | EOF );", 62, 0, input);
4857    
4858                    throw nvae;
4859                }
4860                switch (alt62) {
4861                    case 1 :
4862                        // Creole10.g:357:4: onestar (tfc= heading_formattedcontent onestar )?
4863                        {
4864                        pushFollow(FOLLOW_onestar_in_heading_bolditalcontent1667);
4865                        onestar();
4866                        _fsp--;
4867                        if (failed) return elements;
4868                        // Creole10.g:357:13: (tfc= heading_formattedcontent onestar )?
4869                        int alt61=2;
4870                        switch ( input.LA(1) ) {
4871                            case ITAL:
4872                                {
4873                                alt61=1;
4874                                }
4875                                break;
4876                            case LINK_OPEN:
4877                                {
4878                                alt61=1;
4879                                }
4880                                break;
4881                            case IMAGE_OPEN:
4882                                {
4883                                alt61=1;
4884                                }
4885                                break;
4886                            case NOWIKI_OPEN:
4887                                {
4888                                alt61=1;
4889                                }
4890                                break;
4891                            case STAR:
4892                                {
4893                                alt61=1;
4894                                }
4895                                break;
4896                            case BLANKS:
4897                                {
4898                                alt61=1;
4899                                }
4900                                break;
4901                            case FORCED_END_OF_LINE:
4902                            case HEADING_SECTION:
4903                            case HORIZONTAL_SECTION:
4904                            case LIST_ITEM:
4905                            case LIST_ITEM_PART:
4906                            case NOWIKI_SECTION:
4907                            case SCAPE_NODE:
4908                            case TEXT_NODE:
4909                            case UNORDERED_LIST:
4910                            case UNFORMATTED_TEXT:
4911                            case WIKI:
4912                            case POUND:
4913                            case PIPE:
4914                            case EXTENSION:
4915                            case FORCED_LINEBREAK:
4916                            case NOWIKI_BLOCK_CLOSE:
4917                            case NOWIKI_CLOSE:
4918                            case LINK_CLOSE:
4919                            case IMAGE_CLOSE:
4920                            case TABLE_OF_CONTENTS_OPEN:
4921                            case TABLE_OF_CONTENTS_CLOSE:
4922                            case DASH:
4923                            case CR:
4924                            case LF:
4925                            case SPACE:
4926                            case TABULATOR:
4927                            case BRACE_CLOSE:
4928                            case COLON_SLASH:
4929                            case SLASH:
4930                            case INSIGNIFICANT_CHAR:
4931                            case 43:
4932                            case 44:
4933                            case 45:
4934                            case 46:
4935                            case 47:
4936                            case 48:
4937                            case 49:
4938                            case 50:
4939                            case 51:
4940                            case 52:
4941                            case 53:
4942                            case 54:
4943                            case 55:
4944                            case 56:
4945                            case 57:
4946                            case 58:
4947                            case 59:
4948                            case 60:
4949                            case 61:
4950                            case 62:
4951                            case 63:
4952                            case 64:
4953                            case 65:
4954                            case 66:
4955                            case 67:
4956                            case 68:
4957                            case 69:
4958                            case 70:
4959                            case 71:
4960                            case 72:
4961                            case 73:
4962                            case 74:
4963                            case 75:
4964                            case 76:
4965                            case 77:
4966                            case 78:
4967                            case 79:
4968                            case 80:
4969                            case 81:
4970                                {
4971                                alt61=1;
4972                                }
4973                                break;
4974                        }
4975    
4976                        switch (alt61) {
4977                            case 1 :
4978                                // Creole10.g:357:15: tfc= heading_formattedcontent onestar
4979                                {
4980                                pushFollow(FOLLOW_heading_formattedcontent_in_heading_bolditalcontent1676);
4981                                tfc=heading_formattedcontent();
4982                                _fsp--;
4983                                if (failed) return elements;
4984                                if ( backtracking==0 ) {
4985                                   elements = tfc; 
4986                                }
4987                                pushFollow(FOLLOW_onestar_in_heading_bolditalcontent1681);
4988                                onestar();
4989                                _fsp--;
4990                                if (failed) return elements;
4991    
4992                                }
4993                                break;
4994    
4995                        }
4996    
4997    
4998                        }
4999                        break;
5000                    case 2 :
5001                        // Creole10.g:358:4: EOF
5002                        {
5003                        match(input,EOF,FOLLOW_EOF_in_heading_bolditalcontent1689); if (failed) return elements;
5004    
5005                        }
5006                        break;
5007    
5008                }
5009            }
5010            catch (RecognitionException re) {
5011                reportError(re);
5012                recover(input,re);
5013            }
5014            finally {
5015            }
5016            return elements;
5017        }
5018        // $ANTLR end heading_bolditalcontent
5019    
5020    
5021        // $ANTLR start heading_formattedcontent
5022        // Creole10.g:360:1: heading_formattedcontent returns [CollectionNode elements = new CollectionNode()] : (tu= heading_unformattedelement )+ ;
5023        public final CollectionNode heading_formattedcontent() throws RecognitionException {
5024            CollectionNode elements =  new CollectionNode();
5025    
5026            ASTNode tu = null;
5027    
5028    
5029            try {
5030                // Creole10.g:361:2: ( (tu= heading_unformattedelement )+ )
5031                // Creole10.g:361:4: (tu= heading_unformattedelement )+
5032                {
5033                // Creole10.g:361:4: (tu= heading_unformattedelement )+
5034                int cnt63=0;
5035                loop63:
5036                do {
5037                    int alt63=2;
5038                    switch ( input.LA(1) ) {
5039                    case STAR:
5040                        {
5041                        alt63=1;
5042                        }
5043                        break;
5044                    case BLANKS:
5045                        {
5046                        alt63=1;
5047                        }
5048                        break;
5049                    case ITAL:
5050                        {
5051                        alt63=1;
5052                        }
5053                        break;
5054                    case FORCED_END_OF_LINE:
5055                    case HEADING_SECTION:
5056                    case HORIZONTAL_SECTION:
5057                    case LIST_ITEM:
5058                    case LIST_ITEM_PART:
5059                    case NOWIKI_SECTION:
5060                    case SCAPE_NODE:
5061                    case TEXT_NODE:
5062                    case UNORDERED_LIST:
5063                    case UNFORMATTED_TEXT:
5064                    case WIKI:
5065                    case POUND:
5066                    case PIPE:
5067                    case EXTENSION:
5068                    case FORCED_LINEBREAK:
5069                    case NOWIKI_BLOCK_CLOSE:
5070                    case NOWIKI_CLOSE:
5071                    case LINK_CLOSE:
5072                    case IMAGE_CLOSE:
5073                    case TABLE_OF_CONTENTS_OPEN:
5074                    case TABLE_OF_CONTENTS_CLOSE:
5075                    case DASH:
5076                    case CR:
5077                    case LF:
5078                    case SPACE:
5079                    case TABULATOR:
5080                    case BRACE_CLOSE:
5081                    case COLON_SLASH:
5082                    case SLASH:
5083                    case INSIGNIFICANT_CHAR:
5084                    case 43:
5085                    case 44:
5086                    case 45:
5087                    case 46:
5088                    case 47:
5089                    case 48:
5090                    case 49:
5091                    case 50:
5092                    case 51:
5093                    case 52:
5094                    case 53:
5095                    case 54:
5096                    case 55:
5097                    case 56:
5098                    case 57:
5099                    case 58:
5100                    case 59:
5101                    case 60:
5102                    case 61:
5103                    case 62:
5104                    case 63:
5105                    case 64:
5106                    case 65:
5107                    case 66:
5108                    case 67:
5109                    case 68:
5110                    case 69:
5111                    case 70:
5112                    case 71:
5113                    case 72:
5114                    case 73:
5115                    case 74:
5116                    case 75:
5117                    case 76:
5118                    case 77:
5119                    case 78:
5120                    case 79:
5121                    case 80:
5122                    case 81:
5123                        {
5124                        alt63=1;
5125                        }
5126                        break;
5127                    case LINK_OPEN:
5128                        {
5129                        alt63=1;
5130                        }
5131                        break;
5132                    case IMAGE_OPEN:
5133                        {
5134                        alt63=1;
5135                        }
5136                        break;
5137                    case NOWIKI_OPEN:
5138                        {
5139                        alt63=1;
5140                        }
5141                        break;
5142    
5143                    }
5144    
5145                    switch (alt63) {
5146                    case 1 :
5147                        // Creole10.g:361:6: tu= heading_unformattedelement
5148                        {
5149                        pushFollow(FOLLOW_heading_unformattedelement_in_heading_formattedcontent1709);
5150                        tu=heading_unformattedelement();
5151                        _fsp--;
5152                        if (failed) return elements;
5153                        if ( backtracking==0 ) {
5154                           elements.add(tu); 
5155                        }
5156    
5157                        }
5158                        break;
5159    
5160                    default :
5161                        if ( cnt63 >= 1 ) break loop63;
5162                        if (backtracking>0) {failed=true; return elements;}
5163                            EarlyExitException eee =
5164                                new EarlyExitException(63, input);
5165                            throw eee;
5166                    }
5167                    cnt63++;
5168                } while (true);
5169    
5170    
5171                }
5172    
5173            }
5174            catch (RecognitionException re) {
5175                reportError(re);
5176                recover(input,re);
5177            }
5178            finally {
5179            }
5180            return elements;
5181        }
5182        // $ANTLR end heading_formattedcontent
5183    
5184    
5185        // $ANTLR start heading_unformattedelement
5186        // Creole10.g:363:1: heading_unformattedelement returns [ASTNode content = null] : (tu= heading_unformatted_text | ti= heading_inlineelement );
5187        public final ASTNode heading_unformattedelement() throws RecognitionException {
5188            ASTNode content =  null;
5189    
5190            StringBundler tu = null;
5191    
5192            ASTNode ti = null;
5193    
5194    
5195            try {
5196                // Creole10.g:364:2: (tu= heading_unformatted_text | ti= heading_inlineelement )
5197                int alt64=2;
5198                int LA64_0 = input.LA(1);
5199    
5200                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<=81)) ) {
5201                    alt64=1;
5202                }
5203                else if ( ((LA64_0>=LINK_OPEN && LA64_0<=NOWIKI_OPEN)) ) {
5204                    alt64=2;
5205                }
5206                else {
5207                    if (backtracking>0) {failed=true; return content;}
5208                    NoViableAltException nvae =
5209                        new NoViableAltException("363:1: heading_unformattedelement returns [ASTNode content = null] : (tu= heading_unformatted_text | ti= heading_inlineelement );", 64, 0, input);
5210    
5211                    throw nvae;
5212                }
5213                switch (alt64) {
5214                    case 1 :
5215                        // Creole10.g:364:4: tu= heading_unformatted_text
5216                        {
5217                        pushFollow(FOLLOW_heading_unformatted_text_in_heading_unformattedelement1732);
5218                        tu=heading_unformatted_text();
5219                        _fsp--;
5220                        if (failed) return content;
5221                        if ( backtracking==0 ) {
5222                          content = new UnformattedTextNode(tu.toString());
5223                        }
5224    
5225                        }
5226                        break;
5227                    case 2 :
5228                        // Creole10.g:365:4: ti= heading_inlineelement
5229                        {
5230                        pushFollow(FOLLOW_heading_inlineelement_in_heading_unformattedelement1744);
5231                        ti=heading_inlineelement();
5232                        _fsp--;
5233                        if (failed) return content;
5234                        if ( backtracking==0 ) {
5235                          content = ti;
5236                        }
5237    
5238                        }
5239                        break;
5240    
5241                }
5242            }
5243            catch (RecognitionException re) {
5244                reportError(re);
5245                recover(input,re);
5246            }
5247            finally {
5248            }
5249            return content;
5250        }
5251        // $ANTLR end heading_unformattedelement
5252    
5253    
5254        // $ANTLR start heading_inlineelement
5255        // Creole10.g:367:1: heading_inlineelement returns [ASTNode element = null] : (l= link | i= image | nwi= nowiki_inline );
5256        public final ASTNode heading_inlineelement() throws RecognitionException {
5257            ASTNode element =  null;
5258    
5259            LinkNode l = null;
5260    
5261            ImageNode i = null;
5262    
5263            NoWikiSectionNode nwi = null;
5264    
5265    
5266            try {
5267                // Creole10.g:368:2: (l= link | i= image | nwi= nowiki_inline )
5268                int alt65=3;
5269                switch ( input.LA(1) ) {
5270                case LINK_OPEN:
5271                    {
5272                    alt65=1;
5273                    }
5274                    break;
5275                case IMAGE_OPEN:
5276                    {
5277                    alt65=2;
5278                    }
5279                    break;
5280                case NOWIKI_OPEN:
5281                    {
5282                    alt65=3;
5283                    }
5284                    break;
5285                default:
5286                    if (backtracking>0) {failed=true; return element;}
5287                    NoViableAltException nvae =
5288                        new NoViableAltException("367:1: heading_inlineelement returns [ASTNode element = null] : (l= link | i= image | nwi= nowiki_inline );", 65, 0, input);
5289    
5290                    throw nvae;
5291                }
5292    
5293                switch (alt65) {
5294                    case 1 :
5295                        // Creole10.g:368:4: l= link
5296                        {
5297                        pushFollow(FOLLOW_link_in_heading_inlineelement1764);
5298                        l=link();
5299                        _fsp--;
5300                        if (failed) return element;
5301                        if ( backtracking==0 ) {
5302                          element = l; 
5303                        }
5304    
5305                        }
5306                        break;
5307                    case 2 :
5308                        // Creole10.g:369:4: i= image
5309                        {
5310                        pushFollow(FOLLOW_image_in_heading_inlineelement1774);
5311                        i=image();
5312                        _fsp--;
5313                        if (failed) return element;
5314                        if ( backtracking==0 ) {
5315                          element = i; 
5316                        }
5317    
5318                        }
5319                        break;
5320                    case 3 :
5321                        // Creole10.g:370:4: nwi= nowiki_inline
5322                        {
5323                        pushFollow(FOLLOW_nowiki_inline_in_heading_inlineelement1785);
5324                        nwi=nowiki_inline();
5325                        _fsp--;
5326                        if (failed) return element;
5327                        if ( backtracking==0 ) {
5328                          element = nwi; 
5329                        }
5330    
5331                        }
5332                        break;
5333    
5334                }
5335            }
5336            catch (RecognitionException re) {
5337                reportError(re);
5338                recover(input,re);
5339            }
5340            finally {
5341            }
5342            return element;
5343        }
5344        // $ANTLR end heading_inlineelement
5345    
5346    
5347        // $ANTLR start heading_unformatted_text
5348        // Creole10.g:373:1: heading_unformatted_text returns [StringBundler text = new StringBundler()] : (c=~ ( LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EQUAL | ESCAPE | NEWLINE | EOF ) )+ ;
5349        public final StringBundler heading_unformatted_text() throws RecognitionException {
5350            StringBundler text =  new StringBundler();
5351    
5352            Token c=null;
5353    
5354            try {
5355                // Creole10.g:374:2: ( (c=~ ( LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EQUAL | ESCAPE | NEWLINE | EOF ) )+ )
5356                // Creole10.g:374:4: (c=~ ( LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EQUAL | ESCAPE | NEWLINE | EOF ) )+
5357                {
5358                // Creole10.g:374:4: (c=~ ( LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EQUAL | ESCAPE | NEWLINE | EOF ) )+
5359                int cnt66=0;
5360                loop66:
5361                do {
5362                    int alt66=2;
5363                    switch ( input.LA(1) ) {
5364                    case STAR:
5365                        {
5366                        alt66=1;
5367                        }
5368                        break;
5369                    case BLANKS:
5370                        {
5371                        alt66=1;
5372                        }
5373                        break;
5374                    case ITAL:
5375                        {
5376                        alt66=1;
5377                        }
5378                        break;
5379                    case FORCED_END_OF_LINE:
5380                    case HEADING_SECTION:
5381                    case HORIZONTAL_SECTION:
5382                    case LIST_ITEM:
5383                    case LIST_ITEM_PART:
5384                    case NOWIKI_SECTION:
5385                    case SCAPE_NODE:
5386                    case TEXT_NODE:
5387                    case UNORDERED_LIST:
5388                    case UNFORMATTED_TEXT:
5389                    case WIKI:
5390                    case POUND:
5391                    case PIPE:
5392                    case EXTENSION:
5393                    case FORCED_LINEBREAK:
5394                    case NOWIKI_BLOCK_CLOSE:
5395                    case NOWIKI_CLOSE:
5396                    case LINK_CLOSE:
5397                    case IMAGE_CLOSE:
5398                    case TABLE_OF_CONTENTS_OPEN:
5399                    case TABLE_OF_CONTENTS_CLOSE:
5400                    case DASH:
5401                    case CR:
5402                    case LF:
5403                    case SPACE:
5404                    case TABULATOR:
5405                    case BRACE_CLOSE:
5406                    case COLON_SLASH:
5407                    case SLASH:
5408                    case INSIGNIFICANT_CHAR:
5409                    case 43:
5410                    case 44:
5411                    case 45:
5412                    case 46:
5413                    case 47:
5414                    case 48:
5415                    case 49:
5416                    case 50:
5417                    case 51:
5418                    case 52:
5419                    case 53:
5420                    case 54:
5421                    case 55:
5422                    case 56:
5423                    case 57:
5424                    case 58:
5425                    case 59:
5426                    case 60:
5427                    case 61:
5428                    case 62:
5429                    case 63:
5430                    case 64:
5431                    case 65:
5432                    case 66:
5433                    case 67:
5434                    case 68:
5435                    case 69:
5436                    case 70:
5437                    case 71:
5438                    case 72:
5439                    case 73:
5440                    case 74:
5441                    case 75:
5442                    case 76:
5443                    case 77:
5444                    case 78:
5445                    case 79:
5446                    case 80:
5447                    case 81:
5448                        {
5449                        alt66=1;
5450                        }
5451                        break;
5452    
5453                    }
5454    
5455                    switch (alt66) {
5456                    case 1 :
5457                        // Creole10.g:374:6: c=~ ( LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EQUAL | ESCAPE | NEWLINE | EOF )
5458                        {
5459                        c=(Token)input.LT(1);
5460                        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)<=81) ) {
5461                            input.consume();
5462                            errorRecovery=false;failed=false;
5463                        }
5464                        else {
5465                            if (backtracking>0) {failed=true; return text;}
5466                            MismatchedSetException mse =
5467                                new MismatchedSetException(null,input);
5468                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_heading_unformatted_text1808);    throw mse;
5469                        }
5470    
5471                        if ( backtracking==0 ) {
5472                          text.append(c.getText());
5473                        }
5474    
5475                        }
5476                        break;
5477    
5478                    default :
5479                        if ( cnt66 >= 1 ) break loop66;
5480                        if (backtracking>0) {failed=true; return text;}
5481                            EarlyExitException eee =
5482                                new EarlyExitException(66, input);
5483                            throw eee;
5484                    }
5485                    cnt66++;
5486                } while (true);
5487    
5488    
5489                }
5490    
5491            }
5492            catch (RecognitionException re) {
5493                reportError(re);
5494                recover(input,re);
5495            }
5496            finally {
5497            }
5498            return text;
5499        }
5500        // $ANTLR end heading_unformatted_text
5501    
5502        protected static class list_scope {
5503            BaseListNode currentParent;
5504            ListNode root;
5505            Stack<ItemNode> parents;
5506            int lastLevel = 1;
5507        }
5508        protected Stack list_stack = new Stack();
5509    
5510    
5511        // $ANTLR start list
5512        // Creole10.g:380:1: list returns [ListNode listNode = null] : (elem= list_elems )+ ( end_of_list )? ;
5513        public final ListNode list() throws RecognitionException {
5514            list_stack.push(new list_scope());
5515            ListNode listNode =  null;
5516    
5517    
5518                            ((list_scope)list_stack.peek()).root = new ListNode();
5519    
5520                            if (input.LA(1) == POUND) {
5521                                    ((list_scope)list_stack.peek()).currentParent = new OrderedListNode(((list_scope)list_stack.peek()).root);
5522                            }
5523                            else {
5524                                    ((list_scope)list_stack.peek()).currentParent = new UnorderedListNode(((list_scope)list_stack.peek()).root);
5525                            }
5526    
5527                            ((list_scope)list_stack.peek()).root.addChildASTNode(((list_scope)list_stack.peek()).currentParent);
5528    
5529                            ((list_scope)list_stack.peek()).parents = new Stack<ItemNode>();
5530                    
5531            try {
5532                // Creole10.g:404:2: ( (elem= list_elems )+ ( end_of_list )? )
5533                // Creole10.g:404:4: (elem= list_elems )+ ( end_of_list )?
5534                {
5535                // Creole10.g:404:4: (elem= list_elems )+
5536                int cnt67=0;
5537                loop67:
5538                do {
5539                    int alt67=2;
5540                    int LA67_0 = input.LA(1);
5541    
5542                    if ( (LA67_0==POUND) ) {
5543                        alt67=1;
5544                    }
5545                    else if ( (LA67_0==STAR) ) {
5546                        alt67=1;
5547                    }
5548    
5549    
5550                    switch (alt67) {
5551                    case 1 :
5552                        // Creole10.g:404:6: elem= list_elems
5553                        {
5554                        pushFollow(FOLLOW_list_elems_in_list1882);
5555                        list_elems();
5556                        _fsp--;
5557                        if (failed) return listNode;
5558    
5559                        }
5560                        break;
5561    
5562                    default :
5563                        if ( cnt67 >= 1 ) break loop67;
5564                        if (backtracking>0) {failed=true; return listNode;}
5565                            EarlyExitException eee =
5566                                new EarlyExitException(67, input);
5567                            throw eee;
5568                    }
5569                    cnt67++;
5570                } while (true);
5571    
5572                // Creole10.g:404:28: ( end_of_list )?
5573                int alt68=2;
5574                int LA68_0 = input.LA(1);
5575    
5576                if ( (LA68_0==NEWLINE) ) {
5577                    alt68=1;
5578                }
5579                else if ( (LA68_0==EOF) ) {
5580                    alt68=1;
5581                }
5582                switch (alt68) {
5583                    case 1 :
5584                        // Creole10.g:404:30: end_of_list
5585                        {
5586                        pushFollow(FOLLOW_end_of_list_in_list1890);
5587                        end_of_list();
5588                        _fsp--;
5589                        if (failed) return listNode;
5590    
5591                        }
5592                        break;
5593    
5594                }
5595    
5596    
5597                }
5598    
5599                if ( backtracking==0 ) {
5600    
5601                            listNode = ((list_scope)list_stack.peek()).root;
5602                    
5603                }
5604            }
5605            catch (RecognitionException re) {
5606                reportError(re);
5607                recover(input,re);
5608            }
5609            finally {
5610                list_stack.pop();
5611            }
5612            return listNode;
5613        }
5614        // $ANTLR end list
5615    
5616    
5617        // $ANTLR start list_elems
5618        // Creole10.g:407:1: list_elems : (om= list_ordelem_markup elem= list_elem | um= list_unordelem_markup elem= list_elem );
5619        public final void list_elems() throws RecognitionException {
5620            CountLevel_stack.push(new CountLevel_scope());
5621    
5622            list_ordelem_markup_return om = null;
5623    
5624            CollectionNode elem = null;
5625    
5626            list_unordelem_markup_return um = null;
5627    
5628    
5629    
5630                            ((CountLevel_scope)CountLevel_stack.peek()).level = 0;
5631                    
5632            try {
5633                // Creole10.g:412:2: (om= list_ordelem_markup elem= list_elem | um= list_unordelem_markup elem= list_elem )
5634                int alt69=2;
5635                int LA69_0 = input.LA(1);
5636    
5637                if ( (LA69_0==POUND) ) {
5638                    alt69=1;
5639                }
5640                else if ( (LA69_0==STAR) ) {
5641                    alt69=2;
5642                }
5643                else {
5644                    if (backtracking>0) {failed=true; return ;}
5645                    NoViableAltException nvae =
5646                        new NoViableAltException("407:1: list_elems : (om= list_ordelem_markup elem= list_elem | um= list_unordelem_markup elem= list_elem );", 69, 0, input);
5647    
5648                    throw nvae;
5649                }
5650                switch (alt69) {
5651                    case 1 :
5652                        // Creole10.g:412:4: om= list_ordelem_markup elem= list_elem
5653                        {
5654                        pushFollow(FOLLOW_list_ordelem_markup_in_list_elems1920);
5655                        om=list_ordelem_markup();
5656                        _fsp--;
5657                        if (failed) return ;
5658                        if ( backtracking==0 ) {
5659                          ++((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);
5660                        }
5661                        pushFollow(FOLLOW_list_elem_in_list_elems1932);
5662                        elem=list_elem();
5663                        _fsp--;
5664                        if (failed) return ;
5665                        if ( backtracking==0 ) {
5666                            
5667    
5668                                                            Stack<ItemNode> parents = ((list_scope)list_stack.peek()).parents;
5669    
5670                                                            ItemNode top = parents.isEmpty()?null:parents.peek();
5671    
5672                                                            BaseParentableNode baseParentableNode = ((list_scope)list_stack.peek()).currentParent;
5673    
5674                                                            if (top == null) {
5675                                                                    OrderedListItemNode node = new OrderedListItemNode(((CountLevel_scope)CountLevel_stack.peek()).level, baseParentableNode, elem);
5676                                                                    baseParentableNode.addChildASTNode(node);
5677    
5678                                                                    parents.push(node);
5679    
5680                                                            }
5681                                                            else if (((CountLevel_scope)CountLevel_stack.peek()).level > ((list_scope)list_stack.peek()).lastLevel) {          
5682                                                                    OrderedListNode orderedListNode = new OrderedListNode(top);
5683    
5684                                                                    OrderedListItemNode node = new OrderedListItemNode(((CountLevel_scope)CountLevel_stack.peek()).level, orderedListNode, elem);
5685                                                                    orderedListNode.addChildASTNode(node);
5686    
5687                                                                    top.addChildASTNode(orderedListNode);
5688    
5689                                                                    parents.push(node);
5690                                                            } 
5691                                                            else if (((CountLevel_scope)CountLevel_stack.peek()).level < ((list_scope)list_stack.peek()).lastLevel) {
5692                                                                    ItemNode in = parents.peek();
5693    
5694                                                                    while (in.getLevel() > ((CountLevel_scope)CountLevel_stack.peek()).level) {
5695                                                                            in = parents.pop();
5696                                                                            --((list_scope)list_stack.peek()).lastLevel;
5697                                                                    }
5698    
5699                                                                    top = in;
5700    
5701                                                                    baseParentableNode = top.getBaseParentableNode();
5702    
5703                                                                    OrderedListItemNode node = new OrderedListItemNode(((CountLevel_scope)CountLevel_stack.peek()).level, baseParentableNode, elem);
5704    
5705                                                                    if (baseParentableNode instanceof UnorderedListItemNode) {
5706                                                                            buildAndComposeListNode(baseParentableNode, node, true);
5707                                                                    }
5708                                                                    else if (baseParentableNode instanceof UnorderedListNode) {
5709                                                                            baseParentableNode = ((UnorderedListNode)baseParentableNode).getBaseParentableNode();
5710    
5711                                                                            buildAndComposeListNode(baseParentableNode, node, true);
5712                                                                    }
5713                                                                    else if (baseParentableNode instanceof OrderedListNode && top instanceof UnorderedListItemNode) {
5714                                                                            baseParentableNode = ((OrderedListNode)baseParentableNode).getBaseParentableNode();
5715    
5716                                                                            buildAndComposeListNode(baseParentableNode, node, true);
5717                                                                    }
5718                                                                    else {
5719                                                                            baseParentableNode.addChildASTNode(node);
5720                                                                    }
5721    
5722                                                                    parents.push(node);
5723    
5724                                                            }
5725                                                            else {
5726                                                                    baseParentableNode = top.getBaseParentableNode();
5727    
5728                                                                    OrderedListItemNode node = new OrderedListItemNode(((CountLevel_scope)CountLevel_stack.peek()).level, baseParentableNode, elem);
5729    
5730                                                                    if (baseParentableNode instanceof UnorderedListItemNode) {
5731                                                                            buildAndComposeListNode(baseParentableNode, node, true);
5732                                                                    } 
5733                                                                    else if (baseParentableNode instanceof UnorderedListNode) {
5734                                                                            baseParentableNode = ((UnorderedListNode)baseParentableNode).getBaseParentableNode();
5735    
5736                                                                            buildAndComposeListNode(baseParentableNode, node, true);
5737                                                                    } 
5738                                                                    else if (baseParentableNode instanceof OrderedListNode && top instanceof UnorderedListItemNode) {
5739                                                                            baseParentableNode = ((OrderedListNode)baseParentableNode).getBaseParentableNode();
5740    
5741                                                                            buildAndComposeListNode(baseParentableNode, node, true);
5742                                                                    } 
5743                                                                    else {
5744                                                                            baseParentableNode.addChildASTNode(node);
5745                                                                    }
5746    
5747                                                                    parents.pop();
5748                                                                    parents.push(node);
5749                                                            }
5750    
5751                                                            ((list_scope)list_stack.peek()).lastLevel = ((CountLevel_scope)CountLevel_stack.peek()).level;
5752                                                    
5753                        }
5754    
5755                        }
5756                        break;
5757                    case 2 :
5758                        // Creole10.g:500:4: um= list_unordelem_markup elem= list_elem
5759                        {
5760                        pushFollow(FOLLOW_list_unordelem_markup_in_list_elems1943);
5761                        um=list_unordelem_markup();
5762                        _fsp--;
5763                        if (failed) return ;
5764                        if ( backtracking==0 ) {
5765                          ++((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);
5766                        }
5767                        pushFollow(FOLLOW_list_elem_in_list_elems1955);
5768                        elem=list_elem();
5769                        _fsp--;
5770                        if (failed) return ;
5771                        if ( backtracking==0 ) {
5772    
5773    
5774                                                            Stack<ItemNode> parents = ((list_scope)list_stack.peek()).parents;
5775    
5776                                                            ItemNode top = parents.isEmpty()?null:parents.peek();
5777    
5778                                                            BaseParentableNode baseParentableNode = ((list_scope)list_stack.peek()).currentParent;
5779    
5780                                                            if (top == null) {
5781                                                                    UnorderedListItemNode node = new UnorderedListItemNode(((CountLevel_scope)CountLevel_stack.peek()).level, baseParentableNode, elem);
5782                                                                    baseParentableNode.addChildASTNode(node);
5783    
5784                                                                    parents.push(node);
5785    
5786                                                            } 
5787                                                            else if (((CountLevel_scope)CountLevel_stack.peek()).level > ((list_scope)list_stack.peek()).lastLevel) {
5788                                                                    UnorderedListNode unorderedListNode = new UnorderedListNode(top);
5789    
5790                                                                    UnorderedListItemNode node = new UnorderedListItemNode(((CountLevel_scope)CountLevel_stack.peek()).level, unorderedListNode, elem);
5791                                                                    unorderedListNode.addChildASTNode(node);
5792    
5793                                                                    top.addChildASTNode(unorderedListNode);
5794    
5795                                                                    parents.push(node);
5796    
5797                                                            } 
5798                                                            else if (((CountLevel_scope)CountLevel_stack.peek()).level < ((list_scope)list_stack.peek()).lastLevel) {
5799                                                                    ItemNode in = parents.peek();
5800    
5801                                                                    while (in.getLevel() > ((CountLevel_scope)CountLevel_stack.peek()).level) {
5802                                                                            in = parents.pop();
5803                                                                            --((list_scope)list_stack.peek()).lastLevel;
5804                                                                    }
5805    
5806                                                                    top = in;
5807    
5808                                                                    baseParentableNode = top.getBaseParentableNode();
5809    
5810                                                                    UnorderedListItemNode node = new UnorderedListItemNode(((CountLevel_scope)CountLevel_stack.peek()).level, baseParentableNode, elem);
5811    
5812                                                                    if (baseParentableNode instanceof OrderedListItemNode) {
5813                                                                            buildAndComposeListNode(baseParentableNode, node, false);
5814                                                                    } 
5815                                                                    else if (baseParentableNode instanceof OrderedListNode) {
5816                                                                            baseParentableNode = ((OrderedListNode)baseParentableNode).getBaseParentableNode();
5817    
5818                                                                            buildAndComposeListNode(baseParentableNode, node, false);
5819                                                                    }
5820                                                                    else if (baseParentableNode instanceof UnorderedListNode && top instanceof OrderedListItemNode) {
5821                                                                            baseParentableNode = ((UnorderedListNode)baseParentableNode).getBaseParentableNode();
5822    
5823                                                                            buildAndComposeListNode(baseParentableNode, node, false);
5824                                                                    } 
5825                                                                    else {
5826                                                                            baseParentableNode.addChildASTNode(node);
5827                                                                    }
5828    
5829                                                                    parents.push(node);
5830    
5831                                                            } 
5832                                                            else {
5833                                                                    baseParentableNode = top.getBaseParentableNode();
5834    
5835                                                                    UnorderedListItemNode node = new UnorderedListItemNode(((CountLevel_scope)CountLevel_stack.peek()).level, baseParentableNode, elem);
5836    
5837                                                                    if (baseParentableNode instanceof OrderedListItemNode) {
5838                                                                            buildAndComposeListNode(baseParentableNode, node, false);
5839                                                                    } 
5840                                                                    else if (baseParentableNode instanceof OrderedListNode ) {
5841                                                                            baseParentableNode = ((OrderedListNode)baseParentableNode).getBaseParentableNode();
5842    
5843                                                                            buildAndComposeListNode(baseParentableNode, node, false);
5844                                                                    } 
5845                                                                    else if (baseParentableNode instanceof UnorderedListNode && top instanceof OrderedListItemNode) {
5846                                                                            baseParentableNode = ((UnorderedListNode)baseParentableNode).getBaseParentableNode();
5847    
5848                                                                            buildAndComposeListNode(baseParentableNode, node, false);
5849                                                                    } 
5850                                                                    else {
5851                                                                            baseParentableNode.addChildASTNode(node);
5852                                                                    }
5853    
5854                                                                    parents.pop();
5855                                                                    parents.push(node);
5856                                                            }
5857    
5858                                                            ((list_scope)list_stack.peek()).lastLevel = ((CountLevel_scope)CountLevel_stack.peek()).level;
5859                                                    
5860                        }
5861    
5862                        }
5863                        break;
5864    
5865                }
5866            }
5867            catch (RecognitionException re) {
5868                reportError(re);
5869                recover(input,re);
5870            }
5871            finally {
5872                CountLevel_stack.pop();
5873    
5874            }
5875            return ;
5876        }
5877        // $ANTLR end list_elems
5878    
5879    
5880        // $ANTLR start list_elem
5881        // Creole10.g:590:1: list_elem returns [CollectionNode items = null] : (m= list_elem_markup )* c= list_elemcontent list_elemseparator ;
5882        public final CollectionNode list_elem() throws RecognitionException {
5883            CollectionNode items =  null;
5884    
5885            list_elem_markup_return m = null;
5886    
5887            CollectionNode c = null;
5888    
5889    
5890            try {
5891                // Creole10.g:591:2: ( (m= list_elem_markup )* c= list_elemcontent list_elemseparator )
5892                // Creole10.g:591:4: (m= list_elem_markup )* c= list_elemcontent list_elemseparator
5893                {
5894                // Creole10.g:591:4: (m= list_elem_markup )*
5895                loop70:
5896                do {
5897                    int alt70=2;
5898                    int LA70_0 = input.LA(1);
5899    
5900                    if ( (LA70_0==STAR) ) {
5901                        alt70=1;
5902                    }
5903                    else if ( (LA70_0==POUND) ) {
5904                        alt70=1;
5905                    }
5906    
5907    
5908                    switch (alt70) {
5909                    case 1 :
5910                        // Creole10.g:591:6: m= list_elem_markup
5911                        {
5912                        pushFollow(FOLLOW_list_elem_markup_in_list_elem1978);
5913                        m=list_elem_markup();
5914                        _fsp--;
5915                        if (failed) return items;
5916                        if ( backtracking==0 ) {
5917    
5918                                                         ++((CountLevel_scope)CountLevel_stack.peek()).level;
5919                                                         if (!input.toString(m.start,m.stop).equals(((CountLevel_scope)CountLevel_stack.peek()).currentMarkup)) {
5920                                                                            ((CountLevel_scope)CountLevel_stack.peek()).groups+= GROUPING_SEPARATOR;
5921                                                         }
5922                                                         ((CountLevel_scope)CountLevel_stack.peek()).groups+= input.toString(m.start,m.stop);
5923                                                         ((CountLevel_scope)CountLevel_stack.peek()).currentMarkup = input.toString(m.start,m.stop);
5924                                                      
5925                        }
5926    
5927                        }
5928                        break;
5929    
5930                    default :
5931                        break loop70;
5932                    }
5933                } while (true);
5934    
5935                pushFollow(FOLLOW_list_elemcontent_in_list_elem1989);
5936                c=list_elemcontent();
5937                _fsp--;
5938                if (failed) return items;
5939                if ( backtracking==0 ) {
5940                  items = c; 
5941                }
5942                pushFollow(FOLLOW_list_elemseparator_in_list_elem1994);
5943                list_elemseparator();
5944                _fsp--;
5945                if (failed) return items;
5946    
5947                }
5948    
5949            }
5950            catch (RecognitionException re) {
5951                reportError(re);
5952                recover(input,re);
5953            }
5954            finally {
5955            }
5956            return items;
5957        }
5958        // $ANTLR end list_elem
5959    
5960        public static class list_elem_markup_return extends ParserRuleReturnScope {
5961        };
5962    
5963        // $ANTLR start list_elem_markup
5964        // Creole10.g:600:1: list_elem_markup : ( list_ordelem_markup | list_unordelem_markup );
5965        public final list_elem_markup_return list_elem_markup() throws RecognitionException {
5966            list_elem_markup_return retval = new list_elem_markup_return();
5967            retval.start = input.LT(1);
5968    
5969            try {
5970                // Creole10.g:601:2: ( list_ordelem_markup | list_unordelem_markup )
5971                int alt71=2;
5972                int LA71_0 = input.LA(1);
5973    
5974                if ( (LA71_0==POUND) ) {
5975                    alt71=1;
5976                }
5977                else if ( (LA71_0==STAR) ) {
5978                    alt71=2;
5979                }
5980                else {
5981                    if (backtracking>0) {failed=true; return retval;}
5982                    NoViableAltException nvae =
5983                        new NoViableAltException("600:1: list_elem_markup : ( list_ordelem_markup | list_unordelem_markup );", 71, 0, input);
5984    
5985                    throw nvae;
5986                }
5987                switch (alt71) {
5988                    case 1 :
5989                        // Creole10.g:601:4: list_ordelem_markup
5990                        {
5991                        pushFollow(FOLLOW_list_ordelem_markup_in_list_elem_markup2004);
5992                        list_ordelem_markup();
5993                        _fsp--;
5994                        if (failed) return retval;
5995    
5996                        }
5997                        break;
5998                    case 2 :
5999                        // Creole10.g:602:4: list_unordelem_markup
6000                        {
6001                        pushFollow(FOLLOW_list_unordelem_markup_in_list_elem_markup2009);
6002                        list_unordelem_markup();
6003                        _fsp--;
6004                        if (failed) return retval;
6005    
6006                        }
6007                        break;
6008    
6009                }
6010                retval.stop = input.LT(-1);
6011    
6012            }
6013            catch (RecognitionException re) {
6014                reportError(re);
6015                recover(input,re);
6016            }
6017            finally {
6018            }
6019            return retval;
6020        }
6021        // $ANTLR end list_elem_markup
6022    
6023    
6024        // $ANTLR start list_elemcontent
6025        // Creole10.g:604:1: list_elemcontent returns [CollectionNode items = new CollectionNode()] : onestar (part= list_elemcontentpart onestar )* ;
6026        public final CollectionNode list_elemcontent() throws RecognitionException {
6027            CollectionNode items =  new CollectionNode();
6028    
6029            ASTNode part = null;
6030    
6031    
6032            try {
6033                // Creole10.g:605:2: ( onestar (part= list_elemcontentpart onestar )* )
6034                // Creole10.g:605:4: onestar (part= list_elemcontentpart onestar )*
6035                {
6036                pushFollow(FOLLOW_onestar_in_list_elemcontent2023);
6037                onestar();
6038                _fsp--;
6039                if (failed) return items;
6040                // Creole10.g:605:13: (part= list_elemcontentpart onestar )*
6041                loop72:
6042                do {
6043                    int alt72=2;
6044                    int LA72_0 = input.LA(1);
6045    
6046                    if ( ((LA72_0>=FORCED_END_OF_LINE && LA72_0<=WIKI)||(LA72_0>=POUND && LA72_0<=81)) ) {
6047                        alt72=1;
6048                    }
6049    
6050    
6051                    switch (alt72) {
6052                    case 1 :
6053                        // Creole10.g:605:15: part= list_elemcontentpart onestar
6054                        {
6055                        pushFollow(FOLLOW_list_elemcontentpart_in_list_elemcontent2032);
6056                        part=list_elemcontentpart();
6057                        _fsp--;
6058                        if (failed) return items;
6059                        if ( backtracking==0 ) {
6060                           items.add(part); 
6061                        }
6062                        pushFollow(FOLLOW_onestar_in_list_elemcontent2037);
6063                        onestar();
6064                        _fsp--;
6065                        if (failed) return items;
6066    
6067                        }
6068                        break;
6069    
6070                    default :
6071                        break loop72;
6072                    }
6073                } while (true);
6074    
6075    
6076                }
6077    
6078            }
6079            catch (RecognitionException re) {
6080                reportError(re);
6081                recover(input,re);
6082            }
6083            finally {
6084            }
6085            return items;
6086        }
6087        // $ANTLR end list_elemcontent
6088    
6089    
6090        // $ANTLR start list_elemcontentpart
6091        // Creole10.g:607:1: list_elemcontentpart returns [ASTNode node = null] : (tuf= text_unformattedelement | tf= list_formatted_elem );
6092        public final ASTNode list_elemcontentpart() throws RecognitionException {
6093            ASTNode node =  null;
6094    
6095            ASTNode tuf = null;
6096    
6097            CollectionNode tf = null;
6098    
6099    
6100            try {
6101                // Creole10.g:608:2: (tuf= text_unformattedelement | tf= list_formatted_elem )
6102                int alt73=2;
6103                int LA73_0 = input.LA(1);
6104    
6105                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<=81)) ) {
6106                    alt73=1;
6107                }
6108                else if ( (LA73_0==STAR||LA73_0==ITAL) ) {
6109                    alt73=2;
6110                }
6111                else {
6112                    if (backtracking>0) {failed=true; return node;}
6113                    NoViableAltException nvae =
6114                        new NoViableAltException("607:1: list_elemcontentpart returns [ASTNode node = null] : (tuf= text_unformattedelement | tf= list_formatted_elem );", 73, 0, input);
6115    
6116                    throw nvae;
6117                }
6118                switch (alt73) {
6119                    case 1 :
6120                        // Creole10.g:608:4: tuf= text_unformattedelement
6121                        {
6122                        pushFollow(FOLLOW_text_unformattedelement_in_list_elemcontentpart2058);
6123                        tuf=text_unformattedelement();
6124                        _fsp--;
6125                        if (failed) return node;
6126                        if ( backtracking==0 ) {
6127    
6128                                                    if (tuf instanceof CollectionNode)
6129                                                            node = new UnformattedTextNode(tuf);
6130                                                    else
6131                                                            node = tuf;
6132                                                    
6133                        }
6134    
6135                        }
6136                        break;
6137                    case 2 :
6138                        // Creole10.g:614:4: tf= list_formatted_elem
6139                        {
6140                        pushFollow(FOLLOW_list_formatted_elem_in_list_elemcontentpart2069);
6141                        tf=list_formatted_elem();
6142                        _fsp--;
6143                        if (failed) return node;
6144                        if ( backtracking==0 ) {
6145                           node = new FormattedTextNode(tf);
6146                        }
6147    
6148                        }
6149                        break;
6150    
6151                }
6152            }
6153            catch (RecognitionException re) {
6154                reportError(re);
6155                recover(input,re);
6156            }
6157            finally {
6158            }
6159            return node;
6160        }
6161        // $ANTLR end list_elemcontentpart
6162    
6163    
6164        // $ANTLR start list_formatted_elem
6165        // Creole10.g:616: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 )? );
6166        public final CollectionNode list_formatted_elem() throws RecognitionException {
6167            CollectionNode contents =  new CollectionNode();
6168    
6169            ASTNode boldContents = null;
6170    
6171            ASTNode italContents = null;
6172    
6173    
6174            try {
6175                // Creole10.g:617:2: ( bold_markup onestar (boldContents= list_boldcontentpart onestar )* ( bold_markup )? | ital_markup onestar (italContents= list_italcontentpart onestar )* ( ital_markup )? )
6176                int alt78=2;
6177                int LA78_0 = input.LA(1);
6178    
6179                if ( (LA78_0==STAR) ) {
6180                    alt78=1;
6181                }
6182                else if ( (LA78_0==ITAL) ) {
6183                    alt78=2;
6184                }
6185                else {
6186                    if (backtracking>0) {failed=true; return contents;}
6187                    NoViableAltException nvae =
6188                        new NoViableAltException("616: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);
6189    
6190                    throw nvae;
6191                }
6192                switch (alt78) {
6193                    case 1 :
6194                        // Creole10.g:617:4: bold_markup onestar (boldContents= list_boldcontentpart onestar )* ( bold_markup )?
6195                        {
6196                        pushFollow(FOLLOW_bold_markup_in_list_formatted_elem2085);
6197                        bold_markup();
6198                        _fsp--;
6199                        if (failed) return contents;
6200                        pushFollow(FOLLOW_onestar_in_list_formatted_elem2088);
6201                        onestar();
6202                        _fsp--;
6203                        if (failed) return contents;
6204                        // Creole10.g:617:26: (boldContents= list_boldcontentpart onestar )*
6205                        loop74:
6206                        do {
6207                            int alt74=2;
6208                            switch ( input.LA(1) ) {
6209                            case FORCED_END_OF_LINE:
6210                            case HEADING_SECTION:
6211                            case HORIZONTAL_SECTION:
6212                            case LIST_ITEM:
6213                            case LIST_ITEM_PART:
6214                            case NOWIKI_SECTION:
6215                            case SCAPE_NODE:
6216                            case TEXT_NODE:
6217                            case UNORDERED_LIST:
6218                            case UNFORMATTED_TEXT:
6219                            case WIKI:
6220                            case POUND:
6221                            case EQUAL:
6222                            case PIPE:
6223                            case NOWIKI_BLOCK_CLOSE:
6224                            case NOWIKI_CLOSE:
6225                            case LINK_CLOSE:
6226                            case IMAGE_CLOSE:
6227                            case BLANKS:
6228                            case TABLE_OF_CONTENTS_OPEN:
6229                            case TABLE_OF_CONTENTS_CLOSE:
6230                            case DASH:
6231                            case CR:
6232                            case LF:
6233                            case SPACE:
6234                            case TABULATOR:
6235                            case BRACE_CLOSE:
6236                            case COLON_SLASH:
6237                            case SLASH:
6238                            case INSIGNIFICANT_CHAR:
6239                            case 43:
6240                            case 44:
6241                            case 45:
6242                            case 46:
6243                            case 47:
6244                            case 48:
6245                            case 49:
6246                            case 50:
6247                            case 51:
6248                            case 52:
6249                            case 53:
6250                            case 54:
6251                            case 55:
6252                            case 56:
6253                            case 57:
6254                            case 58:
6255                            case 59:
6256                            case 60:
6257                            case 61:
6258                            case 62:
6259                            case 63:
6260                            case 64:
6261                            case 65:
6262                            case 66:
6263                            case 67:
6264                            case 68:
6265                            case 69:
6266                            case 70:
6267                            case 71:
6268                            case 72:
6269                            case 73:
6270                            case 74:
6271                            case 75:
6272                            case 76:
6273                            case 77:
6274                            case 78:
6275                            case 79:
6276                            case 80:
6277                            case 81:
6278                                {
6279                                alt74=1;
6280                                }
6281                                break;
6282                            case FORCED_LINEBREAK:
6283                                {
6284                                alt74=1;
6285                                }
6286                                break;
6287                            case ESCAPE:
6288                                {
6289                                alt74=1;
6290                                }
6291                                break;
6292                            case LINK_OPEN:
6293                                {
6294                                alt74=1;
6295                                }
6296                                break;
6297                            case IMAGE_OPEN:
6298                                {
6299                                alt74=1;
6300                                }
6301                                break;
6302                            case EXTENSION:
6303                                {
6304                                alt74=1;
6305                                }
6306                                break;
6307                            case NOWIKI_OPEN:
6308                                {
6309                                alt74=1;
6310                                }
6311                                break;
6312                            case ITAL:
6313                                {
6314                                alt74=1;
6315                                }
6316                                break;
6317    
6318                            }
6319    
6320                            switch (alt74) {
6321                            case 1 :
6322                                // Creole10.g:617:28: boldContents= list_boldcontentpart onestar
6323                                {
6324                                pushFollow(FOLLOW_list_boldcontentpart_in_list_formatted_elem2097);
6325                                boldContents=list_boldcontentpart();
6326                                _fsp--;
6327                                if (failed) return contents;
6328                                if ( backtracking==0 ) {
6329    
6330                                                                            BoldTextNode add = null;
6331                                                                            if (boldContents instanceof CollectionNode){
6332                                                                                 add = new BoldTextNode(boldContents);
6333                                                                            }
6334                                                                            else {
6335                                                                                CollectionNode c = new CollectionNode();
6336                                                                                c.add(boldContents);
6337                                                                                add = new BoldTextNode(c);
6338                                                                            }
6339                                                                            contents.add(add);
6340                                                                            
6341                                }
6342                                pushFollow(FOLLOW_onestar_in_list_formatted_elem2106);
6343                                onestar();
6344                                _fsp--;
6345                                if (failed) return contents;
6346    
6347                                }
6348                                break;
6349    
6350                            default :
6351                                break loop74;
6352                            }
6353                        } while (true);
6354    
6355                        // Creole10.g:630:3: ( bold_markup )?
6356                        int alt75=2;
6357                        int LA75_0 = input.LA(1);
6358    
6359                        if ( (LA75_0==STAR) ) {
6360                            int LA75_1 = input.LA(2);
6361    
6362                            if ( (LA75_1==STAR) ) {
6363                                alt75=1;
6364                            }
6365                        }
6366                        switch (alt75) {
6367                            case 1 :
6368                                // Creole10.g:630:5: bold_markup
6369                                {
6370                                pushFollow(FOLLOW_bold_markup_in_list_formatted_elem2115);
6371                                bold_markup();
6372                                _fsp--;
6373                                if (failed) return contents;
6374    
6375                                }
6376                                break;
6377    
6378                        }
6379    
6380    
6381                        }
6382                        break;
6383                    case 2 :
6384                        // Creole10.g:631:4: ital_markup onestar (italContents= list_italcontentpart onestar )* ( ital_markup )?
6385                        {
6386                        pushFollow(FOLLOW_ital_markup_in_list_formatted_elem2123);
6387                        ital_markup();
6388                        _fsp--;
6389                        if (failed) return contents;
6390                        pushFollow(FOLLOW_onestar_in_list_formatted_elem2128);
6391                        onestar();
6392                        _fsp--;
6393                        if (failed) return contents;
6394                        // Creole10.g:631:28: (italContents= list_italcontentpart onestar )*
6395                        loop76:
6396                        do {
6397                            int alt76=2;
6398                            switch ( input.LA(1) ) {
6399                            case STAR:
6400                                {
6401                                alt76=1;
6402                                }
6403                                break;
6404                            case FORCED_END_OF_LINE:
6405                            case HEADING_SECTION:
6406                            case HORIZONTAL_SECTION:
6407                            case LIST_ITEM:
6408                            case LIST_ITEM_PART:
6409                            case NOWIKI_SECTION:
6410                            case SCAPE_NODE:
6411                            case TEXT_NODE:
6412                            case UNORDERED_LIST:
6413                            case UNFORMATTED_TEXT:
6414                            case WIKI:
6415                            case POUND:
6416                            case EQUAL:
6417                            case PIPE:
6418                            case NOWIKI_BLOCK_CLOSE:
6419                            case NOWIKI_CLOSE:
6420                            case LINK_CLOSE:
6421                            case IMAGE_CLOSE:
6422                            case BLANKS:
6423                            case TABLE_OF_CONTENTS_OPEN:
6424                            case TABLE_OF_CONTENTS_CLOSE:
6425                            case DASH:
6426                            case CR:
6427                            case LF:
6428                            case SPACE:
6429                            case TABULATOR:
6430                            case BRACE_CLOSE:
6431                            case COLON_SLASH:
6432                            case SLASH:
6433                            case INSIGNIFICANT_CHAR:
6434                            case 43:
6435                            case 44:
6436                            case 45:
6437                            case 46:
6438                            case 47:
6439                            case 48:
6440                            case 49:
6441                            case 50:
6442                            case 51:
6443                            case 52:
6444                            case 53:
6445                            case 54:
6446                            case 55:
6447                            case 56:
6448                            case 57:
6449                            case 58:
6450                            case 59:
6451                            case 60:
6452                            case 61:
6453                            case 62:
6454                            case 63:
6455                            case 64:
6456                            case 65:
6457                            case 66:
6458                            case 67:
6459                            case 68:
6460                            case 69:
6461                            case 70:
6462                            case 71:
6463                            case 72:
6464                            case 73:
6465                            case 74:
6466                            case 75:
6467                            case 76:
6468                            case 77:
6469                            case 78:
6470                            case 79:
6471                            case 80:
6472                            case 81:
6473                                {
6474                                alt76=1;
6475                                }
6476                                break;
6477                            case FORCED_LINEBREAK:
6478                                {
6479                                alt76=1;
6480                                }
6481                                break;
6482                            case ESCAPE:
6483                                {
6484                                alt76=1;
6485                                }
6486                                break;
6487                            case LINK_OPEN:
6488                                {
6489                                alt76=1;
6490                                }
6491                                break;
6492                            case IMAGE_OPEN:
6493                                {
6494                                alt76=1;
6495                                }
6496                                break;
6497                            case EXTENSION:
6498                                {
6499                                alt76=1;
6500                                }
6501                                break;
6502                            case NOWIKI_OPEN:
6503                                {
6504                                alt76=1;
6505                                }
6506                                break;
6507    
6508                            }
6509    
6510                            switch (alt76) {
6511                            case 1 :
6512                                // Creole10.g:631:30: italContents= list_italcontentpart onestar
6513                                {
6514                                pushFollow(FOLLOW_list_italcontentpart_in_list_formatted_elem2137);
6515                                italContents=list_italcontentpart();
6516                                _fsp--;
6517                                if (failed) return contents;
6518                                if ( backtracking==0 ) {
6519    
6520                                                                            ItalicTextNode add = null;
6521                                                                            if (italContents instanceof CollectionNode){
6522                                                                                add = new ItalicTextNode(italContents);
6523                                                                            }
6524                                                                            else {
6525                                                                                  CollectionNode c = new CollectionNode();
6526                                                                                  c.add(italContents);
6527                                                                                  add = new ItalicTextNode(c);
6528                                                                            }
6529                                                                            contents.add(add);
6530                                                                            
6531                                }
6532                                pushFollow(FOLLOW_onestar_in_list_formatted_elem2146);
6533                                onestar();
6534                                _fsp--;
6535                                if (failed) return contents;
6536    
6537                                }
6538                                break;
6539    
6540                            default :
6541                                break loop76;
6542                            }
6543                        } while (true);
6544    
6545                        // Creole10.g:643:3: ( ital_markup )?
6546                        int alt77=2;
6547                        int LA77_0 = input.LA(1);
6548    
6549                        if ( (LA77_0==ITAL) ) {
6550                            alt77=1;
6551                        }
6552                        switch (alt77) {
6553                            case 1 :
6554                                // Creole10.g:643:5: ital_markup
6555                                {
6556                                pushFollow(FOLLOW_ital_markup_in_list_formatted_elem2155);
6557                                ital_markup();
6558                                _fsp--;
6559                                if (failed) return contents;
6560    
6561                                }
6562                                break;
6563    
6564                        }
6565    
6566    
6567                        }
6568                        break;
6569    
6570                }
6571            }
6572            catch (RecognitionException re) {
6573                reportError(re);
6574                recover(input,re);
6575            }
6576            finally {
6577            }
6578            return contents;
6579        }
6580        // $ANTLR end list_formatted_elem
6581    
6582        protected static class list_boldcontentpart_scope {
6583            List<ASTNode> elements;
6584        }
6585        protected Stack list_boldcontentpart_stack = new Stack();
6586    
6587    
6588        // $ANTLR start list_boldcontentpart
6589        // Creole10.g:646:1: list_boldcontentpart returns [ASTNode contents = null] : ( ital_markup c= list_bolditalcontent ( ital_markup )? | (t= text_unformattedelement )+ );
6590        public final ASTNode list_boldcontentpart() throws RecognitionException {
6591            list_boldcontentpart_stack.push(new list_boldcontentpart_scope());
6592            ASTNode contents =  null;
6593    
6594            ASTNode c = null;
6595    
6596            ASTNode t = null;
6597    
6598    
6599    
6600                    ((list_boldcontentpart_scope)list_boldcontentpart_stack.peek()).elements = new ArrayList<ASTNode>();
6601    
6602            try {
6603                // Creole10.g:653:2: ( ital_markup c= list_bolditalcontent ( ital_markup )? | (t= text_unformattedelement )+ )
6604                int alt81=2;
6605                int LA81_0 = input.LA(1);
6606    
6607                if ( (LA81_0==ITAL) ) {
6608                    alt81=1;
6609                }
6610                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<=81)) ) {
6611                    alt81=2;
6612                }
6613                else {
6614                    if (backtracking>0) {failed=true; return contents;}
6615                    NoViableAltException nvae =
6616                        new NoViableAltException("646:1: list_boldcontentpart returns [ASTNode contents = null] : ( ital_markup c= list_bolditalcontent ( ital_markup )? | (t= text_unformattedelement )+ );", 81, 0, input);
6617    
6618                    throw nvae;
6619                }
6620                switch (alt81) {
6621                    case 1 :
6622                        // Creole10.g:653:4: ital_markup c= list_bolditalcontent ( ital_markup )?
6623                        {
6624                        pushFollow(FOLLOW_ital_markup_in_list_boldcontentpart2181);
6625                        ital_markup();
6626                        _fsp--;
6627                        if (failed) return contents;
6628                        pushFollow(FOLLOW_list_bolditalcontent_in_list_boldcontentpart2188);
6629                        c=list_bolditalcontent();
6630                        _fsp--;
6631                        if (failed) return contents;
6632                        if ( backtracking==0 ) {
6633                          contents = new ItalicTextNode(c);
6634                        }
6635                        // Creole10.g:653:86: ( ital_markup )?
6636                        int alt79=2;
6637                        int LA79_0 = input.LA(1);
6638    
6639                        if ( (LA79_0==ITAL) ) {
6640                            alt79=1;
6641                        }
6642                        switch (alt79) {
6643                            case 1 :
6644                                // Creole10.g:653:88: ital_markup
6645                                {
6646                                pushFollow(FOLLOW_ital_markup_in_list_boldcontentpart2195);
6647                                ital_markup();
6648                                _fsp--;
6649                                if (failed) return contents;
6650    
6651                                }
6652                                break;
6653    
6654                        }
6655    
6656    
6657                        }
6658                        break;
6659                    case 2 :
6660                        // Creole10.g:654:4: (t= text_unformattedelement )+
6661                        {
6662                        // Creole10.g:654:4: (t= text_unformattedelement )+
6663                        int cnt80=0;
6664                        loop80:
6665                        do {
6666                            int alt80=2;
6667                            switch ( input.LA(1) ) {
6668                            case FORCED_END_OF_LINE:
6669                            case HEADING_SECTION:
6670                            case HORIZONTAL_SECTION:
6671                            case LIST_ITEM:
6672                            case LIST_ITEM_PART:
6673                            case NOWIKI_SECTION:
6674                            case SCAPE_NODE:
6675                            case TEXT_NODE:
6676                            case UNORDERED_LIST:
6677                            case UNFORMATTED_TEXT:
6678                            case WIKI:
6679                            case POUND:
6680                            case EQUAL:
6681                            case PIPE:
6682                            case NOWIKI_BLOCK_CLOSE:
6683                            case NOWIKI_CLOSE:
6684                            case LINK_CLOSE:
6685                            case IMAGE_CLOSE:
6686                            case BLANKS:
6687                            case TABLE_OF_CONTENTS_OPEN:
6688                            case TABLE_OF_CONTENTS_CLOSE:
6689                            case DASH:
6690                            case CR:
6691                            case LF:
6692                            case SPACE:
6693                            case TABULATOR:
6694                            case BRACE_CLOSE:
6695                            case COLON_SLASH:
6696                            case SLASH:
6697                            case INSIGNIFICANT_CHAR:
6698                            case 43:
6699                            case 44:
6700                            case 45:
6701                            case 46:
6702                            case 47:
6703                            case 48:
6704                            case 49:
6705                            case 50:
6706                            case 51:
6707                            case 52:
6708                            case 53:
6709                            case 54:
6710                            case 55:
6711                            case 56:
6712                            case 57:
6713                            case 58:
6714                            case 59:
6715                            case 60:
6716                            case 61:
6717                            case 62:
6718                            case 63:
6719                            case 64:
6720                            case 65:
6721                            case 66:
6722                            case 67:
6723                            case 68:
6724                            case 69:
6725                            case 70:
6726                            case 71:
6727                            case 72:
6728                            case 73:
6729                            case 74:
6730                            case 75:
6731                            case 76:
6732                            case 77:
6733                            case 78:
6734                            case 79:
6735                            case 80:
6736                            case 81:
6737                                {
6738                                alt80=1;
6739                                }
6740                                break;
6741                            case FORCED_LINEBREAK:
6742                                {
6743                                alt80=1;
6744                                }
6745                                break;
6746                            case ESCAPE:
6747                                {
6748                                alt80=1;
6749                                }
6750                                break;
6751                            case LINK_OPEN:
6752                                {
6753                                alt80=1;
6754                                }
6755                                break;
6756                            case IMAGE_OPEN:
6757                                {
6758                                alt80=1;
6759                                }
6760                                break;
6761                            case EXTENSION:
6762                                {
6763                                alt80=1;
6764                                }
6765                                break;
6766                            case NOWIKI_OPEN:
6767                                {
6768                                alt80=1;
6769                                }
6770                                break;
6771    
6772                            }
6773    
6774                            switch (alt80) {
6775                            case 1 :
6776                                // Creole10.g:654:6: t= text_unformattedelement
6777                                {
6778                                pushFollow(FOLLOW_text_unformattedelement_in_list_boldcontentpart2209);
6779                                t=text_unformattedelement();
6780                                _fsp--;
6781                                if (failed) return contents;
6782                                if ( backtracking==0 ) {
6783                                   ((list_boldcontentpart_scope)list_boldcontentpart_stack.peek()).elements.add(t); 
6784                                }
6785    
6786                                }
6787                                break;
6788    
6789                            default :
6790                                if ( cnt80 >= 1 ) break loop80;
6791                                if (backtracking>0) {failed=true; return contents;}
6792                                    EarlyExitException eee =
6793                                        new EarlyExitException(80, input);
6794                                    throw eee;
6795                            }
6796                            cnt80++;
6797                        } while (true);
6798    
6799                        if ( backtracking==0 ) {
6800                          contents = new CollectionNode(((list_boldcontentpart_scope)list_boldcontentpart_stack.peek()).elements); 
6801                        }
6802    
6803                        }
6804                        break;
6805    
6806                }
6807            }
6808            catch (RecognitionException re) {
6809                reportError(re);
6810                recover(input,re);
6811            }
6812            finally {
6813                list_boldcontentpart_stack.pop();
6814            }
6815            return contents;
6816        }
6817        // $ANTLR end list_boldcontentpart
6818    
6819    
6820        // $ANTLR start list_bolditalcontent
6821        // Creole10.g:658:1: list_bolditalcontent returns [ASTNode text = null] : (t= text_unformattedelement )+ ;
6822        public final ASTNode list_bolditalcontent() throws RecognitionException {
6823            ASTNode text =  null;
6824    
6825            ASTNode t = null;
6826    
6827    
6828            try {
6829                // Creole10.g:659:2: ( (t= text_unformattedelement )+ )
6830                // Creole10.g:659:4: (t= text_unformattedelement )+
6831                {
6832                // Creole10.g:659:4: (t= text_unformattedelement )+
6833                int cnt82=0;
6834                loop82:
6835                do {
6836                    int alt82=2;
6837                    switch ( input.LA(1) ) {
6838                    case FORCED_END_OF_LINE:
6839                    case HEADING_SECTION:
6840                    case HORIZONTAL_SECTION:
6841                    case LIST_ITEM:
6842                    case LIST_ITEM_PART:
6843                    case NOWIKI_SECTION:
6844                    case SCAPE_NODE:
6845                    case TEXT_NODE:
6846                    case UNORDERED_LIST:
6847                    case UNFORMATTED_TEXT:
6848                    case WIKI:
6849                    case POUND:
6850                    case EQUAL:
6851                    case PIPE:
6852                    case NOWIKI_BLOCK_CLOSE:
6853                    case NOWIKI_CLOSE:
6854                    case LINK_CLOSE:
6855                    case IMAGE_CLOSE:
6856                    case BLANKS:
6857                    case TABLE_OF_CONTENTS_OPEN:
6858                    case TABLE_OF_CONTENTS_CLOSE:
6859                    case DASH:
6860                    case CR:
6861                    case LF:
6862                    case SPACE:
6863                    case TABULATOR:
6864                    case BRACE_CLOSE:
6865                    case COLON_SLASH:
6866                    case SLASH:
6867                    case INSIGNIFICANT_CHAR:
6868                    case 43:
6869                    case 44:
6870                    case 45:
6871                    case 46:
6872                    case 47:
6873                    case 48:
6874                    case 49:
6875                    case 50:
6876                    case 51:
6877                    case 52:
6878                    case 53:
6879                    case 54:
6880                    case 55:
6881                    case 56:
6882                    case 57:
6883                    case 58:
6884                    case 59:
6885                    case 60:
6886                    case 61:
6887                    case 62:
6888                    case 63:
6889                    case 64:
6890                    case 65:
6891                    case 66:
6892                    case 67:
6893                    case 68:
6894                    case 69:
6895                    case 70:
6896                    case 71:
6897                    case 72:
6898                    case 73:
6899                    case 74:
6900                    case 75:
6901                    case 76:
6902                    case 77:
6903                    case 78:
6904                    case 79:
6905                    case 80:
6906                    case 81:
6907                        {
6908                        alt82=1;
6909                        }
6910                        break;
6911                    case FORCED_LINEBREAK:
6912                        {
6913                        alt82=1;
6914                        }
6915                        break;
6916                    case ESCAPE:
6917                        {
6918                        alt82=1;
6919                        }
6920                        break;
6921                    case LINK_OPEN:
6922                        {
6923                        alt82=1;
6924                        }
6925                        break;
6926                    case IMAGE_OPEN:
6927                        {
6928                        alt82=1;
6929                        }
6930                        break;
6931                    case EXTENSION:
6932                        {
6933                        alt82=1;
6934                        }
6935                        break;
6936                    case NOWIKI_OPEN:
6937                        {
6938                        alt82=1;
6939                        }
6940                        break;
6941    
6942                    }
6943    
6944                    switch (alt82) {
6945                    case 1 :
6946                        // Creole10.g:659:6: t= text_unformattedelement
6947                        {
6948                        pushFollow(FOLLOW_text_unformattedelement_in_list_bolditalcontent2240);
6949                        t=text_unformattedelement();
6950                        _fsp--;
6951                        if (failed) return text;
6952                        if ( backtracking==0 ) {
6953                           text = t; 
6954                        }
6955    
6956                        }
6957                        break;
6958    
6959                    default :
6960                        if ( cnt82 >= 1 ) break loop82;
6961                        if (backtracking>0) {failed=true; return text;}
6962                            EarlyExitException eee =
6963                                new EarlyExitException(82, input);
6964                            throw eee;
6965                    }
6966                    cnt82++;
6967                } while (true);
6968    
6969    
6970                }
6971    
6972            }
6973            catch (RecognitionException re) {
6974                reportError(re);
6975                recover(input,re);
6976            }
6977            finally {
6978            }
6979            return text;
6980        }
6981        // $ANTLR end list_bolditalcontent
6982    
6983        protected static class list_italcontentpart_scope {
6984            List<ASTNode> elements;
6985        }
6986        protected Stack list_italcontentpart_stack = new Stack();
6987    
6988    
6989        // $ANTLR start list_italcontentpart
6990        // Creole10.g:662:1: list_italcontentpart returns [ASTNode contents = null] : ( bold_markup c= list_bolditalcontent ( bold_markup )? | (t= text_unformattedelement )+ );
6991        public final ASTNode list_italcontentpart() throws RecognitionException {
6992            list_italcontentpart_stack.push(new list_italcontentpart_scope());
6993            ASTNode contents =  null;
6994    
6995            ASTNode c = null;
6996    
6997            ASTNode t = null;
6998    
6999    
7000    
7001                    ((list_italcontentpart_scope)list_italcontentpart_stack.peek()).elements = new ArrayList<ASTNode>();
7002    
7003            try {
7004                // Creole10.g:669:2: ( bold_markup c= list_bolditalcontent ( bold_markup )? | (t= text_unformattedelement )+ )
7005                int alt85=2;
7006                int LA85_0 = input.LA(1);
7007    
7008                if ( (LA85_0==STAR) ) {
7009                    alt85=1;
7010                }
7011                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<=81)) ) {
7012                    alt85=2;
7013                }
7014                else {
7015                    if (backtracking>0) {failed=true; return contents;}
7016                    NoViableAltException nvae =
7017                        new NoViableAltException("662:1: list_italcontentpart returns [ASTNode contents = null] : ( bold_markup c= list_bolditalcontent ( bold_markup )? | (t= text_unformattedelement )+ );", 85, 0, input);
7018    
7019                    throw nvae;
7020                }
7021                switch (alt85) {
7022                    case 1 :
7023                        // Creole10.g:669:4: bold_markup c= list_bolditalcontent ( bold_markup )?
7024                        {
7025                        pushFollow(FOLLOW_bold_markup_in_list_italcontentpart2268);
7026                        bold_markup();
7027                        _fsp--;
7028                        if (failed) return contents;
7029                        pushFollow(FOLLOW_list_bolditalcontent_in_list_italcontentpart2275);
7030                        c=list_bolditalcontent();
7031                        _fsp--;
7032                        if (failed) return contents;
7033                        if ( backtracking==0 ) {
7034                           contents = new BoldTextNode(c); 
7035                        }
7036                        // Creole10.g:669:86: ( bold_markup )?
7037                        int alt83=2;
7038                        int LA83_0 = input.LA(1);
7039    
7040                        if ( (LA83_0==STAR) ) {
7041                            int LA83_1 = input.LA(2);
7042    
7043                            if ( (LA83_1==STAR) ) {
7044                                alt83=1;
7045                            }
7046                        }
7047                        switch (alt83) {
7048                            case 1 :
7049                                // Creole10.g:669:88: bold_markup
7050                                {
7051                                pushFollow(FOLLOW_bold_markup_in_list_italcontentpart2282);
7052                                bold_markup();
7053                                _fsp--;
7054                                if (failed) return contents;
7055    
7056                                }
7057                                break;
7058    
7059                        }
7060    
7061    
7062                        }
7063                        break;
7064                    case 2 :
7065                        // Creole10.g:670:4: (t= text_unformattedelement )+
7066                        {
7067                        // Creole10.g:670:4: (t= text_unformattedelement )+
7068                        int cnt84=0;
7069                        loop84:
7070                        do {
7071                            int alt84=2;
7072                            switch ( input.LA(1) ) {
7073                            case FORCED_END_OF_LINE:
7074                            case HEADING_SECTION:
7075                            case HORIZONTAL_SECTION:
7076                            case LIST_ITEM:
7077                            case LIST_ITEM_PART:
7078                            case NOWIKI_SECTION:
7079                            case SCAPE_NODE:
7080                            case TEXT_NODE:
7081                            case UNORDERED_LIST:
7082                            case UNFORMATTED_TEXT:
7083                            case WIKI:
7084                            case POUND:
7085                            case EQUAL:
7086                            case PIPE:
7087                            case NOWIKI_BLOCK_CLOSE:
7088                            case NOWIKI_CLOSE:
7089                            case LINK_CLOSE:
7090                            case IMAGE_CLOSE:
7091                            case BLANKS:
7092                            case TABLE_OF_CONTENTS_OPEN:
7093                            case TABLE_OF_CONTENTS_CLOSE:
7094                            case DASH:
7095                            case CR:
7096                            case LF:
7097                            case SPACE:
7098                            case TABULATOR:
7099                            case BRACE_CLOSE:
7100                            case COLON_SLASH:
7101                            case SLASH:
7102                            case INSIGNIFICANT_CHAR:
7103                            case 43:
7104                            case 44:
7105                            case 45:
7106                            case 46:
7107                            case 47:
7108                            case 48:
7109                            case 49:
7110                            case 50:
7111                            case 51:
7112                            case 52:
7113                            case 53:
7114                            case 54:
7115                            case 55:
7116                            case 56:
7117                            case 57:
7118                            case 58:
7119                            case 59:
7120                            case 60:
7121                            case 61:
7122                            case 62:
7123                            case 63:
7124                            case 64:
7125                            case 65:
7126                            case 66:
7127                            case 67:
7128                            case 68:
7129                            case 69:
7130                            case 70:
7131                            case 71:
7132                            case 72:
7133                            case 73:
7134                            case 74:
7135                            case 75:
7136                            case 76:
7137                            case 77:
7138                            case 78:
7139                            case 79:
7140                            case 80:
7141                            case 81:
7142                                {
7143                                alt84=1;
7144                                }
7145                                break;
7146                            case FORCED_LINEBREAK:
7147                                {
7148                                alt84=1;
7149                                }
7150                                break;
7151                            case ESCAPE:
7152                                {
7153                                alt84=1;
7154                                }
7155                                break;
7156                            case LINK_OPEN:
7157                                {
7158                                alt84=1;
7159                                }
7160                                break;
7161                            case IMAGE_OPEN:
7162                                {
7163                                alt84=1;
7164                                }
7165                                break;
7166                            case EXTENSION:
7167                                {
7168                                alt84=1;
7169                                }
7170                                break;
7171                            case NOWIKI_OPEN:
7172                                {
7173                                alt84=1;
7174                                }
7175                                break;
7176    
7177                            }
7178    
7179                            switch (alt84) {
7180                            case 1 :
7181                                // Creole10.g:670:6: t= text_unformattedelement
7182                                {
7183                                pushFollow(FOLLOW_text_unformattedelement_in_list_italcontentpart2296);
7184                                t=text_unformattedelement();
7185                                _fsp--;
7186                                if (failed) return contents;
7187                                if ( backtracking==0 ) {
7188                                   ((list_italcontentpart_scope)list_italcontentpart_stack.peek()).elements.add(t); 
7189                                }
7190    
7191                                }
7192                                break;
7193    
7194                            default :
7195                                if ( cnt84 >= 1 ) break loop84;
7196                                if (backtracking>0) {failed=true; return contents;}
7197                                    EarlyExitException eee =
7198                                        new EarlyExitException(84, input);
7199                                    throw eee;
7200                            }
7201                            cnt84++;
7202                        } while (true);
7203    
7204                        if ( backtracking==0 ) {
7205                           contents = new CollectionNode(((list_italcontentpart_scope)list_italcontentpart_stack.peek()).elements); 
7206                        }
7207    
7208                        }
7209                        break;
7210    
7211                }
7212            }
7213            catch (RecognitionException re) {
7214                reportError(re);
7215                recover(input,re);
7216            }
7217            finally {
7218                list_italcontentpart_stack.pop();
7219            }
7220            return contents;
7221        }
7222        // $ANTLR end list_italcontentpart
7223    
7224    
7225        // $ANTLR start table
7226        // Creole10.g:674:1: table returns [TableNode table = new TableNode()] : (tr= table_row )+ ;
7227        public final TableNode table() throws RecognitionException {
7228            TableNode table =  new TableNode();
7229    
7230            CollectionNode tr = null;
7231    
7232    
7233            try {
7234                // Creole10.g:675:2: ( (tr= table_row )+ )
7235                // Creole10.g:675:4: (tr= table_row )+
7236                {
7237                // Creole10.g:675:4: (tr= table_row )+
7238                int cnt86=0;
7239                loop86:
7240                do {
7241                    int alt86=2;
7242                    int LA86_0 = input.LA(1);
7243    
7244                    if ( (LA86_0==PIPE) ) {
7245                        alt86=1;
7246                    }
7247    
7248    
7249                    switch (alt86) {
7250                    case 1 :
7251                        // Creole10.g:675:6: tr= table_row
7252                        {
7253                        pushFollow(FOLLOW_table_row_in_table2324);
7254                        tr=table_row();
7255                        _fsp--;
7256                        if (failed) return table;
7257                        if ( backtracking==0 ) {
7258                          table.addChildASTNode(tr);
7259                        }
7260    
7261                        }
7262                        break;
7263    
7264                    default :
7265                        if ( cnt86 >= 1 ) break loop86;
7266                        if (backtracking>0) {failed=true; return table;}
7267                            EarlyExitException eee =
7268                                new EarlyExitException(86, input);
7269                            throw eee;
7270                    }
7271                    cnt86++;
7272                } while (true);
7273    
7274    
7275                }
7276    
7277            }
7278            catch (RecognitionException re) {
7279                reportError(re);
7280                recover(input,re);
7281            }
7282            finally {
7283            }
7284            return table;
7285        }
7286        // $ANTLR end table
7287    
7288    
7289        // $ANTLR start table_row
7290        // Creole10.g:677:1: table_row returns [CollectionNode row = new CollectionNode()] : (tc= table_cell )+ table_rowseparator ;
7291        public final CollectionNode table_row() throws RecognitionException {
7292            CollectionNode row =  new CollectionNode();
7293    
7294            TableCellNode tc = null;
7295    
7296    
7297            try {
7298                // Creole10.g:678:2: ( (tc= table_cell )+ table_rowseparator )
7299                // Creole10.g:678:4: (tc= table_cell )+ table_rowseparator
7300                {
7301                // Creole10.g:678:4: (tc= table_cell )+
7302                int cnt87=0;
7303                loop87:
7304                do {
7305                    int alt87=2;
7306                    int LA87_0 = input.LA(1);
7307    
7308                    if ( (LA87_0==PIPE) ) {
7309                        alt87=1;
7310                    }
7311    
7312    
7313                    switch (alt87) {
7314                    case 1 :
7315                        // Creole10.g:678:6: tc= table_cell
7316                        {
7317                        pushFollow(FOLLOW_table_cell_in_table_row2350);
7318                        tc=table_cell();
7319                        _fsp--;
7320                        if (failed) return row;
7321                        if ( backtracking==0 ) {
7322                           row.add(tc); 
7323                        }
7324    
7325                        }
7326                        break;
7327    
7328                    default :
7329                        if ( cnt87 >= 1 ) break loop87;
7330                        if (backtracking>0) {failed=true; return row;}
7331                            EarlyExitException eee =
7332                                new EarlyExitException(87, input);
7333                            throw eee;
7334                    }
7335                    cnt87++;
7336                } while (true);
7337    
7338                pushFollow(FOLLOW_table_rowseparator_in_table_row2358);
7339                table_rowseparator();
7340                _fsp--;
7341                if (failed) return row;
7342    
7343                }
7344    
7345            }
7346            catch (RecognitionException re) {
7347                reportError(re);
7348                recover(input,re);
7349            }
7350            finally {
7351            }
7352            return row;
7353        }
7354        // $ANTLR end table_row
7355    
7356    
7357        // $ANTLR start table_cell
7358        // Creole10.g:680:1: table_cell returns [TableCellNode cell = null] : ({...}?th= table_headercell | tc= table_normalcell );
7359        public final TableCellNode table_cell() throws RecognitionException {
7360            TableCellNode cell =  null;
7361    
7362            TableHeaderNode th = null;
7363    
7364            TableDataNode tc = null;
7365    
7366    
7367            try {
7368                // Creole10.g:681:2: ({...}?th= table_headercell | tc= table_normalcell )
7369                int alt88=2;
7370                int LA88_0 = input.LA(1);
7371    
7372                if ( (LA88_0==PIPE) ) {
7373                    int LA88_1 = input.LA(2);
7374    
7375                    if ( (LA88_1==EQUAL) ) {
7376                        int LA88_2 = input.LA(3);
7377    
7378                        if ( ( input.LA(2) == EQUAL ) ) {
7379                            alt88=1;
7380                        }
7381                        else if ( (true) ) {
7382                            alt88=2;
7383                        }
7384                        else {
7385                            if (backtracking>0) {failed=true; return cell;}
7386                            NoViableAltException nvae =
7387                                new NoViableAltException("680:1: table_cell returns [TableCellNode cell = null] : ({...}?th= table_headercell | tc= table_normalcell );", 88, 2, input);
7388    
7389                            throw nvae;
7390                        }
7391                    }
7392                    else if ( (LA88_1==EOF||(LA88_1>=FORCED_END_OF_LINE && LA88_1<=STAR)||(LA88_1>=PIPE && LA88_1<=81)) ) {
7393                        alt88=2;
7394                    }
7395                    else {
7396                        if (backtracking>0) {failed=true; return cell;}
7397                        NoViableAltException nvae =
7398                            new NoViableAltException("680:1: table_cell returns [TableCellNode cell = null] : ({...}?th= table_headercell | tc= table_normalcell );", 88, 1, input);
7399    
7400                        throw nvae;
7401                    }
7402                }
7403                else {
7404                    if (backtracking>0) {failed=true; return cell;}
7405                    NoViableAltException nvae =
7406                        new NoViableAltException("680:1: table_cell returns [TableCellNode cell = null] : ({...}?th= table_headercell | tc= table_normalcell );", 88, 0, input);
7407    
7408                    throw nvae;
7409                }
7410                switch (alt88) {
7411                    case 1 :
7412                        // Creole10.g:681:4: {...}?th= table_headercell
7413                        {
7414                        if ( !( input.LA(2) == EQUAL ) ) {
7415                            if (backtracking>0) {failed=true; return cell;}
7416                            throw new FailedPredicateException(input, "table_cell", " input.LA(2) == EQUAL ");
7417                        }
7418                        pushFollow(FOLLOW_table_headercell_in_table_cell2379);
7419                        th=table_headercell();
7420                        _fsp--;
7421                        if (failed) return cell;
7422                        if ( backtracking==0 ) {
7423                          cell = th;
7424                        }
7425    
7426                        }
7427                        break;
7428                    case 2 :
7429                        // Creole10.g:682:4: tc= table_normalcell
7430                        {
7431                        pushFollow(FOLLOW_table_normalcell_in_table_cell2390);
7432                        tc=table_normalcell();
7433                        _fsp--;
7434                        if (failed) return cell;
7435                        if ( backtracking==0 ) {
7436                          cell = tc; 
7437                        }
7438    
7439                        }
7440                        break;
7441    
7442                }
7443            }
7444            catch (RecognitionException re) {
7445                reportError(re);
7446                recover(input,re);
7447            }
7448            finally {
7449            }
7450            return cell;
7451        }
7452        // $ANTLR end table_cell
7453    
7454    
7455        // $ANTLR start table_headercell
7456        // Creole10.g:684:1: table_headercell returns [TableHeaderNode header = null] : table_headercell_markup tc= table_cellcontent ;
7457        public final TableHeaderNode table_headercell() throws RecognitionException {
7458            TableHeaderNode header =  null;
7459    
7460            CollectionNode tc = null;
7461    
7462    
7463            try {
7464                // Creole10.g:685:2: ( table_headercell_markup tc= table_cellcontent )
7465                // Creole10.g:685:4: table_headercell_markup tc= table_cellcontent
7466                {
7467                pushFollow(FOLLOW_table_headercell_markup_in_table_headercell2406);
7468                table_headercell_markup();
7469                _fsp--;
7470                if (failed) return header;
7471                pushFollow(FOLLOW_table_cellcontent_in_table_headercell2413);
7472                tc=table_cellcontent();
7473                _fsp--;
7474                if (failed) return header;
7475                if ( backtracking==0 ) {
7476                  header = new TableHeaderNode(tc);
7477                }
7478    
7479                }
7480    
7481            }
7482            catch (RecognitionException re) {
7483                reportError(re);
7484                recover(input,re);
7485            }
7486            finally {
7487            }
7488            return header;
7489        }
7490        // $ANTLR end table_headercell
7491    
7492    
7493        // $ANTLR start table_normalcell
7494        // Creole10.g:687:1: table_normalcell returns [TableDataNode cell = null] : table_cell_markup tc= table_cellcontent ;
7495        public final TableDataNode table_normalcell() throws RecognitionException {
7496            TableDataNode cell =  null;
7497    
7498            CollectionNode tc = null;
7499    
7500    
7501            try {
7502                // Creole10.g:688:2: ( table_cell_markup tc= table_cellcontent )
7503                // Creole10.g:688:4: table_cell_markup tc= table_cellcontent
7504                {
7505                pushFollow(FOLLOW_table_cell_markup_in_table_normalcell2429);
7506                table_cell_markup();
7507                _fsp--;
7508                if (failed) return cell;
7509                pushFollow(FOLLOW_table_cellcontent_in_table_normalcell2436);
7510                tc=table_cellcontent();
7511                _fsp--;
7512                if (failed) return cell;
7513                if ( backtracking==0 ) {
7514                   cell = new TableDataNode(tc); 
7515                }
7516    
7517                }
7518    
7519            }
7520            catch (RecognitionException re) {
7521                reportError(re);
7522                recover(input,re);
7523            }
7524            finally {
7525            }
7526            return cell;
7527        }
7528        // $ANTLR end table_normalcell
7529    
7530    
7531        // $ANTLR start table_cellcontent
7532        // Creole10.g:690:1: table_cellcontent returns [CollectionNode items = new CollectionNode()] : onestar (tcp= table_cellcontentpart onestar )* ;
7533        public final CollectionNode table_cellcontent() throws RecognitionException {
7534            CollectionNode items =  new CollectionNode();
7535    
7536            ASTNode tcp = null;
7537    
7538    
7539            try {
7540                // Creole10.g:691:2: ( onestar (tcp= table_cellcontentpart onestar )* )
7541                // Creole10.g:691:4: onestar (tcp= table_cellcontentpart onestar )*
7542                {
7543                pushFollow(FOLLOW_onestar_in_table_cellcontent2452);
7544                onestar();
7545                _fsp--;
7546                if (failed) return items;
7547                // Creole10.g:691:13: (tcp= table_cellcontentpart onestar )*
7548                loop89:
7549                do {
7550                    int alt89=2;
7551                    int LA89_0 = input.LA(1);
7552    
7553                    if ( ((LA89_0>=FORCED_END_OF_LINE && LA89_0<=WIKI)||(LA89_0>=POUND && LA89_0<=EQUAL)||(LA89_0>=ITAL && LA89_0<=81)) ) {
7554                        alt89=1;
7555                    }
7556    
7557    
7558                    switch (alt89) {
7559                    case 1 :
7560                        // Creole10.g:691:15: tcp= table_cellcontentpart onestar
7561                        {
7562                        pushFollow(FOLLOW_table_cellcontentpart_in_table_cellcontent2461);
7563                        tcp=table_cellcontentpart();
7564                        _fsp--;
7565                        if (failed) return items;
7566                        if ( backtracking==0 ) {
7567    
7568                                            if (tcp != null) {
7569                                                    items.add(tcp);
7570                                            }
7571                                    
7572                        }
7573                        pushFollow(FOLLOW_onestar_in_table_cellcontent2468);
7574                        onestar();
7575                        _fsp--;
7576                        if (failed) return items;
7577    
7578                        }
7579                        break;
7580    
7581                    default :
7582                        break loop89;
7583                    }
7584                } while (true);
7585    
7586    
7587                }
7588    
7589            }
7590            catch (RecognitionException re) {
7591                reportError(re);
7592                recover(input,re);
7593            }
7594            finally {
7595            }
7596            return items;
7597        }
7598        // $ANTLR end table_cellcontent
7599    
7600    
7601        // $ANTLR start table_cellcontentpart
7602        // Creole10.g:698:1: table_cellcontentpart returns [ASTNode node = null] : (tf= table_formattedelement | tu= table_unformattedelement );
7603        public final ASTNode table_cellcontentpart() throws RecognitionException {
7604            ASTNode node =  null;
7605    
7606            ASTNode tf = null;
7607    
7608            ASTNode tu = null;
7609    
7610    
7611            try {
7612                // Creole10.g:699:2: (tf= table_formattedelement | tu= table_unformattedelement )
7613                int alt90=2;
7614                int LA90_0 = input.LA(1);
7615    
7616                if ( (LA90_0==STAR||LA90_0==ITAL) ) {
7617                    alt90=1;
7618                }
7619                else if ( ((LA90_0>=FORCED_END_OF_LINE && LA90_0<=WIKI)||LA90_0==POUND||LA90_0==EQUAL||(LA90_0>=LINK_OPEN && LA90_0<=81)) ) {
7620                    alt90=2;
7621                }
7622                else {
7623                    if (backtracking>0) {failed=true; return node;}
7624                    NoViableAltException nvae =
7625                        new NoViableAltException("698:1: table_cellcontentpart returns [ASTNode node = null] : (tf= table_formattedelement | tu= table_unformattedelement );", 90, 0, input);
7626    
7627                    throw nvae;
7628                }
7629                switch (alt90) {
7630                    case 1 :
7631                        // Creole10.g:699:4: tf= table_formattedelement
7632                        {
7633                        pushFollow(FOLLOW_table_formattedelement_in_table_cellcontentpart2489);
7634                        tf=table_formattedelement();
7635                        _fsp--;
7636                        if (failed) return node;
7637                        if ( backtracking==0 ) {
7638                          node =tf;
7639                        }
7640    
7641                        }
7642                        break;
7643                    case 2 :
7644                        // Creole10.g:700:4: tu= table_unformattedelement
7645                        {
7646                        pushFollow(FOLLOW_table_unformattedelement_in_table_cellcontentpart2500);
7647                        tu=table_unformattedelement();
7648                        _fsp--;
7649                        if (failed) return node;
7650                        if ( backtracking==0 ) {
7651                          node =tu;
7652                        }
7653    
7654                        }
7655                        break;
7656    
7657                }
7658            }
7659            catch (RecognitionException re) {
7660                reportError(re);
7661                recover(input,re);
7662            }
7663            finally {
7664            }
7665            return node;
7666        }
7667        // $ANTLR end table_cellcontentpart
7668    
7669    
7670        // $ANTLR start table_formattedelement
7671        // Creole10.g:702:1: table_formattedelement returns [ASTNode content = null] : ( ital_markup (tic= table_italcontent )? ( ital_markup )? | bold_markup (tbc= table_boldcontent )? ( bold_markup )? );
7672        public final ASTNode table_formattedelement() throws RecognitionException {
7673            ASTNode content =  null;
7674    
7675            CollectionNode tic = null;
7676    
7677            CollectionNode tbc = null;
7678    
7679    
7680            try {
7681                // Creole10.g:703:2: ( ital_markup (tic= table_italcontent )? ( ital_markup )? | bold_markup (tbc= table_boldcontent )? ( bold_markup )? )
7682                int alt95=2;
7683                int LA95_0 = input.LA(1);
7684    
7685                if ( (LA95_0==ITAL) ) {
7686                    alt95=1;
7687                }
7688                else if ( (LA95_0==STAR) ) {
7689                    alt95=2;
7690                }
7691                else {
7692                    if (backtracking>0) {failed=true; return content;}
7693                    NoViableAltException nvae =
7694                        new NoViableAltException("702:1: table_formattedelement returns [ASTNode content = null] : ( ital_markup (tic= table_italcontent )? ( ital_markup )? | bold_markup (tbc= table_boldcontent )? ( bold_markup )? );", 95, 0, input);
7695    
7696                    throw nvae;
7697                }
7698                switch (alt95) {
7699                    case 1 :
7700                        // Creole10.g:703:4: ital_markup (tic= table_italcontent )? ( ital_markup )?
7701                        {
7702                        pushFollow(FOLLOW_ital_markup_in_table_formattedelement2516);
7703                        ital_markup();
7704                        _fsp--;
7705                        if (failed) return content;
7706                        // Creole10.g:703:18: (tic= table_italcontent )?
7707                        int alt91=2;
7708                        switch ( input.LA(1) ) {
7709                            case STAR:
7710                                {
7711                                alt91=1;
7712                                }
7713                                break;
7714                            case FORCED_END_OF_LINE:
7715                            case HEADING_SECTION:
7716                            case HORIZONTAL_SECTION:
7717                            case LIST_ITEM:
7718                            case LIST_ITEM_PART:
7719                            case NOWIKI_SECTION:
7720                            case SCAPE_NODE:
7721                            case TEXT_NODE:
7722                            case UNORDERED_LIST:
7723                            case UNFORMATTED_TEXT:
7724                            case WIKI:
7725                            case POUND:
7726                            case EQUAL:
7727                            case NOWIKI_BLOCK_CLOSE:
7728                            case NOWIKI_CLOSE:
7729                            case LINK_CLOSE:
7730                            case IMAGE_CLOSE:
7731                            case BLANKS:
7732                            case TABLE_OF_CONTENTS_OPEN:
7733                            case TABLE_OF_CONTENTS_CLOSE:
7734                            case DASH:
7735                            case CR:
7736                            case LF:
7737                            case SPACE:
7738                            case TABULATOR:
7739                            case BRACE_CLOSE:
7740                            case COLON_SLASH:
7741                            case SLASH:
7742                            case INSIGNIFICANT_CHAR:
7743                            case 43:
7744                            case 44:
7745                            case 45:
7746                            case 46:
7747                            case 47:
7748                            case 48:
7749                            case 49:
7750                            case 50:
7751                            case 51:
7752                            case 52:
7753                            case 53:
7754                            case 54:
7755                            case 55:
7756                            case 56:
7757                            case 57:
7758                            case 58:
7759                            case 59:
7760                            case 60:
7761                            case 61:
7762                            case 62:
7763                            case 63:
7764                            case 64:
7765                            case 65:
7766                            case 66:
7767                            case 67:
7768                            case 68:
7769                            case 69:
7770                            case 70:
7771                            case 71:
7772                            case 72:
7773                            case 73:
7774                            case 74:
7775                            case 75:
7776                            case 76:
7777                            case 77:
7778                            case 78:
7779                            case 79:
7780                            case 80:
7781                            case 81:
7782                                {
7783                                alt91=1;
7784                                }
7785                                break;
7786                            case FORCED_LINEBREAK:
7787                                {
7788                                alt91=1;
7789                                }
7790                                break;
7791                            case ESCAPE:
7792                                {
7793                                alt91=1;
7794                                }
7795                                break;
7796                            case LINK_OPEN:
7797                                {
7798                                alt91=1;
7799                                }
7800                                break;
7801                            case IMAGE_OPEN:
7802                                {
7803                                alt91=1;
7804                                }
7805                                break;
7806                            case EXTENSION:
7807                                {
7808                                alt91=1;
7809                                }
7810                                break;
7811                            case NOWIKI_OPEN:
7812                                {
7813                                alt91=1;
7814                                }
7815                                break;
7816                            case EOF:
7817                                {
7818                                alt91=1;
7819                                }
7820                                break;
7821                        }
7822    
7823                        switch (alt91) {
7824                            case 1 :
7825                                // Creole10.g:703:20: tic= table_italcontent
7826                                {
7827                                pushFollow(FOLLOW_table_italcontent_in_table_formattedelement2526);
7828                                tic=table_italcontent();
7829                                _fsp--;
7830                                if (failed) return content;
7831                                if ( backtracking==0 ) {
7832                                   content = new ItalicTextNode(tic); 
7833                                }
7834    
7835                                }
7836                                break;
7837    
7838                        }
7839    
7840                        // Creole10.g:703:94: ( ital_markup )?
7841                        int alt92=2;
7842                        int LA92_0 = input.LA(1);
7843    
7844                        if ( (LA92_0==ITAL) ) {
7845                            alt92=1;
7846                        }
7847                        switch (alt92) {
7848                            case 1 :
7849                                // Creole10.g:703:96: ital_markup
7850                                {
7851                                pushFollow(FOLLOW_ital_markup_in_table_formattedelement2535);
7852                                ital_markup();
7853                                _fsp--;
7854                                if (failed) return content;
7855    
7856                                }
7857                                break;
7858    
7859                        }
7860    
7861    
7862                        }
7863                        break;
7864                    case 2 :
7865                        // Creole10.g:704:4: bold_markup (tbc= table_boldcontent )? ( bold_markup )?
7866                        {
7867                        pushFollow(FOLLOW_bold_markup_in_table_formattedelement2543);
7868                        bold_markup();
7869                        _fsp--;
7870                        if (failed) return content;
7871                        // Creole10.g:704:16: (tbc= table_boldcontent )?
7872                        int alt93=2;
7873                        switch ( input.LA(1) ) {
7874                            case STAR:
7875                                {
7876                                int LA93_1 = input.LA(2);
7877    
7878                                if ( ( input.LA(2) != STAR ) ) {
7879                                    alt93=1;
7880                                }
7881                                }
7882                                break;
7883                            case FORCED_END_OF_LINE:
7884                            case HEADING_SECTION:
7885                            case HORIZONTAL_SECTION:
7886                            case LIST_ITEM:
7887                            case LIST_ITEM_PART:
7888                            case NOWIKI_SECTION:
7889                            case SCAPE_NODE:
7890                            case TEXT_NODE:
7891                            case UNORDERED_LIST:
7892                            case UNFORMATTED_TEXT:
7893                            case WIKI:
7894                            case POUND:
7895                            case EQUAL:
7896                            case NOWIKI_BLOCK_CLOSE:
7897                            case NOWIKI_CLOSE:
7898                            case LINK_CLOSE:
7899                            case IMAGE_CLOSE:
7900                            case BLANKS:
7901                            case TABLE_OF_CONTENTS_OPEN:
7902                            case TABLE_OF_CONTENTS_CLOSE:
7903                            case DASH:
7904                            case CR:
7905                            case LF:
7906                            case SPACE:
7907                            case TABULATOR:
7908                            case BRACE_CLOSE:
7909                            case COLON_SLASH:
7910                            case SLASH:
7911                            case INSIGNIFICANT_CHAR:
7912                            case 43:
7913                            case 44:
7914                            case 45:
7915                            case 46:
7916                            case 47:
7917                            case 48:
7918                            case 49:
7919                            case 50:
7920                            case 51:
7921                            case 52:
7922                            case 53:
7923                            case 54:
7924                            case 55:
7925                            case 56:
7926                            case 57:
7927                            case 58:
7928                            case 59:
7929                            case 60:
7930                            case 61:
7931                            case 62:
7932                            case 63:
7933                            case 64:
7934                            case 65:
7935                            case 66:
7936                            case 67:
7937                            case 68:
7938                            case 69:
7939                            case 70:
7940                            case 71:
7941                            case 72:
7942                            case 73:
7943                            case 74:
7944                            case 75:
7945                            case 76:
7946                            case 77:
7947                            case 78:
7948                            case 79:
7949                            case 80:
7950                            case 81:
7951                                {
7952                                alt93=1;
7953                                }
7954                                break;
7955                            case FORCED_LINEBREAK:
7956                                {
7957                                alt93=1;
7958                                }
7959                                break;
7960                            case ESCAPE:
7961                                {
7962                                alt93=1;
7963                                }
7964                                break;
7965                            case LINK_OPEN:
7966                                {
7967                                alt93=1;
7968                                }
7969                                break;
7970                            case IMAGE_OPEN:
7971                                {
7972                                alt93=1;
7973                                }
7974                                break;
7975                            case EXTENSION:
7976                                {
7977                                alt93=1;
7978                                }
7979                                break;
7980                            case NOWIKI_OPEN:
7981                                {
7982                                alt93=1;
7983                                }
7984                                break;
7985                            case ITAL:
7986                                {
7987                                alt93=1;
7988                                }
7989                                break;
7990                            case EOF:
7991                                {
7992                                alt93=1;
7993                                }
7994                                break;
7995                        }
7996    
7997                        switch (alt93) {
7998                            case 1 :
7999                                // Creole10.g:704:18: tbc= table_boldcontent
8000                                {
8001                                pushFollow(FOLLOW_table_boldcontent_in_table_formattedelement2550);
8002                                tbc=table_boldcontent();
8003                                _fsp--;
8004                                if (failed) return content;
8005                                if ( backtracking==0 ) {
8006                                  content = new BoldTextNode(tbc);
8007                                }
8008    
8009                                }
8010                                break;
8011    
8012                        }
8013    
8014                        // Creole10.g:704:88: ( bold_markup )?
8015                        int alt94=2;
8016                        int LA94_0 = input.LA(1);
8017    
8018                        if ( (LA94_0==STAR) ) {
8019                            int LA94_1 = input.LA(2);
8020    
8021                            if ( (LA94_1==STAR) ) {
8022                                alt94=1;
8023                            }
8024                        }
8025                        switch (alt94) {
8026                            case 1 :
8027                                // Creole10.g:704:90: bold_markup
8028                                {
8029                                pushFollow(FOLLOW_bold_markup_in_table_formattedelement2560);
8030                                bold_markup();
8031                                _fsp--;
8032                                if (failed) return content;
8033    
8034                                }
8035                                break;
8036    
8037                        }
8038    
8039    
8040                        }
8041                        break;
8042    
8043                }
8044            }
8045            catch (RecognitionException re) {
8046                reportError(re);
8047                recover(input,re);
8048            }
8049            finally {
8050            }
8051            return content;
8052        }
8053        // $ANTLR end table_formattedelement
8054    
8055    
8056        // $ANTLR start table_boldcontent
8057        // Creole10.g:706:1: table_boldcontent returns [CollectionNode items = new CollectionNode()] : ( onestar (tb= table_boldcontentpart onestar )+ | EOF );
8058        public final CollectionNode table_boldcontent() throws RecognitionException {
8059            CollectionNode items =  new CollectionNode();
8060    
8061            ASTNode tb = null;
8062    
8063    
8064            try {
8065                // Creole10.g:707:2: ( onestar (tb= table_boldcontentpart onestar )+ | EOF )
8066                int alt97=2;
8067                int LA97_0 = input.LA(1);
8068    
8069                if ( ((LA97_0>=FORCED_END_OF_LINE && LA97_0<=WIKI)||(LA97_0>=POUND && LA97_0<=EQUAL)||(LA97_0>=ITAL && LA97_0<=81)) ) {
8070                    alt97=1;
8071                }
8072                else if ( (LA97_0==EOF) ) {
8073                    alt97=2;
8074                }
8075                else {
8076                    if (backtracking>0) {failed=true; return items;}
8077                    NoViableAltException nvae =
8078                        new NoViableAltException("706:1: table_boldcontent returns [CollectionNode items = new CollectionNode()] : ( onestar (tb= table_boldcontentpart onestar )+ | EOF );", 97, 0, input);
8079    
8080                    throw nvae;
8081                }
8082                switch (alt97) {
8083                    case 1 :
8084                        // Creole10.g:707:4: onestar (tb= table_boldcontentpart onestar )+
8085                        {
8086                        pushFollow(FOLLOW_onestar_in_table_boldcontent2577);
8087                        onestar();
8088                        _fsp--;
8089                        if (failed) return items;
8090                        // Creole10.g:707:13: (tb= table_boldcontentpart onestar )+
8091                        int cnt96=0;
8092                        loop96:
8093                        do {
8094                            int alt96=2;
8095                            switch ( input.LA(1) ) {
8096                            case ITAL:
8097                                {
8098                                alt96=1;
8099                                }
8100                                break;
8101                            case FORCED_END_OF_LINE:
8102                            case HEADING_SECTION:
8103                            case HORIZONTAL_SECTION:
8104                            case LIST_ITEM:
8105                            case LIST_ITEM_PART:
8106                            case NOWIKI_SECTION:
8107                            case SCAPE_NODE:
8108                            case TEXT_NODE:
8109                            case UNORDERED_LIST:
8110                            case UNFORMATTED_TEXT:
8111                            case WIKI:
8112                            case POUND:
8113                            case EQUAL:
8114                            case NOWIKI_BLOCK_CLOSE:
8115                            case NOWIKI_CLOSE:
8116                            case LINK_CLOSE:
8117                            case IMAGE_CLOSE:
8118                            case BLANKS:
8119                            case TABLE_OF_CONTENTS_OPEN:
8120                            case TABLE_OF_CONTENTS_CLOSE:
8121                            case DASH:
8122                            case CR:
8123                            case LF:
8124                            case SPACE:
8125                            case TABULATOR:
8126                            case BRACE_CLOSE:
8127                            case COLON_SLASH:
8128                            case SLASH:
8129                            case INSIGNIFICANT_CHAR:
8130                            case 43:
8131                            case 44:
8132                            case 45:
8133                            case 46:
8134                            case 47:
8135                            case 48:
8136                            case 49:
8137                            case 50:
8138                            case 51:
8139                            case 52:
8140                            case 53:
8141                            case 54:
8142                            case 55:
8143                            case 56:
8144                            case 57:
8145                            case 58:
8146                            case 59:
8147                            case 60:
8148                            case 61:
8149                            case 62:
8150                            case 63:
8151                            case 64:
8152                            case 65:
8153                            case 66:
8154                            case 67:
8155                            case 68:
8156                            case 69:
8157                            case 70:
8158                            case 71:
8159                            case 72:
8160                            case 73:
8161                            case 74:
8162                            case 75:
8163                            case 76:
8164                            case 77:
8165                            case 78:
8166                            case 79:
8167                            case 80:
8168                            case 81:
8169                                {
8170                                alt96=1;
8171                                }
8172                                break;
8173                            case FORCED_LINEBREAK:
8174                                {
8175                                alt96=1;
8176                                }
8177                                break;
8178                            case ESCAPE:
8179                                {
8180                                alt96=1;
8181                                }
8182                                break;
8183                            case LINK_OPEN:
8184                                {
8185                                alt96=1;
8186                                }
8187                                break;
8188                            case IMAGE_OPEN:
8189                                {
8190                                alt96=1;
8191                                }
8192                                break;
8193                            case EXTENSION:
8194                                {
8195                                alt96=1;
8196                                }
8197                                break;
8198                            case NOWIKI_OPEN:
8199                                {
8200                                alt96=1;
8201                                }
8202                                break;
8203    
8204                            }
8205    
8206                            switch (alt96) {
8207                            case 1 :
8208                                // Creole10.g:707:15: tb= table_boldcontentpart onestar
8209                                {
8210                                pushFollow(FOLLOW_table_boldcontentpart_in_table_boldcontent2586);
8211                                tb=table_boldcontentpart();
8212                                _fsp--;
8213                                if (failed) return items;
8214                                if ( backtracking==0 ) {
8215                                   items.add(tb); 
8216                                }
8217                                pushFollow(FOLLOW_onestar_in_table_boldcontent2591);
8218                                onestar();
8219                                _fsp--;
8220                                if (failed) return items;
8221    
8222                                }
8223                                break;
8224    
8225                            default :
8226                                if ( cnt96 >= 1 ) break loop96;
8227                                if (backtracking>0) {failed=true; return items;}
8228                                    EarlyExitException eee =
8229                                        new EarlyExitException(96, input);
8230                                    throw eee;
8231                            }
8232                            cnt96++;
8233                        } while (true);
8234    
8235    
8236                        }
8237                        break;
8238                    case 2 :
8239                        // Creole10.g:708:4: EOF
8240                        {
8241                        match(input,EOF,FOLLOW_EOF_in_table_boldcontent2599); if (failed) return items;
8242    
8243                        }
8244                        break;
8245    
8246                }
8247            }
8248            catch (RecognitionException re) {
8249                reportError(re);
8250                recover(input,re);
8251            }
8252            finally {
8253            }
8254            return items;
8255        }
8256        // $ANTLR end table_boldcontent
8257    
8258    
8259        // $ANTLR start table_italcontent
8260        // Creole10.g:710:1: table_italcontent returns [CollectionNode items = new CollectionNode()] : ( onestar (ti= table_italcontentpart onestar )+ | EOF );
8261        public final CollectionNode table_italcontent() throws RecognitionException {
8262            CollectionNode items =  new CollectionNode();
8263    
8264            ASTNode ti = null;
8265    
8266    
8267            try {
8268                // Creole10.g:711:2: ( onestar (ti= table_italcontentpart onestar )+ | EOF )
8269                int alt99=2;
8270                int LA99_0 = input.LA(1);
8271    
8272                if ( ((LA99_0>=FORCED_END_OF_LINE && LA99_0<=WIKI)||(LA99_0>=POUND && LA99_0<=EQUAL)||(LA99_0>=LINK_OPEN && LA99_0<=81)) ) {
8273                    alt99=1;
8274                }
8275                else if ( (LA99_0==EOF) ) {
8276                    alt99=2;
8277                }
8278                else {
8279                    if (backtracking>0) {failed=true; return items;}
8280                    NoViableAltException nvae =
8281                        new NoViableAltException("710:1: table_italcontent returns [CollectionNode items = new CollectionNode()] : ( onestar (ti= table_italcontentpart onestar )+ | EOF );", 99, 0, input);
8282    
8283                    throw nvae;
8284                }
8285                switch (alt99) {
8286                    case 1 :
8287                        // Creole10.g:711:4: onestar (ti= table_italcontentpart onestar )+
8288                        {
8289                        pushFollow(FOLLOW_onestar_in_table_italcontent2613);
8290                        onestar();
8291                        _fsp--;
8292                        if (failed) return items;
8293                        // Creole10.g:711:13: (ti= table_italcontentpart onestar )+
8294                        int cnt98=0;
8295                        loop98:
8296                        do {
8297                            int alt98=2;
8298                            switch ( input.LA(1) ) {
8299                            case STAR:
8300                                {
8301                                alt98=1;
8302                                }
8303                                break;
8304                            case FORCED_END_OF_LINE:
8305                            case HEADING_SECTION:
8306                            case HORIZONTAL_SECTION:
8307                            case LIST_ITEM:
8308                            case LIST_ITEM_PART:
8309                            case NOWIKI_SECTION:
8310                            case SCAPE_NODE:
8311                            case TEXT_NODE:
8312                            case UNORDERED_LIST:
8313                            case UNFORMATTED_TEXT:
8314                            case WIKI:
8315                            case POUND:
8316                            case EQUAL:
8317                            case NOWIKI_BLOCK_CLOSE:
8318                            case NOWIKI_CLOSE:
8319                            case LINK_CLOSE:
8320                            case IMAGE_CLOSE:
8321                            case BLANKS:
8322                            case TABLE_OF_CONTENTS_OPEN:
8323                            case TABLE_OF_CONTENTS_CLOSE:
8324                            case DASH:
8325                            case CR:
8326                            case LF:
8327                            case SPACE:
8328                            case TABULATOR:
8329                            case BRACE_CLOSE:
8330                            case COLON_SLASH:
8331                            case SLASH:
8332                            case INSIGNIFICANT_CHAR:
8333                            case 43:
8334                            case 44:
8335                            case 45:
8336                            case 46:
8337                            case 47:
8338                            case 48:
8339                            case 49:
8340                            case 50:
8341                            case 51:
8342                            case 52:
8343                            case 53:
8344                            case 54:
8345                            case 55:
8346                            case 56:
8347                            case 57:
8348                            case 58:
8349                            case 59:
8350                            case 60:
8351                            case 61:
8352                            case 62:
8353                            case 63:
8354                            case 64:
8355                            case 65:
8356                            case 66:
8357                            case 67:
8358                            case 68:
8359                            case 69:
8360                            case 70:
8361                            case 71:
8362                            case 72:
8363                            case 73:
8364                            case 74:
8365                            case 75:
8366                            case 76:
8367                            case 77:
8368                            case 78:
8369                            case 79:
8370                            case 80:
8371                            case 81:
8372                                {
8373                                alt98=1;
8374                                }
8375                                break;
8376                            case FORCED_LINEBREAK:
8377                                {
8378                                alt98=1;
8379                                }
8380                                break;
8381                            case ESCAPE:
8382                                {
8383                                alt98=1;
8384                                }
8385                                break;
8386                            case LINK_OPEN:
8387                                {
8388                                alt98=1;
8389                                }
8390                                break;
8391                            case IMAGE_OPEN:
8392                                {
8393                                alt98=1;
8394                                }
8395                                break;
8396                            case EXTENSION:
8397                                {
8398                                alt98=1;
8399                                }
8400                                break;
8401                            case NOWIKI_OPEN:
8402                                {
8403                                alt98=1;
8404                                }
8405                                break;
8406    
8407                            }
8408    
8409                            switch (alt98) {
8410                            case 1 :
8411                                // Creole10.g:711:15: ti= table_italcontentpart onestar
8412                                {
8413                                pushFollow(FOLLOW_table_italcontentpart_in_table_italcontent2622);
8414                                ti=table_italcontentpart();
8415                                _fsp--;
8416                                if (failed) return items;
8417                                if ( backtracking==0 ) {
8418                                   items.add(ti); 
8419                                }
8420                                pushFollow(FOLLOW_onestar_in_table_italcontent2627);
8421                                onestar();
8422                                _fsp--;
8423                                if (failed) return items;
8424    
8425                                }
8426                                break;
8427    
8428                            default :
8429                                if ( cnt98 >= 1 ) break loop98;
8430                                if (backtracking>0) {failed=true; return items;}
8431                                    EarlyExitException eee =
8432                                        new EarlyExitException(98, input);
8433                                    throw eee;
8434                            }
8435                            cnt98++;
8436                        } while (true);
8437    
8438    
8439                        }
8440                        break;
8441                    case 2 :
8442                        // Creole10.g:712:4: EOF
8443                        {
8444                        match(input,EOF,FOLLOW_EOF_in_table_italcontent2635); if (failed) return items;
8445    
8446                        }
8447                        break;
8448    
8449                }
8450            }
8451            catch (RecognitionException re) {
8452                reportError(re);
8453                recover(input,re);
8454            }
8455            finally {
8456            }
8457            return items;
8458        }
8459        // $ANTLR end table_italcontent
8460    
8461    
8462        // $ANTLR start table_boldcontentpart
8463        // Creole10.g:714:1: table_boldcontentpart returns [ASTNode node = null] : (tf= table_formattedcontent | ital_markup tb= table_bolditalcontent ( ital_markup )? );
8464        public final ASTNode table_boldcontentpart() throws RecognitionException {
8465            ASTNode node =  null;
8466    
8467            CollectionNode tf = null;
8468    
8469            CollectionNode tb = null;
8470    
8471    
8472            try {
8473                // Creole10.g:715:2: (tf= table_formattedcontent | ital_markup tb= table_bolditalcontent ( ital_markup )? )
8474                int alt101=2;
8475                int LA101_0 = input.LA(1);
8476    
8477                if ( ((LA101_0>=FORCED_END_OF_LINE && LA101_0<=WIKI)||LA101_0==POUND||LA101_0==EQUAL||(LA101_0>=LINK_OPEN && LA101_0<=81)) ) {
8478                    alt101=1;
8479                }
8480                else if ( (LA101_0==ITAL) ) {
8481                    alt101=2;
8482                }
8483                else {
8484                    if (backtracking>0) {failed=true; return node;}
8485                    NoViableAltException nvae =
8486                        new NoViableAltException("714:1: table_boldcontentpart returns [ASTNode node = null] : (tf= table_formattedcontent | ital_markup tb= table_bolditalcontent ( ital_markup )? );", 101, 0, input);
8487    
8488                    throw nvae;
8489                }
8490                switch (alt101) {
8491                    case 1 :
8492                        // Creole10.g:715:4: tf= table_formattedcontent
8493                        {
8494                        pushFollow(FOLLOW_table_formattedcontent_in_table_boldcontentpart2653);
8495                        tf=table_formattedcontent();
8496                        _fsp--;
8497                        if (failed) return node;
8498                        if ( backtracking==0 ) {
8499                          node = tf; 
8500                        }
8501    
8502                        }
8503                        break;
8504                    case 2 :
8505                        // Creole10.g:716:4: ital_markup tb= table_bolditalcontent ( ital_markup )?
8506                        {
8507                        pushFollow(FOLLOW_ital_markup_in_table_boldcontentpart2660);
8508                        ital_markup();
8509                        _fsp--;
8510                        if (failed) return node;
8511                        pushFollow(FOLLOW_table_bolditalcontent_in_table_boldcontentpart2667);
8512                        tb=table_bolditalcontent();
8513                        _fsp--;
8514                        if (failed) return node;
8515                        if ( backtracking==0 ) {
8516                           node = new ItalicTextNode(tb);  
8517                        }
8518                        // Creole10.g:716:92: ( ital_markup )?
8519                        int alt100=2;
8520                        int LA100_0 = input.LA(1);
8521    
8522                        if ( (LA100_0==ITAL) ) {
8523                            alt100=1;
8524                        }
8525                        switch (alt100) {
8526                            case 1 :
8527                                // Creole10.g:716:94: ital_markup
8528                                {
8529                                pushFollow(FOLLOW_ital_markup_in_table_boldcontentpart2674);
8530                                ital_markup();
8531                                _fsp--;
8532                                if (failed) return node;
8533    
8534                                }
8535                                break;
8536    
8537                        }
8538    
8539    
8540                        }
8541                        break;
8542    
8543                }
8544            }
8545            catch (RecognitionException re) {
8546                reportError(re);
8547                recover(input,re);
8548            }
8549            finally {
8550            }
8551            return node;
8552        }
8553        // $ANTLR end table_boldcontentpart
8554    
8555    
8556        // $ANTLR start table_italcontentpart
8557        // Creole10.g:718:1: table_italcontentpart returns [ASTNode node = null] : ( bold_markup tb= table_bolditalcontent ( bold_markup )? | tf= table_formattedcontent );
8558        public final ASTNode table_italcontentpart() throws RecognitionException {
8559            ASTNode node =  null;
8560    
8561            CollectionNode tb = null;
8562    
8563            CollectionNode tf = null;
8564    
8565    
8566            try {
8567                // Creole10.g:719:2: ( bold_markup tb= table_bolditalcontent ( bold_markup )? | tf= table_formattedcontent )
8568                int alt103=2;
8569                int LA103_0 = input.LA(1);
8570    
8571                if ( (LA103_0==STAR) ) {
8572                    alt103=1;
8573                }
8574                else if ( ((LA103_0>=FORCED_END_OF_LINE && LA103_0<=WIKI)||LA103_0==POUND||LA103_0==EQUAL||(LA103_0>=LINK_OPEN && LA103_0<=81)) ) {
8575                    alt103=2;
8576                }
8577                else {
8578                    if (backtracking>0) {failed=true; return node;}
8579                    NoViableAltException nvae =
8580                        new NoViableAltException("718:1: table_italcontentpart returns [ASTNode node = null] : ( bold_markup tb= table_bolditalcontent ( bold_markup )? | tf= table_formattedcontent );", 103, 0, input);
8581    
8582                    throw nvae;
8583                }
8584                switch (alt103) {
8585                    case 1 :
8586                        // Creole10.g:719:4: bold_markup tb= table_bolditalcontent ( bold_markup )?
8587                        {
8588                        pushFollow(FOLLOW_bold_markup_in_table_italcontentpart2691);
8589                        bold_markup();
8590                        _fsp--;
8591                        if (failed) return node;
8592                        pushFollow(FOLLOW_table_bolditalcontent_in_table_italcontentpart2698);
8593                        tb=table_bolditalcontent();
8594                        _fsp--;
8595                        if (failed) return node;
8596                        if ( backtracking==0 ) {
8597                          node = new BoldTextNode(tb); 
8598                        }
8599                        // Creole10.g:719:88: ( bold_markup )?
8600                        int alt102=2;
8601                        int LA102_0 = input.LA(1);
8602    
8603                        if ( (LA102_0==STAR) ) {
8604                            int LA102_1 = input.LA(2);
8605    
8606                            if ( (LA102_1==STAR) ) {
8607                                alt102=1;
8608                            }
8609                        }
8610                        switch (alt102) {
8611                            case 1 :
8612                                // Creole10.g:719:90: bold_markup
8613                                {
8614                                pushFollow(FOLLOW_bold_markup_in_table_italcontentpart2705);
8615                                bold_markup();
8616                                _fsp--;
8617                                if (failed) return node;
8618    
8619                                }
8620                                break;
8621    
8622                        }
8623    
8624    
8625                        }
8626                        break;
8627                    case 2 :
8628                        // Creole10.g:720:4: tf= table_formattedcontent
8629                        {
8630                        pushFollow(FOLLOW_table_formattedcontent_in_table_italcontentpart2717);
8631                        tf=table_formattedcontent();
8632                        _fsp--;
8633                        if (failed) return node;
8634                        if ( backtracking==0 ) {
8635                           node = tf; 
8636                        }
8637    
8638                        }
8639                        break;
8640    
8641                }
8642            }
8643            catch (RecognitionException re) {
8644                reportError(re);
8645                recover(input,re);
8646            }
8647            finally {
8648            }
8649            return node;
8650        }
8651        // $ANTLR end table_italcontentpart
8652    
8653    
8654        // $ANTLR start table_bolditalcontent
8655        // Creole10.g:722:1: table_bolditalcontent returns [CollectionNode elements = null] : ( onestar (tfc= table_formattedcontent onestar )? | EOF );
8656        public final CollectionNode table_bolditalcontent() throws RecognitionException {
8657            CollectionNode elements =  null;
8658    
8659            CollectionNode tfc = null;
8660    
8661    
8662            try {
8663                // Creole10.g:723:2: ( onestar (tfc= table_formattedcontent onestar )? | EOF )
8664                int alt105=2;
8665                int LA105_0 = input.LA(1);
8666    
8667                if ( ((LA105_0>=FORCED_END_OF_LINE && LA105_0<=EQUAL)||(LA105_0>=ITAL && LA105_0<=81)) ) {
8668                    alt105=1;
8669                }
8670                else if ( (LA105_0==EOF||LA105_0==PIPE) ) {
8671                    alt105=1;
8672                }
8673                else {
8674                    if (backtracking>0) {failed=true; return elements;}
8675                    NoViableAltException nvae =
8676                        new NoViableAltException("722:1: table_bolditalcontent returns [CollectionNode elements = null] : ( onestar (tfc= table_formattedcontent onestar )? | EOF );", 105, 0, input);
8677    
8678                    throw nvae;
8679                }
8680                switch (alt105) {
8681                    case 1 :
8682                        // Creole10.g:723:4: onestar (tfc= table_formattedcontent onestar )?
8683                        {
8684                        pushFollow(FOLLOW_onestar_in_table_bolditalcontent2733);
8685                        onestar();
8686                        _fsp--;
8687                        if (failed) return elements;
8688                        // Creole10.g:723:13: (tfc= table_formattedcontent onestar )?
8689                        int alt104=2;
8690                        switch ( input.LA(1) ) {
8691                            case FORCED_END_OF_LINE:
8692                            case HEADING_SECTION:
8693                            case HORIZONTAL_SECTION:
8694                            case LIST_ITEM:
8695                            case LIST_ITEM_PART:
8696                            case NOWIKI_SECTION:
8697                            case SCAPE_NODE:
8698                            case TEXT_NODE:
8699                            case UNORDERED_LIST:
8700                            case UNFORMATTED_TEXT:
8701                            case WIKI:
8702                            case POUND:
8703                            case EQUAL:
8704                            case NOWIKI_BLOCK_CLOSE:
8705                            case NOWIKI_CLOSE:
8706                            case LINK_CLOSE:
8707                            case IMAGE_CLOSE:
8708                            case BLANKS:
8709                            case TABLE_OF_CONTENTS_OPEN:
8710                            case TABLE_OF_CONTENTS_CLOSE:
8711                            case DASH:
8712                            case CR:
8713                            case LF:
8714                            case SPACE:
8715                            case TABULATOR:
8716                            case BRACE_CLOSE:
8717                            case COLON_SLASH:
8718                            case SLASH:
8719                            case INSIGNIFICANT_CHAR:
8720                            case 43:
8721                            case 44:
8722                            case 45:
8723                            case 46:
8724                            case 47:
8725                            case 48:
8726                            case 49:
8727                            case 50:
8728                            case 51:
8729                            case 52:
8730                            case 53:
8731                            case 54:
8732                            case 55:
8733                            case 56:
8734                            case 57:
8735                            case 58:
8736                            case 59:
8737                            case 60:
8738                            case 61:
8739                            case 62:
8740                            case 63:
8741                            case 64:
8742                            case 65:
8743                            case 66:
8744                            case 67:
8745                            case 68:
8746                            case 69:
8747                            case 70:
8748                            case 71:
8749                            case 72:
8750                            case 73:
8751                            case 74:
8752                            case 75:
8753                            case 76:
8754                            case 77:
8755                            case 78:
8756                            case 79:
8757                            case 80:
8758                            case 81:
8759                                {
8760                                alt104=1;
8761                                }
8762                                break;
8763                            case FORCED_LINEBREAK:
8764                                {
8765                                alt104=1;
8766                                }
8767                                break;
8768                            case ESCAPE:
8769                                {
8770                                alt104=1;
8771                                }
8772                                break;
8773                            case LINK_OPEN:
8774                                {
8775                                alt104=1;
8776                                }
8777                                break;
8778                            case IMAGE_OPEN:
8779                                {
8780                                alt104=1;
8781                                }
8782                                break;
8783                            case EXTENSION:
8784                                {
8785                                alt104=1;
8786                                }
8787                                break;
8788                            case NOWIKI_OPEN:
8789                                {
8790                                alt104=1;
8791                                }
8792                                break;
8793                        }
8794    
8795                        switch (alt104) {
8796                            case 1 :
8797                                // Creole10.g:723:15: tfc= table_formattedcontent onestar
8798                                {
8799                                pushFollow(FOLLOW_table_formattedcontent_in_table_bolditalcontent2742);
8800                                tfc=table_formattedcontent();
8801                                _fsp--;
8802                                if (failed) return elements;
8803                                if ( backtracking==0 ) {
8804                                   elements = tfc; 
8805                                }
8806                                pushFollow(FOLLOW_onestar_in_table_bolditalcontent2747);
8807                                onestar();
8808                                _fsp--;
8809                                if (failed) return elements;
8810    
8811                                }
8812                                break;
8813    
8814                        }
8815    
8816    
8817                        }
8818                        break;
8819                    case 2 :
8820                        // Creole10.g:724:4: EOF
8821                        {
8822                        match(input,EOF,FOLLOW_EOF_in_table_bolditalcontent2755); if (failed) return elements;
8823    
8824                        }
8825                        break;
8826    
8827                }
8828            }
8829            catch (RecognitionException re) {
8830                reportError(re);
8831                recover(input,re);
8832            }
8833            finally {
8834            }
8835            return elements;
8836        }
8837        // $ANTLR end table_bolditalcontent
8838    
8839    
8840        // $ANTLR start table_formattedcontent
8841        // Creole10.g:726:1: table_formattedcontent returns [CollectionNode elements = new CollectionNode()] : (tu= table_unformattedelement )+ ;
8842        public final CollectionNode table_formattedcontent() throws RecognitionException {
8843            CollectionNode elements =  new CollectionNode();
8844    
8845            ASTNode tu = null;
8846    
8847    
8848            try {
8849                // Creole10.g:727:2: ( (tu= table_unformattedelement )+ )
8850                // Creole10.g:727:4: (tu= table_unformattedelement )+
8851                {
8852                // Creole10.g:727:4: (tu= table_unformattedelement )+
8853                int cnt106=0;
8854                loop106:
8855                do {
8856                    int alt106=2;
8857                    switch ( input.LA(1) ) {
8858                    case FORCED_END_OF_LINE:
8859                    case HEADING_SECTION:
8860                    case HORIZONTAL_SECTION:
8861                    case LIST_ITEM:
8862                    case LIST_ITEM_PART:
8863                    case NOWIKI_SECTION:
8864                    case SCAPE_NODE:
8865                    case TEXT_NODE:
8866                    case UNORDERED_LIST:
8867                    case UNFORMATTED_TEXT:
8868                    case WIKI:
8869                    case POUND:
8870                    case EQUAL:
8871                    case NOWIKI_BLOCK_CLOSE:
8872                    case NOWIKI_CLOSE:
8873                    case LINK_CLOSE:
8874                    case IMAGE_CLOSE:
8875                    case BLANKS:
8876                    case TABLE_OF_CONTENTS_OPEN:
8877                    case TABLE_OF_CONTENTS_CLOSE:
8878                    case DASH:
8879                    case CR:
8880                    case LF:
8881                    case SPACE:
8882                    case TABULATOR:
8883                    case BRACE_CLOSE:
8884                    case COLON_SLASH:
8885                    case SLASH:
8886                    case INSIGNIFICANT_CHAR:
8887                    case 43:
8888                    case 44:
8889                    case 45:
8890                    case 46:
8891                    case 47:
8892                    case 48:
8893                    case 49:
8894                    case 50:
8895                    case 51:
8896                    case 52:
8897                    case 53:
8898                    case 54:
8899                    case 55:
8900                    case 56:
8901                    case 57:
8902                    case 58:
8903                    case 59:
8904                    case 60:
8905                    case 61:
8906                    case 62:
8907                    case 63:
8908                    case 64:
8909                    case 65:
8910                    case 66:
8911                    case 67:
8912                    case 68:
8913                    case 69:
8914                    case 70:
8915                    case 71:
8916                    case 72:
8917                    case 73:
8918                    case 74:
8919                    case 75:
8920                    case 76:
8921                    case 77:
8922                    case 78:
8923                    case 79:
8924                    case 80:
8925                    case 81:
8926                        {
8927                        alt106=1;
8928                        }
8929                        break;
8930                    case FORCED_LINEBREAK:
8931                        {
8932                        alt106=1;
8933                        }
8934                        break;
8935                    case ESCAPE:
8936                        {
8937                        alt106=1;
8938                        }
8939                        break;
8940                    case LINK_OPEN:
8941                        {
8942                        alt106=1;
8943                        }
8944                        break;
8945                    case IMAGE_OPEN:
8946                        {
8947                        alt106=1;
8948                        }
8949                        break;
8950                    case EXTENSION:
8951                        {
8952                        alt106=1;
8953                        }
8954                        break;
8955                    case NOWIKI_OPEN:
8956                        {
8957                        alt106=1;
8958                        }
8959                        break;
8960    
8961                    }
8962    
8963                    switch (alt106) {
8964                    case 1 :
8965                        // Creole10.g:727:6: tu= table_unformattedelement
8966                        {
8967                        pushFollow(FOLLOW_table_unformattedelement_in_table_formattedcontent2775);
8968                        tu=table_unformattedelement();
8969                        _fsp--;
8970                        if (failed) return elements;
8971                        if ( backtracking==0 ) {
8972                           elements.add(tu); 
8973                        }
8974    
8975                        }
8976                        break;
8977    
8978                    default :
8979                        if ( cnt106 >= 1 ) break loop106;
8980                        if (backtracking>0) {failed=true; return elements;}
8981                            EarlyExitException eee =
8982                                new EarlyExitException(106, input);
8983                            throw eee;
8984                    }
8985                    cnt106++;
8986                } while (true);
8987    
8988    
8989                }
8990    
8991            }
8992            catch (RecognitionException re) {
8993                reportError(re);
8994                recover(input,re);
8995            }
8996            finally {
8997            }
8998            return elements;
8999        }
9000        // $ANTLR end table_formattedcontent
9001    
9002    
9003        // $ANTLR start table_unformattedelement
9004        // Creole10.g:729:1: table_unformattedelement returns [ASTNode content = null] : (tu= table_unformatted | ti= table_inlineelement );
9005        public final ASTNode table_unformattedelement() throws RecognitionException {
9006            ASTNode content =  null;
9007    
9008            CollectionNode tu = null;
9009    
9010            ASTNode ti = null;
9011    
9012    
9013            try {
9014                // Creole10.g:730:2: (tu= table_unformatted | ti= table_inlineelement )
9015                int alt107=2;
9016                int LA107_0 = input.LA(1);
9017    
9018                if ( ((LA107_0>=FORCED_END_OF_LINE && LA107_0<=WIKI)||LA107_0==POUND||LA107_0==EQUAL||(LA107_0>=FORCED_LINEBREAK && LA107_0<=81)) ) {
9019                    alt107=1;
9020                }
9021                else if ( ((LA107_0>=LINK_OPEN && LA107_0<=EXTENSION)) ) {
9022                    alt107=2;
9023                }
9024                else {
9025                    if (backtracking>0) {failed=true; return content;}
9026                    NoViableAltException nvae =
9027                        new NoViableAltException("729:1: table_unformattedelement returns [ASTNode content = null] : (tu= table_unformatted | ti= table_inlineelement );", 107, 0, input);
9028    
9029                    throw nvae;
9030                }
9031                switch (alt107) {
9032                    case 1 :
9033                        // Creole10.g:730:4: tu= table_unformatted
9034                        {
9035                        pushFollow(FOLLOW_table_unformatted_in_table_unformattedelement2798);
9036                        tu=table_unformatted();
9037                        _fsp--;
9038                        if (failed) return content;
9039                        if ( backtracking==0 ) {
9040                          content = new UnformattedTextNode(tu);
9041                        }
9042    
9043                        }
9044                        break;
9045                    case 2 :
9046                        // Creole10.g:731:4: ti= table_inlineelement
9047                        {
9048                        pushFollow(FOLLOW_table_inlineelement_in_table_unformattedelement2810);
9049                        ti=table_inlineelement();
9050                        _fsp--;
9051                        if (failed) return content;
9052                        if ( backtracking==0 ) {
9053                          content = ti;
9054                        }
9055    
9056                        }
9057                        break;
9058    
9059                }
9060            }
9061            catch (RecognitionException re) {
9062                reportError(re);
9063                recover(input,re);
9064            }
9065            finally {
9066            }
9067            return content;
9068        }
9069        // $ANTLR end table_unformattedelement
9070    
9071    
9072        // $ANTLR start table_inlineelement
9073        // Creole10.g:733:1: table_inlineelement returns [ASTNode element = null] : (l= link | i= image | e= extension | nw= nowiki_inline );
9074        public final ASTNode table_inlineelement() throws RecognitionException {
9075            ASTNode element =  null;
9076    
9077            LinkNode l = null;
9078    
9079            ImageNode i = null;
9080    
9081            ASTNode e = null;
9082    
9083            NoWikiSectionNode nw = null;
9084    
9085    
9086            try {
9087                // Creole10.g:734:2: (l= link | i= image | e= extension | nw= nowiki_inline )
9088                int alt108=4;
9089                switch ( input.LA(1) ) {
9090                case LINK_OPEN:
9091                    {
9092                    alt108=1;
9093                    }
9094                    break;
9095                case IMAGE_OPEN:
9096                    {
9097                    alt108=2;
9098                    }
9099                    break;
9100                case EXTENSION:
9101                    {
9102                    alt108=3;
9103                    }
9104                    break;
9105                case NOWIKI_OPEN:
9106                    {
9107                    alt108=4;
9108                    }
9109                    break;
9110                default:
9111                    if (backtracking>0) {failed=true; return element;}
9112                    NoViableAltException nvae =
9113                        new NoViableAltException("733:1: table_inlineelement returns [ASTNode element = null] : (l= link | i= image | e= extension | nw= nowiki_inline );", 108, 0, input);
9114    
9115                    throw nvae;
9116                }
9117    
9118                switch (alt108) {
9119                    case 1 :
9120                        // Creole10.g:734:4: l= link
9121                        {
9122                        pushFollow(FOLLOW_link_in_table_inlineelement2830);
9123                        l=link();
9124                        _fsp--;
9125                        if (failed) return element;
9126                        if ( backtracking==0 ) {
9127                          element = l; 
9128                        }
9129    
9130                        }
9131                        break;
9132                    case 2 :
9133                        // Creole10.g:735:4: i= image
9134                        {
9135                        pushFollow(FOLLOW_image_in_table_inlineelement2840);
9136                        i=image();
9137                        _fsp--;
9138                        if (failed) return element;
9139                        if ( backtracking==0 ) {
9140                          element = i; 
9141                        }
9142    
9143                        }
9144                        break;
9145                    case 3 :
9146                        // Creole10.g:736:4: e= extension
9147                        {
9148                        pushFollow(FOLLOW_extension_in_table_inlineelement2851);
9149                        e=extension();
9150                        _fsp--;
9151                        if (failed) return element;
9152                        if ( backtracking==0 ) {
9153                          element = e; 
9154                        }
9155    
9156                        }
9157                        break;
9158                    case 4 :
9159                        // Creole10.g:737:4: nw= nowiki_inline
9160                        {
9161                        pushFollow(FOLLOW_nowiki_inline_in_table_inlineelement2861);
9162                        nw=nowiki_inline();
9163                        _fsp--;
9164                        if (failed) return element;
9165                        if ( backtracking==0 ) {
9166                          element = nw; 
9167                        }
9168    
9169                        }
9170                        break;
9171    
9172                }
9173            }
9174            catch (RecognitionException re) {
9175                reportError(re);
9176                recover(input,re);
9177            }
9178            finally {
9179            }
9180            return element;
9181        }
9182        // $ANTLR end table_inlineelement
9183    
9184    
9185        // $ANTLR start table_unformatted
9186        // Creole10.g:739:1: table_unformatted returns [CollectionNode text = new CollectionNode()] : (t= table_unformatted_text | ( forced_linebreak | e= escaped )+ );
9187        public final CollectionNode table_unformatted() throws RecognitionException {
9188            CollectionNode text =  new CollectionNode();
9189    
9190            StringBundler t = null;
9191    
9192            ScapedNode e = null;
9193    
9194    
9195            try {
9196                // Creole10.g:740:2: (t= table_unformatted_text | ( forced_linebreak | e= escaped )+ )
9197                int alt110=2;
9198                int LA110_0 = input.LA(1);
9199    
9200                if ( ((LA110_0>=FORCED_END_OF_LINE && LA110_0<=WIKI)||LA110_0==POUND||LA110_0==EQUAL||(LA110_0>=NOWIKI_BLOCK_CLOSE && LA110_0<=81)) ) {
9201                    alt110=1;
9202                }
9203                else if ( ((LA110_0>=FORCED_LINEBREAK && LA110_0<=ESCAPE)) ) {
9204                    alt110=2;
9205                }
9206                else {
9207                    if (backtracking>0) {failed=true; return text;}
9208                    NoViableAltException nvae =
9209                        new NoViableAltException("739:1: table_unformatted returns [CollectionNode text = new CollectionNode()] : (t= table_unformatted_text | ( forced_linebreak | e= escaped )+ );", 110, 0, input);
9210    
9211                    throw nvae;
9212                }
9213                switch (alt110) {
9214                    case 1 :
9215                        // Creole10.g:740:5: t= table_unformatted_text
9216                        {
9217                        pushFollow(FOLLOW_table_unformatted_text_in_table_unformatted2882);
9218                        t=table_unformatted_text();
9219                        _fsp--;
9220                        if (failed) return text;
9221                        if ( backtracking==0 ) {
9222                           text.add(new UnformattedTextNode(t.toString()));
9223                        }
9224    
9225                        }
9226                        break;
9227                    case 2 :
9228                        // Creole10.g:741:5: ( forced_linebreak | e= escaped )+
9229                        {
9230                        // Creole10.g:741:5: ( forced_linebreak | e= escaped )+
9231                        int cnt109=0;
9232                        loop109:
9233                        do {
9234                            int alt109=3;
9235                            int LA109_0 = input.LA(1);
9236    
9237                            if ( (LA109_0==FORCED_LINEBREAK) ) {
9238                                alt109=1;
9239                            }
9240                            else if ( (LA109_0==ESCAPE) ) {
9241                                alt109=2;
9242                            }
9243    
9244    
9245                            switch (alt109) {
9246                            case 1 :
9247                                // Creole10.g:741:6: forced_linebreak
9248                                {
9249                                pushFollow(FOLLOW_forced_linebreak_in_table_unformatted2891);
9250                                forced_linebreak();
9251                                _fsp--;
9252                                if (failed) return text;
9253                                if ( backtracking==0 ) {
9254                                  text.add(new ForcedEndOfLineNode());
9255                                }
9256    
9257                                }
9258                                break;
9259                            case 2 :
9260                                // Creole10.g:742:5: e= escaped
9261                                {
9262                                pushFollow(FOLLOW_escaped_in_table_unformatted2903);
9263                                e=escaped();
9264                                _fsp--;
9265                                if (failed) return text;
9266                                if ( backtracking==0 ) {
9267                                  text.add(e);
9268                                }
9269    
9270                                }
9271                                break;
9272    
9273                            default :
9274                                if ( cnt109 >= 1 ) break loop109;
9275                                if (backtracking>0) {failed=true; return text;}
9276                                    EarlyExitException eee =
9277                                        new EarlyExitException(109, input);
9278                                    throw eee;
9279                            }
9280                            cnt109++;
9281                        } while (true);
9282    
9283    
9284                        }
9285                        break;
9286    
9287                }
9288            }
9289            catch (RecognitionException re) {
9290                reportError(re);
9291                recover(input,re);
9292            }
9293            finally {
9294            }
9295            return text;
9296        }
9297        // $ANTLR end table_unformatted
9298    
9299    
9300        // $ANTLR start table_unformatted_text
9301        // Creole10.g:745: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 ) )+ ;
9302        public final StringBundler table_unformatted_text() throws RecognitionException {
9303            StringBundler text =  new StringBundler();
9304    
9305            Token c=null;
9306    
9307            try {
9308                // Creole10.g:746:2: ( (c=~ ( PIPE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+ )
9309                // Creole10.g:746:4: (c=~ ( PIPE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+
9310                {
9311                // Creole10.g:746:4: (c=~ ( PIPE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+
9312                int cnt111=0;
9313                loop111:
9314                do {
9315                    int alt111=2;
9316                    int LA111_0 = input.LA(1);
9317    
9318                    if ( ((LA111_0>=FORCED_END_OF_LINE && LA111_0<=WIKI)||LA111_0==POUND||LA111_0==EQUAL||(LA111_0>=NOWIKI_BLOCK_CLOSE && LA111_0<=81)) ) {
9319                        alt111=1;
9320                    }
9321    
9322    
9323                    switch (alt111) {
9324                    case 1 :
9325                        // Creole10.g:746:6: c=~ ( PIPE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF )
9326                        {
9327                        c=(Token)input.LT(1);
9328                        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)<=81) ) {
9329                            input.consume();
9330                            errorRecovery=false;failed=false;
9331                        }
9332                        else {
9333                            if (backtracking>0) {failed=true; return text;}
9334                            MismatchedSetException mse =
9335                                new MismatchedSetException(null,input);
9336                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_table_unformatted_text2929);    throw mse;
9337                        }
9338    
9339                        if ( backtracking==0 ) {
9340                          text.append(c.getText());
9341                        }
9342    
9343                        }
9344                        break;
9345    
9346                    default :
9347                        if ( cnt111 >= 1 ) break loop111;
9348                        if (backtracking>0) {failed=true; return text;}
9349                            EarlyExitException eee =
9350                                new EarlyExitException(111, input);
9351                            throw eee;
9352                    }
9353                    cnt111++;
9354                } while (true);
9355    
9356    
9357                }
9358    
9359            }
9360            catch (RecognitionException re) {
9361                reportError(re);
9362                recover(input,re);
9363            }
9364            finally {
9365            }
9366            return text;
9367        }
9368        // $ANTLR end table_unformatted_text
9369    
9370    
9371        // $ANTLR start nowiki_block
9372        // Creole10.g:760:1: nowiki_block returns [NoWikiSectionNode nowikiNode] : nowikiblock_open_markup contents= nowiki_block_contents nowikiblock_close_markup paragraph_separator ;
9373        public final NoWikiSectionNode nowiki_block() throws RecognitionException {
9374            NoWikiSectionNode nowikiNode = null;
9375    
9376            nowiki_block_contents_return contents = null;
9377    
9378    
9379            try {
9380                // Creole10.g:761:2: ( nowikiblock_open_markup contents= nowiki_block_contents nowikiblock_close_markup paragraph_separator )
9381                // Creole10.g:761:4: nowikiblock_open_markup contents= nowiki_block_contents nowikiblock_close_markup paragraph_separator
9382                {
9383                pushFollow(FOLLOW_nowikiblock_open_markup_in_nowiki_block3026);
9384                nowikiblock_open_markup();
9385                _fsp--;
9386                if (failed) return nowikiNode;
9387                pushFollow(FOLLOW_nowiki_block_contents_in_nowiki_block3033);
9388                contents=nowiki_block_contents();
9389                _fsp--;
9390                if (failed) return nowikiNode;
9391                if ( backtracking==0 ) {
9392                  nowikiNode = new NoWikiSectionNode(input.toString(contents.start,contents.stop).toString());
9393                }
9394                pushFollow(FOLLOW_nowikiblock_close_markup_in_nowiki_block3039);
9395                nowikiblock_close_markup();
9396                _fsp--;
9397                if (failed) return nowikiNode;
9398                pushFollow(FOLLOW_paragraph_separator_in_nowiki_block3042);
9399                paragraph_separator();
9400                _fsp--;
9401                if (failed) return nowikiNode;
9402    
9403                }
9404    
9405            }
9406            catch (RecognitionException re) {
9407                reportError(re);
9408                recover(input,re);
9409            }
9410            finally {
9411            }
9412            return nowikiNode;
9413        }
9414        // $ANTLR end nowiki_block
9415    
9416    
9417        // $ANTLR start nowikiblock_open_markup
9418        // Creole10.g:765:1: nowikiblock_open_markup : nowiki_open_markup newline ;
9419        public final void nowikiblock_open_markup() throws RecognitionException {
9420            try {
9421                // Creole10.g:766:2: ( nowiki_open_markup newline )
9422                // Creole10.g:766:4: nowiki_open_markup newline
9423                {
9424                pushFollow(FOLLOW_nowiki_open_markup_in_nowikiblock_open_markup3053);
9425                nowiki_open_markup();
9426                _fsp--;
9427                if (failed) return ;
9428                pushFollow(FOLLOW_newline_in_nowikiblock_open_markup3056);
9429                newline();
9430                _fsp--;
9431                if (failed) return ;
9432    
9433                }
9434    
9435            }
9436            catch (RecognitionException re) {
9437                reportError(re);
9438                recover(input,re);
9439            }
9440            finally {
9441            }
9442            return ;
9443        }
9444        // $ANTLR end nowikiblock_open_markup
9445    
9446    
9447        // $ANTLR start nowikiblock_close_markup
9448        // Creole10.g:769:1: nowikiblock_close_markup : NOWIKI_BLOCK_CLOSE ;
9449        public final void nowikiblock_close_markup() throws RecognitionException {
9450            try {
9451                // Creole10.g:770:2: ( NOWIKI_BLOCK_CLOSE )
9452                // Creole10.g:770:4: NOWIKI_BLOCK_CLOSE
9453                {
9454                match(input,NOWIKI_BLOCK_CLOSE,FOLLOW_NOWIKI_BLOCK_CLOSE_in_nowikiblock_close_markup3067); if (failed) return ;
9455    
9456                }
9457    
9458            }
9459            catch (RecognitionException re) {
9460                reportError(re);
9461                recover(input,re);
9462            }
9463            finally {
9464            }
9465            return ;
9466        }
9467        // $ANTLR end nowikiblock_close_markup
9468    
9469    
9470        // $ANTLR start nowiki_inline
9471        // Creole10.g:773:1: nowiki_inline returns [NoWikiSectionNode nowiki = null] : nowiki_open_markup t= nowiki_inline_contents nowiki_close_markup ;
9472        public final NoWikiSectionNode nowiki_inline() throws RecognitionException {
9473            NoWikiSectionNode nowiki =  null;
9474    
9475            StringBundler t = null;
9476    
9477    
9478            try {
9479                // Creole10.g:774:2: ( nowiki_open_markup t= nowiki_inline_contents nowiki_close_markup )
9480                // Creole10.g:774:4: nowiki_open_markup t= nowiki_inline_contents nowiki_close_markup
9481                {
9482                pushFollow(FOLLOW_nowiki_open_markup_in_nowiki_inline3082);
9483                nowiki_open_markup();
9484                _fsp--;
9485                if (failed) return nowiki;
9486                pushFollow(FOLLOW_nowiki_inline_contents_in_nowiki_inline3089);
9487                t=nowiki_inline_contents();
9488                _fsp--;
9489                if (failed) return nowiki;
9490                pushFollow(FOLLOW_nowiki_close_markup_in_nowiki_inline3093);
9491                nowiki_close_markup();
9492                _fsp--;
9493                if (failed) return nowiki;
9494                if ( backtracking==0 ) {
9495                  nowiki = new NoWikiSectionNode(t.toString());
9496                }
9497    
9498                }
9499    
9500            }
9501            catch (RecognitionException re) {
9502                reportError(re);
9503                recover(input,re);
9504            }
9505            finally {
9506            }
9507            return nowiki;
9508        }
9509        // $ANTLR end nowiki_inline
9510    
9511        public static class nowiki_block_contents_return extends ParserRuleReturnScope {
9512            public StringBundler contents = new StringBundler();
9513        };
9514    
9515        // $ANTLR start nowiki_block_contents
9516        // Creole10.g:777:1: nowiki_block_contents returns [StringBundler contents = new StringBundler()] : (c=~ ( NOWIKI_BLOCK_CLOSE | EOF ) )* ;
9517        public final nowiki_block_contents_return nowiki_block_contents() throws RecognitionException {
9518            nowiki_block_contents_return retval = new nowiki_block_contents_return();
9519            retval.start = input.LT(1);
9520    
9521            Token c=null;
9522    
9523            try {
9524                // Creole10.g:778:2: ( (c=~ ( NOWIKI_BLOCK_CLOSE | EOF ) )* )
9525                // Creole10.g:778:3: (c=~ ( NOWIKI_BLOCK_CLOSE | EOF ) )*
9526                {
9527                // Creole10.g:778:3: (c=~ ( NOWIKI_BLOCK_CLOSE | EOF ) )*
9528                loop112:
9529                do {
9530                    int alt112=2;
9531                    int LA112_0 = input.LA(1);
9532    
9533                    if ( ((LA112_0>=FORCED_END_OF_LINE && LA112_0<=ESCAPE)||(LA112_0>=NOWIKI_CLOSE && LA112_0<=81)) ) {
9534                        alt112=1;
9535                    }
9536    
9537    
9538                    switch (alt112) {
9539                    case 1 :
9540                        // Creole10.g:778:4: c=~ ( NOWIKI_BLOCK_CLOSE | EOF )
9541                        {
9542                        c=(Token)input.LT(1);
9543                        if ( (input.LA(1)>=FORCED_END_OF_LINE && input.LA(1)<=ESCAPE)||(input.LA(1)>=NOWIKI_CLOSE && input.LA(1)<=81) ) {
9544                            input.consume();
9545                            errorRecovery=false;failed=false;
9546                        }
9547                        else {
9548                            if (backtracking>0) {failed=true; return retval;}
9549                            MismatchedSetException mse =
9550                                new MismatchedSetException(null,input);
9551                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_nowiki_block_contents3111);    throw mse;
9552                        }
9553    
9554                        if ( backtracking==0 ) {
9555                          retval.contents.append(c.getText());
9556                        }
9557    
9558                        }
9559                        break;
9560    
9561                    default :
9562                        break loop112;
9563                    }
9564                } while (true);
9565    
9566    
9567                }
9568    
9569                retval.stop = input.LT(-1);
9570    
9571            }
9572            catch (RecognitionException re) {
9573                reportError(re);
9574                recover(input,re);
9575            }
9576            finally {
9577            }
9578            return retval;
9579        }
9580        // $ANTLR end nowiki_block_contents
9581    
9582    
9583        // $ANTLR start nowiki_inline_contents
9584        // Creole10.g:781:1: nowiki_inline_contents returns [StringBundler text = new StringBundler()] : (c=~ ( NOWIKI_CLOSE | NEWLINE | EOF ) )* ;
9585        public final StringBundler nowiki_inline_contents() throws RecognitionException {
9586            StringBundler text =  new StringBundler();
9587    
9588            Token c=null;
9589    
9590            try {
9591                // Creole10.g:782:2: ( (c=~ ( NOWIKI_CLOSE | NEWLINE | EOF ) )* )
9592                // Creole10.g:782:4: (c=~ ( NOWIKI_CLOSE | NEWLINE | EOF ) )*
9593                {
9594                // Creole10.g:782:4: (c=~ ( NOWIKI_CLOSE | NEWLINE | EOF ) )*
9595                loop113:
9596                do {
9597                    int alt113=2;
9598                    int LA113_0 = input.LA(1);
9599    
9600                    if ( ((LA113_0>=FORCED_END_OF_LINE && LA113_0<=WIKI)||(LA113_0>=POUND && LA113_0<=NOWIKI_BLOCK_CLOSE)||(LA113_0>=LINK_CLOSE && LA113_0<=81)) ) {
9601                        alt113=1;
9602                    }
9603    
9604    
9605                    switch (alt113) {
9606                    case 1 :
9607                        // Creole10.g:782:5: c=~ ( NOWIKI_CLOSE | NEWLINE | EOF )
9608                        {
9609                        c=(Token)input.LT(1);
9610                        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)<=81) ) {
9611                            input.consume();
9612                            errorRecovery=false;failed=false;
9613                        }
9614                        else {
9615                            if (backtracking>0) {failed=true; return text;}
9616                            MismatchedSetException mse =
9617                                new MismatchedSetException(null,input);
9618                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_nowiki_inline_contents3144);    throw mse;
9619                        }
9620    
9621                        if ( backtracking==0 ) {
9622                           text.append(c.getText()); 
9623                        }
9624    
9625                        }
9626                        break;
9627    
9628                    default :
9629                        break loop113;
9630                    }
9631                } while (true);
9632    
9633    
9634                }
9635    
9636            }
9637            catch (RecognitionException re) {
9638                reportError(re);
9639                recover(input,re);
9640            }
9641            finally {
9642            }
9643            return text;
9644        }
9645        // $ANTLR end nowiki_inline_contents
9646    
9647    
9648        // $ANTLR start horizontalrule
9649        // Creole10.g:789:1: horizontalrule returns [ASTNode horizontal = null] : horizontalrule_markup ( blanks )? paragraph_separator ;
9650        public final ASTNode horizontalrule() throws RecognitionException {
9651            ASTNode horizontal =  null;
9652    
9653            try {
9654                // Creole10.g:790:2: ( horizontalrule_markup ( blanks )? paragraph_separator )
9655                // Creole10.g:790:4: horizontalrule_markup ( blanks )? paragraph_separator
9656                {
9657                pushFollow(FOLLOW_horizontalrule_markup_in_horizontalrule3180);
9658                horizontalrule_markup();
9659                _fsp--;
9660                if (failed) return horizontal;
9661                // Creole10.g:790:27: ( blanks )?
9662                int alt114=2;
9663                int LA114_0 = input.LA(1);
9664    
9665                if ( (LA114_0==BLANKS) ) {
9666                    alt114=1;
9667                }
9668                switch (alt114) {
9669                    case 1 :
9670                        // Creole10.g:790:29: blanks
9671                        {
9672                        pushFollow(FOLLOW_blanks_in_horizontalrule3185);
9673                        blanks();
9674                        _fsp--;
9675                        if (failed) return horizontal;
9676    
9677                        }
9678                        break;
9679    
9680                }
9681    
9682                pushFollow(FOLLOW_paragraph_separator_in_horizontalrule3191);
9683                paragraph_separator();
9684                _fsp--;
9685                if (failed) return horizontal;
9686                if ( backtracking==0 ) {
9687                  horizontal = new HorizontalNode();
9688                }
9689    
9690                }
9691    
9692            }
9693            catch (RecognitionException re) {
9694                reportError(re);
9695                recover(input,re);
9696            }
9697            finally {
9698            }
9699            return horizontal;
9700        }
9701        // $ANTLR end horizontalrule
9702    
9703    
9704        // $ANTLR start link
9705        // Creole10.g:797:1: link returns [LinkNode link = null] : link_open_markup a= link_address ( link_description_markup d= link_description )? link_close_markup ;
9706        public final LinkNode link() throws RecognitionException {
9707            LinkNode link =  null;
9708    
9709            LinkNode a = null;
9710    
9711            CollectionNode d = null;
9712    
9713    
9714            try {
9715                // Creole10.g:798:2: ( link_open_markup a= link_address ( link_description_markup d= link_description )? link_close_markup )
9716                // Creole10.g:798:4: link_open_markup a= link_address ( link_description_markup d= link_description )? link_close_markup
9717                {
9718                pushFollow(FOLLOW_link_open_markup_in_link3212);
9719                link_open_markup();
9720                _fsp--;
9721                if (failed) return link;
9722                pushFollow(FOLLOW_link_address_in_link3218);
9723                a=link_address();
9724                _fsp--;
9725                if (failed) return link;
9726                if ( backtracking==0 ) {
9727                  link = a; 
9728                }
9729                // Creole10.g:798:59: ( link_description_markup d= link_description )?
9730                int alt115=2;
9731                int LA115_0 = input.LA(1);
9732    
9733                if ( (LA115_0==PIPE) ) {
9734                    alt115=1;
9735                }
9736                switch (alt115) {
9737                    case 1 :
9738                        // Creole10.g:798:60: link_description_markup d= link_description
9739                        {
9740                        pushFollow(FOLLOW_link_description_markup_in_link3224);
9741                        link_description_markup();
9742                        _fsp--;
9743                        if (failed) return link;
9744                        pushFollow(FOLLOW_link_description_in_link3232);
9745                        d=link_description();
9746                        _fsp--;
9747                        if (failed) return link;
9748                        if ( backtracking==0 ) {
9749    
9750                                            if (link == null) { // recover from possible errors
9751                                                link = new LinkNode();
9752                                            }
9753                                            link.setAltCollectionNode(d);
9754    
9755                                            
9756                        }
9757    
9758                        }
9759                        break;
9760    
9761                }
9762    
9763                pushFollow(FOLLOW_link_close_markup_in_link3240);
9764                link_close_markup();
9765                _fsp--;
9766                if (failed) return link;
9767    
9768                }
9769    
9770            }
9771            catch (RecognitionException re) {
9772                reportError(re);
9773                recover(input,re);
9774            }
9775            finally {
9776            }
9777            return link;
9778        }
9779        // $ANTLR end link
9780    
9781    
9782        // $ANTLR start link_address
9783        // Creole10.g:808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );
9784        public final LinkNode link_address() throws RecognitionException {
9785            LinkNode link = null;
9786    
9787            InterwikiLinkNode li = null;
9788    
9789            StringBundler p = null;
9790    
9791            StringBundler lu = null;
9792    
9793    
9794            try {
9795                // Creole10.g:809:2: (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri )
9796                int alt116=2;
9797                switch ( input.LA(1) ) {
9798                case 44:
9799                    {
9800                    int LA116_1 = input.LA(2);
9801    
9802                    if ( (LA116_1==45) ) {
9803                        int LA116_16 = input.LA(3);
9804    
9805                        if ( (LA116_16==43) ) {
9806                            int LA116_34 = input.LA(4);
9807    
9808                            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<=81)) ) {
9809                                alt116=1;
9810                            }
9811                            else if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
9812                                alt116=2;
9813                            }
9814                            else {
9815                                if (backtracking>0) {failed=true; return link;}
9816                                NoViableAltException nvae =
9817                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
9818    
9819                                throw nvae;
9820                            }
9821                        }
9822                        else if ( ((LA116_16>=FORCED_END_OF_LINE && LA116_16<=WIKI)||(LA116_16>=POUND && LA116_16<=INSIGNIFICANT_CHAR)||(LA116_16>=44 && LA116_16<=81)) ) {
9823                            alt116=2;
9824                        }
9825                        else {
9826                            if (backtracking>0) {failed=true; return link;}
9827                            NoViableAltException nvae =
9828                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 16, input);
9829    
9830                            throw nvae;
9831                        }
9832                    }
9833                    else if ( ((LA116_1>=FORCED_END_OF_LINE && LA116_1<=WIKI)||(LA116_1>=POUND && LA116_1<=44)||(LA116_1>=46 && LA116_1<=81)) ) {
9834                        alt116=2;
9835                    }
9836                    else {
9837                        if (backtracking>0) {failed=true; return link;}
9838                        NoViableAltException nvae =
9839                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 1, input);
9840    
9841                        throw nvae;
9842                    }
9843                    }
9844                    break;
9845                case 46:
9846                    {
9847                    int LA116_2 = input.LA(2);
9848    
9849                    if ( (LA116_2==47) ) {
9850                        int LA116_17 = input.LA(3);
9851    
9852                        if ( (LA116_17==48) ) {
9853                            int LA116_35 = input.LA(4);
9854    
9855                            if ( (LA116_35==49) ) {
9856                                int LA116_55 = input.LA(5);
9857    
9858                                if ( (LA116_55==50) ) {
9859                                    int LA116_74 = input.LA(6);
9860    
9861                                    if ( (LA116_74==51) ) {
9862                                        int LA116_93 = input.LA(7);
9863    
9864                                        if ( (LA116_93==48) ) {
9865                                            int LA116_109 = input.LA(8);
9866    
9867                                            if ( (LA116_109==51) ) {
9868                                                int LA116_120 = input.LA(9);
9869    
9870                                                if ( (LA116_120==43) ) {
9871                                                    int LA116_34 = input.LA(10);
9872    
9873                                                    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<=81)) ) {
9874                                                        alt116=1;
9875                                                    }
9876                                                    else if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
9877                                                        alt116=2;
9878                                                    }
9879                                                    else {
9880                                                        if (backtracking>0) {failed=true; return link;}
9881                                                        NoViableAltException nvae =
9882                                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
9883    
9884                                                        throw nvae;
9885                                                    }
9886                                                }
9887                                                else if ( ((LA116_120>=FORCED_END_OF_LINE && LA116_120<=WIKI)||(LA116_120>=POUND && LA116_120<=INSIGNIFICANT_CHAR)||(LA116_120>=44 && LA116_120<=81)) ) {
9888                                                    alt116=2;
9889                                                }
9890                                                else {
9891                                                    if (backtracking>0) {failed=true; return link;}
9892                                                    NoViableAltException nvae =
9893                                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 120, input);
9894    
9895                                                    throw nvae;
9896                                                }
9897                                            }
9898                                            else if ( ((LA116_109>=FORCED_END_OF_LINE && LA116_109<=WIKI)||(LA116_109>=POUND && LA116_109<=50)||(LA116_109>=52 && LA116_109<=81)) ) {
9899                                                alt116=2;
9900                                            }
9901                                            else {
9902                                                if (backtracking>0) {failed=true; return link;}
9903                                                NoViableAltException nvae =
9904                                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 109, input);
9905    
9906                                                throw nvae;
9907                                            }
9908                                        }
9909                                        else if ( ((LA116_93>=FORCED_END_OF_LINE && LA116_93<=WIKI)||(LA116_93>=POUND && LA116_93<=47)||(LA116_93>=49 && LA116_93<=81)) ) {
9910                                            alt116=2;
9911                                        }
9912                                        else {
9913                                            if (backtracking>0) {failed=true; return link;}
9914                                            NoViableAltException nvae =
9915                                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 93, input);
9916    
9917                                            throw nvae;
9918                                        }
9919                                    }
9920                                    else if ( ((LA116_74>=FORCED_END_OF_LINE && LA116_74<=WIKI)||(LA116_74>=POUND && LA116_74<=50)||(LA116_74>=52 && LA116_74<=81)) ) {
9921                                        alt116=2;
9922                                    }
9923                                    else {
9924                                        if (backtracking>0) {failed=true; return link;}
9925                                        NoViableAltException nvae =
9926                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 74, input);
9927    
9928                                        throw nvae;
9929                                    }
9930                                }
9931                                else if ( ((LA116_55>=FORCED_END_OF_LINE && LA116_55<=WIKI)||(LA116_55>=POUND && LA116_55<=49)||(LA116_55>=51 && LA116_55<=81)) ) {
9932                                    alt116=2;
9933                                }
9934                                else {
9935                                    if (backtracking>0) {failed=true; return link;}
9936                                    NoViableAltException nvae =
9937                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 55, input);
9938    
9939                                    throw nvae;
9940                                }
9941                            }
9942                            else if ( ((LA116_35>=FORCED_END_OF_LINE && LA116_35<=WIKI)||(LA116_35>=POUND && LA116_35<=48)||(LA116_35>=50 && LA116_35<=81)) ) {
9943                                alt116=2;
9944                            }
9945                            else {
9946                                if (backtracking>0) {failed=true; return link;}
9947                                NoViableAltException nvae =
9948                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 35, input);
9949    
9950                                throw nvae;
9951                            }
9952                        }
9953                        else if ( ((LA116_17>=FORCED_END_OF_LINE && LA116_17<=WIKI)||(LA116_17>=POUND && LA116_17<=47)||(LA116_17>=49 && LA116_17<=81)) ) {
9954                            alt116=2;
9955                        }
9956                        else {
9957                            if (backtracking>0) {failed=true; return link;}
9958                            NoViableAltException nvae =
9959                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 17, input);
9960    
9961                            throw nvae;
9962                        }
9963                    }
9964                    else if ( ((LA116_2>=FORCED_END_OF_LINE && LA116_2<=WIKI)||(LA116_2>=POUND && LA116_2<=46)||(LA116_2>=48 && LA116_2<=81)) ) {
9965                        alt116=2;
9966                    }
9967                    else {
9968                        if (backtracking>0) {failed=true; return link;}
9969                        NoViableAltException nvae =
9970                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 2, input);
9971    
9972                        throw nvae;
9973                    }
9974                    }
9975                    break;
9976                case 52:
9977                    {
9978                    int LA116_3 = input.LA(2);
9979    
9980                    if ( (LA116_3==53) ) {
9981                        int LA116_18 = input.LA(3);
9982    
9983                        if ( (LA116_18==51) ) {
9984                            int LA116_36 = input.LA(4);
9985    
9986                            if ( (LA116_36==54) ) {
9987                                int LA116_56 = input.LA(5);
9988    
9989                                if ( (LA116_56==48) ) {
9990                                    int LA116_75 = input.LA(6);
9991    
9992                                    if ( (LA116_75==55) ) {
9993                                        int LA116_94 = input.LA(7);
9994    
9995                                        if ( (LA116_94==43) ) {
9996                                            int LA116_34 = input.LA(8);
9997    
9998                                            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<=81)) ) {
9999                                                alt116=1;
10000                                            }
10001                                            else if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
10002                                                alt116=2;
10003                                            }
10004                                            else {
10005                                                if (backtracking>0) {failed=true; return link;}
10006                                                NoViableAltException nvae =
10007                                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
10008    
10009                                                throw nvae;
10010                                            }
10011                                        }
10012                                        else if ( ((LA116_94>=FORCED_END_OF_LINE && LA116_94<=WIKI)||(LA116_94>=POUND && LA116_94<=INSIGNIFICANT_CHAR)||(LA116_94>=44 && LA116_94<=81)) ) {
10013                                            alt116=2;
10014                                        }
10015                                        else {
10016                                            if (backtracking>0) {failed=true; return link;}
10017                                            NoViableAltException nvae =
10018                                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 94, input);
10019    
10020                                            throw nvae;
10021                                        }
10022                                    }
10023                                    else if ( ((LA116_75>=FORCED_END_OF_LINE && LA116_75<=WIKI)||(LA116_75>=POUND && LA116_75<=54)||(LA116_75>=56 && LA116_75<=81)) ) {
10024                                        alt116=2;
10025                                    }
10026                                    else {
10027                                        if (backtracking>0) {failed=true; return link;}
10028                                        NoViableAltException nvae =
10029                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 75, input);
10030    
10031                                        throw nvae;
10032                                    }
10033                                }
10034                                else if ( ((LA116_56>=FORCED_END_OF_LINE && LA116_56<=WIKI)||(LA116_56>=POUND && LA116_56<=47)||(LA116_56>=49 && LA116_56<=81)) ) {
10035                                    alt116=2;
10036                                }
10037                                else {
10038                                    if (backtracking>0) {failed=true; return link;}
10039                                    NoViableAltException nvae =
10040                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 56, input);
10041    
10042                                    throw nvae;
10043                                }
10044                            }
10045                            else if ( ((LA116_36>=FORCED_END_OF_LINE && LA116_36<=WIKI)||(LA116_36>=POUND && LA116_36<=53)||(LA116_36>=55 && LA116_36<=81)) ) {
10046                                alt116=2;
10047                            }
10048                            else {
10049                                if (backtracking>0) {failed=true; return link;}
10050                                NoViableAltException nvae =
10051                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 36, input);
10052    
10053                                throw nvae;
10054                            }
10055                        }
10056                        else if ( ((LA116_18>=FORCED_END_OF_LINE && LA116_18<=WIKI)||(LA116_18>=POUND && LA116_18<=50)||(LA116_18>=52 && LA116_18<=81)) ) {
10057                            alt116=2;
10058                        }
10059                        else {
10060                            if (backtracking>0) {failed=true; return link;}
10061                            NoViableAltException nvae =
10062                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 18, input);
10063    
10064                            throw nvae;
10065                        }
10066                    }
10067                    else if ( ((LA116_3>=FORCED_END_OF_LINE && LA116_3<=WIKI)||(LA116_3>=POUND && LA116_3<=52)||(LA116_3>=54 && LA116_3<=81)) ) {
10068                        alt116=2;
10069                    }
10070                    else {
10071                        if (backtracking>0) {failed=true; return link;}
10072                        NoViableAltException nvae =
10073                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 3, input);
10074    
10075                        throw nvae;
10076                    }
10077                    }
10078                    break;
10079                case 56:
10080                    {
10081                    int LA116_4 = input.LA(2);
10082    
10083                    if ( (LA116_4==47) ) {
10084                        int LA116_19 = input.LA(3);
10085    
10086                        if ( (LA116_19==47) ) {
10087                            int LA116_37 = input.LA(4);
10088    
10089                            if ( (LA116_37==57) ) {
10090                                int LA116_57 = input.LA(5);
10091    
10092                                if ( (LA116_57==53) ) {
10093                                    int LA116_76 = input.LA(6);
10094    
10095                                    if ( (LA116_76==58) ) {
10096                                        int LA116_95 = input.LA(7);
10097    
10098                                        if ( (LA116_95==43) ) {
10099                                            int LA116_34 = input.LA(8);
10100    
10101                                            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<=81)) ) {
10102                                                alt116=1;
10103                                            }
10104                                            else if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
10105                                                alt116=2;
10106                                            }
10107                                            else {
10108                                                if (backtracking>0) {failed=true; return link;}
10109                                                NoViableAltException nvae =
10110                                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
10111    
10112                                                throw nvae;
10113                                            }
10114                                        }
10115                                        else if ( ((LA116_95>=FORCED_END_OF_LINE && LA116_95<=WIKI)||(LA116_95>=POUND && LA116_95<=INSIGNIFICANT_CHAR)||(LA116_95>=44 && LA116_95<=81)) ) {
10116                                            alt116=2;
10117                                        }
10118                                        else {
10119                                            if (backtracking>0) {failed=true; return link;}
10120                                            NoViableAltException nvae =
10121                                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 95, input);
10122    
10123                                            throw nvae;
10124                                        }
10125                                    }
10126                                    else if ( ((LA116_76>=FORCED_END_OF_LINE && LA116_76<=WIKI)||(LA116_76>=POUND && LA116_76<=57)||(LA116_76>=59 && LA116_76<=81)) ) {
10127                                        alt116=2;
10128                                    }
10129                                    else {
10130                                        if (backtracking>0) {failed=true; return link;}
10131                                        NoViableAltException nvae =
10132                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 76, input);
10133    
10134                                        throw nvae;
10135                                    }
10136                                }
10137                                else if ( ((LA116_57>=FORCED_END_OF_LINE && LA116_57<=WIKI)||(LA116_57>=POUND && LA116_57<=52)||(LA116_57>=54 && LA116_57<=81)) ) {
10138                                    alt116=2;
10139                                }
10140                                else {
10141                                    if (backtracking>0) {failed=true; return link;}
10142                                    NoViableAltException nvae =
10143                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 57, input);
10144    
10145                                    throw nvae;
10146                                }
10147                            }
10148                            else if ( ((LA116_37>=FORCED_END_OF_LINE && LA116_37<=WIKI)||(LA116_37>=POUND && LA116_37<=56)||(LA116_37>=58 && LA116_37<=81)) ) {
10149                                alt116=2;
10150                            }
10151                            else {
10152                                if (backtracking>0) {failed=true; return link;}
10153                                NoViableAltException nvae =
10154                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 37, input);
10155    
10156                                throw nvae;
10157                            }
10158                        }
10159                        else if ( ((LA116_19>=FORCED_END_OF_LINE && LA116_19<=WIKI)||(LA116_19>=POUND && LA116_19<=46)||(LA116_19>=48 && LA116_19<=81)) ) {
10160                            alt116=2;
10161                        }
10162                        else {
10163                            if (backtracking>0) {failed=true; return link;}
10164                            NoViableAltException nvae =
10165                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 19, input);
10166    
10167                            throw nvae;
10168                        }
10169                    }
10170                    else if ( ((LA116_4>=FORCED_END_OF_LINE && LA116_4<=WIKI)||(LA116_4>=POUND && LA116_4<=46)||(LA116_4>=48 && LA116_4<=81)) ) {
10171                        alt116=2;
10172                    }
10173                    else {
10174                        if (backtracking>0) {failed=true; return link;}
10175                        NoViableAltException nvae =
10176                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 4, input);
10177    
10178                        throw nvae;
10179                    }
10180                    }
10181                    break;
10182                case 59:
10183                    {
10184                    int LA116_5 = input.LA(2);
10185    
10186                    if ( (LA116_5==60) ) {
10187                        int LA116_20 = input.LA(3);
10188    
10189                        if ( (LA116_20==61) ) {
10190                            int LA116_38 = input.LA(4);
10191    
10192                            if ( (LA116_38==50) ) {
10193                                int LA116_58 = input.LA(5);
10194    
10195                                if ( (LA116_58==51) ) {
10196                                    int LA116_77 = input.LA(6);
10197    
10198                                    if ( (LA116_77==48) ) {
10199                                        int LA116_96 = input.LA(7);
10200    
10201                                        if ( (LA116_96==51) ) {
10202                                            int LA116_110 = input.LA(8);
10203    
10204                                            if ( (LA116_110==43) ) {
10205                                                int LA116_34 = input.LA(9);
10206    
10207                                                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<=81)) ) {
10208                                                    alt116=1;
10209                                                }
10210                                                else if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
10211                                                    alt116=2;
10212                                                }
10213                                                else {
10214                                                    if (backtracking>0) {failed=true; return link;}
10215                                                    NoViableAltException nvae =
10216                                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
10217    
10218                                                    throw nvae;
10219                                                }
10220                                            }
10221                                            else if ( ((LA116_110>=FORCED_END_OF_LINE && LA116_110<=WIKI)||(LA116_110>=POUND && LA116_110<=INSIGNIFICANT_CHAR)||(LA116_110>=44 && LA116_110<=81)) ) {
10222                                                alt116=2;
10223                                            }
10224                                            else {
10225                                                if (backtracking>0) {failed=true; return link;}
10226                                                NoViableAltException nvae =
10227                                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 110, input);
10228    
10229                                                throw nvae;
10230                                            }
10231                                        }
10232                                        else if ( ((LA116_96>=FORCED_END_OF_LINE && LA116_96<=WIKI)||(LA116_96>=POUND && LA116_96<=50)||(LA116_96>=52 && LA116_96<=81)) ) {
10233                                            alt116=2;
10234                                        }
10235                                        else {
10236                                            if (backtracking>0) {failed=true; return link;}
10237                                            NoViableAltException nvae =
10238                                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 96, input);
10239    
10240                                            throw nvae;
10241                                        }
10242                                    }
10243                                    else if ( ((LA116_77>=FORCED_END_OF_LINE && LA116_77<=WIKI)||(LA116_77>=POUND && LA116_77<=47)||(LA116_77>=49 && LA116_77<=81)) ) {
10244                                        alt116=2;
10245                                    }
10246                                    else {
10247                                        if (backtracking>0) {failed=true; return link;}
10248                                        NoViableAltException nvae =
10249                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 77, input);
10250    
10251                                        throw nvae;
10252                                    }
10253                                }
10254                                else if ( ((LA116_58>=FORCED_END_OF_LINE && LA116_58<=WIKI)||(LA116_58>=POUND && LA116_58<=50)||(LA116_58>=52 && LA116_58<=81)) ) {
10255                                    alt116=2;
10256                                }
10257                                else {
10258                                    if (backtracking>0) {failed=true; return link;}
10259                                    NoViableAltException nvae =
10260                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 58, input);
10261    
10262                                    throw nvae;
10263                                }
10264                            }
10265                            else if ( ((LA116_38>=FORCED_END_OF_LINE && LA116_38<=WIKI)||(LA116_38>=POUND && LA116_38<=49)||(LA116_38>=51 && LA116_38<=81)) ) {
10266                                alt116=2;
10267                            }
10268                            else {
10269                                if (backtracking>0) {failed=true; return link;}
10270                                NoViableAltException nvae =
10271                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 38, input);
10272    
10273                                throw nvae;
10274                            }
10275                        }
10276                        else if ( ((LA116_20>=FORCED_END_OF_LINE && LA116_20<=WIKI)||(LA116_20>=POUND && LA116_20<=60)||(LA116_20>=62 && LA116_20<=81)) ) {
10277                            alt116=2;
10278                        }
10279                        else {
10280                            if (backtracking>0) {failed=true; return link;}
10281                            NoViableAltException nvae =
10282                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 20, input);
10283    
10284                            throw nvae;
10285                        }
10286                    }
10287                    else if ( ((LA116_5>=FORCED_END_OF_LINE && LA116_5<=WIKI)||(LA116_5>=POUND && LA116_5<=59)||(LA116_5>=61 && LA116_5<=81)) ) {
10288                        alt116=2;
10289                    }
10290                    else {
10291                        if (backtracking>0) {failed=true; return link;}
10292                        NoViableAltException nvae =
10293                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 5, input);
10294    
10295                        throw nvae;
10296                    }
10297                    }
10298                    break;
10299                case 62:
10300                    {
10301                    switch ( input.LA(2) ) {
10302                    case 47:
10303                        {
10304                        int LA116_21 = input.LA(3);
10305    
10306                        if ( (LA116_21==51) ) {
10307                            int LA116_39 = input.LA(4);
10308    
10309                            if ( (LA116_39==67) ) {
10310                                int LA116_59 = input.LA(5);
10311    
10312                                if ( (LA116_59==62) ) {
10313                                    int LA116_78 = input.LA(6);
10314    
10315                                    if ( (LA116_78==47) ) {
10316                                        int LA116_97 = input.LA(7);
10317    
10318                                        if ( (LA116_97==51) ) {
10319                                            int LA116_111 = input.LA(8);
10320    
10321                                            if ( (LA116_111==67) ) {
10322                                                int LA116_121 = input.LA(9);
10323    
10324                                                if ( (LA116_121==43) ) {
10325                                                    int LA116_34 = input.LA(10);
10326    
10327                                                    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<=81)) ) {
10328                                                        alt116=1;
10329                                                    }
10330                                                    else if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
10331                                                        alt116=2;
10332                                                    }
10333                                                    else {
10334                                                        if (backtracking>0) {failed=true; return link;}
10335                                                        NoViableAltException nvae =
10336                                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
10337    
10338                                                        throw nvae;
10339                                                    }
10340                                                }
10341                                                else if ( ((LA116_121>=FORCED_END_OF_LINE && LA116_121<=WIKI)||(LA116_121>=POUND && LA116_121<=INSIGNIFICANT_CHAR)||(LA116_121>=44 && LA116_121<=81)) ) {
10342                                                    alt116=2;
10343                                                }
10344                                                else {
10345                                                    if (backtracking>0) {failed=true; return link;}
10346                                                    NoViableAltException nvae =
10347                                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 121, input);
10348    
10349                                                    throw nvae;
10350                                                }
10351                                            }
10352                                            else if ( ((LA116_111>=FORCED_END_OF_LINE && LA116_111<=WIKI)||(LA116_111>=POUND && LA116_111<=66)||(LA116_111>=68 && LA116_111<=81)) ) {
10353                                                alt116=2;
10354                                            }
10355                                            else {
10356                                                if (backtracking>0) {failed=true; return link;}
10357                                                NoViableAltException nvae =
10358                                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 111, input);
10359    
10360                                                throw nvae;
10361                                            }
10362                                        }
10363                                        else if ( ((LA116_97>=FORCED_END_OF_LINE && LA116_97<=WIKI)||(LA116_97>=POUND && LA116_97<=50)||(LA116_97>=52 && LA116_97<=81)) ) {
10364                                            alt116=2;
10365                                        }
10366                                        else {
10367                                            if (backtracking>0) {failed=true; return link;}
10368                                            NoViableAltException nvae =
10369                                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 97, input);
10370    
10371                                            throw nvae;
10372                                        }
10373                                    }
10374                                    else if ( ((LA116_78>=FORCED_END_OF_LINE && LA116_78<=WIKI)||(LA116_78>=POUND && LA116_78<=46)||(LA116_78>=48 && LA116_78<=81)) ) {
10375                                        alt116=2;
10376                                    }
10377                                    else {
10378                                        if (backtracking>0) {failed=true; return link;}
10379                                        NoViableAltException nvae =
10380                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 78, input);
10381    
10382                                        throw nvae;
10383                                    }
10384                                }
10385                                else if ( ((LA116_59>=FORCED_END_OF_LINE && LA116_59<=WIKI)||(LA116_59>=POUND && LA116_59<=61)||(LA116_59>=63 && LA116_59<=81)) ) {
10386                                    alt116=2;
10387                                }
10388                                else {
10389                                    if (backtracking>0) {failed=true; return link;}
10390                                    NoViableAltException nvae =
10391                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 59, input);
10392    
10393                                    throw nvae;
10394                                }
10395                            }
10396                            else if ( ((LA116_39>=FORCED_END_OF_LINE && LA116_39<=WIKI)||(LA116_39>=POUND && LA116_39<=66)||(LA116_39>=68 && LA116_39<=81)) ) {
10397                                alt116=2;
10398                            }
10399                            else {
10400                                if (backtracking>0) {failed=true; return link;}
10401                                NoViableAltException nvae =
10402                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 39, input);
10403    
10404                                throw nvae;
10405                            }
10406                        }
10407                        else if ( ((LA116_21>=FORCED_END_OF_LINE && LA116_21<=WIKI)||(LA116_21>=POUND && LA116_21<=50)||(LA116_21>=52 && LA116_21<=81)) ) {
10408                            alt116=2;
10409                        }
10410                        else {
10411                            if (backtracking>0) {failed=true; return link;}
10412                            NoViableAltException nvae =
10413                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 21, input);
10414    
10415                            throw nvae;
10416                        }
10417                        }
10418                        break;
10419                    case 58:
10420                        {
10421                        switch ( input.LA(3) ) {
10422                        case 63:
10423                            {
10424                            int LA116_40 = input.LA(4);
10425    
10426                            if ( (LA116_40==64) ) {
10427                                int LA116_60 = input.LA(5);
10428    
10429                                if ( (LA116_60==65) ) {
10430                                    int LA116_79 = input.LA(6);
10431    
10432                                    if ( (LA116_79==63) ) {
10433                                        int LA116_98 = input.LA(7);
10434    
10435                                        if ( (LA116_98==53) ) {
10436                                            int LA116_112 = input.LA(8);
10437    
10438                                            if ( (LA116_112==53) ) {
10439                                                int LA116_122 = input.LA(9);
10440    
10441                                                if ( (LA116_122==43) ) {
10442                                                    int LA116_34 = input.LA(10);
10443    
10444                                                    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<=81)) ) {
10445                                                        alt116=1;
10446                                                    }
10447                                                    else if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
10448                                                        alt116=2;
10449                                                    }
10450                                                    else {
10451                                                        if (backtracking>0) {failed=true; return link;}
10452                                                        NoViableAltException nvae =
10453                                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
10454    
10455                                                        throw nvae;
10456                                                    }
10457                                                }
10458                                                else if ( ((LA116_122>=FORCED_END_OF_LINE && LA116_122<=WIKI)||(LA116_122>=POUND && LA116_122<=INSIGNIFICANT_CHAR)||(LA116_122>=44 && LA116_122<=81)) ) {
10459                                                    alt116=2;
10460                                                }
10461                                                else {
10462                                                    if (backtracking>0) {failed=true; return link;}
10463                                                    NoViableAltException nvae =
10464                                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 122, input);
10465    
10466                                                    throw nvae;
10467                                                }
10468                                            }
10469                                            else if ( ((LA116_112>=FORCED_END_OF_LINE && LA116_112<=WIKI)||(LA116_112>=POUND && LA116_112<=52)||(LA116_112>=54 && LA116_112<=81)) ) {
10470                                                alt116=2;
10471                                            }
10472                                            else {
10473                                                if (backtracking>0) {failed=true; return link;}
10474                                                NoViableAltException nvae =
10475                                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 112, input);
10476    
10477                                                throw nvae;
10478                                            }
10479                                        }
10480                                        else if ( ((LA116_98>=FORCED_END_OF_LINE && LA116_98<=WIKI)||(LA116_98>=POUND && LA116_98<=52)||(LA116_98>=54 && LA116_98<=81)) ) {
10481                                            alt116=2;
10482                                        }
10483                                        else {
10484                                            if (backtracking>0) {failed=true; return link;}
10485                                            NoViableAltException nvae =
10486                                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 98, input);
10487    
10488                                            throw nvae;
10489                                        }
10490                                    }
10491                                    else if ( ((LA116_79>=FORCED_END_OF_LINE && LA116_79<=WIKI)||(LA116_79>=POUND && LA116_79<=62)||(LA116_79>=64 && LA116_79<=81)) ) {
10492                                        alt116=2;
10493                                    }
10494                                    else {
10495                                        if (backtracking>0) {failed=true; return link;}
10496                                        NoViableAltException nvae =
10497                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 79, input);
10498    
10499                                        throw nvae;
10500                                    }
10501                                }
10502                                else if ( ((LA116_60>=FORCED_END_OF_LINE && LA116_60<=WIKI)||(LA116_60>=POUND && LA116_60<=64)||(LA116_60>=66 && LA116_60<=81)) ) {
10503                                    alt116=2;
10504                                }
10505                                else {
10506                                    if (backtracking>0) {failed=true; return link;}
10507                                    NoViableAltException nvae =
10508                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 60, input);
10509    
10510                                    throw nvae;
10511                                }
10512                            }
10513                            else if ( ((LA116_40>=FORCED_END_OF_LINE && LA116_40<=WIKI)||(LA116_40>=POUND && LA116_40<=63)||(LA116_40>=65 && LA116_40<=81)) ) {
10514                                alt116=2;
10515                            }
10516                            else {
10517                                if (backtracking>0) {failed=true; return link;}
10518                                NoViableAltException nvae =
10519                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 40, input);
10520    
10521                                throw nvae;
10522                            }
10523                            }
10524                            break;
10525                        case 66:
10526                            {
10527                            int LA116_41 = input.LA(4);
10528    
10529                            if ( (LA116_41==51) ) {
10530                                int LA116_61 = input.LA(5);
10531    
10532                                if ( (LA116_61==63) ) {
10533                                    int LA116_80 = input.LA(6);
10534    
10535                                    if ( (LA116_80==50) ) {
10536                                        int LA116_99 = input.LA(7);
10537    
10538                                        if ( (LA116_99==51) ) {
10539                                            int LA116_113 = input.LA(8);
10540    
10541                                            if ( (LA116_113==48) ) {
10542                                                int LA116_123 = input.LA(9);
10543    
10544                                                if ( (LA116_123==51) ) {
10545                                                    int LA116_129 = input.LA(10);
10546    
10547                                                    if ( (LA116_129==43) ) {
10548                                                        int LA116_34 = input.LA(11);
10549    
10550                                                        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<=81)) ) {
10551                                                            alt116=1;
10552                                                        }
10553                                                        else if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
10554                                                            alt116=2;
10555                                                        }
10556                                                        else {
10557                                                            if (backtracking>0) {failed=true; return link;}
10558                                                            NoViableAltException nvae =
10559                                                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
10560    
10561                                                            throw nvae;
10562                                                        }
10563                                                    }
10564                                                    else if ( ((LA116_129>=FORCED_END_OF_LINE && LA116_129<=WIKI)||(LA116_129>=POUND && LA116_129<=INSIGNIFICANT_CHAR)||(LA116_129>=44 && LA116_129<=81)) ) {
10565                                                        alt116=2;
10566                                                    }
10567                                                    else {
10568                                                        if (backtracking>0) {failed=true; return link;}
10569                                                        NoViableAltException nvae =
10570                                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 129, input);
10571    
10572                                                        throw nvae;
10573                                                    }
10574                                                }
10575                                                else if ( ((LA116_123>=FORCED_END_OF_LINE && LA116_123<=WIKI)||(LA116_123>=POUND && LA116_123<=50)||(LA116_123>=52 && LA116_123<=81)) ) {
10576                                                    alt116=2;
10577                                                }
10578                                                else {
10579                                                    if (backtracking>0) {failed=true; return link;}
10580                                                    NoViableAltException nvae =
10581                                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 123, input);
10582    
10583                                                    throw nvae;
10584                                                }
10585                                            }
10586                                            else if ( ((LA116_113>=FORCED_END_OF_LINE && LA116_113<=WIKI)||(LA116_113>=POUND && LA116_113<=47)||(LA116_113>=49 && LA116_113<=81)) ) {
10587                                                alt116=2;
10588                                            }
10589                                            else {
10590                                                if (backtracking>0) {failed=true; return link;}
10591                                                NoViableAltException nvae =
10592                                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 113, input);
10593    
10594                                                throw nvae;
10595                                            }
10596                                        }
10597                                        else if ( ((LA116_99>=FORCED_END_OF_LINE && LA116_99<=WIKI)||(LA116_99>=POUND && LA116_99<=50)||(LA116_99>=52 && LA116_99<=81)) ) {
10598                                            alt116=2;
10599                                        }
10600                                        else {
10601                                            if (backtracking>0) {failed=true; return link;}
10602                                            NoViableAltException nvae =
10603                                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 99, input);
10604    
10605                                            throw nvae;
10606                                        }
10607                                    }
10608                                    else if ( ((LA116_80>=FORCED_END_OF_LINE && LA116_80<=WIKI)||(LA116_80>=POUND && LA116_80<=49)||(LA116_80>=51 && LA116_80<=81)) ) {
10609                                        alt116=2;
10610                                    }
10611                                    else {
10612                                        if (backtracking>0) {failed=true; return link;}
10613                                        NoViableAltException nvae =
10614                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 80, input);
10615    
10616                                        throw nvae;
10617                                    }
10618                                }
10619                                else if ( ((LA116_61>=FORCED_END_OF_LINE && LA116_61<=WIKI)||(LA116_61>=POUND && LA116_61<=62)||(LA116_61>=64 && LA116_61<=81)) ) {
10620                                    alt116=2;
10621                                }
10622                                else {
10623                                    if (backtracking>0) {failed=true; return link;}
10624                                    NoViableAltException nvae =
10625                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 61, input);
10626    
10627                                    throw nvae;
10628                                }
10629                            }
10630                            else if ( ((LA116_41>=FORCED_END_OF_LINE && LA116_41<=WIKI)||(LA116_41>=POUND && LA116_41<=50)||(LA116_41>=52 && LA116_41<=81)) ) {
10631                                alt116=2;
10632                            }
10633                            else {
10634                                if (backtracking>0) {failed=true; return link;}
10635                                NoViableAltException nvae =
10636                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 41, input);
10637    
10638                                throw nvae;
10639                            }
10640                            }
10641                            break;
10642                        case FORCED_END_OF_LINE:
10643                        case HEADING_SECTION:
10644                        case HORIZONTAL_SECTION:
10645                        case LIST_ITEM:
10646                        case LIST_ITEM_PART:
10647                        case NOWIKI_SECTION:
10648                        case SCAPE_NODE:
10649                        case TEXT_NODE:
10650                        case UNORDERED_LIST:
10651                        case UNFORMATTED_TEXT:
10652                        case WIKI:
10653                        case POUND:
10654                        case STAR:
10655                        case EQUAL:
10656                        case PIPE:
10657                        case ITAL:
10658                        case LINK_OPEN:
10659                        case IMAGE_OPEN:
10660                        case NOWIKI_OPEN:
10661                        case EXTENSION:
10662                        case FORCED_LINEBREAK:
10663                        case ESCAPE:
10664                        case NOWIKI_BLOCK_CLOSE:
10665                        case NOWIKI_CLOSE:
10666                        case LINK_CLOSE:
10667                        case IMAGE_CLOSE:
10668                        case BLANKS:
10669                        case TABLE_OF_CONTENTS_OPEN:
10670                        case TABLE_OF_CONTENTS_CLOSE:
10671                        case DASH:
10672                        case CR:
10673                        case LF:
10674                        case SPACE:
10675                        case TABULATOR:
10676                        case BRACE_CLOSE:
10677                        case COLON_SLASH:
10678                        case SLASH:
10679                        case INSIGNIFICANT_CHAR:
10680                        case 43:
10681                        case 44:
10682                        case 45:
10683                        case 46:
10684                        case 47:
10685                        case 48:
10686                        case 49:
10687                        case 50:
10688                        case 51:
10689                        case 52:
10690                        case 53:
10691                        case 54:
10692                        case 55:
10693                        case 56:
10694                        case 57:
10695                        case 58:
10696                        case 59:
10697                        case 60:
10698                        case 61:
10699                        case 62:
10700                        case 64:
10701                        case 65:
10702                        case 67:
10703                        case 68:
10704                        case 69:
10705                        case 70:
10706                        case 71:
10707                        case 72:
10708                        case 73:
10709                        case 74:
10710                        case 75:
10711                        case 76:
10712                        case 77:
10713                        case 78:
10714                        case 79:
10715                        case 80:
10716                        case 81:
10717                            {
10718                            alt116=2;
10719                            }
10720                            break;
10721                        default:
10722                            if (backtracking>0) {failed=true; return link;}
10723                            NoViableAltException nvae =
10724                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 22, input);
10725    
10726                            throw nvae;
10727                        }
10728    
10729                        }
10730                        break;
10731                    case FORCED_END_OF_LINE:
10732                    case HEADING_SECTION:
10733                    case HORIZONTAL_SECTION:
10734                    case LIST_ITEM:
10735                    case LIST_ITEM_PART:
10736                    case NOWIKI_SECTION:
10737                    case SCAPE_NODE:
10738                    case TEXT_NODE:
10739                    case UNORDERED_LIST:
10740                    case UNFORMATTED_TEXT:
10741                    case WIKI:
10742                    case POUND:
10743                    case STAR:
10744                    case EQUAL:
10745                    case PIPE:
10746                    case ITAL:
10747                    case LINK_OPEN:
10748                    case IMAGE_OPEN:
10749                    case NOWIKI_OPEN:
10750                    case EXTENSION:
10751                    case FORCED_LINEBREAK:
10752                    case ESCAPE:
10753                    case NOWIKI_BLOCK_CLOSE:
10754                    case NOWIKI_CLOSE:
10755                    case LINK_CLOSE:
10756                    case IMAGE_CLOSE:
10757                    case BLANKS:
10758                    case TABLE_OF_CONTENTS_OPEN:
10759                    case TABLE_OF_CONTENTS_CLOSE:
10760                    case DASH:
10761                    case CR:
10762                    case LF:
10763                    case SPACE:
10764                    case TABULATOR:
10765                    case BRACE_CLOSE:
10766                    case COLON_SLASH:
10767                    case SLASH:
10768                    case INSIGNIFICANT_CHAR:
10769                    case 43:
10770                    case 44:
10771                    case 45:
10772                    case 46:
10773                    case 48:
10774                    case 49:
10775                    case 50:
10776                    case 51:
10777                    case 52:
10778                    case 53:
10779                    case 54:
10780                    case 55:
10781                    case 56:
10782                    case 57:
10783                    case 59:
10784                    case 60:
10785                    case 61:
10786                    case 62:
10787                    case 63:
10788                    case 64:
10789                    case 65:
10790                    case 66:
10791                    case 67:
10792                    case 68:
10793                    case 69:
10794                    case 70:
10795                    case 71:
10796                    case 72:
10797                    case 73:
10798                    case 74:
10799                    case 75:
10800                    case 76:
10801                    case 77:
10802                    case 78:
10803                    case 79:
10804                    case 80:
10805                    case 81:
10806                        {
10807                        alt116=2;
10808                        }
10809                        break;
10810                    default:
10811                        if (backtracking>0) {failed=true; return link;}
10812                        NoViableAltException nvae =
10813                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 6, input);
10814    
10815                        throw nvae;
10816                    }
10817    
10818                    }
10819                    break;
10820                case 68:
10821                    {
10822                    switch ( input.LA(2) ) {
10823                    case 71:
10824                        {
10825                        int LA116_23 = input.LA(3);
10826    
10827                        if ( (LA116_23==63) ) {
10828                            int LA116_42 = input.LA(4);
10829    
10830                            if ( (LA116_42==67) ) {
10831                                int LA116_62 = input.LA(5);
10832    
10833                                if ( (LA116_62==63) ) {
10834                                    int LA116_81 = input.LA(6);
10835    
10836                                    if ( (LA116_81==43) ) {
10837                                        int LA116_34 = input.LA(7);
10838    
10839                                        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<=81)) ) {
10840                                            alt116=1;
10841                                        }
10842                                        else if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
10843                                            alt116=2;
10844                                        }
10845                                        else {
10846                                            if (backtracking>0) {failed=true; return link;}
10847                                            NoViableAltException nvae =
10848                                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
10849    
10850                                            throw nvae;
10851                                        }
10852                                    }
10853                                    else if ( ((LA116_81>=FORCED_END_OF_LINE && LA116_81<=WIKI)||(LA116_81>=POUND && LA116_81<=INSIGNIFICANT_CHAR)||(LA116_81>=44 && LA116_81<=81)) ) {
10854                                        alt116=2;
10855                                    }
10856                                    else {
10857                                        if (backtracking>0) {failed=true; return link;}
10858                                        NoViableAltException nvae =
10859                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 81, input);
10860    
10861                                        throw nvae;
10862                                    }
10863                                }
10864                                else if ( ((LA116_62>=FORCED_END_OF_LINE && LA116_62<=WIKI)||(LA116_62>=POUND && LA116_62<=62)||(LA116_62>=64 && LA116_62<=81)) ) {
10865                                    alt116=2;
10866                                }
10867                                else {
10868                                    if (backtracking>0) {failed=true; return link;}
10869                                    NoViableAltException nvae =
10870                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 62, input);
10871    
10872                                    throw nvae;
10873                                }
10874                            }
10875                            else if ( ((LA116_42>=FORCED_END_OF_LINE && LA116_42<=WIKI)||(LA116_42>=POUND && LA116_42<=66)||(LA116_42>=68 && LA116_42<=81)) ) {
10876                                alt116=2;
10877                            }
10878                            else {
10879                                if (backtracking>0) {failed=true; return link;}
10880                                NoViableAltException nvae =
10881                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 42, input);
10882    
10883                                throw nvae;
10884                            }
10885                        }
10886                        else if ( ((LA116_23>=FORCED_END_OF_LINE && LA116_23<=WIKI)||(LA116_23>=POUND && LA116_23<=62)||(LA116_23>=64 && LA116_23<=81)) ) {
10887                            alt116=2;
10888                        }
10889                        else {
10890                            if (backtracking>0) {failed=true; return link;}
10891                            NoViableAltException nvae =
10892                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 23, input);
10893    
10894                            throw nvae;
10895                        }
10896                        }
10897                        break;
10898                    case 66:
10899                        {
10900                        int LA116_24 = input.LA(3);
10901    
10902                        if ( (LA116_24==66) ) {
10903                            int LA116_43 = input.LA(4);
10904    
10905                            if ( (LA116_43==69) ) {
10906                                int LA116_63 = input.LA(5);
10907    
10908                                if ( (LA116_63==49) ) {
10909                                    int LA116_82 = input.LA(6);
10910    
10911                                    if ( (LA116_82==70) ) {
10912                                        int LA116_100 = input.LA(7);
10913    
10914                                        if ( (LA116_100==58) ) {
10915                                            int LA116_114 = input.LA(8);
10916    
10917                                            if ( (LA116_114==43) ) {
10918                                                int LA116_34 = input.LA(9);
10919    
10920                                                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<=81)) ) {
10921                                                    alt116=1;
10922                                                }
10923                                                else if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
10924                                                    alt116=2;
10925                                                }
10926                                                else {
10927                                                    if (backtracking>0) {failed=true; return link;}
10928                                                    NoViableAltException nvae =
10929                                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
10930    
10931                                                    throw nvae;
10932                                                }
10933                                            }
10934                                            else if ( ((LA116_114>=FORCED_END_OF_LINE && LA116_114<=WIKI)||(LA116_114>=POUND && LA116_114<=INSIGNIFICANT_CHAR)||(LA116_114>=44 && LA116_114<=81)) ) {
10935                                                alt116=2;
10936                                            }
10937                                            else {
10938                                                if (backtracking>0) {failed=true; return link;}
10939                                                NoViableAltException nvae =
10940                                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 114, input);
10941    
10942                                                throw nvae;
10943                                            }
10944                                        }
10945                                        else if ( ((LA116_100>=FORCED_END_OF_LINE && LA116_100<=WIKI)||(LA116_100>=POUND && LA116_100<=57)||(LA116_100>=59 && LA116_100<=81)) ) {
10946                                            alt116=2;
10947                                        }
10948                                        else {
10949                                            if (backtracking>0) {failed=true; return link;}
10950                                            NoViableAltException nvae =
10951                                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 100, input);
10952    
10953                                            throw nvae;
10954                                        }
10955                                    }
10956                                    else if ( ((LA116_82>=FORCED_END_OF_LINE && LA116_82<=WIKI)||(LA116_82>=POUND && LA116_82<=69)||(LA116_82>=71 && LA116_82<=81)) ) {
10957                                        alt116=2;
10958                                    }
10959                                    else {
10960                                        if (backtracking>0) {failed=true; return link;}
10961                                        NoViableAltException nvae =
10962                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 82, input);
10963    
10964                                        throw nvae;
10965                                    }
10966                                }
10967                                else if ( ((LA116_63>=FORCED_END_OF_LINE && LA116_63<=WIKI)||(LA116_63>=POUND && LA116_63<=48)||(LA116_63>=50 && LA116_63<=81)) ) {
10968                                    alt116=2;
10969                                }
10970                                else {
10971                                    if (backtracking>0) {failed=true; return link;}
10972                                    NoViableAltException nvae =
10973                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 63, input);
10974    
10975                                    throw nvae;
10976                                }
10977                            }
10978                            else if ( ((LA116_43>=FORCED_END_OF_LINE && LA116_43<=WIKI)||(LA116_43>=POUND && LA116_43<=68)||(LA116_43>=70 && LA116_43<=81)) ) {
10979                                alt116=2;
10980                            }
10981                            else {
10982                                if (backtracking>0) {failed=true; return link;}
10983                                NoViableAltException nvae =
10984                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 43, input);
10985    
10986                                throw nvae;
10987                            }
10988                        }
10989                        else if ( ((LA116_24>=FORCED_END_OF_LINE && LA116_24<=WIKI)||(LA116_24>=POUND && LA116_24<=65)||(LA116_24>=67 && LA116_24<=81)) ) {
10990                            alt116=2;
10991                        }
10992                        else {
10993                            if (backtracking>0) {failed=true; return link;}
10994                            NoViableAltException nvae =
10995                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 24, input);
10996    
10997                            throw nvae;
10998                        }
10999                        }
11000                        break;
11001                    case FORCED_END_OF_LINE:
11002                    case HEADING_SECTION:
11003                    case HORIZONTAL_SECTION:
11004                    case LIST_ITEM:
11005                    case LIST_ITEM_PART:
11006                    case NOWIKI_SECTION:
11007                    case SCAPE_NODE:
11008                    case TEXT_NODE:
11009                    case UNORDERED_LIST:
11010                    case UNFORMATTED_TEXT:
11011                    case WIKI:
11012                    case POUND:
11013                    case STAR:
11014                    case EQUAL:
11015                    case PIPE:
11016                    case ITAL:
11017                    case LINK_OPEN:
11018                    case IMAGE_OPEN:
11019                    case NOWIKI_OPEN:
11020                    case EXTENSION:
11021                    case FORCED_LINEBREAK:
11022                    case ESCAPE:
11023                    case NOWIKI_BLOCK_CLOSE:
11024                    case NOWIKI_CLOSE:
11025                    case LINK_CLOSE:
11026                    case IMAGE_CLOSE:
11027                    case BLANKS:
11028                    case TABLE_OF_CONTENTS_OPEN:
11029                    case TABLE_OF_CONTENTS_CLOSE:
11030                    case DASH:
11031                    case CR:
11032                    case LF:
11033                    case SPACE:
11034                    case TABULATOR:
11035                    case BRACE_CLOSE:
11036                    case COLON_SLASH:
11037                    case SLASH:
11038                    case INSIGNIFICANT_CHAR:
11039                    case 43:
11040                    case 44:
11041                    case 45:
11042                    case 46:
11043                    case 47:
11044                    case 48:
11045                    case 49:
11046                    case 50:
11047                    case 51:
11048                    case 52:
11049                    case 53:
11050                    case 54:
11051                    case 55:
11052                    case 56:
11053                    case 57:
11054                    case 58:
11055                    case 59:
11056                    case 60:
11057                    case 61:
11058                    case 62:
11059                    case 63:
11060                    case 64:
11061                    case 65:
11062                    case 67:
11063                    case 68:
11064                    case 69:
11065                    case 70:
11066                    case 72:
11067                    case 73:
11068                    case 74:
11069                    case 75:
11070                    case 76:
11071                    case 77:
11072                    case 78:
11073                    case 79:
11074                    case 80:
11075                    case 81:
11076                        {
11077                        alt116=2;
11078                        }
11079                        break;
11080                    default:
11081                        if (backtracking>0) {failed=true; return link;}
11082                        NoViableAltException nvae =
11083                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 7, input);
11084    
11085                        throw nvae;
11086                    }
11087    
11088                    }
11089                    break;
11090                case 61:
11091                    {
11092                    switch ( input.LA(2) ) {
11093                    case 49:
11094                        {
11095                        switch ( input.LA(3) ) {
11096                        case 55:
11097                            {
11098                            int LA116_44 = input.LA(4);
11099    
11100                            if ( (LA116_44==72) ) {
11101                                int LA116_64 = input.LA(5);
11102    
11103                                if ( (LA116_64==53) ) {
11104                                    int LA116_83 = input.LA(6);
11105    
11106                                    if ( (LA116_83==58) ) {
11107                                        int LA116_101 = input.LA(7);
11108    
11109                                        if ( (LA116_101==50) ) {
11110                                            int LA116_115 = input.LA(8);
11111    
11112                                            if ( (LA116_115==51) ) {
11113                                                int LA116_124 = input.LA(9);
11114    
11115                                                if ( (LA116_124==48) ) {
11116                                                    int LA116_130 = input.LA(10);
11117    
11118                                                    if ( (LA116_130==51) ) {
11119                                                        int LA116_133 = input.LA(11);
11120    
11121                                                        if ( (LA116_133==43) ) {
11122                                                            int LA116_34 = input.LA(12);
11123    
11124                                                            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<=81)) ) {
11125                                                                alt116=1;
11126                                                            }
11127                                                            else if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
11128                                                                alt116=2;
11129                                                            }
11130                                                            else {
11131                                                                if (backtracking>0) {failed=true; return link;}
11132                                                                NoViableAltException nvae =
11133                                                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
11134    
11135                                                                throw nvae;
11136                                                            }
11137                                                        }
11138                                                        else if ( ((LA116_133>=FORCED_END_OF_LINE && LA116_133<=WIKI)||(LA116_133>=POUND && LA116_133<=INSIGNIFICANT_CHAR)||(LA116_133>=44 && LA116_133<=81)) ) {
11139                                                            alt116=2;
11140                                                        }
11141                                                        else {
11142                                                            if (backtracking>0) {failed=true; return link;}
11143                                                            NoViableAltException nvae =
11144                                                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 133, input);
11145    
11146                                                            throw nvae;
11147                                                        }
11148                                                    }
11149                                                    else if ( ((LA116_130>=FORCED_END_OF_LINE && LA116_130<=WIKI)||(LA116_130>=POUND && LA116_130<=50)||(LA116_130>=52 && LA116_130<=81)) ) {
11150                                                        alt116=2;
11151                                                    }
11152                                                    else {
11153                                                        if (backtracking>0) {failed=true; return link;}
11154                                                        NoViableAltException nvae =
11155                                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 130, input);
11156    
11157                                                        throw nvae;
11158                                                    }
11159                                                }
11160                                                else if ( ((LA116_124>=FORCED_END_OF_LINE && LA116_124<=WIKI)||(LA116_124>=POUND && LA116_124<=47)||(LA116_124>=49 && LA116_124<=81)) ) {
11161                                                    alt116=2;
11162                                                }
11163                                                else {
11164                                                    if (backtracking>0) {failed=true; return link;}
11165                                                    NoViableAltException nvae =
11166                                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 124, input);
11167    
11168                                                    throw nvae;
11169                                                }
11170                                            }
11171                                            else if ( ((LA116_115>=FORCED_END_OF_LINE && LA116_115<=WIKI)||(LA116_115>=POUND && LA116_115<=50)||(LA116_115>=52 && LA116_115<=81)) ) {
11172                                                alt116=2;
11173                                            }
11174                                            else {
11175                                                if (backtracking>0) {failed=true; return link;}
11176                                                NoViableAltException nvae =
11177                                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 115, input);
11178    
11179                                                throw nvae;
11180                                            }
11181                                        }
11182                                        else if ( ((LA116_101>=FORCED_END_OF_LINE && LA116_101<=WIKI)||(LA116_101>=POUND && LA116_101<=49)||(LA116_101>=51 && LA116_101<=81)) ) {
11183                                            alt116=2;
11184                                        }
11185                                        else {
11186                                            if (backtracking>0) {failed=true; return link;}
11187                                            NoViableAltException nvae =
11188                                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 101, input);
11189    
11190                                            throw nvae;
11191                                        }
11192                                    }
11193                                    else if ( ((LA116_83>=FORCED_END_OF_LINE && LA116_83<=WIKI)||(LA116_83>=POUND && LA116_83<=57)||(LA116_83>=59 && LA116_83<=81)) ) {
11194                                        alt116=2;
11195                                    }
11196                                    else {
11197                                        if (backtracking>0) {failed=true; return link;}
11198                                        NoViableAltException nvae =
11199                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 83, input);
11200    
11201                                        throw nvae;
11202                                    }
11203                                }
11204                                else if ( ((LA116_64>=FORCED_END_OF_LINE && LA116_64<=WIKI)||(LA116_64>=POUND && LA116_64<=52)||(LA116_64>=54 && LA116_64<=81)) ) {
11205                                    alt116=2;
11206                                }
11207                                else {
11208                                    if (backtracking>0) {failed=true; return link;}
11209                                    NoViableAltException nvae =
11210                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 64, input);
11211    
11212                                    throw nvae;
11213                                }
11214                            }
11215                            else if ( ((LA116_44>=FORCED_END_OF_LINE && LA116_44<=WIKI)||(LA116_44>=POUND && LA116_44<=71)||(LA116_44>=73 && LA116_44<=81)) ) {
11216                                alt116=2;
11217                            }
11218                            else {
11219                                if (backtracking>0) {failed=true; return link;}
11220                                NoViableAltException nvae =
11221                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 44, input);
11222    
11223                                throw nvae;
11224                            }
11225                            }
11226                            break;
11227                        case 48:
11228                            {
11229                            int LA116_45 = input.LA(4);
11230    
11231                            if ( (LA116_45==51) ) {
11232                                int LA116_65 = input.LA(5);
11233    
11234                                if ( (LA116_65==50) ) {
11235                                    int LA116_84 = input.LA(6);
11236    
11237                                    if ( (LA116_84==51) ) {
11238                                        int LA116_102 = input.LA(7);
11239    
11240                                        if ( (LA116_102==48) ) {
11241                                            int LA116_116 = input.LA(8);
11242    
11243                                            if ( (LA116_116==51) ) {
11244                                                int LA116_125 = input.LA(9);
11245    
11246                                                if ( (LA116_125==43) ) {
11247                                                    int LA116_34 = input.LA(10);
11248    
11249                                                    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<=81)) ) {
11250                                                        alt116=1;
11251                                                    }
11252                                                    else if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
11253                                                        alt116=2;
11254                                                    }
11255                                                    else {
11256                                                        if (backtracking>0) {failed=true; return link;}
11257                                                        NoViableAltException nvae =
11258                                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
11259    
11260                                                        throw nvae;
11261                                                    }
11262                                                }
11263                                                else if ( ((LA116_125>=FORCED_END_OF_LINE && LA116_125<=WIKI)||(LA116_125>=POUND && LA116_125<=INSIGNIFICANT_CHAR)||(LA116_125>=44 && LA116_125<=81)) ) {
11264                                                    alt116=2;
11265                                                }
11266                                                else {
11267                                                    if (backtracking>0) {failed=true; return link;}
11268                                                    NoViableAltException nvae =
11269                                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 125, input);
11270    
11271                                                    throw nvae;
11272                                                }
11273                                            }
11274                                            else if ( ((LA116_116>=FORCED_END_OF_LINE && LA116_116<=WIKI)||(LA116_116>=POUND && LA116_116<=50)||(LA116_116>=52 && LA116_116<=81)) ) {
11275                                                alt116=2;
11276                                            }
11277                                            else {
11278                                                if (backtracking>0) {failed=true; return link;}
11279                                                NoViableAltException nvae =
11280                                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 116, input);
11281    
11282                                                throw nvae;
11283                                            }
11284                                        }
11285                                        else if ( ((LA116_102>=FORCED_END_OF_LINE && LA116_102<=WIKI)||(LA116_102>=POUND && LA116_102<=47)||(LA116_102>=49 && LA116_102<=81)) ) {
11286                                            alt116=2;
11287                                        }
11288                                        else {
11289                                            if (backtracking>0) {failed=true; return link;}
11290                                            NoViableAltException nvae =
11291                                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 102, input);
11292    
11293                                            throw nvae;
11294                                        }
11295                                    }
11296                                    else if ( ((LA116_84>=FORCED_END_OF_LINE && LA116_84<=WIKI)||(LA116_84>=POUND && LA116_84<=50)||(LA116_84>=52 && LA116_84<=81)) ) {
11297                                        alt116=2;
11298                                    }
11299                                    else {
11300                                        if (backtracking>0) {failed=true; return link;}
11301                                        NoViableAltException nvae =
11302                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 84, input);
11303    
11304                                        throw nvae;
11305                                    }
11306                                }
11307                                else if ( ((LA116_65>=FORCED_END_OF_LINE && LA116_65<=WIKI)||(LA116_65>=POUND && LA116_65<=49)||(LA116_65>=51 && LA116_65<=81)) ) {
11308                                    alt116=2;
11309                                }
11310                                else {
11311                                    if (backtracking>0) {failed=true; return link;}
11312                                    NoViableAltException nvae =
11313                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 65, input);
11314    
11315                                    throw nvae;
11316                                }
11317                            }
11318                            else if ( ((LA116_45>=FORCED_END_OF_LINE && LA116_45<=WIKI)||(LA116_45>=POUND && LA116_45<=50)||(LA116_45>=52 && LA116_45<=81)) ) {
11319                                alt116=2;
11320                            }
11321                            else {
11322                                if (backtracking>0) {failed=true; return link;}
11323                                NoViableAltException nvae =
11324                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 45, input);
11325    
11326                                throw nvae;
11327                            }
11328                            }
11329                            break;
11330                        case FORCED_END_OF_LINE:
11331                        case HEADING_SECTION:
11332                        case HORIZONTAL_SECTION:
11333                        case LIST_ITEM:
11334                        case LIST_ITEM_PART:
11335                        case NOWIKI_SECTION:
11336                        case SCAPE_NODE:
11337                        case TEXT_NODE:
11338                        case UNORDERED_LIST:
11339                        case UNFORMATTED_TEXT:
11340                        case WIKI:
11341                        case POUND:
11342                        case STAR:
11343                        case EQUAL:
11344                        case PIPE:
11345                        case ITAL:
11346                        case LINK_OPEN:
11347                        case IMAGE_OPEN:
11348                        case NOWIKI_OPEN:
11349                        case EXTENSION:
11350                        case FORCED_LINEBREAK:
11351                        case ESCAPE:
11352                        case NOWIKI_BLOCK_CLOSE:
11353                        case NOWIKI_CLOSE:
11354                        case LINK_CLOSE:
11355                        case IMAGE_CLOSE:
11356                        case BLANKS:
11357                        case TABLE_OF_CONTENTS_OPEN:
11358                        case TABLE_OF_CONTENTS_CLOSE:
11359                        case DASH:
11360                        case CR:
11361                        case LF:
11362                        case SPACE:
11363                        case TABULATOR:
11364                        case BRACE_CLOSE:
11365                        case COLON_SLASH:
11366                        case SLASH:
11367                        case INSIGNIFICANT_CHAR:
11368                        case 43:
11369                        case 44:
11370                        case 45:
11371                        case 46:
11372                        case 47:
11373                        case 49:
11374                        case 50:
11375                        case 51:
11376                        case 52:
11377                        case 53:
11378                        case 54:
11379                        case 56:
11380                        case 57:
11381                        case 58:
11382                        case 59:
11383                        case 60:
11384                        case 61:
11385                        case 62:
11386                        case 63:
11387                        case 64:
11388                        case 65:
11389                        case 66:
11390                        case 67:
11391                        case 68:
11392                        case 69:
11393                        case 70:
11394                        case 71:
11395                        case 72:
11396                        case 73:
11397                        case 74:
11398                        case 75:
11399                        case 76:
11400                        case 77:
11401                        case 78:
11402                        case 79:
11403                        case 80:
11404                        case 81:
11405                            {
11406                            alt116=2;
11407                            }
11408                            break;
11409                        default:
11410                            if (backtracking>0) {failed=true; return link;}
11411                            NoViableAltException nvae =
11412                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 25, input);
11413    
11414                            throw nvae;
11415                        }
11416    
11417                        }
11418                        break;
11419                    case 69:
11420                        {
11421                        int LA116_26 = input.LA(3);
11422    
11423                        if ( (LA116_26==50) ) {
11424                            int LA116_46 = input.LA(4);
11425    
11426                            if ( (LA116_46==51) ) {
11427                                int LA116_66 = input.LA(5);
11428    
11429                                if ( (LA116_66==48) ) {
11430                                    int LA116_85 = input.LA(6);
11431    
11432                                    if ( (LA116_85==51) ) {
11433                                        int LA116_103 = input.LA(7);
11434    
11435                                        if ( (LA116_103==43) ) {
11436                                            int LA116_34 = input.LA(8);
11437    
11438                                            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<=81)) ) {
11439                                                alt116=1;
11440                                            }
11441                                            else if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
11442                                                alt116=2;
11443                                            }
11444                                            else {
11445                                                if (backtracking>0) {failed=true; return link;}
11446                                                NoViableAltException nvae =
11447                                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
11448    
11449                                                throw nvae;
11450                                            }
11451                                        }
11452                                        else if ( ((LA116_103>=FORCED_END_OF_LINE && LA116_103<=WIKI)||(LA116_103>=POUND && LA116_103<=INSIGNIFICANT_CHAR)||(LA116_103>=44 && LA116_103<=81)) ) {
11453                                            alt116=2;
11454                                        }
11455                                        else {
11456                                            if (backtracking>0) {failed=true; return link;}
11457                                            NoViableAltException nvae =
11458                                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 103, input);
11459    
11460                                            throw nvae;
11461                                        }
11462                                    }
11463                                    else if ( ((LA116_85>=FORCED_END_OF_LINE && LA116_85<=WIKI)||(LA116_85>=POUND && LA116_85<=50)||(LA116_85>=52 && LA116_85<=81)) ) {
11464                                        alt116=2;
11465                                    }
11466                                    else {
11467                                        if (backtracking>0) {failed=true; return link;}
11468                                        NoViableAltException nvae =
11469                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 85, input);
11470    
11471                                        throw nvae;
11472                                    }
11473                                }
11474                                else if ( ((LA116_66>=FORCED_END_OF_LINE && LA116_66<=WIKI)||(LA116_66>=POUND && LA116_66<=47)||(LA116_66>=49 && LA116_66<=81)) ) {
11475                                    alt116=2;
11476                                }
11477                                else {
11478                                    if (backtracking>0) {failed=true; return link;}
11479                                    NoViableAltException nvae =
11480                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 66, input);
11481    
11482                                    throw nvae;
11483                                }
11484                            }
11485                            else if ( ((LA116_46>=FORCED_END_OF_LINE && LA116_46<=WIKI)||(LA116_46>=POUND && LA116_46<=50)||(LA116_46>=52 && LA116_46<=81)) ) {
11486                                alt116=2;
11487                            }
11488                            else {
11489                                if (backtracking>0) {failed=true; return link;}
11490                                NoViableAltException nvae =
11491                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 46, input);
11492    
11493                                throw nvae;
11494                            }
11495                        }
11496                        else if ( ((LA116_26>=FORCED_END_OF_LINE && LA116_26<=WIKI)||(LA116_26>=POUND && LA116_26<=49)||(LA116_26>=51 && LA116_26<=81)) ) {
11497                            alt116=2;
11498                        }
11499                        else {
11500                            if (backtracking>0) {failed=true; return link;}
11501                            NoViableAltException nvae =
11502                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 26, input);
11503    
11504                            throw nvae;
11505                        }
11506                        }
11507                        break;
11508                    case FORCED_END_OF_LINE:
11509                    case HEADING_SECTION:
11510                    case HORIZONTAL_SECTION:
11511                    case LIST_ITEM:
11512                    case LIST_ITEM_PART:
11513                    case NOWIKI_SECTION:
11514                    case SCAPE_NODE:
11515                    case TEXT_NODE:
11516                    case UNORDERED_LIST:
11517                    case UNFORMATTED_TEXT:
11518                    case WIKI:
11519                    case POUND:
11520                    case STAR:
11521                    case EQUAL:
11522                    case PIPE:
11523                    case ITAL:
11524                    case LINK_OPEN:
11525                    case IMAGE_OPEN:
11526                    case NOWIKI_OPEN:
11527                    case EXTENSION:
11528                    case FORCED_LINEBREAK:
11529                    case ESCAPE:
11530                    case NOWIKI_BLOCK_CLOSE:
11531                    case NOWIKI_CLOSE:
11532                    case LINK_CLOSE:
11533                    case IMAGE_CLOSE:
11534                    case BLANKS:
11535                    case TABLE_OF_CONTENTS_OPEN:
11536                    case TABLE_OF_CONTENTS_CLOSE:
11537                    case DASH:
11538                    case CR:
11539                    case LF:
11540                    case SPACE:
11541                    case TABULATOR:
11542                    case BRACE_CLOSE:
11543                    case COLON_SLASH:
11544                    case SLASH:
11545                    case INSIGNIFICANT_CHAR:
11546                    case 43:
11547                    case 44:
11548                    case 45:
11549                    case 46:
11550                    case 47:
11551                    case 48:
11552                    case 50:
11553                    case 51:
11554                    case 52:
11555                    case 53:
11556                    case 54:
11557                    case 55:
11558                    case 56:
11559                    case 57:
11560                    case 58:
11561                    case 59:
11562                    case 60:
11563                    case 61:
11564                    case 62:
11565                    case 63:
11566                    case 64:
11567                    case 65:
11568                    case 66:
11569                    case 67:
11570                    case 68:
11571                    case 70:
11572                    case 71:
11573                    case 72:
11574                    case 73:
11575                    case 74:
11576                    case 75:
11577                    case 76:
11578                    case 77:
11579                    case 78:
11580                    case 79:
11581                    case 80:
11582                    case 81:
11583                        {
11584                        alt116=2;
11585                        }
11586                        break;
11587                    default:
11588                        if (backtracking>0) {failed=true; return link;}
11589                        NoViableAltException nvae =
11590                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 8, input);
11591    
11592                        throw nvae;
11593                    }
11594    
11595                    }
11596                    break;
11597                case 73:
11598                    {
11599                    int LA116_9 = input.LA(2);
11600    
11601                    if ( (LA116_9==63) ) {
11602                        int LA116_27 = input.LA(3);
11603    
11604                        if ( (LA116_27==66) ) {
11605                            int LA116_47 = input.LA(4);
11606    
11607                            if ( (LA116_47==58) ) {
11608                                int LA116_67 = input.LA(5);
11609    
11610                                if ( (LA116_67==47) ) {
11611                                    int LA116_86 = input.LA(6);
11612    
11613                                    if ( (LA116_86==74) ) {
11614                                        int LA116_104 = input.LA(7);
11615    
11616                                        if ( (LA116_104==43) ) {
11617                                            int LA116_34 = input.LA(8);
11618    
11619                                            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<=81)) ) {
11620                                                alt116=1;
11621                                            }
11622                                            else if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
11623                                                alt116=2;
11624                                            }
11625                                            else {
11626                                                if (backtracking>0) {failed=true; return link;}
11627                                                NoViableAltException nvae =
11628                                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
11629    
11630                                                throw nvae;
11631                                            }
11632                                        }
11633                                        else if ( ((LA116_104>=FORCED_END_OF_LINE && LA116_104<=WIKI)||(LA116_104>=POUND && LA116_104<=INSIGNIFICANT_CHAR)||(LA116_104>=44 && LA116_104<=81)) ) {
11634                                            alt116=2;
11635                                        }
11636                                        else {
11637                                            if (backtracking>0) {failed=true; return link;}
11638                                            NoViableAltException nvae =
11639                                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 104, input);
11640    
11641                                            throw nvae;
11642                                        }
11643                                    }
11644                                    else if ( ((LA116_86>=FORCED_END_OF_LINE && LA116_86<=WIKI)||(LA116_86>=POUND && LA116_86<=73)||(LA116_86>=75 && LA116_86<=81)) ) {
11645                                        alt116=2;
11646                                    }
11647                                    else {
11648                                        if (backtracking>0) {failed=true; return link;}
11649                                        NoViableAltException nvae =
11650                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 86, input);
11651    
11652                                        throw nvae;
11653                                    }
11654                                }
11655                                else if ( ((LA116_67>=FORCED_END_OF_LINE && LA116_67<=WIKI)||(LA116_67>=POUND && LA116_67<=46)||(LA116_67>=48 && LA116_67<=81)) ) {
11656                                    alt116=2;
11657                                }
11658                                else {
11659                                    if (backtracking>0) {failed=true; return link;}
11660                                    NoViableAltException nvae =
11661                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 67, input);
11662    
11663                                    throw nvae;
11664                                }
11665                            }
11666                            else if ( ((LA116_47>=FORCED_END_OF_LINE && LA116_47<=WIKI)||(LA116_47>=POUND && LA116_47<=57)||(LA116_47>=59 && LA116_47<=81)) ) {
11667                                alt116=2;
11668                            }
11669                            else {
11670                                if (backtracking>0) {failed=true; return link;}
11671                                NoViableAltException nvae =
11672                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 47, input);
11673    
11674                                throw nvae;
11675                            }
11676                        }
11677                        else if ( ((LA116_27>=FORCED_END_OF_LINE && LA116_27<=WIKI)||(LA116_27>=POUND && LA116_27<=65)||(LA116_27>=67 && LA116_27<=81)) ) {
11678                            alt116=2;
11679                        }
11680                        else {
11681                            if (backtracking>0) {failed=true; return link;}
11682                            NoViableAltException nvae =
11683                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 27, input);
11684    
11685                            throw nvae;
11686                        }
11687                    }
11688                    else if ( ((LA116_9>=FORCED_END_OF_LINE && LA116_9<=WIKI)||(LA116_9>=POUND && LA116_9<=62)||(LA116_9>=64 && LA116_9<=81)) ) {
11689                        alt116=2;
11690                    }
11691                    else {
11692                        if (backtracking>0) {failed=true; return link;}
11693                        NoViableAltException nvae =
11694                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 9, input);
11695    
11696                        throw nvae;
11697                    }
11698                    }
11699                    break;
11700                case 60:
11701                    {
11702                    int LA116_10 = input.LA(2);
11703    
11704                    if ( (LA116_10==67) ) {
11705                        int LA116_28 = input.LA(3);
11706    
11707                        if ( (LA116_28==51) ) {
11708                            int LA116_48 = input.LA(4);
11709    
11710                            if ( (LA116_48==72) ) {
11711                                int LA116_68 = input.LA(5);
11712    
11713                                if ( (LA116_68==60) ) {
11714                                    int LA116_87 = input.LA(6);
11715    
11716                                    if ( (LA116_87==67) ) {
11717                                        int LA116_105 = input.LA(7);
11718    
11719                                        if ( (LA116_105==63) ) {
11720                                            int LA116_117 = input.LA(8);
11721    
11722                                            if ( (LA116_117==72) ) {
11723                                                int LA116_126 = input.LA(9);
11724    
11725                                                if ( (LA116_126==43) ) {
11726                                                    int LA116_34 = input.LA(10);
11727    
11728                                                    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<=81)) ) {
11729                                                        alt116=1;
11730                                                    }
11731                                                    else if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
11732                                                        alt116=2;
11733                                                    }
11734                                                    else {
11735                                                        if (backtracking>0) {failed=true; return link;}
11736                                                        NoViableAltException nvae =
11737                                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
11738    
11739                                                        throw nvae;
11740                                                    }
11741                                                }
11742                                                else if ( ((LA116_126>=FORCED_END_OF_LINE && LA116_126<=WIKI)||(LA116_126>=POUND && LA116_126<=INSIGNIFICANT_CHAR)||(LA116_126>=44 && LA116_126<=81)) ) {
11743                                                    alt116=2;
11744                                                }
11745                                                else {
11746                                                    if (backtracking>0) {failed=true; return link;}
11747                                                    NoViableAltException nvae =
11748                                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 126, input);
11749    
11750                                                    throw nvae;
11751                                                }
11752                                            }
11753                                            else if ( ((LA116_117>=FORCED_END_OF_LINE && LA116_117<=WIKI)||(LA116_117>=POUND && LA116_117<=71)||(LA116_117>=73 && LA116_117<=81)) ) {
11754                                                alt116=2;
11755                                            }
11756                                            else {
11757                                                if (backtracking>0) {failed=true; return link;}
11758                                                NoViableAltException nvae =
11759                                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 117, input);
11760    
11761                                                throw nvae;
11762                                            }
11763                                        }
11764                                        else if ( ((LA116_105>=FORCED_END_OF_LINE && LA116_105<=WIKI)||(LA116_105>=POUND && LA116_105<=62)||(LA116_105>=64 && LA116_105<=81)) ) {
11765                                            alt116=2;
11766                                        }
11767                                        else {
11768                                            if (backtracking>0) {failed=true; return link;}
11769                                            NoViableAltException nvae =
11770                                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 105, input);
11771    
11772                                            throw nvae;
11773                                        }
11774                                    }
11775                                    else if ( ((LA116_87>=FORCED_END_OF_LINE && LA116_87<=WIKI)||(LA116_87>=POUND && LA116_87<=66)||(LA116_87>=68 && LA116_87<=81)) ) {
11776                                        alt116=2;
11777                                    }
11778                                    else {
11779                                        if (backtracking>0) {failed=true; return link;}
11780                                        NoViableAltException nvae =
11781                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 87, input);
11782    
11783                                        throw nvae;
11784                                    }
11785                                }
11786                                else if ( ((LA116_68>=FORCED_END_OF_LINE && LA116_68<=WIKI)||(LA116_68>=POUND && LA116_68<=59)||(LA116_68>=61 && LA116_68<=81)) ) {
11787                                    alt116=2;
11788                                }
11789                                else {
11790                                    if (backtracking>0) {failed=true; return link;}
11791                                    NoViableAltException nvae =
11792                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 68, input);
11793    
11794                                    throw nvae;
11795                                }
11796                            }
11797                            else if ( ((LA116_48>=FORCED_END_OF_LINE && LA116_48<=WIKI)||(LA116_48>=POUND && LA116_48<=71)||(LA116_48>=73 && LA116_48<=81)) ) {
11798                                alt116=2;
11799                            }
11800                            else {
11801                                if (backtracking>0) {failed=true; return link;}
11802                                NoViableAltException nvae =
11803                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 48, input);
11804    
11805                                throw nvae;
11806                            }
11807                        }
11808                        else if ( ((LA116_28>=FORCED_END_OF_LINE && LA116_28<=WIKI)||(LA116_28>=POUND && LA116_28<=50)||(LA116_28>=52 && LA116_28<=81)) ) {
11809                            alt116=2;
11810                        }
11811                        else {
11812                            if (backtracking>0) {failed=true; return link;}
11813                            NoViableAltException nvae =
11814                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 28, input);
11815    
11816                            throw nvae;
11817                        }
11818                    }
11819                    else if ( ((LA116_10>=FORCED_END_OF_LINE && LA116_10<=WIKI)||(LA116_10>=POUND && LA116_10<=66)||(LA116_10>=68 && LA116_10<=81)) ) {
11820                        alt116=2;
11821                    }
11822                    else {
11823                        if (backtracking>0) {failed=true; return link;}
11824                        NoViableAltException nvae =
11825                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 10, input);
11826    
11827                        throw nvae;
11828                    }
11829                    }
11830                    break;
11831                case 75:
11832                    {
11833                    switch ( input.LA(2) ) {
11834                    case 50:
11835                        {
11836                        int LA116_29 = input.LA(3);
11837    
11838                        if ( (LA116_29==51) ) {
11839                            int LA116_49 = input.LA(4);
11840    
11841                            if ( (LA116_49==48) ) {
11842                                int LA116_69 = input.LA(5);
11843    
11844                                if ( (LA116_69==51) ) {
11845                                    int LA116_88 = input.LA(6);
11846    
11847                                    if ( (LA116_88==43) ) {
11848                                        int LA116_34 = input.LA(7);
11849    
11850                                        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<=81)) ) {
11851                                            alt116=1;
11852                                        }
11853                                        else if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
11854                                            alt116=2;
11855                                        }
11856                                        else {
11857                                            if (backtracking>0) {failed=true; return link;}
11858                                            NoViableAltException nvae =
11859                                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
11860    
11861                                            throw nvae;
11862                                        }
11863                                    }
11864                                    else if ( ((LA116_88>=FORCED_END_OF_LINE && LA116_88<=WIKI)||(LA116_88>=POUND && LA116_88<=INSIGNIFICANT_CHAR)||(LA116_88>=44 && LA116_88<=81)) ) {
11865                                        alt116=2;
11866                                    }
11867                                    else {
11868                                        if (backtracking>0) {failed=true; return link;}
11869                                        NoViableAltException nvae =
11870                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 88, input);
11871    
11872                                        throw nvae;
11873                                    }
11874                                }
11875                                else if ( ((LA116_69>=FORCED_END_OF_LINE && LA116_69<=WIKI)||(LA116_69>=POUND && LA116_69<=50)||(LA116_69>=52 && LA116_69<=81)) ) {
11876                                    alt116=2;
11877                                }
11878                                else {
11879                                    if (backtracking>0) {failed=true; return link;}
11880                                    NoViableAltException nvae =
11881                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 69, input);
11882    
11883                                    throw nvae;
11884                                }
11885                            }
11886                            else if ( ((LA116_49>=FORCED_END_OF_LINE && LA116_49<=WIKI)||(LA116_49>=POUND && LA116_49<=47)||(LA116_49>=49 && LA116_49<=81)) ) {
11887                                alt116=2;
11888                            }
11889                            else {
11890                                if (backtracking>0) {failed=true; return link;}
11891                                NoViableAltException nvae =
11892                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 49, input);
11893    
11894                                throw nvae;
11895                            }
11896                        }
11897                        else if ( ((LA116_29>=FORCED_END_OF_LINE && LA116_29<=WIKI)||(LA116_29>=POUND && LA116_29<=50)||(LA116_29>=52 && LA116_29<=81)) ) {
11898                            alt116=2;
11899                        }
11900                        else {
11901                            if (backtracking>0) {failed=true; return link;}
11902                            NoViableAltException nvae =
11903                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 29, input);
11904    
11905                            throw nvae;
11906                        }
11907                        }
11908                        break;
11909                    case 51:
11910                        {
11911                        int LA116_30 = input.LA(3);
11912    
11913                        if ( (LA116_30==66) ) {
11914                            int LA116_50 = input.LA(4);
11915    
11916                            if ( (LA116_50==66) ) {
11917                                int LA116_70 = input.LA(5);
11918    
11919                                if ( (LA116_70==53) ) {
11920                                    int LA116_89 = input.LA(6);
11921    
11922                                    if ( (LA116_89==76) ) {
11923                                        int LA116_106 = input.LA(7);
11924    
11925                                        if ( (LA116_106==50) ) {
11926                                            int LA116_118 = input.LA(8);
11927    
11928                                            if ( (LA116_118==51) ) {
11929                                                int LA116_127 = input.LA(9);
11930    
11931                                                if ( (LA116_127==48) ) {
11932                                                    int LA116_131 = input.LA(10);
11933    
11934                                                    if ( (LA116_131==51) ) {
11935                                                        int LA116_134 = input.LA(11);
11936    
11937                                                        if ( (LA116_134==43) ) {
11938                                                            int LA116_34 = input.LA(12);
11939    
11940                                                            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<=81)) ) {
11941                                                                alt116=1;
11942                                                            }
11943                                                            else if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
11944                                                                alt116=2;
11945                                                            }
11946                                                            else {
11947                                                                if (backtracking>0) {failed=true; return link;}
11948                                                                NoViableAltException nvae =
11949                                                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
11950    
11951                                                                throw nvae;
11952                                                            }
11953                                                        }
11954                                                        else if ( ((LA116_134>=FORCED_END_OF_LINE && LA116_134<=WIKI)||(LA116_134>=POUND && LA116_134<=INSIGNIFICANT_CHAR)||(LA116_134>=44 && LA116_134<=81)) ) {
11955                                                            alt116=2;
11956                                                        }
11957                                                        else {
11958                                                            if (backtracking>0) {failed=true; return link;}
11959                                                            NoViableAltException nvae =
11960                                                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 134, input);
11961    
11962                                                            throw nvae;
11963                                                        }
11964                                                    }
11965                                                    else if ( ((LA116_131>=FORCED_END_OF_LINE && LA116_131<=WIKI)||(LA116_131>=POUND && LA116_131<=50)||(LA116_131>=52 && LA116_131<=81)) ) {
11966                                                        alt116=2;
11967                                                    }
11968                                                    else {
11969                                                        if (backtracking>0) {failed=true; return link;}
11970                                                        NoViableAltException nvae =
11971                                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 131, input);
11972    
11973                                                        throw nvae;
11974                                                    }
11975                                                }
11976                                                else if ( ((LA116_127>=FORCED_END_OF_LINE && LA116_127<=WIKI)||(LA116_127>=POUND && LA116_127<=47)||(LA116_127>=49 && LA116_127<=81)) ) {
11977                                                    alt116=2;
11978                                                }
11979                                                else {
11980                                                    if (backtracking>0) {failed=true; return link;}
11981                                                    NoViableAltException nvae =
11982                                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 127, input);
11983    
11984                                                    throw nvae;
11985                                                }
11986                                            }
11987                                            else if ( ((LA116_118>=FORCED_END_OF_LINE && LA116_118<=WIKI)||(LA116_118>=POUND && LA116_118<=50)||(LA116_118>=52 && LA116_118<=81)) ) {
11988                                                alt116=2;
11989                                            }
11990                                            else {
11991                                                if (backtracking>0) {failed=true; return link;}
11992                                                NoViableAltException nvae =
11993                                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 118, input);
11994    
11995                                                throw nvae;
11996                                            }
11997                                        }
11998                                        else if ( ((LA116_106>=FORCED_END_OF_LINE && LA116_106<=WIKI)||(LA116_106>=POUND && LA116_106<=49)||(LA116_106>=51 && LA116_106<=81)) ) {
11999                                            alt116=2;
12000                                        }
12001                                        else {
12002                                            if (backtracking>0) {failed=true; return link;}
12003                                            NoViableAltException nvae =
12004                                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 106, input);
12005    
12006                                            throw nvae;
12007                                        }
12008                                    }
12009                                    else if ( ((LA116_89>=FORCED_END_OF_LINE && LA116_89<=WIKI)||(LA116_89>=POUND && LA116_89<=75)||(LA116_89>=77 && LA116_89<=81)) ) {
12010                                        alt116=2;
12011                                    }
12012                                    else {
12013                                        if (backtracking>0) {failed=true; return link;}
12014                                        NoViableAltException nvae =
12015                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 89, input);
12016    
12017                                        throw nvae;
12018                                    }
12019                                }
12020                                else if ( ((LA116_70>=FORCED_END_OF_LINE && LA116_70<=WIKI)||(LA116_70>=POUND && LA116_70<=52)||(LA116_70>=54 && LA116_70<=81)) ) {
12021                                    alt116=2;
12022                                }
12023                                else {
12024                                    if (backtracking>0) {failed=true; return link;}
12025                                    NoViableAltException nvae =
12026                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 70, input);
12027    
12028                                    throw nvae;
12029                                }
12030                            }
12031                            else if ( ((LA116_50>=FORCED_END_OF_LINE && LA116_50<=WIKI)||(LA116_50>=POUND && LA116_50<=65)||(LA116_50>=67 && LA116_50<=81)) ) {
12032                                alt116=2;
12033                            }
12034                            else {
12035                                if (backtracking>0) {failed=true; return link;}
12036                                NoViableAltException nvae =
12037                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 50, input);
12038    
12039                                throw nvae;
12040                            }
12041                        }
12042                        else if ( ((LA116_30>=FORCED_END_OF_LINE && LA116_30<=WIKI)||(LA116_30>=POUND && LA116_30<=65)||(LA116_30>=67 && LA116_30<=81)) ) {
12043                            alt116=2;
12044                        }
12045                        else {
12046                            if (backtracking>0) {failed=true; return link;}
12047                            NoViableAltException nvae =
12048                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 30, input);
12049    
12050                            throw nvae;
12051                        }
12052                        }
12053                        break;
12054                    case FORCED_END_OF_LINE:
12055                    case HEADING_SECTION:
12056                    case HORIZONTAL_SECTION:
12057                    case LIST_ITEM:
12058                    case LIST_ITEM_PART:
12059                    case NOWIKI_SECTION:
12060                    case SCAPE_NODE:
12061                    case TEXT_NODE:
12062                    case UNORDERED_LIST:
12063                    case UNFORMATTED_TEXT:
12064                    case WIKI:
12065                    case POUND:
12066                    case STAR:
12067                    case EQUAL:
12068                    case PIPE:
12069                    case ITAL:
12070                    case LINK_OPEN:
12071                    case IMAGE_OPEN:
12072                    case NOWIKI_OPEN:
12073                    case EXTENSION:
12074                    case FORCED_LINEBREAK:
12075                    case ESCAPE:
12076                    case NOWIKI_BLOCK_CLOSE:
12077                    case NOWIKI_CLOSE:
12078                    case LINK_CLOSE:
12079                    case IMAGE_CLOSE:
12080                    case BLANKS:
12081                    case TABLE_OF_CONTENTS_OPEN:
12082                    case TABLE_OF_CONTENTS_CLOSE:
12083                    case DASH:
12084                    case CR:
12085                    case LF:
12086                    case SPACE:
12087                    case TABULATOR:
12088                    case BRACE_CLOSE:
12089                    case COLON_SLASH:
12090                    case SLASH:
12091                    case INSIGNIFICANT_CHAR:
12092                    case 43:
12093                    case 44:
12094                    case 45:
12095                    case 46:
12096                    case 47:
12097                    case 48:
12098                    case 49:
12099                    case 52:
12100                    case 53:
12101                    case 54:
12102                    case 55:
12103                    case 56:
12104                    case 57:
12105                    case 58:
12106                    case 59:
12107                    case 60:
12108                    case 61:
12109                    case 62:
12110                    case 63:
12111                    case 64:
12112                    case 65:
12113                    case 66:
12114                    case 67:
12115                    case 68:
12116                    case 69:
12117                    case 70:
12118                    case 71:
12119                    case 72:
12120                    case 73:
12121                    case 74:
12122                    case 75:
12123                    case 76:
12124                    case 77:
12125                    case 78:
12126                    case 79:
12127                    case 80:
12128                    case 81:
12129                        {
12130                        alt116=2;
12131                        }
12132                        break;
12133                    default:
12134                        if (backtracking>0) {failed=true; return link;}
12135                        NoViableAltException nvae =
12136                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 11, input);
12137    
12138                        throw nvae;
12139                    }
12140    
12141                    }
12142                    break;
12143                case 77:
12144                    {
12145                    int LA116_12 = input.LA(2);
12146    
12147                    if ( (LA116_12==70) ) {
12148                        int LA116_31 = input.LA(3);
12149    
12150                        if ( (LA116_31==58) ) {
12151                            int LA116_51 = input.LA(4);
12152    
12153                            if ( (LA116_51==69) ) {
12154                                int LA116_71 = input.LA(5);
12155    
12156                                if ( (LA116_71==47) ) {
12157                                    int LA116_90 = input.LA(6);
12158    
12159                                    if ( (LA116_90==66) ) {
12160                                        int LA116_107 = input.LA(7);
12161    
12162                                        if ( (LA116_107==43) ) {
12163                                            int LA116_34 = input.LA(8);
12164    
12165                                            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<=81)) ) {
12166                                                alt116=1;
12167                                            }
12168                                            else if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
12169                                                alt116=2;
12170                                            }
12171                                            else {
12172                                                if (backtracking>0) {failed=true; return link;}
12173                                                NoViableAltException nvae =
12174                                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
12175    
12176                                                throw nvae;
12177                                            }
12178                                        }
12179                                        else if ( ((LA116_107>=FORCED_END_OF_LINE && LA116_107<=WIKI)||(LA116_107>=POUND && LA116_107<=INSIGNIFICANT_CHAR)||(LA116_107>=44 && LA116_107<=81)) ) {
12180                                            alt116=2;
12181                                        }
12182                                        else {
12183                                            if (backtracking>0) {failed=true; return link;}
12184                                            NoViableAltException nvae =
12185                                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 107, input);
12186    
12187                                            throw nvae;
12188                                        }
12189                                    }
12190                                    else if ( ((LA116_90>=FORCED_END_OF_LINE && LA116_90<=WIKI)||(LA116_90>=POUND && LA116_90<=65)||(LA116_90>=67 && LA116_90<=81)) ) {
12191                                        alt116=2;
12192                                    }
12193                                    else {
12194                                        if (backtracking>0) {failed=true; return link;}
12195                                        NoViableAltException nvae =
12196                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 90, input);
12197    
12198                                        throw nvae;
12199                                    }
12200                                }
12201                                else if ( ((LA116_71>=FORCED_END_OF_LINE && LA116_71<=WIKI)||(LA116_71>=POUND && LA116_71<=46)||(LA116_71>=48 && LA116_71<=81)) ) {
12202                                    alt116=2;
12203                                }
12204                                else {
12205                                    if (backtracking>0) {failed=true; return link;}
12206                                    NoViableAltException nvae =
12207                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 71, input);
12208    
12209                                    throw nvae;
12210                                }
12211                            }
12212                            else if ( ((LA116_51>=FORCED_END_OF_LINE && LA116_51<=WIKI)||(LA116_51>=POUND && LA116_51<=68)||(LA116_51>=70 && LA116_51<=81)) ) {
12213                                alt116=2;
12214                            }
12215                            else {
12216                                if (backtracking>0) {failed=true; return link;}
12217                                NoViableAltException nvae =
12218                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 51, input);
12219    
12220                                throw nvae;
12221                            }
12222                        }
12223                        else if ( ((LA116_31>=FORCED_END_OF_LINE && LA116_31<=WIKI)||(LA116_31>=POUND && LA116_31<=57)||(LA116_31>=59 && LA116_31<=81)) ) {
12224                            alt116=2;
12225                        }
12226                        else {
12227                            if (backtracking>0) {failed=true; return link;}
12228                            NoViableAltException nvae =
12229                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 31, input);
12230    
12231                            throw nvae;
12232                        }
12233                    }
12234                    else if ( ((LA116_12>=FORCED_END_OF_LINE && LA116_12<=WIKI)||(LA116_12>=POUND && LA116_12<=69)||(LA116_12>=71 && LA116_12<=81)) ) {
12235                        alt116=2;
12236                    }
12237                    else {
12238                        if (backtracking>0) {failed=true; return link;}
12239                        NoViableAltException nvae =
12240                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 12, input);
12241    
12242                        throw nvae;
12243                    }
12244                    }
12245                    break;
12246                case 50:
12247                    {
12248                    int LA116_13 = input.LA(2);
12249    
12250                    if ( (LA116_13==51) ) {
12251                        int LA116_32 = input.LA(3);
12252    
12253                        if ( (LA116_32==48) ) {
12254                            int LA116_52 = input.LA(4);
12255    
12256                            if ( (LA116_52==51) ) {
12257                                int LA116_72 = input.LA(5);
12258    
12259                                if ( (LA116_72==72) ) {
12260                                    int LA116_91 = input.LA(6);
12261    
12262                                    if ( (LA116_91==58) ) {
12263                                        int LA116_108 = input.LA(7);
12264    
12265                                        if ( (LA116_108==66) ) {
12266                                            int LA116_119 = input.LA(8);
12267    
12268                                            if ( (LA116_119==51) ) {
12269                                                int LA116_128 = input.LA(9);
12270    
12271                                                if ( (LA116_128==63) ) {
12272                                                    int LA116_132 = input.LA(10);
12273    
12274                                                    if ( (LA116_132==43) ) {
12275                                                        int LA116_34 = input.LA(11);
12276    
12277                                                        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<=81)) ) {
12278                                                            alt116=1;
12279                                                        }
12280                                                        else if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
12281                                                            alt116=2;
12282                                                        }
12283                                                        else {
12284                                                            if (backtracking>0) {failed=true; return link;}
12285                                                            NoViableAltException nvae =
12286                                                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
12287    
12288                                                            throw nvae;
12289                                                        }
12290                                                    }
12291                                                    else if ( ((LA116_132>=FORCED_END_OF_LINE && LA116_132<=WIKI)||(LA116_132>=POUND && LA116_132<=INSIGNIFICANT_CHAR)||(LA116_132>=44 && LA116_132<=81)) ) {
12292                                                        alt116=2;
12293                                                    }
12294                                                    else {
12295                                                        if (backtracking>0) {failed=true; return link;}
12296                                                        NoViableAltException nvae =
12297                                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 132, input);
12298    
12299                                                        throw nvae;
12300                                                    }
12301                                                }
12302                                                else if ( ((LA116_128>=FORCED_END_OF_LINE && LA116_128<=WIKI)||(LA116_128>=POUND && LA116_128<=62)||(LA116_128>=64 && LA116_128<=81)) ) {
12303                                                    alt116=2;
12304                                                }
12305                                                else {
12306                                                    if (backtracking>0) {failed=true; return link;}
12307                                                    NoViableAltException nvae =
12308                                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 128, input);
12309    
12310                                                    throw nvae;
12311                                                }
12312                                            }
12313                                            else if ( ((LA116_119>=FORCED_END_OF_LINE && LA116_119<=WIKI)||(LA116_119>=POUND && LA116_119<=50)||(LA116_119>=52 && LA116_119<=81)) ) {
12314                                                alt116=2;
12315                                            }
12316                                            else {
12317                                                if (backtracking>0) {failed=true; return link;}
12318                                                NoViableAltException nvae =
12319                                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 119, input);
12320    
12321                                                throw nvae;
12322                                            }
12323                                        }
12324                                        else if ( ((LA116_108>=FORCED_END_OF_LINE && LA116_108<=WIKI)||(LA116_108>=POUND && LA116_108<=65)||(LA116_108>=67 && LA116_108<=81)) ) {
12325                                            alt116=2;
12326                                        }
12327                                        else {
12328                                            if (backtracking>0) {failed=true; return link;}
12329                                            NoViableAltException nvae =
12330                                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 108, input);
12331    
12332                                            throw nvae;
12333                                        }
12334                                    }
12335                                    else if ( ((LA116_91>=FORCED_END_OF_LINE && LA116_91<=WIKI)||(LA116_91>=POUND && LA116_91<=57)||(LA116_91>=59 && LA116_91<=81)) ) {
12336                                        alt116=2;
12337                                    }
12338                                    else {
12339                                        if (backtracking>0) {failed=true; return link;}
12340                                        NoViableAltException nvae =
12341                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 91, input);
12342    
12343                                        throw nvae;
12344                                    }
12345                                }
12346                                else if ( ((LA116_72>=FORCED_END_OF_LINE && LA116_72<=WIKI)||(LA116_72>=POUND && LA116_72<=71)||(LA116_72>=73 && LA116_72<=81)) ) {
12347                                    alt116=2;
12348                                }
12349                                else {
12350                                    if (backtracking>0) {failed=true; return link;}
12351                                    NoViableAltException nvae =
12352                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 72, input);
12353    
12354                                    throw nvae;
12355                                }
12356                            }
12357                            else if ( ((LA116_52>=FORCED_END_OF_LINE && LA116_52<=WIKI)||(LA116_52>=POUND && LA116_52<=50)||(LA116_52>=52 && LA116_52<=81)) ) {
12358                                alt116=2;
12359                            }
12360                            else {
12361                                if (backtracking>0) {failed=true; return link;}
12362                                NoViableAltException nvae =
12363                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 52, input);
12364    
12365                                throw nvae;
12366                            }
12367                        }
12368                        else if ( ((LA116_32>=FORCED_END_OF_LINE && LA116_32<=WIKI)||(LA116_32>=POUND && LA116_32<=47)||(LA116_32>=49 && LA116_32<=81)) ) {
12369                            alt116=2;
12370                        }
12371                        else {
12372                            if (backtracking>0) {failed=true; return link;}
12373                            NoViableAltException nvae =
12374                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 32, input);
12375    
12376                            throw nvae;
12377                        }
12378                    }
12379                    else if ( ((LA116_13>=FORCED_END_OF_LINE && LA116_13<=WIKI)||(LA116_13>=POUND && LA116_13<=50)||(LA116_13>=52 && LA116_13<=81)) ) {
12380                        alt116=2;
12381                    }
12382                    else {
12383                        if (backtracking>0) {failed=true; return link;}
12384                        NoViableAltException nvae =
12385                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 13, input);
12386    
12387                        throw nvae;
12388                    }
12389                    }
12390                    break;
12391                case 78:
12392                    {
12393                    int LA116_14 = input.LA(2);
12394    
12395                    if ( (LA116_14==50) ) {
12396                        int LA116_33 = input.LA(3);
12397    
12398                        if ( (LA116_33==51) ) {
12399                            int LA116_53 = input.LA(4);
12400    
12401                            if ( (LA116_53==48) ) {
12402                                int LA116_73 = input.LA(5);
12403    
12404                                if ( (LA116_73==51) ) {
12405                                    int LA116_92 = input.LA(6);
12406    
12407                                    if ( (LA116_92==43) ) {
12408                                        int LA116_34 = input.LA(7);
12409    
12410                                        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<=81)) ) {
12411                                            alt116=1;
12412                                        }
12413                                        else if ( (LA116_34==PIPE||LA116_34==LINK_CLOSE) ) {
12414                                            alt116=2;
12415                                        }
12416                                        else {
12417                                            if (backtracking>0) {failed=true; return link;}
12418                                            NoViableAltException nvae =
12419                                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 34, input);
12420    
12421                                            throw nvae;
12422                                        }
12423                                    }
12424                                    else if ( ((LA116_92>=FORCED_END_OF_LINE && LA116_92<=WIKI)||(LA116_92>=POUND && LA116_92<=INSIGNIFICANT_CHAR)||(LA116_92>=44 && LA116_92<=81)) ) {
12425                                        alt116=2;
12426                                    }
12427                                    else {
12428                                        if (backtracking>0) {failed=true; return link;}
12429                                        NoViableAltException nvae =
12430                                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 92, input);
12431    
12432                                        throw nvae;
12433                                    }
12434                                }
12435                                else if ( ((LA116_73>=FORCED_END_OF_LINE && LA116_73<=WIKI)||(LA116_73>=POUND && LA116_73<=50)||(LA116_73>=52 && LA116_73<=81)) ) {
12436                                    alt116=2;
12437                                }
12438                                else {
12439                                    if (backtracking>0) {failed=true; return link;}
12440                                    NoViableAltException nvae =
12441                                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 73, input);
12442    
12443                                    throw nvae;
12444                                }
12445                            }
12446                            else if ( ((LA116_53>=FORCED_END_OF_LINE && LA116_53<=WIKI)||(LA116_53>=POUND && LA116_53<=47)||(LA116_53>=49 && LA116_53<=81)) ) {
12447                                alt116=2;
12448                            }
12449                            else {
12450                                if (backtracking>0) {failed=true; return link;}
12451                                NoViableAltException nvae =
12452                                    new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 53, input);
12453    
12454                                throw nvae;
12455                            }
12456                        }
12457                        else if ( ((LA116_33>=FORCED_END_OF_LINE && LA116_33<=WIKI)||(LA116_33>=POUND && LA116_33<=50)||(LA116_33>=52 && LA116_33<=81)) ) {
12458                            alt116=2;
12459                        }
12460                        else {
12461                            if (backtracking>0) {failed=true; return link;}
12462                            NoViableAltException nvae =
12463                                new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 33, input);
12464    
12465                            throw nvae;
12466                        }
12467                    }
12468                    else if ( ((LA116_14>=FORCED_END_OF_LINE && LA116_14<=WIKI)||(LA116_14>=POUND && LA116_14<=49)||(LA116_14>=51 && LA116_14<=81)) ) {
12469                        alt116=2;
12470                    }
12471                    else {
12472                        if (backtracking>0) {failed=true; return link;}
12473                        NoViableAltException nvae =
12474                            new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 14, input);
12475    
12476                        throw nvae;
12477                    }
12478                    }
12479                    break;
12480                case FORCED_END_OF_LINE:
12481                case HEADING_SECTION:
12482                case HORIZONTAL_SECTION:
12483                case LIST_ITEM:
12484                case LIST_ITEM_PART:
12485                case NOWIKI_SECTION:
12486                case SCAPE_NODE:
12487                case TEXT_NODE:
12488                case UNORDERED_LIST:
12489                case UNFORMATTED_TEXT:
12490                case WIKI:
12491                case POUND:
12492                case STAR:
12493                case EQUAL:
12494                case ITAL:
12495                case LINK_OPEN:
12496                case IMAGE_OPEN:
12497                case NOWIKI_OPEN:
12498                case EXTENSION:
12499                case FORCED_LINEBREAK:
12500                case ESCAPE:
12501                case NOWIKI_BLOCK_CLOSE:
12502                case NOWIKI_CLOSE:
12503                case IMAGE_CLOSE:
12504                case BLANKS:
12505                case TABLE_OF_CONTENTS_OPEN:
12506                case TABLE_OF_CONTENTS_CLOSE:
12507                case DASH:
12508                case CR:
12509                case LF:
12510                case SPACE:
12511                case TABULATOR:
12512                case BRACE_CLOSE:
12513                case COLON_SLASH:
12514                case SLASH:
12515                case INSIGNIFICANT_CHAR:
12516                case 43:
12517                case 45:
12518                case 47:
12519                case 48:
12520                case 49:
12521                case 51:
12522                case 53:
12523                case 54:
12524                case 55:
12525                case 57:
12526                case 58:
12527                case 63:
12528                case 64:
12529                case 65:
12530                case 66:
12531                case 67:
12532                case 69:
12533                case 70:
12534                case 71:
12535                case 72:
12536                case 74:
12537                case 76:
12538                case 79:
12539                case 80:
12540                case 81:
12541                    {
12542                    alt116=2;
12543                    }
12544                    break;
12545                default:
12546                    if (backtracking>0) {failed=true; return link;}
12547                    NoViableAltException nvae =
12548                        new NoViableAltException("808:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 116, 0, input);
12549    
12550                    throw nvae;
12551                }
12552    
12553                switch (alt116) {
12554                    case 1 :
12555                        // Creole10.g:809:4: li= link_interwiki_uri ':' p= link_interwiki_pagename
12556                        {
12557                        pushFollow(FOLLOW_link_interwiki_uri_in_link_address3259);
12558                        li=link_interwiki_uri();
12559                        _fsp--;
12560                        if (failed) return link;
12561                        match(input,43,FOLLOW_43_in_link_address3262); if (failed) return link;
12562                        pushFollow(FOLLOW_link_interwiki_pagename_in_link_address3269);
12563                        p=link_interwiki_pagename();
12564                        _fsp--;
12565                        if (failed) return link;
12566                        if ( backtracking==0 ) {
12567    
12568                                                                    li.setUri(p.toString());
12569                                                                    link = li;
12570                                                            
12571                        }
12572    
12573                        }
12574                        break;
12575                    case 2 :
12576                        // Creole10.g:813:4: lu= link_uri
12577                        {
12578                        pushFollow(FOLLOW_link_uri_in_link_address3280);
12579                        lu=link_uri();
12580                        _fsp--;
12581                        if (failed) return link;
12582                        if ( backtracking==0 ) {
12583                          link = new LinkNode(lu.toString()); 
12584                        }
12585    
12586                        }
12587                        break;
12588    
12589                }
12590            }
12591            catch (RecognitionException re) {
12592                reportError(re);
12593                recover(input,re);
12594            }
12595            finally {
12596            }
12597            return link;
12598        }
12599        // $ANTLR end link_address
12600    
12601    
12602        // $ANTLR start link_interwiki_uri
12603        // Creole10.g:815: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' );
12604        public final InterwikiLinkNode link_interwiki_uri() throws RecognitionException {
12605            InterwikiLinkNode interwiki =  null;
12606    
12607            try {
12608                // Creole10.g:816: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' )
12609                int alt117=20;
12610                switch ( input.LA(1) ) {
12611                case 44:
12612                    {
12613                    alt117=1;
12614                    }
12615                    break;
12616                case 46:
12617                    {
12618                    alt117=2;
12619                    }
12620                    break;
12621                case 52:
12622                    {
12623                    alt117=3;
12624                    }
12625                    break;
12626                case 56:
12627                    {
12628                    alt117=4;
12629                    }
12630                    break;
12631                case 59:
12632                    {
12633                    alt117=5;
12634                    }
12635                    break;
12636                case 62:
12637                    {
12638                    int LA117_6 = input.LA(2);
12639    
12640                    if ( (LA117_6==58) ) {
12641                        int LA117_15 = input.LA(3);
12642    
12643                        if ( (LA117_15==63) ) {
12644                            alt117=6;
12645                        }
12646                        else if ( (LA117_15==66) ) {
12647                            alt117=7;
12648                        }
12649                        else {
12650                            if (backtracking>0) {failed=true; return interwiki;}
12651                            NoViableAltException nvae =
12652                                new NoViableAltException("815: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, 15, input);
12653    
12654                            throw nvae;
12655                        }
12656                    }
12657                    else if ( (LA117_6==47) ) {
12658                        alt117=8;
12659                    }
12660                    else {
12661                        if (backtracking>0) {failed=true; return interwiki;}
12662                        NoViableAltException nvae =
12663                            new NoViableAltException("815: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);
12664    
12665                        throw nvae;
12666                    }
12667                    }
12668                    break;
12669                case 68:
12670                    {
12671                    int LA117_7 = input.LA(2);
12672    
12673                    if ( (LA117_7==71) ) {
12674                        alt117=10;
12675                    }
12676                    else if ( (LA117_7==66) ) {
12677                        alt117=9;
12678                    }
12679                    else {
12680                        if (backtracking>0) {failed=true; return interwiki;}
12681                        NoViableAltException nvae =
12682                            new NoViableAltException("815: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);
12683    
12684                        throw nvae;
12685                    }
12686                    }
12687                    break;
12688                case 61:
12689                    {
12690                    int LA117_8 = input.LA(2);
12691    
12692                    if ( (LA117_8==69) ) {
12693                        alt117=11;
12694                    }
12695                    else if ( (LA117_8==49) ) {
12696                        int LA117_20 = input.LA(3);
12697    
12698                        if ( (LA117_20==55) ) {
12699                            alt117=13;
12700                        }
12701                        else if ( (LA117_20==48) ) {
12702                            alt117=12;
12703                        }
12704                        else {
12705                            if (backtracking>0) {failed=true; return interwiki;}
12706                            NoViableAltException nvae =
12707                                new NoViableAltException("815: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, 20, input);
12708    
12709                            throw nvae;
12710                        }
12711                    }
12712                    else {
12713                        if (backtracking>0) {failed=true; return interwiki;}
12714                        NoViableAltException nvae =
12715                            new NoViableAltException("815: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);
12716    
12717                        throw nvae;
12718                    }
12719                    }
12720                    break;
12721                case 73:
12722                    {
12723                    alt117=14;
12724                    }
12725                    break;
12726                case 60:
12727                    {
12728                    alt117=15;
12729                    }
12730                    break;
12731                case 75:
12732                    {
12733                    int LA117_11 = input.LA(2);
12734    
12735                    if ( (LA117_11==51) ) {
12736                        alt117=16;
12737                    }
12738                    else if ( (LA117_11==50) ) {
12739                        alt117=17;
12740                    }
12741                    else {
12742                        if (backtracking>0) {failed=true; return interwiki;}
12743                        NoViableAltException nvae =
12744                            new NoViableAltException("815: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);
12745    
12746                        throw nvae;
12747                    }
12748                    }
12749                    break;
12750                case 77:
12751                    {
12752                    alt117=18;
12753                    }
12754                    break;
12755                case 50:
12756                    {
12757                    alt117=19;
12758                    }
12759                    break;
12760                case 78:
12761                    {
12762                    alt117=20;
12763                    }
12764                    break;
12765                default:
12766                    if (backtracking>0) {failed=true; return interwiki;}
12767                    NoViableAltException nvae =
12768                        new NoViableAltException("815: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);
12769    
12770                    throw nvae;
12771                }
12772    
12773                switch (alt117) {
12774                    case 1 :
12775                        // Creole10.g:816:4: 'C' '2'
12776                        {
12777                        match(input,44,FOLLOW_44_in_link_interwiki_uri3296); if (failed) return interwiki;
12778                        match(input,45,FOLLOW_45_in_link_interwiki_uri3298); if (failed) return interwiki;
12779    
12780                        }
12781                        break;
12782                    case 2 :
12783                        // Creole10.g:817:4: 'D' 'o' 'k' 'u' 'W' 'i' 'k' 'i'
12784                        {
12785                        match(input,46,FOLLOW_46_in_link_interwiki_uri3303); if (failed) return interwiki;
12786                        match(input,47,FOLLOW_47_in_link_interwiki_uri3305); if (failed) return interwiki;
12787                        match(input,48,FOLLOW_48_in_link_interwiki_uri3307); if (failed) return interwiki;
12788                        match(input,49,FOLLOW_49_in_link_interwiki_uri3309); if (failed) return interwiki;
12789                        match(input,50,FOLLOW_50_in_link_interwiki_uri3311); if (failed) return interwiki;
12790                        match(input,51,FOLLOW_51_in_link_interwiki_uri3313); if (failed) return interwiki;
12791                        match(input,48,FOLLOW_48_in_link_interwiki_uri3315); if (failed) return interwiki;
12792                        match(input,51,FOLLOW_51_in_link_interwiki_uri3317); if (failed) return interwiki;
12793    
12794                        }
12795                        break;
12796                    case 3 :
12797                        // Creole10.g:818:4: 'F' 'l' 'i' 'c' 'k' 'r'
12798                        {
12799                        match(input,52,FOLLOW_52_in_link_interwiki_uri3322); if (failed) return interwiki;
12800                        match(input,53,FOLLOW_53_in_link_interwiki_uri3324); if (failed) return interwiki;
12801                        match(input,51,FOLLOW_51_in_link_interwiki_uri3326); if (failed) return interwiki;
12802                        match(input,54,FOLLOW_54_in_link_interwiki_uri3328); if (failed) return interwiki;
12803                        match(input,48,FOLLOW_48_in_link_interwiki_uri3330); if (failed) return interwiki;
12804                        match(input,55,FOLLOW_55_in_link_interwiki_uri3332); if (failed) return interwiki;
12805    
12806                        }
12807                        break;
12808                    case 4 :
12809                        // Creole10.g:819:4: 'G' 'o' 'o' 'g' 'l' 'e'
12810                        {
12811                        match(input,56,FOLLOW_56_in_link_interwiki_uri3337); if (failed) return interwiki;
12812                        match(input,47,FOLLOW_47_in_link_interwiki_uri3339); if (failed) return interwiki;
12813                        match(input,47,FOLLOW_47_in_link_interwiki_uri3341); if (failed) return interwiki;
12814                        match(input,57,FOLLOW_57_in_link_interwiki_uri3343); if (failed) return interwiki;
12815                        match(input,53,FOLLOW_53_in_link_interwiki_uri3345); if (failed) return interwiki;
12816                        match(input,58,FOLLOW_58_in_link_interwiki_uri3347); if (failed) return interwiki;
12817    
12818                        }
12819                        break;
12820                    case 5 :
12821                        // Creole10.g:820:4: 'J' 'S' 'P' 'W' 'i' 'k' 'i'
12822                        {
12823                        match(input,59,FOLLOW_59_in_link_interwiki_uri3352); if (failed) return interwiki;
12824                        match(input,60,FOLLOW_60_in_link_interwiki_uri3354); if (failed) return interwiki;
12825                        match(input,61,FOLLOW_61_in_link_interwiki_uri3356); if (failed) return interwiki;
12826                        match(input,50,FOLLOW_50_in_link_interwiki_uri3358); if (failed) return interwiki;
12827                        match(input,51,FOLLOW_51_in_link_interwiki_uri3360); if (failed) return interwiki;
12828                        match(input,48,FOLLOW_48_in_link_interwiki_uri3362); if (failed) return interwiki;
12829                        match(input,51,FOLLOW_51_in_link_interwiki_uri3364); if (failed) return interwiki;
12830    
12831                        }
12832                        break;
12833                    case 6 :
12834                        // Creole10.g:821:4: 'M' 'e' 'a' 't' 'b' 'a' 'l' 'l'
12835                        {
12836                        match(input,62,FOLLOW_62_in_link_interwiki_uri3369); if (failed) return interwiki;
12837                        match(input,58,FOLLOW_58_in_link_interwiki_uri3371); if (failed) return interwiki;
12838                        match(input,63,FOLLOW_63_in_link_interwiki_uri3373); if (failed) return interwiki;
12839                        match(input,64,FOLLOW_64_in_link_interwiki_uri3375); if (failed) return interwiki;
12840                        match(input,65,FOLLOW_65_in_link_interwiki_uri3377); if (failed) return interwiki;
12841                        match(input,63,FOLLOW_63_in_link_interwiki_uri3379); if (failed) return interwiki;
12842                        match(input,53,FOLLOW_53_in_link_interwiki_uri3381); if (failed) return interwiki;
12843                        match(input,53,FOLLOW_53_in_link_interwiki_uri3383); if (failed) return interwiki;
12844    
12845                        }
12846                        break;
12847                    case 7 :
12848                        // Creole10.g:822:4: 'M' 'e' 'd' 'i' 'a' 'W' 'i' 'k' 'i'
12849                        {
12850                        match(input,62,FOLLOW_62_in_link_interwiki_uri3388); if (failed) return interwiki;
12851                        match(input,58,FOLLOW_58_in_link_interwiki_uri3390); if (failed) return interwiki;
12852                        match(input,66,FOLLOW_66_in_link_interwiki_uri3392); if (failed) return interwiki;
12853                        match(input,51,FOLLOW_51_in_link_interwiki_uri3394); if (failed) return interwiki;
12854                        match(input,63,FOLLOW_63_in_link_interwiki_uri3396); if (failed) return interwiki;
12855                        match(input,50,FOLLOW_50_in_link_interwiki_uri3398); if (failed) return interwiki;
12856                        match(input,51,FOLLOW_51_in_link_interwiki_uri3400); if (failed) return interwiki;
12857                        match(input,48,FOLLOW_48_in_link_interwiki_uri3402); if (failed) return interwiki;
12858                        match(input,51,FOLLOW_51_in_link_interwiki_uri3404); if (failed) return interwiki;
12859    
12860                        }
12861                        break;
12862                    case 8 :
12863                        // Creole10.g:823:4: 'M' 'o' 'i' 'n' 'M' 'o' 'i' 'n'
12864                        {
12865                        match(input,62,FOLLOW_62_in_link_interwiki_uri3409); if (failed) return interwiki;
12866                        match(input,47,FOLLOW_47_in_link_interwiki_uri3411); if (failed) return interwiki;
12867                        match(input,51,FOLLOW_51_in_link_interwiki_uri3413); if (failed) return interwiki;
12868                        match(input,67,FOLLOW_67_in_link_interwiki_uri3415); if (failed) return interwiki;
12869                        match(input,62,FOLLOW_62_in_link_interwiki_uri3417); if (failed) return interwiki;
12870                        match(input,47,FOLLOW_47_in_link_interwiki_uri3419); if (failed) return interwiki;
12871                        match(input,51,FOLLOW_51_in_link_interwiki_uri3421); if (failed) return interwiki;
12872                        match(input,67,FOLLOW_67_in_link_interwiki_uri3423); if (failed) return interwiki;
12873    
12874                        }
12875                        break;
12876                    case 9 :
12877                        // Creole10.g:824:4: 'O' 'd' 'd' 'm' 'u' 's' 'e'
12878                        {
12879                        match(input,68,FOLLOW_68_in_link_interwiki_uri3428); if (failed) return interwiki;
12880                        match(input,66,FOLLOW_66_in_link_interwiki_uri3430); if (failed) return interwiki;
12881                        match(input,66,FOLLOW_66_in_link_interwiki_uri3432); if (failed) return interwiki;
12882                        match(input,69,FOLLOW_69_in_link_interwiki_uri3434); if (failed) return interwiki;
12883                        match(input,49,FOLLOW_49_in_link_interwiki_uri3436); if (failed) return interwiki;
12884                        match(input,70,FOLLOW_70_in_link_interwiki_uri3438); if (failed) return interwiki;
12885                        match(input,58,FOLLOW_58_in_link_interwiki_uri3440); if (failed) return interwiki;
12886    
12887                        }
12888                        break;
12889                    case 10 :
12890                        // Creole10.g:825:4: 'O' 'h' 'a' 'n' 'a'
12891                        {
12892                        match(input,68,FOLLOW_68_in_link_interwiki_uri3445); if (failed) return interwiki;
12893                        match(input,71,FOLLOW_71_in_link_interwiki_uri3447); if (failed) return interwiki;
12894                        match(input,63,FOLLOW_63_in_link_interwiki_uri3449); if (failed) return interwiki;
12895                        match(input,67,FOLLOW_67_in_link_interwiki_uri3451); if (failed) return interwiki;
12896                        match(input,63,FOLLOW_63_in_link_interwiki_uri3453); if (failed) return interwiki;
12897    
12898                        }
12899                        break;
12900                    case 11 :
12901                        // Creole10.g:826:4: 'P' 'm' 'W' 'i' 'k' 'i'
12902                        {
12903                        match(input,61,FOLLOW_61_in_link_interwiki_uri3458); if (failed) return interwiki;
12904                        match(input,69,FOLLOW_69_in_link_interwiki_uri3460); if (failed) return interwiki;
12905                        match(input,50,FOLLOW_50_in_link_interwiki_uri3462); if (failed) return interwiki;
12906                        match(input,51,FOLLOW_51_in_link_interwiki_uri3464); if (failed) return interwiki;
12907                        match(input,48,FOLLOW_48_in_link_interwiki_uri3466); if (failed) return interwiki;
12908                        match(input,51,FOLLOW_51_in_link_interwiki_uri3468); if (failed) return interwiki;
12909    
12910                        }
12911                        break;
12912                    case 12 :
12913                        // Creole10.g:827:4: 'P' 'u' 'k' 'i' 'W' 'i' 'k' 'i'
12914                        {
12915                        match(input,61,FOLLOW_61_in_link_interwiki_uri3473); if (failed) return interwiki;
12916                        match(input,49,FOLLOW_49_in_link_interwiki_uri3475); if (failed) return interwiki;
12917                        match(input,48,FOLLOW_48_in_link_interwiki_uri3477); if (failed) return interwiki;
12918                        match(input,51,FOLLOW_51_in_link_interwiki_uri3479); if (failed) return interwiki;
12919                        match(input,50,FOLLOW_50_in_link_interwiki_uri3481); if (failed) return interwiki;
12920                        match(input,51,FOLLOW_51_in_link_interwiki_uri3483); if (failed) return interwiki;
12921                        match(input,48,FOLLOW_48_in_link_interwiki_uri3485); if (failed) return interwiki;
12922                        match(input,51,FOLLOW_51_in_link_interwiki_uri3487); if (failed) return interwiki;
12923    
12924                        }
12925                        break;
12926                    case 13 :
12927                        // Creole10.g:828:4: 'P' 'u' 'r' 'p' 'l' 'e' 'W' 'i' 'k' 'i'
12928                        {
12929                        match(input,61,FOLLOW_61_in_link_interwiki_uri3492); if (failed) return interwiki;
12930                        match(input,49,FOLLOW_49_in_link_interwiki_uri3494); if (failed) return interwiki;
12931                        match(input,55,FOLLOW_55_in_link_interwiki_uri3496); if (failed) return interwiki;
12932                        match(input,72,FOLLOW_72_in_link_interwiki_uri3498); if (failed) return interwiki;
12933                        match(input,53,FOLLOW_53_in_link_interwiki_uri3500); if (failed) return interwiki;
12934                        match(input,58,FOLLOW_58_in_link_interwiki_uri3502); if (failed) return interwiki;
12935                        match(input,50,FOLLOW_50_in_link_interwiki_uri3504); if (failed) return interwiki;
12936                        match(input,51,FOLLOW_51_in_link_interwiki_uri3506); if (failed) return interwiki;
12937                        match(input,48,FOLLOW_48_in_link_interwiki_uri3508); if (failed) return interwiki;
12938                        match(input,51,FOLLOW_51_in_link_interwiki_uri3510); if (failed) return interwiki;
12939    
12940                        }
12941                        break;
12942                    case 14 :
12943                        // Creole10.g:829:4: 'R' 'a' 'd' 'e' 'o' 'x'
12944                        {
12945                        match(input,73,FOLLOW_73_in_link_interwiki_uri3515); if (failed) return interwiki;
12946                        match(input,63,FOLLOW_63_in_link_interwiki_uri3517); if (failed) return interwiki;
12947                        match(input,66,FOLLOW_66_in_link_interwiki_uri3519); if (failed) return interwiki;
12948                        match(input,58,FOLLOW_58_in_link_interwiki_uri3521); if (failed) return interwiki;
12949                        match(input,47,FOLLOW_47_in_link_interwiki_uri3523); if (failed) return interwiki;
12950                        match(input,74,FOLLOW_74_in_link_interwiki_uri3525); if (failed) return interwiki;
12951    
12952                        }
12953                        break;
12954                    case 15 :
12955                        // Creole10.g:830:4: 'S' 'n' 'i' 'p' 'S' 'n' 'a' 'p'
12956                        {
12957                        match(input,60,FOLLOW_60_in_link_interwiki_uri3530); if (failed) return interwiki;
12958                        match(input,67,FOLLOW_67_in_link_interwiki_uri3532); if (failed) return interwiki;
12959                        match(input,51,FOLLOW_51_in_link_interwiki_uri3534); if (failed) return interwiki;
12960                        match(input,72,FOLLOW_72_in_link_interwiki_uri3536); if (failed) return interwiki;
12961                        match(input,60,FOLLOW_60_in_link_interwiki_uri3538); if (failed) return interwiki;
12962                        match(input,67,FOLLOW_67_in_link_interwiki_uri3540); if (failed) return interwiki;
12963                        match(input,63,FOLLOW_63_in_link_interwiki_uri3542); if (failed) return interwiki;
12964                        match(input,72,FOLLOW_72_in_link_interwiki_uri3544); if (failed) return interwiki;
12965    
12966                        }
12967                        break;
12968                    case 16 :
12969                        // Creole10.g:831:4: 'T' 'i' 'd' 'd' 'l' 'y' 'W' 'i' 'k' 'i'
12970                        {
12971                        match(input,75,FOLLOW_75_in_link_interwiki_uri3549); if (failed) return interwiki;
12972                        match(input,51,FOLLOW_51_in_link_interwiki_uri3551); if (failed) return interwiki;
12973                        match(input,66,FOLLOW_66_in_link_interwiki_uri3553); if (failed) return interwiki;
12974                        match(input,66,FOLLOW_66_in_link_interwiki_uri3555); if (failed) return interwiki;
12975                        match(input,53,FOLLOW_53_in_link_interwiki_uri3557); if (failed) return interwiki;
12976                        match(input,76,FOLLOW_76_in_link_interwiki_uri3559); if (failed) return interwiki;
12977                        match(input,50,FOLLOW_50_in_link_interwiki_uri3561); if (failed) return interwiki;
12978                        match(input,51,FOLLOW_51_in_link_interwiki_uri3563); if (failed) return interwiki;
12979                        match(input,48,FOLLOW_48_in_link_interwiki_uri3565); if (failed) return interwiki;
12980                        match(input,51,FOLLOW_51_in_link_interwiki_uri3567); if (failed) return interwiki;
12981    
12982                        }
12983                        break;
12984                    case 17 :
12985                        // Creole10.g:832:4: 'T' 'W' 'i' 'k' 'i'
12986                        {
12987                        match(input,75,FOLLOW_75_in_link_interwiki_uri3572); if (failed) return interwiki;
12988                        match(input,50,FOLLOW_50_in_link_interwiki_uri3574); if (failed) return interwiki;
12989                        match(input,51,FOLLOW_51_in_link_interwiki_uri3576); if (failed) return interwiki;
12990                        match(input,48,FOLLOW_48_in_link_interwiki_uri3578); if (failed) return interwiki;
12991                        match(input,51,FOLLOW_51_in_link_interwiki_uri3580); if (failed) return interwiki;
12992    
12993                        }
12994                        break;
12995                    case 18 :
12996                        // Creole10.g:833:4: 'U' 's' 'e' 'm' 'o' 'd'
12997                        {
12998                        match(input,77,FOLLOW_77_in_link_interwiki_uri3585); if (failed) return interwiki;
12999                        match(input,70,FOLLOW_70_in_link_interwiki_uri3587); if (failed) return interwiki;
13000                        match(input,58,FOLLOW_58_in_link_interwiki_uri3589); if (failed) return interwiki;
13001                        match(input,69,FOLLOW_69_in_link_interwiki_uri3591); if (failed) return interwiki;
13002                        match(input,47,FOLLOW_47_in_link_interwiki_uri3593); if (failed) return interwiki;
13003                        match(input,66,FOLLOW_66_in_link_interwiki_uri3595); if (failed) return interwiki;
13004    
13005                        }
13006                        break;
13007                    case 19 :
13008                        // Creole10.g:834:4: 'W' 'i' 'k' 'i' 'p' 'e' 'd' 'i' 'a'
13009                        {
13010                        match(input,50,FOLLOW_50_in_link_interwiki_uri3600); if (failed) return interwiki;
13011                        match(input,51,FOLLOW_51_in_link_interwiki_uri3602); if (failed) return interwiki;
13012                        match(input,48,FOLLOW_48_in_link_interwiki_uri3604); if (failed) return interwiki;
13013                        match(input,51,FOLLOW_51_in_link_interwiki_uri3606); if (failed) return interwiki;
13014                        match(input,72,FOLLOW_72_in_link_interwiki_uri3608); if (failed) return interwiki;
13015                        match(input,58,FOLLOW_58_in_link_interwiki_uri3610); if (failed) return interwiki;
13016                        match(input,66,FOLLOW_66_in_link_interwiki_uri3612); if (failed) return interwiki;
13017                        match(input,51,FOLLOW_51_in_link_interwiki_uri3614); if (failed) return interwiki;
13018                        match(input,63,FOLLOW_63_in_link_interwiki_uri3616); if (failed) return interwiki;
13019    
13020                        }
13021                        break;
13022                    case 20 :
13023                        // Creole10.g:835:4: 'X' 'W' 'i' 'k' 'i'
13024                        {
13025                        match(input,78,FOLLOW_78_in_link_interwiki_uri3621); if (failed) return interwiki;
13026                        match(input,50,FOLLOW_50_in_link_interwiki_uri3623); if (failed) return interwiki;
13027                        match(input,51,FOLLOW_51_in_link_interwiki_uri3625); if (failed) return interwiki;
13028                        match(input,48,FOLLOW_48_in_link_interwiki_uri3627); if (failed) return interwiki;
13029                        match(input,51,FOLLOW_51_in_link_interwiki_uri3629); if (failed) return interwiki;
13030    
13031                        }
13032                        break;
13033    
13034                }
13035            }
13036            catch (RecognitionException re) {
13037                reportError(re);
13038                recover(input,re);
13039            }
13040            finally {
13041            }
13042            return interwiki;
13043        }
13044        // $ANTLR end link_interwiki_uri
13045    
13046    
13047        // $ANTLR start link_interwiki_pagename
13048        // Creole10.g:837:1: link_interwiki_pagename returns [StringBundler text = new StringBundler()] : (c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF ) )+ ;
13049        public final StringBundler link_interwiki_pagename() throws RecognitionException {
13050            StringBundler text =  new StringBundler();
13051    
13052            Token c=null;
13053    
13054            try {
13055                // Creole10.g:838:2: ( (c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF ) )+ )
13056                // Creole10.g:838:4: (c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF ) )+
13057                {
13058                // Creole10.g:838:4: (c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF ) )+
13059                int cnt118=0;
13060                loop118:
13061                do {
13062                    int alt118=2;
13063                    int LA118_0 = input.LA(1);
13064    
13065                    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<=81)) ) {
13066                        alt118=1;
13067                    }
13068    
13069    
13070                    switch (alt118) {
13071                    case 1 :
13072                        // Creole10.g:838:6: c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF )
13073                        {
13074                        c=(Token)input.LT(1);
13075                        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)<=81) ) {
13076                            input.consume();
13077                            errorRecovery=false;failed=false;
13078                        }
13079                        else {
13080                            if (backtracking>0) {failed=true; return text;}
13081                            MismatchedSetException mse =
13082                                new MismatchedSetException(null,input);
13083                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_link_interwiki_pagename3649);    throw mse;
13084                        }
13085    
13086                        if ( backtracking==0 ) {
13087                           text.append(c.getText()); 
13088                        }
13089    
13090                        }
13091                        break;
13092    
13093                    default :
13094                        if ( cnt118 >= 1 ) break loop118;
13095                        if (backtracking>0) {failed=true; return text;}
13096                            EarlyExitException eee =
13097                                new EarlyExitException(118, input);
13098                            throw eee;
13099                    }
13100                    cnt118++;
13101                } while (true);
13102    
13103    
13104                }
13105    
13106            }
13107            catch (RecognitionException re) {
13108                reportError(re);
13109                recover(input,re);
13110            }
13111            finally {
13112            }
13113            return text;
13114        }
13115        // $ANTLR end link_interwiki_pagename
13116    
13117    
13118        // $ANTLR start link_description
13119        // Creole10.g:840:1: link_description returns [CollectionNode node = new CollectionNode()] : (l= link_descriptionpart | i= image )+ ;
13120        public final CollectionNode link_description() throws RecognitionException {
13121            CollectionNode node =  new CollectionNode();
13122    
13123            ASTNode l = null;
13124    
13125            ImageNode i = null;
13126    
13127    
13128            try {
13129                // Creole10.g:841:2: ( (l= link_descriptionpart | i= image )+ )
13130                // Creole10.g:841:4: (l= link_descriptionpart | i= image )+
13131                {
13132                // Creole10.g:841:4: (l= link_descriptionpart | i= image )+
13133                int cnt119=0;
13134                loop119:
13135                do {
13136                    int alt119=3;
13137                    int LA119_0 = input.LA(1);
13138    
13139                    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<=81)) ) {
13140                        alt119=1;
13141                    }
13142                    else if ( (LA119_0==IMAGE_OPEN) ) {
13143                        alt119=2;
13144                    }
13145    
13146    
13147                    switch (alt119) {
13148                    case 1 :
13149                        // Creole10.g:841:6: l= link_descriptionpart
13150                        {
13151                        pushFollow(FOLLOW_link_descriptionpart_in_link_description3692);
13152                        l=link_descriptionpart();
13153                        _fsp--;
13154                        if (failed) return node;
13155                        if ( backtracking==0 ) {
13156    
13157                                                            // Recover code: some bad syntax could include null elements in the collection
13158                                                            if (l != null) {
13159                                                                    node.add(l);
13160                                                            }
13161                                                    
13162                        }
13163    
13164                        }
13165                        break;
13166                    case 2 :
13167                        // Creole10.g:847:5: i= image
13168                        {
13169                        pushFollow(FOLLOW_image_in_link_description3704);
13170                        i=image();
13171                        _fsp--;
13172                        if (failed) return node;
13173                        if ( backtracking==0 ) {
13174                          node.add(i);
13175                        }
13176    
13177                        }
13178                        break;
13179    
13180                    default :
13181                        if ( cnt119 >= 1 ) break loop119;
13182                        if (backtracking>0) {failed=true; return node;}
13183                            EarlyExitException eee =
13184                                new EarlyExitException(119, input);
13185                            throw eee;
13186                    }
13187                    cnt119++;
13188                } while (true);
13189    
13190    
13191                }
13192    
13193            }
13194            catch (RecognitionException re) {
13195                reportError(re);
13196                recover(input,re);
13197            }
13198            finally {
13199            }
13200            return node;
13201        }
13202        // $ANTLR end link_description
13203    
13204        protected static class link_descriptionpart_scope {
13205            CollectionNode element;
13206        }
13207        protected Stack link_descriptionpart_stack = new Stack();
13208    
13209    
13210        // $ANTLR start link_descriptionpart
13211        // Creole10.g:849: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 )+ );
13212        public final ASTNode link_descriptionpart() throws RecognitionException {
13213            link_descriptionpart_stack.push(new link_descriptionpart_scope());
13214            ASTNode text =  null;
13215    
13216            ASTNode lb = null;
13217    
13218            ASTNode li = null;
13219    
13220            CollectionNode t = null;
13221    
13222    
13223    
13224                    ((link_descriptionpart_scope)link_descriptionpart_stack.peek()).element = new CollectionNode();
13225    
13226            try {
13227                // Creole10.g:856: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 )+ )
13228                int alt123=3;
13229                switch ( input.LA(1) ) {
13230                case STAR:
13231                    {
13232                    int LA123_1 = input.LA(2);
13233    
13234                    if ( (LA123_1==STAR) ) {
13235                        alt123=1;
13236                    }
13237                    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<=81)) ) {
13238                        alt123=3;
13239                    }
13240                    else {
13241                        if (backtracking>0) {failed=true; return text;}
13242                        NoViableAltException nvae =
13243                            new NoViableAltException("849: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);
13244    
13245                        throw nvae;
13246                    }
13247                    }
13248                    break;
13249                case ITAL:
13250                    {
13251                    alt123=2;
13252                    }
13253                    break;
13254                case FORCED_END_OF_LINE:
13255                case HEADING_SECTION:
13256                case HORIZONTAL_SECTION:
13257                case LIST_ITEM:
13258                case LIST_ITEM_PART:
13259                case NOWIKI_SECTION:
13260                case SCAPE_NODE:
13261                case TEXT_NODE:
13262                case UNORDERED_LIST:
13263                case UNFORMATTED_TEXT:
13264                case WIKI:
13265                case POUND:
13266                case EQUAL:
13267                case PIPE:
13268                case FORCED_LINEBREAK:
13269                case ESCAPE:
13270                case NOWIKI_BLOCK_CLOSE:
13271                case NOWIKI_CLOSE:
13272                case IMAGE_CLOSE:
13273                case BLANKS:
13274                case TABLE_OF_CONTENTS_OPEN:
13275                case TABLE_OF_CONTENTS_CLOSE:
13276                case DASH:
13277                case CR:
13278                case LF:
13279                case SPACE:
13280                case TABULATOR:
13281                case BRACE_CLOSE:
13282                case COLON_SLASH:
13283                case SLASH:
13284                case INSIGNIFICANT_CHAR:
13285                case 43:
13286                case 44:
13287                case 45:
13288                case 46:
13289                case 47:
13290                case 48:
13291                case 49:
13292                case 50:
13293                case 51:
13294                case 52:
13295                case 53:
13296                case 54:
13297                case 55:
13298                case 56:
13299                case 57:
13300                case 58:
13301                case 59:
13302                case 60:
13303                case 61:
13304                case 62:
13305                case 63:
13306                case 64:
13307                case 65:
13308                case 66:
13309                case 67:
13310                case 68:
13311                case 69:
13312                case 70:
13313                case 71:
13314                case 72:
13315                case 73:
13316                case 74:
13317                case 75:
13318                case 76:
13319                case 77:
13320                case 78:
13321                case 79:
13322                case 80:
13323                case 81:
13324                    {
13325                    alt123=3;
13326                    }
13327                    break;
13328                default:
13329                    if (backtracking>0) {failed=true; return text;}
13330                    NoViableAltException nvae =
13331                        new NoViableAltException("849: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);
13332    
13333                    throw nvae;
13334                }
13335    
13336                switch (alt123) {
13337                    case 1 :
13338                        // Creole10.g:856:4: bold_markup onestar (lb= link_bold_descriptionpart onestar )+ bold_markup
13339                        {
13340                        pushFollow(FOLLOW_bold_markup_in_link_descriptionpart3729);
13341                        bold_markup();
13342                        _fsp--;
13343                        if (failed) return text;
13344                        pushFollow(FOLLOW_onestar_in_link_descriptionpart3732);
13345                        onestar();
13346                        _fsp--;
13347                        if (failed) return text;
13348                        // Creole10.g:856:25: (lb= link_bold_descriptionpart onestar )+
13349                        int cnt120=0;
13350                        loop120:
13351                        do {
13352                            int alt120=2;
13353                            int LA120_0 = input.LA(1);
13354    
13355                            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<=81)) ) {
13356                                alt120=1;
13357                            }
13358    
13359    
13360                            switch (alt120) {
13361                            case 1 :
13362                                // Creole10.g:856:27: lb= link_bold_descriptionpart onestar
13363                                {
13364                                pushFollow(FOLLOW_link_bold_descriptionpart_in_link_descriptionpart3740);
13365                                lb=link_bold_descriptionpart();
13366                                _fsp--;
13367                                if (failed) return text;
13368                                if ( backtracking==0 ) {
13369                                  ((link_descriptionpart_scope)link_descriptionpart_stack.peek()).element.add(lb);
13370                                }
13371                                pushFollow(FOLLOW_onestar_in_link_descriptionpart3745);
13372                                onestar();
13373                                _fsp--;
13374                                if (failed) return text;
13375    
13376                                }
13377                                break;
13378    
13379                            default :
13380                                if ( cnt120 >= 1 ) break loop120;
13381                                if (backtracking>0) {failed=true; return text;}
13382                                    EarlyExitException eee =
13383                                        new EarlyExitException(120, input);
13384                                    throw eee;
13385                            }
13386                            cnt120++;
13387                        } while (true);
13388    
13389                        if ( backtracking==0 ) {
13390                          text = new BoldTextNode(((link_descriptionpart_scope)link_descriptionpart_stack.peek()).element);
13391                        }
13392                        pushFollow(FOLLOW_bold_markup_in_link_descriptionpart3755);
13393                        bold_markup();
13394                        _fsp--;
13395                        if (failed) return text;
13396    
13397                        }
13398                        break;
13399                    case 2 :
13400                        // Creole10.g:858:4: ital_markup onestar (li= link_ital_descriptionpart onestar )+ ital_markup
13401                        {
13402                        pushFollow(FOLLOW_ital_markup_in_link_descriptionpart3760);
13403                        ital_markup();
13404                        _fsp--;
13405                        if (failed) return text;
13406                        pushFollow(FOLLOW_onestar_in_link_descriptionpart3763);
13407                        onestar();
13408                        _fsp--;
13409                        if (failed) return text;
13410                        // Creole10.g:858:26: (li= link_ital_descriptionpart onestar )+
13411                        int cnt121=0;
13412                        loop121:
13413                        do {
13414                            int alt121=2;
13415                            int LA121_0 = input.LA(1);
13416    
13417                            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<=81)) ) {
13418                                alt121=1;
13419                            }
13420    
13421    
13422                            switch (alt121) {
13423                            case 1 :
13424                                // Creole10.g:858:28: li= link_ital_descriptionpart onestar
13425                                {
13426                                pushFollow(FOLLOW_link_ital_descriptionpart_in_link_descriptionpart3772);
13427                                li=link_ital_descriptionpart();
13428                                _fsp--;
13429                                if (failed) return text;
13430                                if ( backtracking==0 ) {
13431                                  ((link_descriptionpart_scope)link_descriptionpart_stack.peek()).element.add(li);
13432                                }
13433                                pushFollow(FOLLOW_onestar_in_link_descriptionpart3777);
13434                                onestar();
13435                                _fsp--;
13436                                if (failed) return text;
13437    
13438                                }
13439                                break;
13440    
13441                            default :
13442                                if ( cnt121 >= 1 ) break loop121;
13443                                if (backtracking>0) {failed=true; return text;}
13444                                    EarlyExitException eee =
13445                                        new EarlyExitException(121, input);
13446                                    throw eee;
13447                            }
13448                            cnt121++;
13449                        } while (true);
13450    
13451                        if ( backtracking==0 ) {
13452                          text = new ItalicTextNode(((link_descriptionpart_scope)link_descriptionpart_stack.peek()).element);
13453                        }
13454                        pushFollow(FOLLOW_ital_markup_in_link_descriptionpart3786);
13455                        ital_markup();
13456                        _fsp--;
13457                        if (failed) return text;
13458    
13459                        }
13460                        break;
13461                    case 3 :
13462                        // Creole10.g:860:4: onestar (t= link_descriptiontext onestar )+
13463                        {
13464                        pushFollow(FOLLOW_onestar_in_link_descriptionpart3791);
13465                        onestar();
13466                        _fsp--;
13467                        if (failed) return text;
13468                        // Creole10.g:860:13: (t= link_descriptiontext onestar )+
13469                        int cnt122=0;
13470                        loop122:
13471                        do {
13472                            int alt122=2;
13473                            switch ( input.LA(1) ) {
13474                            case FORCED_END_OF_LINE:
13475                            case HEADING_SECTION:
13476                            case HORIZONTAL_SECTION:
13477                            case LIST_ITEM:
13478                            case LIST_ITEM_PART:
13479                            case NOWIKI_SECTION:
13480                            case SCAPE_NODE:
13481                            case TEXT_NODE:
13482                            case UNORDERED_LIST:
13483                            case UNFORMATTED_TEXT:
13484                            case WIKI:
13485                            case POUND:
13486                            case EQUAL:
13487                            case PIPE:
13488                            case NOWIKI_BLOCK_CLOSE:
13489                            case NOWIKI_CLOSE:
13490                            case IMAGE_CLOSE:
13491                            case BLANKS:
13492                            case TABLE_OF_CONTENTS_OPEN:
13493                            case TABLE_OF_CONTENTS_CLOSE:
13494                            case DASH:
13495                            case CR:
13496                            case LF:
13497                            case SPACE:
13498                            case TABULATOR:
13499                            case BRACE_CLOSE:
13500                            case COLON_SLASH:
13501                            case SLASH:
13502                            case INSIGNIFICANT_CHAR:
13503                            case 43:
13504                            case 44:
13505                            case 45:
13506                            case 46:
13507                            case 47:
13508                            case 48:
13509                            case 49:
13510                            case 50:
13511                            case 51:
13512                            case 52:
13513                            case 53:
13514                            case 54:
13515                            case 55:
13516                            case 56:
13517                            case 57:
13518                            case 58:
13519                            case 59:
13520                            case 60:
13521                            case 61:
13522                            case 62:
13523                            case 63:
13524                            case 64:
13525                            case 65:
13526                            case 66:
13527                            case 67:
13528                            case 68:
13529                            case 69:
13530                            case 70:
13531                            case 71:
13532                            case 72:
13533                            case 73:
13534                            case 74:
13535                            case 75:
13536                            case 76:
13537                            case 77:
13538                            case 78:
13539                            case 79:
13540                            case 80:
13541                            case 81:
13542                                {
13543                                alt122=1;
13544                                }
13545                                break;
13546                            case FORCED_LINEBREAK:
13547                                {
13548                                alt122=1;
13549                                }
13550                                break;
13551                            case ESCAPE:
13552                                {
13553                                alt122=1;
13554                                }
13555                                break;
13556    
13557                            }
13558    
13559                            switch (alt122) {
13560                            case 1 :
13561                                // Creole10.g:860:15: t= link_descriptiontext onestar
13562                                {
13563                                pushFollow(FOLLOW_link_descriptiontext_in_link_descriptionpart3800);
13564                                t=link_descriptiontext();
13565                                _fsp--;
13566                                if (failed) return text;
13567                                pushFollow(FOLLOW_onestar_in_link_descriptionpart3803);
13568                                onestar();
13569                                _fsp--;
13570                                if (failed) return text;
13571                                if ( backtracking==0 ) {
13572                                  ((link_descriptionpart_scope)link_descriptionpart_stack.peek()).element.add(t);
13573                                }
13574    
13575                                }
13576                                break;
13577    
13578                            default :
13579                                if ( cnt122 >= 1 ) break loop122;
13580                                if (backtracking>0) {failed=true; return text;}
13581                                    EarlyExitException eee =
13582                                        new EarlyExitException(122, input);
13583                                    throw eee;
13584                            }
13585                            cnt122++;
13586                        } while (true);
13587    
13588                        if ( backtracking==0 ) {
13589                          text = new UnformattedTextNode(((link_descriptionpart_scope)link_descriptionpart_stack.peek()).element);
13590                        }
13591    
13592                        }
13593                        break;
13594    
13595                }
13596            }
13597            catch (RecognitionException re) {
13598                reportError(re);
13599                recover(input,re);
13600            }
13601            finally {
13602                link_descriptionpart_stack.pop();
13603            }
13604            return text;
13605        }
13606        // $ANTLR end link_descriptionpart
13607    
13608    
13609        // $ANTLR start link_bold_descriptionpart
13610        // Creole10.g:862:1: link_bold_descriptionpart returns [ASTNode text = null] : ( ital_markup t= link_boldital_description ital_markup | ld= link_descriptiontext );
13611        public final ASTNode link_bold_descriptionpart() throws RecognitionException {
13612            ASTNode text =  null;
13613    
13614            CollectionNode t = null;
13615    
13616            CollectionNode ld = null;
13617    
13618    
13619            try {
13620                // Creole10.g:863:2: ( ital_markup t= link_boldital_description ital_markup | ld= link_descriptiontext )
13621                int alt124=2;
13622                int LA124_0 = input.LA(1);
13623    
13624                if ( (LA124_0==ITAL) ) {
13625                    alt124=1;
13626                }
13627                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<=81)) ) {
13628                    alt124=2;
13629                }
13630                else {
13631                    if (backtracking>0) {failed=true; return text;}
13632                    NoViableAltException nvae =
13633                        new NoViableAltException("862:1: link_bold_descriptionpart returns [ASTNode text = null] : ( ital_markup t= link_boldital_description ital_markup | ld= link_descriptiontext );", 124, 0, input);
13634    
13635                    throw nvae;
13636                }
13637                switch (alt124) {
13638                    case 1 :
13639                        // Creole10.g:863:4: ital_markup t= link_boldital_description ital_markup
13640                        {
13641                        pushFollow(FOLLOW_ital_markup_in_link_bold_descriptionpart3823);
13642                        ital_markup();
13643                        _fsp--;
13644                        if (failed) return text;
13645                        pushFollow(FOLLOW_link_boldital_description_in_link_bold_descriptionpart3830);
13646                        t=link_boldital_description();
13647                        _fsp--;
13648                        if (failed) return text;
13649                        if ( backtracking==0 ) {
13650                          text = new ItalicTextNode(t);
13651                        }
13652                        pushFollow(FOLLOW_ital_markup_in_link_bold_descriptionpart3835);
13653                        ital_markup();
13654                        _fsp--;
13655                        if (failed) return text;
13656    
13657                        }
13658                        break;
13659                    case 2 :
13660                        // Creole10.g:864:4: ld= link_descriptiontext
13661                        {
13662                        pushFollow(FOLLOW_link_descriptiontext_in_link_bold_descriptionpart3844);
13663                        ld=link_descriptiontext();
13664                        _fsp--;
13665                        if (failed) return text;
13666                        if ( backtracking==0 ) {
13667                          text =ld;
13668                        }
13669    
13670                        }
13671                        break;
13672    
13673                }
13674            }
13675            catch (RecognitionException re) {
13676                reportError(re);
13677                recover(input,re);
13678            }
13679            finally {
13680            }
13681            return text;
13682        }
13683        // $ANTLR end link_bold_descriptionpart
13684    
13685    
13686        // $ANTLR start link_ital_descriptionpart
13687        // Creole10.g:866:1: link_ital_descriptionpart returns [ASTNode text = null] : ( bold_markup td= link_boldital_description bold_markup | t= link_descriptiontext );
13688        public final ASTNode link_ital_descriptionpart() throws RecognitionException {
13689            ASTNode text =  null;
13690    
13691            CollectionNode td = null;
13692    
13693            CollectionNode t = null;
13694    
13695    
13696            try {
13697                // Creole10.g:867:2: ( bold_markup td= link_boldital_description bold_markup | t= link_descriptiontext )
13698                int alt125=2;
13699                int LA125_0 = input.LA(1);
13700    
13701                if ( (LA125_0==STAR) ) {
13702                    alt125=1;
13703                }
13704                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<=81)) ) {
13705                    alt125=2;
13706                }
13707                else {
13708                    if (backtracking>0) {failed=true; return text;}
13709                    NoViableAltException nvae =
13710                        new NoViableAltException("866:1: link_ital_descriptionpart returns [ASTNode text = null] : ( bold_markup td= link_boldital_description bold_markup | t= link_descriptiontext );", 125, 0, input);
13711    
13712                    throw nvae;
13713                }
13714                switch (alt125) {
13715                    case 1 :
13716                        // Creole10.g:867:4: bold_markup td= link_boldital_description bold_markup
13717                        {
13718                        pushFollow(FOLLOW_bold_markup_in_link_ital_descriptionpart3860);
13719                        bold_markup();
13720                        _fsp--;
13721                        if (failed) return text;
13722                        pushFollow(FOLLOW_link_boldital_description_in_link_ital_descriptionpart3867);
13723                        td=link_boldital_description();
13724                        _fsp--;
13725                        if (failed) return text;
13726                        pushFollow(FOLLOW_bold_markup_in_link_ital_descriptionpart3870);
13727                        bold_markup();
13728                        _fsp--;
13729                        if (failed) return text;
13730                        if ( backtracking==0 ) {
13731                          text = new BoldTextNode(td);
13732                        }
13733    
13734                        }
13735                        break;
13736                    case 2 :
13737                        // Creole10.g:868:4: t= link_descriptiontext
13738                        {
13739                        pushFollow(FOLLOW_link_descriptiontext_in_link_ital_descriptionpart3881);
13740                        t=link_descriptiontext();
13741                        _fsp--;
13742                        if (failed) return text;
13743                        if ( backtracking==0 ) {
13744                          text = t; 
13745                        }
13746    
13747                        }
13748                        break;
13749    
13750                }
13751            }
13752            catch (RecognitionException re) {
13753                reportError(re);
13754                recover(input,re);
13755            }
13756            finally {
13757            }
13758            return text;
13759        }
13760        // $ANTLR end link_ital_descriptionpart
13761    
13762    
13763        // $ANTLR start link_boldital_description
13764        // Creole10.g:870:1: link_boldital_description returns [CollectionNode text = new CollectionNode()] : onestar (t= link_descriptiontext onestar )+ ;
13765        public final CollectionNode link_boldital_description() throws RecognitionException {
13766            CollectionNode text =  new CollectionNode();
13767    
13768            CollectionNode t = null;
13769    
13770    
13771            try {
13772                // Creole10.g:871:2: ( onestar (t= link_descriptiontext onestar )+ )
13773                // Creole10.g:871:4: onestar (t= link_descriptiontext onestar )+
13774                {
13775                pushFollow(FOLLOW_onestar_in_link_boldital_description3897);
13776                onestar();
13777                _fsp--;
13778                if (failed) return text;
13779                // Creole10.g:871:13: (t= link_descriptiontext onestar )+
13780                int cnt126=0;
13781                loop126:
13782                do {
13783                    int alt126=2;
13784                    int LA126_0 = input.LA(1);
13785    
13786                    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<=81)) ) {
13787                        alt126=1;
13788                    }
13789    
13790    
13791                    switch (alt126) {
13792                    case 1 :
13793                        // Creole10.g:871:15: t= link_descriptiontext onestar
13794                        {
13795                        pushFollow(FOLLOW_link_descriptiontext_in_link_boldital_description3906);
13796                        t=link_descriptiontext();
13797                        _fsp--;
13798                        if (failed) return text;
13799                        pushFollow(FOLLOW_onestar_in_link_boldital_description3909);
13800                        onestar();
13801                        _fsp--;
13802                        if (failed) return text;
13803                        if ( backtracking==0 ) {
13804    
13805                                                            for (ASTNode item:t.getASTNodes()) {
13806                                                                    text.add(item);
13807                                                            }
13808                                                    
13809                        }
13810    
13811                        }
13812                        break;
13813    
13814                    default :
13815                        if ( cnt126 >= 1 ) break loop126;
13816                        if (backtracking>0) {failed=true; return text;}
13817                            EarlyExitException eee =
13818                                new EarlyExitException(126, input);
13819                            throw eee;
13820                    }
13821                    cnt126++;
13822                } while (true);
13823    
13824    
13825                }
13826    
13827            }
13828            catch (RecognitionException re) {
13829                reportError(re);
13830                recover(input,re);
13831            }
13832            finally {
13833            }
13834            return text;
13835        }
13836        // $ANTLR end link_boldital_description
13837    
13838    
13839        // $ANTLR start link_descriptiontext
13840        // Creole10.g:877:1: link_descriptiontext returns [CollectionNode text = new CollectionNode()] : (t= link_descriptiontext_simple | ( forced_linebreak | e= escaped )+ );
13841        public final CollectionNode link_descriptiontext() throws RecognitionException {
13842            CollectionNode text =  new CollectionNode();
13843    
13844            StringBundler t = null;
13845    
13846            ScapedNode e = null;
13847    
13848    
13849            try {
13850                // Creole10.g:878:2: (t= link_descriptiontext_simple | ( forced_linebreak | e= escaped )+ )
13851                int alt128=2;
13852                int LA128_0 = input.LA(1);
13853    
13854                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<=81)) ) {
13855                    alt128=1;
13856                }
13857                else if ( ((LA128_0>=FORCED_LINEBREAK && LA128_0<=ESCAPE)) ) {
13858                    alt128=2;
13859                }
13860                else {
13861                    if (backtracking>0) {failed=true; return text;}
13862                    NoViableAltException nvae =
13863                        new NoViableAltException("877:1: link_descriptiontext returns [CollectionNode text = new CollectionNode()] : (t= link_descriptiontext_simple | ( forced_linebreak | e= escaped )+ );", 128, 0, input);
13864    
13865                    throw nvae;
13866                }
13867                switch (alt128) {
13868                    case 1 :
13869                        // Creole10.g:878:5: t= link_descriptiontext_simple
13870                        {
13871                        pushFollow(FOLLOW_link_descriptiontext_simple_in_link_descriptiontext3932);
13872                        t=link_descriptiontext_simple();
13873                        _fsp--;
13874                        if (failed) return text;
13875                        if ( backtracking==0 ) {
13876                           text.add(new UnformattedTextNode(t.toString()));
13877                        }
13878    
13879                        }
13880                        break;
13881                    case 2 :
13882                        // Creole10.g:879:5: ( forced_linebreak | e= escaped )+
13883                        {
13884                        // Creole10.g:879:5: ( forced_linebreak | e= escaped )+
13885                        int cnt127=0;
13886                        loop127:
13887                        do {
13888                            int alt127=3;
13889                            int LA127_0 = input.LA(1);
13890    
13891                            if ( (LA127_0==FORCED_LINEBREAK) ) {
13892                                alt127=1;
13893                            }
13894                            else if ( (LA127_0==ESCAPE) ) {
13895                                alt127=2;
13896                            }
13897    
13898    
13899                            switch (alt127) {
13900                            case 1 :
13901                                // Creole10.g:879:7: forced_linebreak
13902                                {
13903                                pushFollow(FOLLOW_forced_linebreak_in_link_descriptiontext3942);
13904                                forced_linebreak();
13905                                _fsp--;
13906                                if (failed) return text;
13907                                if ( backtracking==0 ) {
13908                                  text.add(new ForcedEndOfLineNode());
13909                                }
13910    
13911                                }
13912                                break;
13913                            case 2 :
13914                                // Creole10.g:880:5: e= escaped
13915                                {
13916                                pushFollow(FOLLOW_escaped_in_link_descriptiontext3954);
13917                                e=escaped();
13918                                _fsp--;
13919                                if (failed) return text;
13920                                if ( backtracking==0 ) {
13921                                  text.add(e);
13922                                }
13923    
13924                                }
13925                                break;
13926    
13927                            default :
13928                                if ( cnt127 >= 1 ) break loop127;
13929                                if (backtracking>0) {failed=true; return text;}
13930                                    EarlyExitException eee =
13931                                        new EarlyExitException(127, input);
13932                                    throw eee;
13933                            }
13934                            cnt127++;
13935                        } while (true);
13936    
13937    
13938                        }
13939                        break;
13940    
13941                }
13942            }
13943            catch (RecognitionException re) {
13944                reportError(re);
13945                recover(input,re);
13946            }
13947            finally {
13948            }
13949            return text;
13950        }
13951        // $ANTLR end link_descriptiontext
13952    
13953    
13954        // $ANTLR start link_descriptiontext_simple
13955        // Creole10.g:882: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 ) )+ ;
13956        public final StringBundler link_descriptiontext_simple() throws RecognitionException {
13957            StringBundler text =  new StringBundler();
13958    
13959            Token c=null;
13960    
13961            try {
13962                // Creole10.g:883:2: ( (c=~ ( LINK_CLOSE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+ )
13963                // Creole10.g:883:4: (c=~ ( LINK_CLOSE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+
13964                {
13965                // Creole10.g:883:4: (c=~ ( LINK_CLOSE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+
13966                int cnt129=0;
13967                loop129:
13968                do {
13969                    int alt129=2;
13970                    int LA129_0 = input.LA(1);
13971    
13972                    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<=81)) ) {
13973                        alt129=1;
13974                    }
13975    
13976    
13977                    switch (alt129) {
13978                    case 1 :
13979                        // Creole10.g:883:6: c=~ ( LINK_CLOSE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF )
13980                        {
13981                        c=(Token)input.LT(1);
13982                        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)<=81) ) {
13983                            input.consume();
13984                            errorRecovery=false;failed=false;
13985                        }
13986                        else {
13987                            if (backtracking>0) {failed=true; return text;}
13988                            MismatchedSetException mse =
13989                                new MismatchedSetException(null,input);
13990                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_link_descriptiontext_simple3979);    throw mse;
13991                        }
13992    
13993                        if ( backtracking==0 ) {
13994                           text.append(c.getText()); 
13995                        }
13996    
13997                        }
13998                        break;
13999    
14000                    default :
14001                        if ( cnt129 >= 1 ) break loop129;
14002                        if (backtracking>0) {failed=true; return text;}
14003                            EarlyExitException eee =
14004                                new EarlyExitException(129, input);
14005                            throw eee;
14006                    }
14007                    cnt129++;
14008                } while (true);
14009    
14010    
14011                }
14012    
14013            }
14014            catch (RecognitionException re) {
14015                reportError(re);
14016                recover(input,re);
14017            }
14018            finally {
14019            }
14020            return text;
14021        }
14022        // $ANTLR end link_descriptiontext_simple
14023    
14024    
14025        // $ANTLR start link_uri
14026        // Creole10.g:895:1: link_uri returns [StringBundler text = new StringBundler()] : (c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF ) )+ ;
14027        public final StringBundler link_uri() throws RecognitionException {
14028            StringBundler text =  new StringBundler();
14029    
14030            Token c=null;
14031    
14032            try {
14033                // Creole10.g:896:2: ( (c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF ) )+ )
14034                // Creole10.g:896:4: (c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF ) )+
14035                {
14036                // Creole10.g:896:4: (c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF ) )+
14037                int cnt130=0;
14038                loop130:
14039                do {
14040                    int alt130=2;
14041                    int LA130_0 = input.LA(1);
14042    
14043                    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<=81)) ) {
14044                        alt130=1;
14045                    }
14046    
14047    
14048                    switch (alt130) {
14049                    case 1 :
14050                        // Creole10.g:896:6: c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF )
14051                        {
14052                        c=(Token)input.LT(1);
14053                        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)<=81) ) {
14054                            input.consume();
14055                            errorRecovery=false;failed=false;
14056                        }
14057                        else {
14058                            if (backtracking>0) {failed=true; return text;}
14059                            MismatchedSetException mse =
14060                                new MismatchedSetException(null,input);
14061                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_link_uri4078);    throw mse;
14062                        }
14063    
14064                        if ( backtracking==0 ) {
14065                          text.append(c.getText()); 
14066                        }
14067    
14068                        }
14069                        break;
14070    
14071                    default :
14072                        if ( cnt130 >= 1 ) break loop130;
14073                        if (backtracking>0) {failed=true; return text;}
14074                            EarlyExitException eee =
14075                                new EarlyExitException(130, input);
14076                            throw eee;
14077                    }
14078                    cnt130++;
14079                } while (true);
14080    
14081    
14082                }
14083    
14084            }
14085            catch (RecognitionException re) {
14086                reportError(re);
14087                recover(input,re);
14088            }
14089            finally {
14090            }
14091            return text;
14092        }
14093        // $ANTLR end link_uri
14094    
14095    
14096        // $ANTLR start image
14097        // Creole10.g:903:1: image returns [ImageNode image = new ImageNode()] : image_open_markup uri= image_uri (alt= image_alternative )? image_close_markup ;
14098        public final ImageNode image() throws RecognitionException {
14099            ImageNode image =  new ImageNode();
14100    
14101            StringBundler uri = null;
14102    
14103            CollectionNode alt = null;
14104    
14105    
14106            try {
14107                // Creole10.g:904:2: ( image_open_markup uri= image_uri (alt= image_alternative )? image_close_markup )
14108                // Creole10.g:904:4: image_open_markup uri= image_uri (alt= image_alternative )? image_close_markup
14109                {
14110                pushFollow(FOLLOW_image_open_markup_in_image4119);
14111                image_open_markup();
14112                _fsp--;
14113                if (failed) return image;
14114                pushFollow(FOLLOW_image_uri_in_image4125);
14115                uri=image_uri();
14116                _fsp--;
14117                if (failed) return image;
14118                if ( backtracking==0 ) {
14119                  image.setLink(uri.toString());
14120                }
14121                // Creole10.g:904:79: (alt= image_alternative )?
14122                int alt131=2;
14123                int LA131_0 = input.LA(1);
14124    
14125                if ( (LA131_0==PIPE) ) {
14126                    alt131=1;
14127                }
14128                switch (alt131) {
14129                    case 1 :
14130                        // Creole10.g:904:81: alt= image_alternative
14131                        {
14132                        pushFollow(FOLLOW_image_alternative_in_image4135);
14133                        alt=image_alternative();
14134                        _fsp--;
14135                        if (failed) return image;
14136                        if ( backtracking==0 ) {
14137                          image.setAltCollectionNode(alt);
14138                        }
14139    
14140                        }
14141                        break;
14142    
14143                }
14144    
14145                pushFollow(FOLLOW_image_close_markup_in_image4144);
14146                image_close_markup();
14147                _fsp--;
14148                if (failed) return image;
14149    
14150                }
14151    
14152            }
14153            catch (RecognitionException re) {
14154                reportError(re);
14155                recover(input,re);
14156            }
14157            finally {
14158            }
14159            return image;
14160        }
14161        // $ANTLR end image
14162    
14163    
14164        // $ANTLR start image_uri
14165        // Creole10.g:907:1: image_uri returns [StringBundler link = new StringBundler()] : (c=~ ( PIPE | IMAGE_CLOSE | NEWLINE | EOF ) )+ ;
14166        public final StringBundler image_uri() throws RecognitionException {
14167            StringBundler link =  new StringBundler();
14168    
14169            Token c=null;
14170    
14171            try {
14172                // Creole10.g:908:2: ( (c=~ ( PIPE | IMAGE_CLOSE | NEWLINE | EOF ) )+ )
14173                // Creole10.g:908:4: (c=~ ( PIPE | IMAGE_CLOSE | NEWLINE | EOF ) )+
14174                {
14175                // Creole10.g:908:4: (c=~ ( PIPE | IMAGE_CLOSE | NEWLINE | EOF ) )+
14176                int cnt132=0;
14177                loop132:
14178                do {
14179                    int alt132=2;
14180                    int LA132_0 = input.LA(1);
14181    
14182                    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<=81)) ) {
14183                        alt132=1;
14184                    }
14185    
14186    
14187                    switch (alt132) {
14188                    case 1 :
14189                        // Creole10.g:908:5: c=~ ( PIPE | IMAGE_CLOSE | NEWLINE | EOF )
14190                        {
14191                        c=(Token)input.LT(1);
14192                        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)<=81) ) {
14193                            input.consume();
14194                            errorRecovery=false;failed=false;
14195                        }
14196                        else {
14197                            if (backtracking>0) {failed=true; return link;}
14198                            MismatchedSetException mse =
14199                                new MismatchedSetException(null,input);
14200                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_image_uri4163);    throw mse;
14201                        }
14202    
14203                        if ( backtracking==0 ) {
14204                          link.append(c.getText()); 
14205                        }
14206    
14207                        }
14208                        break;
14209    
14210                    default :
14211                        if ( cnt132 >= 1 ) break loop132;
14212                        if (backtracking>0) {failed=true; return link;}
14213                            EarlyExitException eee =
14214                                new EarlyExitException(132, input);
14215                            throw eee;
14216                    }
14217                    cnt132++;
14218                } while (true);
14219    
14220    
14221                }
14222    
14223            }
14224            catch (RecognitionException re) {
14225                reportError(re);
14226                recover(input,re);
14227            }
14228            finally {
14229            }
14230            return link;
14231        }
14232        // $ANTLR end image_uri
14233    
14234    
14235        // $ANTLR start image_alternative
14236        // Creole10.g:910:1: image_alternative returns [CollectionNode alternative = new CollectionNode()] : image_alternative_markup (p= image_alternativepart )+ ;
14237        public final CollectionNode image_alternative() throws RecognitionException {
14238            CollectionNode alternative =  new CollectionNode();
14239    
14240            ASTNode p = null;
14241    
14242    
14243            try {
14244                // Creole10.g:911:2: ( image_alternative_markup (p= image_alternativepart )+ )
14245                // Creole10.g:911:4: image_alternative_markup (p= image_alternativepart )+
14246                {
14247                pushFollow(FOLLOW_image_alternative_markup_in_image_alternative4198);
14248                image_alternative_markup();
14249                _fsp--;
14250                if (failed) return alternative;
14251                // Creole10.g:911:30: (p= image_alternativepart )+
14252                int cnt133=0;
14253                loop133:
14254                do {
14255                    int alt133=2;
14256                    int LA133_0 = input.LA(1);
14257    
14258                    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<=81)) ) {
14259                        alt133=1;
14260                    }
14261    
14262    
14263                    switch (alt133) {
14264                    case 1 :
14265                        // Creole10.g:911:32: p= image_alternativepart
14266                        {
14267                        pushFollow(FOLLOW_image_alternativepart_in_image_alternative4207);
14268                        p=image_alternativepart();
14269                        _fsp--;
14270                        if (failed) return alternative;
14271                        if ( backtracking==0 ) {
14272                          alternative.add(p); 
14273                        }
14274    
14275                        }
14276                        break;
14277    
14278                    default :
14279                        if ( cnt133 >= 1 ) break loop133;
14280                        if (backtracking>0) {failed=true; return alternative;}
14281                            EarlyExitException eee =
14282                                new EarlyExitException(133, input);
14283                            throw eee;
14284                    }
14285                    cnt133++;
14286                } while (true);
14287    
14288    
14289                }
14290    
14291            }
14292            catch (RecognitionException re) {
14293                reportError(re);
14294                recover(input,re);
14295            }
14296            finally {
14297            }
14298            return alternative;
14299        }
14300        // $ANTLR end image_alternative
14301    
14302        protected static class image_alternativepart_scope {
14303            CollectionNode elements;
14304        }
14305        protected Stack image_alternativepart_stack = new Stack();
14306    
14307    
14308        // $ANTLR start image_alternativepart
14309        // Creole10.g:913: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 )+ );
14310        public final ASTNode image_alternativepart() throws RecognitionException {
14311            image_alternativepart_stack.push(new image_alternativepart_scope());
14312            ASTNode item =  null;
14313    
14314            ASTNode t1 = null;
14315    
14316            ASTNode t2 = null;
14317    
14318            CollectionNode t3 = null;
14319    
14320    
14321    
14322               ((image_alternativepart_scope)image_alternativepart_stack.peek()).elements = new CollectionNode();
14323    
14324            try {
14325                // Creole10.g:920: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 )+ )
14326                int alt137=3;
14327                switch ( input.LA(1) ) {
14328                case STAR:
14329                    {
14330                    int LA137_1 = input.LA(2);
14331    
14332                    if ( (LA137_1==STAR) ) {
14333                        alt137=1;
14334                    }
14335                    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<=81)) ) {
14336                        alt137=3;
14337                    }
14338                    else {
14339                        if (backtracking>0) {failed=true; return item;}
14340                        NoViableAltException nvae =
14341                            new NoViableAltException("913: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);
14342    
14343                        throw nvae;
14344                    }
14345                    }
14346                    break;
14347                case ITAL:
14348                    {
14349                    alt137=2;
14350                    }
14351                    break;
14352                case FORCED_END_OF_LINE:
14353                case HEADING_SECTION:
14354                case HORIZONTAL_SECTION:
14355                case LIST_ITEM:
14356                case LIST_ITEM_PART:
14357                case NOWIKI_SECTION:
14358                case SCAPE_NODE:
14359                case TEXT_NODE:
14360                case UNORDERED_LIST:
14361                case UNFORMATTED_TEXT:
14362                case WIKI:
14363                case POUND:
14364                case EQUAL:
14365                case PIPE:
14366                case FORCED_LINEBREAK:
14367                case ESCAPE:
14368                case NOWIKI_BLOCK_CLOSE:
14369                case NOWIKI_CLOSE:
14370                case LINK_CLOSE:
14371                case BLANKS:
14372                case TABLE_OF_CONTENTS_OPEN:
14373                case TABLE_OF_CONTENTS_CLOSE:
14374                case DASH:
14375                case CR:
14376                case LF:
14377                case SPACE:
14378                case TABULATOR:
14379                case BRACE_CLOSE:
14380                case COLON_SLASH:
14381                case SLASH:
14382                case INSIGNIFICANT_CHAR:
14383                case 43:
14384                case 44:
14385                case 45:
14386                case 46:
14387                case 47:
14388                case 48:
14389                case 49:
14390                case 50:
14391                case 51:
14392                case 52:
14393                case 53:
14394                case 54:
14395                case 55:
14396                case 56:
14397                case 57:
14398                case 58:
14399                case 59:
14400                case 60:
14401                case 61:
14402                case 62:
14403                case 63:
14404                case 64:
14405                case 65:
14406                case 66:
14407                case 67:
14408                case 68:
14409                case 69:
14410                case 70:
14411                case 71:
14412                case 72:
14413                case 73:
14414                case 74:
14415                case 75:
14416                case 76:
14417                case 77:
14418                case 78:
14419                case 79:
14420                case 80:
14421                case 81:
14422                    {
14423                    alt137=3;
14424                    }
14425                    break;
14426                default:
14427                    if (backtracking>0) {failed=true; return item;}
14428                    NoViableAltException nvae =
14429                        new NoViableAltException("913: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);
14430    
14431                    throw nvae;
14432                }
14433    
14434                switch (alt137) {
14435                    case 1 :
14436                        // Creole10.g:920:4: bold_markup onestar (t1= image_bold_alternativepart onestar )+ bold_markup
14437                        {
14438                        pushFollow(FOLLOW_bold_markup_in_image_alternativepart4233);
14439                        bold_markup();
14440                        _fsp--;
14441                        if (failed) return item;
14442                        pushFollow(FOLLOW_onestar_in_image_alternativepart4236);
14443                        onestar();
14444                        _fsp--;
14445                        if (failed) return item;
14446                        // Creole10.g:920:26: (t1= image_bold_alternativepart onestar )+
14447                        int cnt134=0;
14448                        loop134:
14449                        do {
14450                            int alt134=2;
14451                            int LA134_0 = input.LA(1);
14452    
14453                            if ( (LA134_0==STAR) ) {
14454                                int LA134_1 = input.LA(2);
14455    
14456                                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<=81)) ) {
14457                                    alt134=1;
14458                                }
14459    
14460    
14461                            }
14462                            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<=81)) ) {
14463                                alt134=1;
14464                            }
14465    
14466    
14467                            switch (alt134) {
14468                            case 1 :
14469                                // Creole10.g:920:28: t1= image_bold_alternativepart onestar
14470                                {
14471                                pushFollow(FOLLOW_image_bold_alternativepart_in_image_alternativepart4245);
14472                                t1=image_bold_alternativepart();
14473                                _fsp--;
14474                                if (failed) return item;
14475                                if ( backtracking==0 ) {
14476                                  ((image_alternativepart_scope)image_alternativepart_stack.peek()).elements.add(t1);
14477                                }
14478                                pushFollow(FOLLOW_onestar_in_image_alternativepart4250);
14479                                onestar();
14480                                _fsp--;
14481                                if (failed) return item;
14482    
14483                                }
14484                                break;
14485    
14486                            default :
14487                                if ( cnt134 >= 1 ) break loop134;
14488                                if (backtracking>0) {failed=true; return item;}
14489                                    EarlyExitException eee =
14490                                        new EarlyExitException(134, input);
14491                                    throw eee;
14492                            }
14493                            cnt134++;
14494                        } while (true);
14495    
14496                        pushFollow(FOLLOW_bold_markup_in_image_alternativepart4257);
14497                        bold_markup();
14498                        _fsp--;
14499                        if (failed) return item;
14500                        if ( backtracking==0 ) {
14501                          item = new BoldTextNode(((image_alternativepart_scope)image_alternativepart_stack.peek()).elements);
14502                        }
14503    
14504                        }
14505                        break;
14506                    case 2 :
14507                        // Creole10.g:922:4: ital_markup onestar (t2= image_ital_alternativepart onestar )+ ital_markup
14508                        {
14509                        pushFollow(FOLLOW_ital_markup_in_image_alternativepart4264);
14510                        ital_markup();
14511                        _fsp--;
14512                        if (failed) return item;
14513                        pushFollow(FOLLOW_onestar_in_image_alternativepart4267);
14514                        onestar();
14515                        _fsp--;
14516                        if (failed) return item;
14517                        // Creole10.g:922:26: (t2= image_ital_alternativepart onestar )+
14518                        int cnt135=0;
14519                        loop135:
14520                        do {
14521                            int alt135=2;
14522                            int LA135_0 = input.LA(1);
14523    
14524                            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<=81)) ) {
14525                                alt135=1;
14526                            }
14527    
14528    
14529                            switch (alt135) {
14530                            case 1 :
14531                                // Creole10.g:922:29: t2= image_ital_alternativepart onestar
14532                                {
14533                                pushFollow(FOLLOW_image_ital_alternativepart_in_image_alternativepart4277);
14534                                t2=image_ital_alternativepart();
14535                                _fsp--;
14536                                if (failed) return item;
14537                                if ( backtracking==0 ) {
14538                                  ((image_alternativepart_scope)image_alternativepart_stack.peek()).elements.add(t2);
14539                                }
14540                                pushFollow(FOLLOW_onestar_in_image_alternativepart4282);
14541                                onestar();
14542                                _fsp--;
14543                                if (failed) return item;
14544    
14545                                }
14546                                break;
14547    
14548                            default :
14549                                if ( cnt135 >= 1 ) break loop135;
14550                                if (backtracking>0) {failed=true; return item;}
14551                                    EarlyExitException eee =
14552                                        new EarlyExitException(135, input);
14553                                    throw eee;
14554                            }
14555                            cnt135++;
14556                        } while (true);
14557    
14558                        pushFollow(FOLLOW_ital_markup_in_image_alternativepart4289);
14559                        ital_markup();
14560                        _fsp--;
14561                        if (failed) return item;
14562                        if ( backtracking==0 ) {
14563                          item = new ItalicTextNode(((image_alternativepart_scope)image_alternativepart_stack.peek()).elements);
14564                        }
14565    
14566                        }
14567                        break;
14568                    case 3 :
14569                        // Creole10.g:924:4: onestar (t3= image_alternativetext onestar )+
14570                        {
14571                        pushFollow(FOLLOW_onestar_in_image_alternativepart4296);
14572                        onestar();
14573                        _fsp--;
14574                        if (failed) return item;
14575                        // Creole10.g:924:13: (t3= image_alternativetext onestar )+
14576                        int cnt136=0;
14577                        loop136:
14578                        do {
14579                            int alt136=2;
14580                            int LA136_0 = input.LA(1);
14581    
14582                            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<=81)) ) {
14583                                alt136=1;
14584                            }
14585                            else if ( (LA136_0==FORCED_LINEBREAK) ) {
14586                                alt136=1;
14587                            }
14588    
14589    
14590                            switch (alt136) {
14591                            case 1 :
14592                                // Creole10.g:924:15: t3= image_alternativetext onestar
14593                                {
14594                                pushFollow(FOLLOW_image_alternativetext_in_image_alternativepart4303);
14595                                t3=image_alternativetext();
14596                                _fsp--;
14597                                if (failed) return item;
14598                                if ( backtracking==0 ) {
14599    
14600                                                                    for (ASTNode n: t3.getASTNodes()) {
14601                                                                       ((image_alternativepart_scope)image_alternativepart_stack.peek()).elements.add(n);
14602                                                                     }
14603                                                                          
14604                                }
14605                                pushFollow(FOLLOW_onestar_in_image_alternativepart4308);
14606                                onestar();
14607                                _fsp--;
14608                                if (failed) return item;
14609    
14610                                }
14611                                break;
14612    
14613                            default :
14614                                if ( cnt136 >= 1 ) break loop136;
14615                                if (backtracking>0) {failed=true; return item;}
14616                                    EarlyExitException eee =
14617                                        new EarlyExitException(136, input);
14618                                    throw eee;
14619                            }
14620                            cnt136++;
14621                        } while (true);
14622    
14623                        if ( backtracking==0 ) {
14624                          item =new UnformattedTextNode(((image_alternativepart_scope)image_alternativepart_stack.peek()).elements);
14625                        }
14626    
14627                        }
14628                        break;
14629    
14630                }
14631            }
14632            catch (RecognitionException re) {
14633                reportError(re);
14634                recover(input,re);
14635            }
14636            finally {
14637                image_alternativepart_stack.pop();
14638            }
14639            return item;
14640        }
14641        // $ANTLR end image_alternativepart
14642    
14643        protected static class image_bold_alternativepart_scope {
14644            CollectionNode elements;
14645        }
14646        protected Stack image_bold_alternativepart_stack = new Stack();
14647    
14648    
14649        // $ANTLR start image_bold_alternativepart
14650        // Creole10.g:930:1: image_bold_alternativepart returns [ASTNode text = null] : ( ital_markup t= link_boldital_description ital_markup | onestar (i= image_alternativetext onestar )+ );
14651        public final ASTNode image_bold_alternativepart() throws RecognitionException {
14652            image_bold_alternativepart_stack.push(new image_bold_alternativepart_scope());
14653            ASTNode text =  null;
14654    
14655            CollectionNode t = null;
14656    
14657            CollectionNode i = null;
14658    
14659    
14660    
14661               ((image_bold_alternativepart_scope)image_bold_alternativepart_stack.peek()).elements = new CollectionNode();
14662    
14663            try {
14664                // Creole10.g:937:2: ( ital_markup t= link_boldital_description ital_markup | onestar (i= image_alternativetext onestar )+ )
14665                int alt139=2;
14666                int LA139_0 = input.LA(1);
14667    
14668                if ( (LA139_0==ITAL) ) {
14669                    alt139=1;
14670                }
14671                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<=81)) ) {
14672                    alt139=2;
14673                }
14674                else {
14675                    if (backtracking>0) {failed=true; return text;}
14676                    NoViableAltException nvae =
14677                        new NoViableAltException("930:1: image_bold_alternativepart returns [ASTNode text = null] : ( ital_markup t= link_boldital_description ital_markup | onestar (i= image_alternativetext onestar )+ );", 139, 0, input);
14678    
14679                    throw nvae;
14680                }
14681                switch (alt139) {
14682                    case 1 :
14683                        // Creole10.g:937:4: ital_markup t= link_boldital_description ital_markup
14684                        {
14685                        pushFollow(FOLLOW_ital_markup_in_image_bold_alternativepart4334);
14686                        ital_markup();
14687                        _fsp--;
14688                        if (failed) return text;
14689                        pushFollow(FOLLOW_link_boldital_description_in_image_bold_alternativepart4341);
14690                        t=link_boldital_description();
14691                        _fsp--;
14692                        if (failed) return text;
14693                        if ( backtracking==0 ) {
14694                          text = new ItalicTextNode(t); 
14695                        }
14696                        pushFollow(FOLLOW_ital_markup_in_image_bold_alternativepart4346);
14697                        ital_markup();
14698                        _fsp--;
14699                        if (failed) return text;
14700    
14701                        }
14702                        break;
14703                    case 2 :
14704                        // Creole10.g:938:4: onestar (i= image_alternativetext onestar )+
14705                        {
14706                        pushFollow(FOLLOW_onestar_in_image_bold_alternativepart4351);
14707                        onestar();
14708                        _fsp--;
14709                        if (failed) return text;
14710                        // Creole10.g:938:13: (i= image_alternativetext onestar )+
14711                        int cnt138=0;
14712                        loop138:
14713                        do {
14714                            int alt138=2;
14715                            int LA138_0 = input.LA(1);
14716    
14717                            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<=81)) ) {
14718                                alt138=1;
14719                            }
14720                            else if ( (LA138_0==FORCED_LINEBREAK) ) {
14721                                alt138=1;
14722                            }
14723    
14724    
14725                            switch (alt138) {
14726                            case 1 :
14727                                // Creole10.g:938:15: i= image_alternativetext onestar
14728                                {
14729                                pushFollow(FOLLOW_image_alternativetext_in_image_bold_alternativepart4360);
14730                                i=image_alternativetext();
14731                                _fsp--;
14732                                if (failed) return text;
14733                                pushFollow(FOLLOW_onestar_in_image_bold_alternativepart4363);
14734                                onestar();
14735                                _fsp--;
14736                                if (failed) return text;
14737                                if ( backtracking==0 ) {
14738    
14739                                                                    for (ASTNode item:i.getASTNodes()) {
14740                                                                        ((image_ital_alternativepart_scope)image_ital_alternativepart_stack.peek()).elements.add(item);
14741                                                                    }
14742                                                                    
14743                                }
14744    
14745                                }
14746                                break;
14747    
14748                            default :
14749                                if ( cnt138 >= 1 ) break loop138;
14750                                if (backtracking>0) {failed=true; return text;}
14751                                    EarlyExitException eee =
14752                                        new EarlyExitException(138, input);
14753                                    throw eee;
14754                            }
14755                            cnt138++;
14756                        } while (true);
14757    
14758                        if ( backtracking==0 ) {
14759                          text = new UnformattedTextNode(((image_bold_alternativepart_scope)image_bold_alternativepart_stack.peek()).elements);
14760                        }
14761    
14762                        }
14763                        break;
14764    
14765                }
14766            }
14767            catch (RecognitionException re) {
14768                reportError(re);
14769                recover(input,re);
14770            }
14771            finally {
14772                image_bold_alternativepart_stack.pop();
14773            }
14774            return text;
14775        }
14776        // $ANTLR end image_bold_alternativepart
14777    
14778        protected static class image_ital_alternativepart_scope {
14779            CollectionNode elements;
14780        }
14781        protected Stack image_ital_alternativepart_stack = new Stack();
14782    
14783    
14784        // $ANTLR start image_ital_alternativepart
14785        // Creole10.g:945:1: image_ital_alternativepart returns [ASTNode text = null] : ( bold_markup t= link_boldital_description bold_markup | onestar (i= image_alternativetext onestar )+ );
14786        public final ASTNode image_ital_alternativepart() throws RecognitionException {
14787            image_ital_alternativepart_stack.push(new image_ital_alternativepart_scope());
14788            ASTNode text =  null;
14789    
14790            CollectionNode t = null;
14791    
14792            CollectionNode i = null;
14793    
14794    
14795    
14796               ((image_ital_alternativepart_scope)image_ital_alternativepart_stack.peek()).elements = new CollectionNode();
14797    
14798            try {
14799                // Creole10.g:952:2: ( bold_markup t= link_boldital_description bold_markup | onestar (i= image_alternativetext onestar )+ )
14800                int alt141=2;
14801                int LA141_0 = input.LA(1);
14802    
14803                if ( (LA141_0==STAR) ) {
14804                    int LA141_1 = input.LA(2);
14805    
14806                    if ( (LA141_1==STAR) ) {
14807                        alt141=1;
14808                    }
14809                    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<=81)) ) {
14810                        alt141=2;
14811                    }
14812                    else {
14813                        if (backtracking>0) {failed=true; return text;}
14814                        NoViableAltException nvae =
14815                            new NoViableAltException("945:1: image_ital_alternativepart returns [ASTNode text = null] : ( bold_markup t= link_boldital_description bold_markup | onestar (i= image_alternativetext onestar )+ );", 141, 1, input);
14816    
14817                        throw nvae;
14818                    }
14819                }
14820                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<=81)) ) {
14821                    alt141=2;
14822                }
14823                else {
14824                    if (backtracking>0) {failed=true; return text;}
14825                    NoViableAltException nvae =
14826                        new NoViableAltException("945:1: image_ital_alternativepart returns [ASTNode text = null] : ( bold_markup t= link_boldital_description bold_markup | onestar (i= image_alternativetext onestar )+ );", 141, 0, input);
14827    
14828                    throw nvae;
14829                }
14830                switch (alt141) {
14831                    case 1 :
14832                        // Creole10.g:952:4: bold_markup t= link_boldital_description bold_markup
14833                        {
14834                        pushFollow(FOLLOW_bold_markup_in_image_ital_alternativepart4391);
14835                        bold_markup();
14836                        _fsp--;
14837                        if (failed) return text;
14838                        pushFollow(FOLLOW_link_boldital_description_in_image_ital_alternativepart4398);
14839                        t=link_boldital_description();
14840                        _fsp--;
14841                        if (failed) return text;
14842                        if ( backtracking==0 ) {
14843                          text = new BoldTextNode(t); 
14844                        }
14845                        pushFollow(FOLLOW_bold_markup_in_image_ital_alternativepart4403);
14846                        bold_markup();
14847                        _fsp--;
14848                        if (failed) return text;
14849    
14850                        }
14851                        break;
14852                    case 2 :
14853                        // Creole10.g:953:4: onestar (i= image_alternativetext onestar )+
14854                        {
14855                        pushFollow(FOLLOW_onestar_in_image_ital_alternativepart4408);
14856                        onestar();
14857                        _fsp--;
14858                        if (failed) return text;
14859                        // Creole10.g:953:13: (i= image_alternativetext onestar )+
14860                        int cnt140=0;
14861                        loop140:
14862                        do {
14863                            int alt140=2;
14864                            int LA140_0 = input.LA(1);
14865    
14866                            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<=81)) ) {
14867                                alt140=1;
14868                            }
14869                            else if ( (LA140_0==FORCED_LINEBREAK) ) {
14870                                alt140=1;
14871                            }
14872    
14873    
14874                            switch (alt140) {
14875                            case 1 :
14876                                // Creole10.g:953:14: i= image_alternativetext onestar
14877                                {
14878                                pushFollow(FOLLOW_image_alternativetext_in_image_ital_alternativepart4417);
14879                                i=image_alternativetext();
14880                                _fsp--;
14881                                if (failed) return text;
14882                                pushFollow(FOLLOW_onestar_in_image_ital_alternativepart4420);
14883                                onestar();
14884                                _fsp--;
14885                                if (failed) return text;
14886                                if ( backtracking==0 ) {
14887    
14888                                                                    for (ASTNode item:i.getASTNodes()) {
14889                                                                        ((image_ital_alternativepart_scope)image_ital_alternativepart_stack.peek()).elements.add(item);
14890                                                                    }
14891                                                                    
14892                                }
14893    
14894                                }
14895                                break;
14896    
14897                            default :
14898                                if ( cnt140 >= 1 ) break loop140;
14899                                if (backtracking>0) {failed=true; return text;}
14900                                    EarlyExitException eee =
14901                                        new EarlyExitException(140, input);
14902                                    throw eee;
14903                            }
14904                            cnt140++;
14905                        } while (true);
14906    
14907                        if ( backtracking==0 ) {
14908                          text = new UnformattedTextNode(((image_ital_alternativepart_scope)image_ital_alternativepart_stack.peek()).elements);
14909                        }
14910    
14911                        }
14912                        break;
14913    
14914                }
14915            }
14916            catch (RecognitionException re) {
14917                reportError(re);
14918                recover(input,re);
14919            }
14920            finally {
14921                image_ital_alternativepart_stack.pop();
14922            }
14923            return text;
14924        }
14925        // $ANTLR end image_ital_alternativepart
14926    
14927    
14928        // $ANTLR start image_boldital_alternative
14929        // Creole10.g:959:1: image_boldital_alternative returns [CollectionNode text = new CollectionNode()] : onestar (i= image_alternativetext onestar )+ ;
14930        public final CollectionNode image_boldital_alternative() throws RecognitionException {
14931            CollectionNode text =  new CollectionNode();
14932    
14933            CollectionNode i = null;
14934    
14935    
14936            try {
14937                // Creole10.g:960:2: ( onestar (i= image_alternativetext onestar )+ )
14938                // Creole10.g:960:4: onestar (i= image_alternativetext onestar )+
14939                {
14940                pushFollow(FOLLOW_onestar_in_image_boldital_alternative4441);
14941                onestar();
14942                _fsp--;
14943                if (failed) return text;
14944                // Creole10.g:960:13: (i= image_alternativetext onestar )+
14945                int cnt142=0;
14946                loop142:
14947                do {
14948                    int alt142=2;
14949                    int LA142_0 = input.LA(1);
14950    
14951                    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<=81)) ) {
14952                        alt142=1;
14953                    }
14954    
14955    
14956                    switch (alt142) {
14957                    case 1 :
14958                        // Creole10.g:960:15: i= image_alternativetext onestar
14959                        {
14960                        pushFollow(FOLLOW_image_alternativetext_in_image_boldital_alternative4450);
14961                        i=image_alternativetext();
14962                        _fsp--;
14963                        if (failed) return text;
14964                        pushFollow(FOLLOW_onestar_in_image_boldital_alternative4453);
14965                        onestar();
14966                        _fsp--;
14967                        if (failed) return text;
14968                        if ( backtracking==0 ) {
14969    
14970                                                            for (ASTNode item:i.getASTNodes()) {
14971                                                                text.add(item);
14972                                                            }
14973                                                            
14974                        }
14975    
14976                        }
14977                        break;
14978    
14979                    default :
14980                        if ( cnt142 >= 1 ) break loop142;
14981                        if (backtracking>0) {failed=true; return text;}
14982                            EarlyExitException eee =
14983                                new EarlyExitException(142, input);
14984                            throw eee;
14985                    }
14986                    cnt142++;
14987                } while (true);
14988    
14989    
14990                }
14991    
14992            }
14993            catch (RecognitionException re) {
14994                reportError(re);
14995                recover(input,re);
14996            }
14997            finally {
14998            }
14999            return text;
15000        }
15001        // $ANTLR end image_boldital_alternative
15002    
15003    
15004        // $ANTLR start image_alternativetext
15005        // Creole10.g:966:1: image_alternativetext returns [CollectionNode items = new CollectionNode()] : (contents= image_alternative_simple_text | ( forced_linebreak )+ );
15006        public final CollectionNode image_alternativetext() throws RecognitionException {
15007            CollectionNode items =  new CollectionNode();
15008    
15009            StringBundler contents = null;
15010    
15011    
15012            try {
15013                // Creole10.g:967:2: (contents= image_alternative_simple_text | ( forced_linebreak )+ )
15014                int alt144=2;
15015                int LA144_0 = input.LA(1);
15016    
15017                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<=81)) ) {
15018                    alt144=1;
15019                }
15020                else if ( (LA144_0==FORCED_LINEBREAK) ) {
15021                    alt144=2;
15022                }
15023                else {
15024                    if (backtracking>0) {failed=true; return items;}
15025                    NoViableAltException nvae =
15026                        new NoViableAltException("966:1: image_alternativetext returns [CollectionNode items = new CollectionNode()] : (contents= image_alternative_simple_text | ( forced_linebreak )+ );", 144, 0, input);
15027    
15028                    throw nvae;
15029                }
15030                switch (alt144) {
15031                    case 1 :
15032                        // Creole10.g:967:4: contents= image_alternative_simple_text
15033                        {
15034                        pushFollow(FOLLOW_image_alternative_simple_text_in_image_alternativetext4475);
15035                        contents=image_alternative_simple_text();
15036                        _fsp--;
15037                        if (failed) return items;
15038                        if ( backtracking==0 ) {
15039                          items.add(new UnformattedTextNode(contents.toString())); 
15040                        }
15041    
15042                        }
15043                        break;
15044                    case 2 :
15045                        // Creole10.g:968:4: ( forced_linebreak )+
15046                        {
15047                        // Creole10.g:968:4: ( forced_linebreak )+
15048                        int cnt143=0;
15049                        loop143:
15050                        do {
15051                            int alt143=2;
15052                            int LA143_0 = input.LA(1);
15053    
15054                            if ( (LA143_0==FORCED_LINEBREAK) ) {
15055                                alt143=1;
15056                            }
15057    
15058    
15059                            switch (alt143) {
15060                            case 1 :
15061                                // Creole10.g:968:5: forced_linebreak
15062                                {
15063                                pushFollow(FOLLOW_forced_linebreak_in_image_alternativetext4483);
15064                                forced_linebreak();
15065                                _fsp--;
15066                                if (failed) return items;
15067                                if ( backtracking==0 ) {
15068                                  items.add(new ForcedEndOfLineNode());
15069                                }
15070    
15071                                }
15072                                break;
15073    
15074                            default :
15075                                if ( cnt143 >= 1 ) break loop143;
15076                                if (backtracking>0) {failed=true; return items;}
15077                                    EarlyExitException eee =
15078                                        new EarlyExitException(143, input);
15079                                    throw eee;
15080                            }
15081                            cnt143++;
15082                        } while (true);
15083    
15084    
15085                        }
15086                        break;
15087    
15088                }
15089            }
15090            catch (RecognitionException re) {
15091                reportError(re);
15092                recover(input,re);
15093            }
15094            finally {
15095            }
15096            return items;
15097        }
15098        // $ANTLR end image_alternativetext
15099    
15100    
15101        // $ANTLR start image_alternative_simple_text
15102        // Creole10.g:971: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 ) )+ ;
15103        public final StringBundler image_alternative_simple_text() throws RecognitionException {
15104            StringBundler text =  new StringBundler();
15105    
15106            Token c=null;
15107    
15108            try {
15109                // Creole10.g:972:2: ( (c=~ ( IMAGE_CLOSE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | NEWLINE | EOF ) )+ )
15110                // Creole10.g:973:2: (c=~ ( IMAGE_CLOSE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | NEWLINE | EOF ) )+
15111                {
15112                // Creole10.g:973:2: (c=~ ( IMAGE_CLOSE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | NEWLINE | EOF ) )+
15113                int cnt145=0;
15114                loop145:
15115                do {
15116                    int alt145=2;
15117                    int LA145_0 = input.LA(1);
15118    
15119                    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<=81)) ) {
15120                        alt145=1;
15121                    }
15122    
15123    
15124                    switch (alt145) {
15125                    case 1 :
15126                        // Creole10.g:973:4: c=~ ( IMAGE_CLOSE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | NEWLINE | EOF )
15127                        {
15128                        c=(Token)input.LT(1);
15129                        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)<=81) ) {
15130                            input.consume();
15131                            errorRecovery=false;failed=false;
15132                        }
15133                        else {
15134                            if (backtracking>0) {failed=true; return text;}
15135                            MismatchedSetException mse =
15136                                new MismatchedSetException(null,input);
15137                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_image_alternative_simple_text4509);    throw mse;
15138                        }
15139    
15140                        if ( backtracking==0 ) {
15141                          text.append(c.getText()); 
15142                        }
15143    
15144                        }
15145                        break;
15146    
15147                    default :
15148                        if ( cnt145 >= 1 ) break loop145;
15149                        if (backtracking>0) {failed=true; return text;}
15150                            EarlyExitException eee =
15151                                new EarlyExitException(145, input);
15152                            throw eee;
15153                    }
15154                    cnt145++;
15155                } while (true);
15156    
15157    
15158                }
15159    
15160            }
15161            catch (RecognitionException re) {
15162                reportError(re);
15163                recover(input,re);
15164            }
15165            finally {
15166            }
15167            return text;
15168        }
15169        // $ANTLR end image_alternative_simple_text
15170    
15171    
15172        // $ANTLR start extension
15173        // Creole10.g:987:1: extension returns [ASTNode node = null] : extension_markup extension_handler blanks extension_statement extension_markup ;
15174        public final ASTNode extension() throws RecognitionException {
15175            ASTNode node =  null;
15176    
15177            try {
15178                // Creole10.g:988:2: ( extension_markup extension_handler blanks extension_statement extension_markup )
15179                // Creole10.g:988:4: extension_markup extension_handler blanks extension_statement extension_markup
15180                {
15181                pushFollow(FOLLOW_extension_markup_in_extension4601);
15182                extension_markup();
15183                _fsp--;
15184                if (failed) return node;
15185                pushFollow(FOLLOW_extension_handler_in_extension4604);
15186                extension_handler();
15187                _fsp--;
15188                if (failed) return node;
15189                pushFollow(FOLLOW_blanks_in_extension4607);
15190                blanks();
15191                _fsp--;
15192                if (failed) return node;
15193                pushFollow(FOLLOW_extension_statement_in_extension4610);
15194                extension_statement();
15195                _fsp--;
15196                if (failed) return node;
15197                pushFollow(FOLLOW_extension_markup_in_extension4614);
15198                extension_markup();
15199                _fsp--;
15200                if (failed) return node;
15201    
15202                }
15203    
15204            }
15205            catch (RecognitionException re) {
15206                reportError(re);
15207                recover(input,re);
15208            }
15209            finally {
15210            }
15211            return node;
15212        }
15213        // $ANTLR end extension
15214    
15215    
15216        // $ANTLR start extension_handler
15217        // Creole10.g:992:1: extension_handler : (~ ( EXTENSION | BLANKS | ESCAPE | NEWLINE | EOF ) | escaped )+ ;
15218        public final void extension_handler() throws RecognitionException {
15219            try {
15220                // Creole10.g:993:2: ( (~ ( EXTENSION | BLANKS | ESCAPE | NEWLINE | EOF ) | escaped )+ )
15221                // Creole10.g:993:4: (~ ( EXTENSION | BLANKS | ESCAPE | NEWLINE | EOF ) | escaped )+
15222                {
15223                // Creole10.g:993:4: (~ ( EXTENSION | BLANKS | ESCAPE | NEWLINE | EOF ) | escaped )+
15224                int cnt146=0;
15225                loop146:
15226                do {
15227                    int alt146=3;
15228                    int LA146_0 = input.LA(1);
15229    
15230                    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>=TABLE_OF_CONTENTS_OPEN && LA146_0<=81)) ) {
15231                        alt146=1;
15232                    }
15233                    else if ( (LA146_0==ESCAPE) ) {
15234                        alt146=2;
15235                    }
15236    
15237    
15238                    switch (alt146) {
15239                    case 1 :
15240                        // Creole10.g:993:5: ~ ( EXTENSION | BLANKS | ESCAPE | NEWLINE | EOF )
15241                        {
15242                        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)>=TABLE_OF_CONTENTS_OPEN && input.LA(1)<=81) ) {
15243                            input.consume();
15244                            errorRecovery=false;failed=false;
15245                        }
15246                        else {
15247                            if (backtracking>0) {failed=true; return ;}
15248                            MismatchedSetException mse =
15249                                new MismatchedSetException(null,input);
15250                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_extension_handler4626);    throw mse;
15251                        }
15252    
15253    
15254                        }
15255                        break;
15256                    case 2 :
15257                        // Creole10.g:993:64: escaped
15258                        {
15259                        pushFollow(FOLLOW_escaped_in_extension_handler4659);
15260                        escaped();
15261                        _fsp--;
15262                        if (failed) return ;
15263    
15264                        }
15265                        break;
15266    
15267                    default :
15268                        if ( cnt146 >= 1 ) break loop146;
15269                        if (backtracking>0) {failed=true; return ;}
15270                            EarlyExitException eee =
15271                                new EarlyExitException(146, input);
15272                            throw eee;
15273                    }
15274                    cnt146++;
15275                } while (true);
15276    
15277    
15278                }
15279    
15280            }
15281            catch (RecognitionException re) {
15282                reportError(re);
15283                recover(input,re);
15284            }
15285            finally {
15286            }
15287            return ;
15288        }
15289        // $ANTLR end extension_handler
15290    
15291    
15292        // $ANTLR start extension_statement
15293        // Creole10.g:996:1: extension_statement : (~ ( EXTENSION | ESCAPE | EOF ) | escaped )* ;
15294        public final void extension_statement() throws RecognitionException {
15295            try {
15296                // Creole10.g:997:2: ( (~ ( EXTENSION | ESCAPE | EOF ) | escaped )* )
15297                // Creole10.g:997:4: (~ ( EXTENSION | ESCAPE | EOF ) | escaped )*
15298                {
15299                // Creole10.g:997:4: (~ ( EXTENSION | ESCAPE | EOF ) | escaped )*
15300                loop147:
15301                do {
15302                    int alt147=3;
15303                    int LA147_0 = input.LA(1);
15304    
15305                    if ( ((LA147_0>=FORCED_END_OF_LINE && LA147_0<=NOWIKI_OPEN)||LA147_0==FORCED_LINEBREAK||(LA147_0>=NOWIKI_BLOCK_CLOSE && LA147_0<=81)) ) {
15306                        alt147=1;
15307                    }
15308                    else if ( (LA147_0==ESCAPE) ) {
15309                        alt147=2;
15310                    }
15311    
15312    
15313                    switch (alt147) {
15314                    case 1 :
15315                        // Creole10.g:997:5: ~ ( EXTENSION | ESCAPE | EOF )
15316                        {
15317                        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)<=81) ) {
15318                            input.consume();
15319                            errorRecovery=false;failed=false;
15320                        }
15321                        else {
15322                            if (backtracking>0) {failed=true; return ;}
15323                            MismatchedSetException mse =
15324                                new MismatchedSetException(null,input);
15325                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_extension_statement4674);    throw mse;
15326                        }
15327    
15328    
15329                        }
15330                        break;
15331                    case 2 :
15332                        // Creole10.g:997:41: escaped
15333                        {
15334                        pushFollow(FOLLOW_escaped_in_extension_statement4695);
15335                        escaped();
15336                        _fsp--;
15337                        if (failed) return ;
15338    
15339                        }
15340                        break;
15341    
15342                    default :
15343                        break loop147;
15344                    }
15345                } while (true);
15346    
15347    
15348                }
15349    
15350            }
15351            catch (RecognitionException re) {
15352                reportError(re);
15353                recover(input,re);
15354            }
15355            finally {
15356            }
15357            return ;
15358        }
15359        // $ANTLR end extension_statement
15360    
15361    
15362        // $ANTLR start table_of_contents
15363        // Creole10.g:1003:1: table_of_contents returns [TableOfContentsNode tableOfContents = new TableOfContentsNode()] : ( TABLE_OF_CONTENTS_OPEN 'TableOfContents' TABLE_OF_CONTENTS_CLOSE | TABLE_OF_CONTENTS_OPEN 'TableOfContents title=' '\\\"' t= table_of_contents_title_text '\\\"' TABLE_OF_CONTENTS_CLOSE ) ;
15364        public final TableOfContentsNode table_of_contents() throws RecognitionException {
15365            TableOfContentsNode tableOfContents =  new TableOfContentsNode();
15366    
15367            StringBundler t = null;
15368    
15369    
15370            try {
15371                // Creole10.g:1004:2: ( ( TABLE_OF_CONTENTS_OPEN 'TableOfContents' TABLE_OF_CONTENTS_CLOSE | TABLE_OF_CONTENTS_OPEN 'TableOfContents title=' '\\\"' t= table_of_contents_title_text '\\\"' TABLE_OF_CONTENTS_CLOSE ) )
15372                // Creole10.g:1005:3: ( TABLE_OF_CONTENTS_OPEN 'TableOfContents' TABLE_OF_CONTENTS_CLOSE | TABLE_OF_CONTENTS_OPEN 'TableOfContents title=' '\\\"' t= table_of_contents_title_text '\\\"' TABLE_OF_CONTENTS_CLOSE )
15373                {
15374                // Creole10.g:1005:3: ( TABLE_OF_CONTENTS_OPEN 'TableOfContents' TABLE_OF_CONTENTS_CLOSE | TABLE_OF_CONTENTS_OPEN 'TableOfContents title=' '\\\"' t= table_of_contents_title_text '\\\"' TABLE_OF_CONTENTS_CLOSE )
15375                int alt148=2;
15376                int LA148_0 = input.LA(1);
15377    
15378                if ( (LA148_0==TABLE_OF_CONTENTS_OPEN) ) {
15379                    int LA148_1 = input.LA(2);
15380    
15381                    if ( (LA148_1==79) ) {
15382                        alt148=1;
15383                    }
15384                    else if ( (LA148_1==80) ) {
15385                        alt148=2;
15386                    }
15387                    else {
15388                        if (backtracking>0) {failed=true; return tableOfContents;}
15389                        NoViableAltException nvae =
15390                            new NoViableAltException("1005:3: ( TABLE_OF_CONTENTS_OPEN 'TableOfContents' TABLE_OF_CONTENTS_CLOSE | TABLE_OF_CONTENTS_OPEN 'TableOfContents title=' '\\\"' t= table_of_contents_title_text '\\\"' TABLE_OF_CONTENTS_CLOSE )", 148, 1, input);
15391    
15392                        throw nvae;
15393                    }
15394                }
15395                else {
15396                    if (backtracking>0) {failed=true; return tableOfContents;}
15397                    NoViableAltException nvae =
15398                        new NoViableAltException("1005:3: ( TABLE_OF_CONTENTS_OPEN 'TableOfContents' TABLE_OF_CONTENTS_CLOSE | TABLE_OF_CONTENTS_OPEN 'TableOfContents title=' '\\\"' t= table_of_contents_title_text '\\\"' TABLE_OF_CONTENTS_CLOSE )", 148, 0, input);
15399    
15400                    throw nvae;
15401                }
15402                switch (alt148) {
15403                    case 1 :
15404                        // Creole10.g:1006:4: TABLE_OF_CONTENTS_OPEN 'TableOfContents' TABLE_OF_CONTENTS_CLOSE
15405                        {
15406                        match(input,TABLE_OF_CONTENTS_OPEN,FOLLOW_TABLE_OF_CONTENTS_OPEN_in_table_of_contents4723); if (failed) return tableOfContents;
15407                        match(input,79,FOLLOW_79_in_table_of_contents4725); if (failed) return tableOfContents;
15408                        match(input,TABLE_OF_CONTENTS_CLOSE,FOLLOW_TABLE_OF_CONTENTS_CLOSE_in_table_of_contents4727); if (failed) return tableOfContents;
15409    
15410                        }
15411                        break;
15412                    case 2 :
15413                        // Creole10.g:1008:4: TABLE_OF_CONTENTS_OPEN 'TableOfContents title=' '\\\"' t= table_of_contents_title_text '\\\"' TABLE_OF_CONTENTS_CLOSE
15414                        {
15415                        match(input,TABLE_OF_CONTENTS_OPEN,FOLLOW_TABLE_OF_CONTENTS_OPEN_in_table_of_contents4737); if (failed) return tableOfContents;
15416                        match(input,80,FOLLOW_80_in_table_of_contents4739); if (failed) return tableOfContents;
15417                        match(input,81,FOLLOW_81_in_table_of_contents4744); if (failed) return tableOfContents;
15418                        pushFollow(FOLLOW_table_of_contents_title_text_in_table_of_contents4753);
15419                        t=table_of_contents_title_text();
15420                        _fsp--;
15421                        if (failed) return tableOfContents;
15422                        if ( backtracking==0 ) {
15423                           tableOfContents.setTitle(t.toString()); 
15424                        }
15425                        match(input,81,FOLLOW_81_in_table_of_contents4760); if (failed) return tableOfContents;
15426                        match(input,TABLE_OF_CONTENTS_CLOSE,FOLLOW_TABLE_OF_CONTENTS_CLOSE_in_table_of_contents4765); if (failed) return tableOfContents;
15427    
15428                        }
15429                        break;
15430    
15431                }
15432    
15433    
15434                }
15435    
15436            }
15437            catch (RecognitionException re) {
15438                reportError(re);
15439                recover(input,re);
15440            }
15441            finally {
15442            }
15443            return tableOfContents;
15444        }
15445        // $ANTLR end table_of_contents
15446    
15447    
15448        // $ANTLR start table_of_contents_title_text
15449        // Creole10.g:1016:1: table_of_contents_title_text returns [StringBundler text = new StringBundler()] : (c=~ ( LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EQUAL | ESCAPE | NEWLINE | EOF | TABLE_OF_CONTENTS_CLOSE ) )+ ;
15450        public final StringBundler table_of_contents_title_text() throws RecognitionException {
15451            StringBundler text =  new StringBundler();
15452    
15453            Token c=null;
15454    
15455            try {
15456                // Creole10.g:1017:2: ( (c=~ ( LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EQUAL | ESCAPE | NEWLINE | EOF | TABLE_OF_CONTENTS_CLOSE ) )+ )
15457                // Creole10.g:1017:4: (c=~ ( LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EQUAL | ESCAPE | NEWLINE | EOF | TABLE_OF_CONTENTS_CLOSE ) )+
15458                {
15459                // Creole10.g:1017:4: (c=~ ( LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EQUAL | ESCAPE | NEWLINE | EOF | TABLE_OF_CONTENTS_CLOSE ) )+
15460                int cnt149=0;
15461                loop149:
15462                do {
15463                    int alt149=2;
15464                    int LA149_0 = input.LA(1);
15465    
15466                    if ( (LA149_0==81) ) {
15467                        int LA149_1 = input.LA(2);
15468    
15469                        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<=TABLE_OF_CONTENTS_OPEN)||(LA149_1>=DASH && LA149_1<=81)) ) {
15470                            alt149=1;
15471                        }
15472    
15473    
15474                    }
15475                    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<=TABLE_OF_CONTENTS_OPEN)||(LA149_0>=DASH && LA149_0<=80)) ) {
15476                        alt149=1;
15477                    }
15478    
15479    
15480                    switch (alt149) {
15481                    case 1 :
15482                        // Creole10.g:1017:6: c=~ ( LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EQUAL | ESCAPE | NEWLINE | EOF | TABLE_OF_CONTENTS_CLOSE )
15483                        {
15484                        c=(Token)input.LT(1);
15485                        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)<=TABLE_OF_CONTENTS_OPEN)||(input.LA(1)>=DASH && input.LA(1)<=81) ) {
15486                            input.consume();
15487                            errorRecovery=false;failed=false;
15488                        }
15489                        else {
15490                            if (backtracking>0) {failed=true; return text;}
15491                            MismatchedSetException mse =
15492                                new MismatchedSetException(null,input);
15493                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_table_of_contents_title_text4790);    throw mse;
15494                        }
15495    
15496                        if ( backtracking==0 ) {
15497                          text.append(c.getText());
15498                        }
15499    
15500                        }
15501                        break;
15502    
15503                    default :
15504                        if ( cnt149 >= 1 ) break loop149;
15505                        if (backtracking>0) {failed=true; return text;}
15506                            EarlyExitException eee =
15507                                new EarlyExitException(149, input);
15508                            throw eee;
15509                    }
15510                    cnt149++;
15511                } while (true);
15512    
15513    
15514                }
15515    
15516            }
15517            catch (RecognitionException re) {
15518                reportError(re);
15519                recover(input,re);
15520            }
15521            finally {
15522            }
15523            return text;
15524        }
15525        // $ANTLR end table_of_contents_title_text
15526    
15527    
15528        // $ANTLR start onestar
15529        // Creole10.g:1020:1: onestar : ( ({...}? ( STAR )? ) | );
15530        public final void onestar() throws RecognitionException {
15531            try {
15532                // Creole10.g:1021:2: ( ({...}? ( STAR )? ) | )
15533                int alt151=2;
15534                switch ( input.LA(1) ) {
15535                case STAR:
15536                    {
15537                    int LA151_1 = input.LA(2);
15538    
15539                    if ( ( input.LA(2) != STAR ) ) {
15540                        alt151=1;
15541                    }
15542                    else if ( (true) ) {
15543                        alt151=2;
15544                    }
15545                    else {
15546                        if (backtracking>0) {failed=true; return ;}
15547                        NoViableAltException nvae =
15548                            new NoViableAltException("1020:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 1, input);
15549    
15550                        throw nvae;
15551                    }
15552                    }
15553                    break;
15554                case BLANKS:
15555                    {
15556                    int LA151_2 = input.LA(2);
15557    
15558                    if ( ( input.LA(2) != STAR ) ) {
15559                        alt151=1;
15560                    }
15561                    else if ( (true) ) {
15562                        alt151=2;
15563                    }
15564                    else {
15565                        if (backtracking>0) {failed=true; return ;}
15566                        NoViableAltException nvae =
15567                            new NoViableAltException("1020:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 2, input);
15568    
15569                        throw nvae;
15570                    }
15571                    }
15572                    break;
15573                case FORCED_LINEBREAK:
15574                    {
15575                    int LA151_3 = input.LA(2);
15576    
15577                    if ( ( input.LA(2) != STAR ) ) {
15578                        alt151=1;
15579                    }
15580                    else if ( (true) ) {
15581                        alt151=2;
15582                    }
15583                    else {
15584                        if (backtracking>0) {failed=true; return ;}
15585                        NoViableAltException nvae =
15586                            new NoViableAltException("1020:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 3, input);
15587    
15588                        throw nvae;
15589                    }
15590                    }
15591                    break;
15592                case ESCAPE:
15593                    {
15594                    int LA151_4 = input.LA(2);
15595    
15596                    if ( ( input.LA(2) != STAR ) ) {
15597                        alt151=1;
15598                    }
15599                    else if ( (true) ) {
15600                        alt151=2;
15601                    }
15602                    else {
15603                        if (backtracking>0) {failed=true; return ;}
15604                        NoViableAltException nvae =
15605                            new NoViableAltException("1020:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 4, input);
15606    
15607                        throw nvae;
15608                    }
15609                    }
15610                    break;
15611                case LINK_OPEN:
15612                    {
15613                    int LA151_5 = input.LA(2);
15614    
15615                    if ( ( input.LA(2) != STAR ) ) {
15616                        alt151=1;
15617                    }
15618                    else if ( (true) ) {
15619                        alt151=2;
15620                    }
15621                    else {
15622                        if (backtracking>0) {failed=true; return ;}
15623                        NoViableAltException nvae =
15624                            new NoViableAltException("1020:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 5, input);
15625    
15626                        throw nvae;
15627                    }
15628                    }
15629                    break;
15630                case IMAGE_OPEN:
15631                    {
15632                    int LA151_6 = input.LA(2);
15633    
15634                    if ( ( input.LA(2) != STAR ) ) {
15635                        alt151=1;
15636                    }
15637                    else if ( (true) ) {
15638                        alt151=2;
15639                    }
15640                    else {
15641                        if (backtracking>0) {failed=true; return ;}
15642                        NoViableAltException nvae =
15643                            new NoViableAltException("1020:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 6, input);
15644    
15645                        throw nvae;
15646                    }
15647                    }
15648                    break;
15649                case EXTENSION:
15650                    {
15651                    int LA151_7 = input.LA(2);
15652    
15653                    if ( ( input.LA(2) != STAR ) ) {
15654                        alt151=1;
15655                    }
15656                    else if ( (true) ) {
15657                        alt151=2;
15658                    }
15659                    else {
15660                        if (backtracking>0) {failed=true; return ;}
15661                        NoViableAltException nvae =
15662                            new NoViableAltException("1020:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 7, input);
15663    
15664                        throw nvae;
15665                    }
15666                    }
15667                    break;
15668                case NOWIKI_OPEN:
15669                    {
15670                    int LA151_8 = input.LA(2);
15671    
15672                    if ( ( input.LA(2) != STAR ) ) {
15673                        alt151=1;
15674                    }
15675                    else if ( (true) ) {
15676                        alt151=2;
15677                    }
15678                    else {
15679                        if (backtracking>0) {failed=true; return ;}
15680                        NoViableAltException nvae =
15681                            new NoViableAltException("1020:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 8, input);
15682    
15683                        throw nvae;
15684                    }
15685                    }
15686                    break;
15687                case NEWLINE:
15688                    {
15689                    int LA151_9 = input.LA(2);
15690    
15691                    if ( (( input.LA(2) != STAR ||( input.LA(2) != STAR && input.LA(2) != DASH && input.LA(2) != POUND &&
15692                                    input.LA(2) != EQUAL && input.LA(2) != NEWLINE ))) ) {
15693                        alt151=1;
15694                    }
15695                    else if ( (true) ) {
15696                        alt151=2;
15697                    }
15698                    else {
15699                        if (backtracking>0) {failed=true; return ;}
15700                        NoViableAltException nvae =
15701                            new NoViableAltException("1020:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 9, input);
15702    
15703                        throw nvae;
15704                    }
15705                    }
15706                    break;
15707                case EOF:
15708                    {
15709                    int LA151_10 = input.LA(2);
15710    
15711                    if ( (( input.LA(2) != STAR ||( input.LA(2) != STAR && input.LA(2) != DASH && input.LA(2) != POUND &&
15712                                    input.LA(2) != EQUAL && input.LA(2) != NEWLINE ))) ) {
15713                        alt151=1;
15714                    }
15715                    else if ( (true) ) {
15716                        alt151=2;
15717                    }
15718                    else {
15719                        if (backtracking>0) {failed=true; return ;}
15720                        NoViableAltException nvae =
15721                            new NoViableAltException("1020:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 10, input);
15722    
15723                        throw nvae;
15724                    }
15725                    }
15726                    break;
15727                case ITAL:
15728                    {
15729                    int LA151_11 = input.LA(2);
15730    
15731                    if ( ( input.LA(2) != STAR ) ) {
15732                        alt151=1;
15733                    }
15734                    else if ( (true) ) {
15735                        alt151=2;
15736                    }
15737                    else {
15738                        if (backtracking>0) {failed=true; return ;}
15739                        NoViableAltException nvae =
15740                            new NoViableAltException("1020:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 11, input);
15741    
15742                        throw nvae;
15743                    }
15744                    }
15745                    break;
15746                case EQUAL:
15747                    {
15748                    int LA151_12 = input.LA(2);
15749    
15750                    if ( ( input.LA(2) != STAR ) ) {
15751                        alt151=1;
15752                    }
15753                    else if ( (true) ) {
15754                        alt151=2;
15755                    }
15756                    else {
15757                        if (backtracking>0) {failed=true; return ;}
15758                        NoViableAltException nvae =
15759                            new NoViableAltException("1020:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 12, input);
15760    
15761                        throw nvae;
15762                    }
15763                    }
15764                    break;
15765                case FORCED_END_OF_LINE:
15766                case HEADING_SECTION:
15767                case HORIZONTAL_SECTION:
15768                case LIST_ITEM:
15769                case LIST_ITEM_PART:
15770                case NOWIKI_SECTION:
15771                case SCAPE_NODE:
15772                case TEXT_NODE:
15773                case UNORDERED_LIST:
15774                case UNFORMATTED_TEXT:
15775                case WIKI:
15776                case POUND:
15777                case NOWIKI_BLOCK_CLOSE:
15778                case NOWIKI_CLOSE:
15779                case TABLE_OF_CONTENTS_OPEN:
15780                case TABLE_OF_CONTENTS_CLOSE:
15781                case DASH:
15782                case CR:
15783                case LF:
15784                case SPACE:
15785                case TABULATOR:
15786                case BRACE_CLOSE:
15787                case COLON_SLASH:
15788                case SLASH:
15789                case INSIGNIFICANT_CHAR:
15790                case 43:
15791                case 44:
15792                case 45:
15793                case 46:
15794                case 47:
15795                case 48:
15796                case 49:
15797                case 50:
15798                case 51:
15799                case 52:
15800                case 53:
15801                case 54:
15802                case 55:
15803                case 56:
15804                case 57:
15805                case 58:
15806                case 59:
15807                case 60:
15808                case 61:
15809                case 62:
15810                case 63:
15811                case 64:
15812                case 65:
15813                case 66:
15814                case 67:
15815                case 68:
15816                case 69:
15817                case 70:
15818                case 71:
15819                case 72:
15820                case 73:
15821                case 74:
15822                case 75:
15823                case 76:
15824                case 77:
15825                case 78:
15826                case 79:
15827                case 80:
15828                case 81:
15829                    {
15830                    int LA151_13 = input.LA(2);
15831    
15832                    if ( ( input.LA(2) != STAR ) ) {
15833                        alt151=1;
15834                    }
15835                    else if ( (true) ) {
15836                        alt151=2;
15837                    }
15838                    else {
15839                        if (backtracking>0) {failed=true; return ;}
15840                        NoViableAltException nvae =
15841                            new NoViableAltException("1020:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 13, input);
15842    
15843                        throw nvae;
15844                    }
15845                    }
15846                    break;
15847                case PIPE:
15848                    {
15849                    int LA151_14 = input.LA(2);
15850    
15851                    if ( ((( input.LA(2) != STAR && input.LA(2) == EQUAL )|| input.LA(2) != STAR )) ) {
15852                        alt151=1;
15853                    }
15854                    else if ( (true) ) {
15855                        alt151=2;
15856                    }
15857                    else {
15858                        if (backtracking>0) {failed=true; return ;}
15859                        NoViableAltException nvae =
15860                            new NoViableAltException("1020:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 14, input);
15861    
15862                        throw nvae;
15863                    }
15864                    }
15865                    break;
15866                case LINK_CLOSE:
15867                    {
15868                    int LA151_15 = input.LA(2);
15869    
15870                    if ( ( input.LA(2) != STAR ) ) {
15871                        alt151=1;
15872                    }
15873                    else if ( (true) ) {
15874                        alt151=2;
15875                    }
15876                    else {
15877                        if (backtracking>0) {failed=true; return ;}
15878                        NoViableAltException nvae =
15879                            new NoViableAltException("1020:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 15, input);
15880    
15881                        throw nvae;
15882                    }
15883                    }
15884                    break;
15885                case IMAGE_CLOSE:
15886                    {
15887                    int LA151_16 = input.LA(2);
15888    
15889                    if ( ( input.LA(2) != STAR ) ) {
15890                        alt151=1;
15891                    }
15892                    else if ( (true) ) {
15893                        alt151=2;
15894                    }
15895                    else {
15896                        if (backtracking>0) {failed=true; return ;}
15897                        NoViableAltException nvae =
15898                            new NoViableAltException("1020:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 16, input);
15899    
15900                        throw nvae;
15901                    }
15902                    }
15903                    break;
15904                default:
15905                    if (backtracking>0) {failed=true; return ;}
15906                    NoViableAltException nvae =
15907                        new NoViableAltException("1020:1: onestar : ( ({...}? ( STAR )? ) | );", 151, 0, input);
15908    
15909                    throw nvae;
15910                }
15911    
15912                switch (alt151) {
15913                    case 1 :
15914                        // Creole10.g:1021:4: ({...}? ( STAR )? )
15915                        {
15916                        // Creole10.g:1021:4: ({...}? ( STAR )? )
15917                        // Creole10.g:1021:6: {...}? ( STAR )?
15918                        {
15919                        if ( !( input.LA(2) != STAR ) ) {
15920                            if (backtracking>0) {failed=true; return ;}
15921                            throw new FailedPredicateException(input, "onestar", " input.LA(2) != STAR ");
15922                        }
15923                        // Creole10.g:1021:32: ( STAR )?
15924                        int alt150=2;
15925                        int LA150_0 = input.LA(1);
15926    
15927                        if ( (LA150_0==STAR) ) {
15928                            alt150=1;
15929                        }
15930                        switch (alt150) {
15931                            case 1 :
15932                                // Creole10.g:1021:34: STAR
15933                                {
15934                                match(input,STAR,FOLLOW_STAR_in_onestar4845); if (failed) return ;
15935    
15936                                }
15937                                break;
15938    
15939                        }
15940    
15941    
15942                        }
15943    
15944    
15945                        }
15946                        break;
15947                    case 2 :
15948                        // Creole10.g:1023:2: 
15949                        {
15950                        }
15951                        break;
15952    
15953                }
15954            }
15955            catch (RecognitionException re) {
15956                reportError(re);
15957                recover(input,re);
15958            }
15959            finally {
15960            }
15961            return ;
15962        }
15963        // $ANTLR end onestar
15964    
15965    
15966        // $ANTLR start escaped
15967        // Creole10.g:1024:1: escaped returns [ScapedNode scaped = new ScapedNode()] : ESCAPE c= . ;
15968        public final ScapedNode escaped() throws RecognitionException {
15969            ScapedNode scaped =  new ScapedNode();
15970    
15971            Token c=null;
15972    
15973            try {
15974                // Creole10.g:1025:2: ( ESCAPE c= . )
15975                // Creole10.g:1025:4: ESCAPE c= .
15976                {
15977                match(input,ESCAPE,FOLLOW_ESCAPE_in_escaped4866); if (failed) return scaped;
15978                c=(Token)input.LT(1);
15979                matchAny(input); if (failed) return scaped;
15980                if ( backtracking==0 ) {
15981                   scaped.setContent(c.getText()) ; 
15982                }
15983    
15984                }
15985    
15986            }
15987            catch (RecognitionException re) {
15988                reportError(re);
15989                recover(input,re);
15990            }
15991            finally {
15992            }
15993            return scaped;
15994        }
15995        // $ANTLR end escaped
15996    
15997    
15998        // $ANTLR start paragraph_separator
15999        // Creole10.g:1028:1: paragraph_separator : ( ( newline )+ | EOF );
16000        public final void paragraph_separator() throws RecognitionException {
16001            try {
16002                // Creole10.g:1029:2: ( ( newline )+ | EOF )
16003                int alt153=2;
16004                int LA153_0 = input.LA(1);
16005    
16006                if ( (LA153_0==NEWLINE) ) {
16007                    alt153=1;
16008                }
16009                else if ( (LA153_0==EOF) ) {
16010                    alt153=2;
16011                }
16012                else {
16013                    if (backtracking>0) {failed=true; return ;}
16014                    NoViableAltException nvae =
16015                        new NoViableAltException("1028:1: paragraph_separator : ( ( newline )+ | EOF );", 153, 0, input);
16016    
16017                    throw nvae;
16018                }
16019                switch (alt153) {
16020                    case 1 :
16021                        // Creole10.g:1029:4: ( newline )+
16022                        {
16023                        // Creole10.g:1029:4: ( newline )+
16024                        int cnt152=0;
16025                        loop152:
16026                        do {
16027                            int alt152=2;
16028                            int LA152_0 = input.LA(1);
16029    
16030                            if ( (LA152_0==NEWLINE) ) {
16031                                alt152=1;
16032                            }
16033    
16034    
16035                            switch (alt152) {
16036                            case 1 :
16037                                // Creole10.g:1029:6: newline
16038                                {
16039                                pushFollow(FOLLOW_newline_in_paragraph_separator4890);
16040                                newline();
16041                                _fsp--;
16042                                if (failed) return ;
16043    
16044                                }
16045                                break;
16046    
16047                            default :
16048                                if ( cnt152 >= 1 ) break loop152;
16049                                if (backtracking>0) {failed=true; return ;}
16050                                    EarlyExitException eee =
16051                                        new EarlyExitException(152, input);
16052                                    throw eee;
16053                            }
16054                            cnt152++;
16055                        } while (true);
16056    
16057    
16058                        }
16059                        break;
16060                    case 2 :
16061                        // Creole10.g:1030:4: EOF
16062                        {
16063                        match(input,EOF,FOLLOW_EOF_in_paragraph_separator4898); if (failed) return ;
16064    
16065                        }
16066                        break;
16067    
16068                }
16069            }
16070            catch (RecognitionException re) {
16071                reportError(re);
16072                recover(input,re);
16073            }
16074            finally {
16075            }
16076            return ;
16077        }
16078        // $ANTLR end paragraph_separator
16079    
16080    
16081        // $ANTLR start whitespaces
16082        // Creole10.g:1032:1: whitespaces : ( blanks | newline )+ ;
16083        public final void whitespaces() throws RecognitionException {
16084            try {
16085                // Creole10.g:1033:2: ( ( blanks | newline )+ )
16086                // Creole10.g:1033:4: ( blanks | newline )+
16087                {
16088                // Creole10.g:1033:4: ( blanks | newline )+
16089                int cnt154=0;
16090                loop154:
16091                do {
16092                    int alt154=3;
16093                    int LA154_0 = input.LA(1);
16094    
16095                    if ( (LA154_0==BLANKS) ) {
16096                        alt154=1;
16097                    }
16098                    else if ( (LA154_0==NEWLINE) ) {
16099                        alt154=2;
16100                    }
16101    
16102    
16103                    switch (alt154) {
16104                    case 1 :
16105                        // Creole10.g:1033:6: blanks
16106                        {
16107                        pushFollow(FOLLOW_blanks_in_whitespaces4910);
16108                        blanks();
16109                        _fsp--;
16110                        if (failed) return ;
16111    
16112                        }
16113                        break;
16114                    case 2 :
16115                        // Creole10.g:1033:15: newline
16116                        {
16117                        pushFollow(FOLLOW_newline_in_whitespaces4914);
16118                        newline();
16119                        _fsp--;
16120                        if (failed) return ;
16121    
16122                        }
16123                        break;
16124    
16125                    default :
16126                        if ( cnt154 >= 1 ) break loop154;
16127                        if (backtracking>0) {failed=true; return ;}
16128                            EarlyExitException eee =
16129                                new EarlyExitException(154, input);
16130                            throw eee;
16131                    }
16132                    cnt154++;
16133                } while (true);
16134    
16135    
16136                }
16137    
16138            }
16139            catch (RecognitionException re) {
16140                reportError(re);
16141                recover(input,re);
16142            }
16143            finally {
16144            }
16145            return ;
16146        }
16147        // $ANTLR end whitespaces
16148    
16149    
16150        // $ANTLR start blanks
16151        // Creole10.g:1035:1: blanks : BLANKS ;
16152        public final void blanks() throws RecognitionException {
16153            try {
16154                // Creole10.g:1036:2: ( BLANKS )
16155                // Creole10.g:1036:4: BLANKS
16156                {
16157                match(input,BLANKS,FOLLOW_BLANKS_in_blanks4927); if (failed) return ;
16158    
16159                }
16160    
16161            }
16162            catch (RecognitionException re) {
16163                reportError(re);
16164                recover(input,re);
16165            }
16166            finally {
16167            }
16168            return ;
16169        }
16170        // $ANTLR end blanks
16171    
16172    
16173        // $ANTLR start text_lineseparator
16174        // Creole10.g:1038:1: text_lineseparator : ( newline ( blanks )? | EOF );
16175        public final void text_lineseparator() throws RecognitionException {
16176            try {
16177                // Creole10.g:1039:2: ( newline ( blanks )? | EOF )
16178                int alt156=2;
16179                int LA156_0 = input.LA(1);
16180    
16181                if ( (LA156_0==NEWLINE) ) {
16182                    alt156=1;
16183                }
16184                else if ( (LA156_0==EOF) ) {
16185                    alt156=2;
16186                }
16187                else {
16188                    if (backtracking>0) {failed=true; return ;}
16189                    NoViableAltException nvae =
16190                        new NoViableAltException("1038:1: text_lineseparator : ( newline ( blanks )? | EOF );", 156, 0, input);
16191    
16192                    throw nvae;
16193                }
16194                switch (alt156) {
16195                    case 1 :
16196                        // Creole10.g:1039:4: newline ( blanks )?
16197                        {
16198                        pushFollow(FOLLOW_newline_in_text_lineseparator4937);
16199                        newline();
16200                        _fsp--;
16201                        if (failed) return ;
16202                        // Creole10.g:1039:13: ( blanks )?
16203                        int alt155=2;
16204                        int LA155_0 = input.LA(1);
16205    
16206                        if ( (LA155_0==BLANKS) ) {
16207                            alt155=1;
16208                        }
16209                        switch (alt155) {
16210                            case 1 :
16211                                // Creole10.g:1039:15: blanks
16212                                {
16213                                pushFollow(FOLLOW_blanks_in_text_lineseparator4942);
16214                                blanks();
16215                                _fsp--;
16216                                if (failed) return ;
16217    
16218                                }
16219                                break;
16220    
16221                        }
16222    
16223    
16224                        }
16225                        break;
16226                    case 2 :
16227                        // Creole10.g:1040:4: EOF
16228                        {
16229                        match(input,EOF,FOLLOW_EOF_in_text_lineseparator4950); if (failed) return ;
16230    
16231                        }
16232                        break;
16233    
16234                }
16235            }
16236            catch (RecognitionException re) {
16237                reportError(re);
16238                recover(input,re);
16239            }
16240            finally {
16241            }
16242            return ;
16243        }
16244        // $ANTLR end text_lineseparator
16245    
16246    
16247        // $ANTLR start newline
16248        // Creole10.g:1042:1: newline : NEWLINE ;
16249        public final void newline() throws RecognitionException {
16250            try {
16251                // Creole10.g:1043:2: ( NEWLINE )
16252                // Creole10.g:1043:4: NEWLINE
16253                {
16254                match(input,NEWLINE,FOLLOW_NEWLINE_in_newline4960); if (failed) return ;
16255    
16256                }
16257    
16258            }
16259            catch (RecognitionException re) {
16260                reportError(re);
16261                recover(input,re);
16262            }
16263            finally {
16264            }
16265            return ;
16266        }
16267        // $ANTLR end newline
16268    
16269    
16270        // $ANTLR start bold_markup
16271        // Creole10.g:1045:1: bold_markup : STAR STAR ;
16272        public final void bold_markup() throws RecognitionException {
16273            try {
16274                // Creole10.g:1046:2: ( STAR STAR )
16275                // Creole10.g:1046:4: STAR STAR
16276                {
16277                match(input,STAR,FOLLOW_STAR_in_bold_markup4970); if (failed) return ;
16278                match(input,STAR,FOLLOW_STAR_in_bold_markup4973); if (failed) return ;
16279    
16280                }
16281    
16282            }
16283            catch (RecognitionException re) {
16284                reportError(re);
16285                recover(input,re);
16286            }
16287            finally {
16288            }
16289            return ;
16290        }
16291        // $ANTLR end bold_markup
16292    
16293    
16294        // $ANTLR start ital_markup
16295        // Creole10.g:1048:1: ital_markup : ITAL ;
16296        public final void ital_markup() throws RecognitionException {
16297            try {
16298                // Creole10.g:1049:2: ( ITAL )
16299                // Creole10.g:1049:4: ITAL
16300                {
16301                match(input,ITAL,FOLLOW_ITAL_in_ital_markup4983); if (failed) return ;
16302    
16303                }
16304    
16305            }
16306            catch (RecognitionException re) {
16307                reportError(re);
16308                recover(input,re);
16309            }
16310            finally {
16311            }
16312            return ;
16313        }
16314        // $ANTLR end ital_markup
16315    
16316    
16317        // $ANTLR start heading_markup
16318        // Creole10.g:1051:1: heading_markup : EQUAL ;
16319        public final void heading_markup() throws RecognitionException {
16320            try {
16321                // Creole10.g:1052:2: ( EQUAL )
16322                // Creole10.g:1052:4: EQUAL
16323                {
16324                match(input,EQUAL,FOLLOW_EQUAL_in_heading_markup4993); if (failed) return ;
16325    
16326                }
16327    
16328            }
16329            catch (RecognitionException re) {
16330                reportError(re);
16331                recover(input,re);
16332            }
16333            finally {
16334            }
16335            return ;
16336        }
16337        // $ANTLR end heading_markup
16338    
16339        public static class list_ordelem_markup_return extends ParserRuleReturnScope {
16340        };
16341    
16342        // $ANTLR start list_ordelem_markup
16343        // Creole10.g:1054:1: list_ordelem_markup : POUND ;
16344        public final list_ordelem_markup_return list_ordelem_markup() throws RecognitionException {
16345            list_ordelem_markup_return retval = new list_ordelem_markup_return();
16346            retval.start = input.LT(1);
16347    
16348            try {
16349                // Creole10.g:1055:2: ( POUND )
16350                // Creole10.g:1055:4: POUND
16351                {
16352                match(input,POUND,FOLLOW_POUND_in_list_ordelem_markup5003); if (failed) return retval;
16353    
16354                }
16355    
16356                retval.stop = input.LT(-1);
16357    
16358            }
16359            catch (RecognitionException re) {
16360                reportError(re);
16361                recover(input,re);
16362            }
16363            finally {
16364            }
16365            return retval;
16366        }
16367        // $ANTLR end list_ordelem_markup
16368    
16369        public static class list_unordelem_markup_return extends ParserRuleReturnScope {
16370        };
16371    
16372        // $ANTLR start list_unordelem_markup
16373        // Creole10.g:1057:1: list_unordelem_markup : STAR ;
16374        public final list_unordelem_markup_return list_unordelem_markup() throws RecognitionException {
16375            list_unordelem_markup_return retval = new list_unordelem_markup_return();
16376            retval.start = input.LT(1);
16377    
16378            try {
16379                // Creole10.g:1058:2: ( STAR )
16380                // Creole10.g:1058:4: STAR
16381                {
16382                match(input,STAR,FOLLOW_STAR_in_list_unordelem_markup5013); if (failed) return retval;
16383    
16384                }
16385    
16386                retval.stop = input.LT(-1);
16387    
16388            }
16389            catch (RecognitionException re) {
16390                reportError(re);
16391                recover(input,re);
16392            }
16393            finally {
16394            }
16395            return retval;
16396        }
16397        // $ANTLR end list_unordelem_markup
16398    
16399    
16400        // $ANTLR start list_elemseparator
16401        // Creole10.g:1060:1: list_elemseparator : ( newline ( blanks )? | EOF );
16402        public final void list_elemseparator() throws RecognitionException {
16403            try {
16404                // Creole10.g:1061:2: ( newline ( blanks )? | EOF )
16405                int alt158=2;
16406                int LA158_0 = input.LA(1);
16407    
16408                if ( (LA158_0==NEWLINE) ) {
16409                    alt158=1;
16410                }
16411                else if ( (LA158_0==EOF) ) {
16412                    alt158=2;
16413                }
16414                else {
16415                    if (backtracking>0) {failed=true; return ;}
16416                    NoViableAltException nvae =
16417                        new NoViableAltException("1060:1: list_elemseparator : ( newline ( blanks )? | EOF );", 158, 0, input);
16418    
16419                    throw nvae;
16420                }
16421                switch (alt158) {
16422                    case 1 :
16423                        // Creole10.g:1061:4: newline ( blanks )?
16424                        {
16425                        pushFollow(FOLLOW_newline_in_list_elemseparator5023);
16426                        newline();
16427                        _fsp--;
16428                        if (failed) return ;
16429                        // Creole10.g:1061:13: ( blanks )?
16430                        int alt157=2;
16431                        int LA157_0 = input.LA(1);
16432    
16433                        if ( (LA157_0==BLANKS) ) {
16434                            alt157=1;
16435                        }
16436                        switch (alt157) {
16437                            case 1 :
16438                                // Creole10.g:1061:15: blanks
16439                                {
16440                                pushFollow(FOLLOW_blanks_in_list_elemseparator5028);
16441                                blanks();
16442                                _fsp--;
16443                                if (failed) return ;
16444    
16445                                }
16446                                break;
16447    
16448                        }
16449    
16450    
16451                        }
16452                        break;
16453                    case 2 :
16454                        // Creole10.g:1062:4: EOF
16455                        {
16456                        match(input,EOF,FOLLOW_EOF_in_list_elemseparator5036); if (failed) return ;
16457    
16458                        }
16459                        break;
16460    
16461                }
16462            }
16463            catch (RecognitionException re) {
16464                reportError(re);
16465                recover(input,re);
16466            }
16467            finally {
16468            }
16469            return ;
16470        }
16471        // $ANTLR end list_elemseparator
16472    
16473    
16474        // $ANTLR start end_of_list
16475        // Creole10.g:1064:1: end_of_list : ( newline | EOF );
16476        public final void end_of_list() throws RecognitionException {
16477            try {
16478                // Creole10.g:1065:2: ( newline | EOF )
16479                int alt159=2;
16480                int LA159_0 = input.LA(1);
16481    
16482                if ( (LA159_0==NEWLINE) ) {
16483                    alt159=1;
16484                }
16485                else if ( (LA159_0==EOF) ) {
16486                    alt159=2;
16487                }
16488                else {
16489                    if (backtracking>0) {failed=true; return ;}
16490                    NoViableAltException nvae =
16491                        new NoViableAltException("1064:1: end_of_list : ( newline | EOF );", 159, 0, input);
16492    
16493                    throw nvae;
16494                }
16495                switch (alt159) {
16496                    case 1 :
16497                        // Creole10.g:1065:4: newline
16498                        {
16499                        pushFollow(FOLLOW_newline_in_end_of_list5046);
16500                        newline();
16501                        _fsp--;
16502                        if (failed) return ;
16503    
16504                        }
16505                        break;
16506                    case 2 :
16507                        // Creole10.g:1066:4: EOF
16508                        {
16509                        match(input,EOF,FOLLOW_EOF_in_end_of_list5051); if (failed) return ;
16510    
16511                        }
16512                        break;
16513    
16514                }
16515            }
16516            catch (RecognitionException re) {
16517                reportError(re);
16518                recover(input,re);
16519            }
16520            finally {
16521            }
16522            return ;
16523        }
16524        // $ANTLR end end_of_list
16525    
16526    
16527        // $ANTLR start table_cell_markup
16528        // Creole10.g:1068:1: table_cell_markup : PIPE ;
16529        public final void table_cell_markup() throws RecognitionException {
16530            try {
16531                // Creole10.g:1069:2: ( PIPE )
16532                // Creole10.g:1069:4: PIPE
16533                {
16534                match(input,PIPE,FOLLOW_PIPE_in_table_cell_markup5061); if (failed) return ;
16535    
16536                }
16537    
16538            }
16539            catch (RecognitionException re) {
16540                reportError(re);
16541                recover(input,re);
16542            }
16543            finally {
16544            }
16545            return ;
16546        }
16547        // $ANTLR end table_cell_markup
16548    
16549    
16550        // $ANTLR start table_headercell_markup
16551        // Creole10.g:1071:1: table_headercell_markup : PIPE EQUAL ;
16552        public final void table_headercell_markup() throws RecognitionException {
16553            try {
16554                // Creole10.g:1072:2: ( PIPE EQUAL )
16555                // Creole10.g:1072:4: PIPE EQUAL
16556                {
16557                match(input,PIPE,FOLLOW_PIPE_in_table_headercell_markup5071); if (failed) return ;
16558                match(input,EQUAL,FOLLOW_EQUAL_in_table_headercell_markup5074); if (failed) return ;
16559    
16560                }
16561    
16562            }
16563            catch (RecognitionException re) {
16564                reportError(re);
16565                recover(input,re);
16566            }
16567            finally {
16568            }
16569            return ;
16570        }
16571        // $ANTLR end table_headercell_markup
16572    
16573    
16574        // $ANTLR start table_rowseparator
16575        // Creole10.g:1074:1: table_rowseparator : ( newline | EOF );
16576        public final void table_rowseparator() throws RecognitionException {
16577            try {
16578                // Creole10.g:1075:2: ( newline | EOF )
16579                int alt160=2;
16580                int LA160_0 = input.LA(1);
16581    
16582                if ( (LA160_0==NEWLINE) ) {
16583                    alt160=1;
16584                }
16585                else if ( (LA160_0==EOF) ) {
16586                    alt160=2;
16587                }
16588                else {
16589                    if (backtracking>0) {failed=true; return ;}
16590                    NoViableAltException nvae =
16591                        new NoViableAltException("1074:1: table_rowseparator : ( newline | EOF );", 160, 0, input);
16592    
16593                    throw nvae;
16594                }
16595                switch (alt160) {
16596                    case 1 :
16597                        // Creole10.g:1075:4: newline
16598                        {
16599                        pushFollow(FOLLOW_newline_in_table_rowseparator5084);
16600                        newline();
16601                        _fsp--;
16602                        if (failed) return ;
16603    
16604                        }
16605                        break;
16606                    case 2 :
16607                        // Creole10.g:1076:4: EOF
16608                        {
16609                        match(input,EOF,FOLLOW_EOF_in_table_rowseparator5089); if (failed) return ;
16610    
16611                        }
16612                        break;
16613    
16614                }
16615            }
16616            catch (RecognitionException re) {
16617                reportError(re);
16618                recover(input,re);
16619            }
16620            finally {
16621            }
16622            return ;
16623        }
16624        // $ANTLR end table_rowseparator
16625    
16626    
16627        // $ANTLR start nowiki_open_markup
16628        // Creole10.g:1078:1: nowiki_open_markup : NOWIKI_OPEN ;
16629        public final void nowiki_open_markup() throws RecognitionException {
16630            try {
16631                // Creole10.g:1079:2: ( NOWIKI_OPEN )
16632                // Creole10.g:1079:4: NOWIKI_OPEN
16633                {
16634                match(input,NOWIKI_OPEN,FOLLOW_NOWIKI_OPEN_in_nowiki_open_markup5099); if (failed) return ;
16635    
16636                }
16637    
16638            }
16639            catch (RecognitionException re) {
16640                reportError(re);
16641                recover(input,re);
16642            }
16643            finally {
16644            }
16645            return ;
16646        }
16647        // $ANTLR end nowiki_open_markup
16648    
16649    
16650        // $ANTLR start nowiki_close_markup
16651        // Creole10.g:1081:1: nowiki_close_markup : NOWIKI_CLOSE ;
16652        public final void nowiki_close_markup() throws RecognitionException {
16653            try {
16654                // Creole10.g:1082:2: ( NOWIKI_CLOSE )
16655                // Creole10.g:1082:4: NOWIKI_CLOSE
16656                {
16657                match(input,NOWIKI_CLOSE,FOLLOW_NOWIKI_CLOSE_in_nowiki_close_markup5109); if (failed) return ;
16658    
16659                }
16660    
16661            }
16662            catch (RecognitionException re) {
16663                reportError(re);
16664                recover(input,re);
16665            }
16666            finally {
16667            }
16668            return ;
16669        }
16670        // $ANTLR end nowiki_close_markup
16671    
16672    
16673        // $ANTLR start horizontalrule_markup
16674        // Creole10.g:1084:1: horizontalrule_markup : DASH DASH DASH DASH ;
16675        public final void horizontalrule_markup() throws RecognitionException {
16676            try {
16677                // Creole10.g:1085:2: ( DASH DASH DASH DASH )
16678                // Creole10.g:1085:4: DASH DASH DASH DASH
16679                {
16680                match(input,DASH,FOLLOW_DASH_in_horizontalrule_markup5119); if (failed) return ;
16681                match(input,DASH,FOLLOW_DASH_in_horizontalrule_markup5122); if (failed) return ;
16682                match(input,DASH,FOLLOW_DASH_in_horizontalrule_markup5125); if (failed) return ;
16683                match(input,DASH,FOLLOW_DASH_in_horizontalrule_markup5128); if (failed) return ;
16684    
16685                }
16686    
16687            }
16688            catch (RecognitionException re) {
16689                reportError(re);
16690                recover(input,re);
16691            }
16692            finally {
16693            }
16694            return ;
16695        }
16696        // $ANTLR end horizontalrule_markup
16697    
16698    
16699        // $ANTLR start link_open_markup
16700        // Creole10.g:1087:1: link_open_markup : LINK_OPEN ;
16701        public final void link_open_markup() throws RecognitionException {
16702            try {
16703                // Creole10.g:1088:2: ( LINK_OPEN )
16704                // Creole10.g:1088:4: LINK_OPEN
16705                {
16706                match(input,LINK_OPEN,FOLLOW_LINK_OPEN_in_link_open_markup5138); if (failed) return ;
16707    
16708                }
16709    
16710            }
16711            catch (RecognitionException re) {
16712                reportError(re);
16713                recover(input,re);
16714            }
16715            finally {
16716            }
16717            return ;
16718        }
16719        // $ANTLR end link_open_markup
16720    
16721    
16722        // $ANTLR start link_close_markup
16723        // Creole10.g:1090:1: link_close_markup : LINK_CLOSE ;
16724        public final void link_close_markup() throws RecognitionException {
16725            try {
16726                // Creole10.g:1091:2: ( LINK_CLOSE )
16727                // Creole10.g:1091:4: LINK_CLOSE
16728                {
16729                match(input,LINK_CLOSE,FOLLOW_LINK_CLOSE_in_link_close_markup5148); if (failed) return ;
16730    
16731                }
16732    
16733            }
16734            catch (RecognitionException re) {
16735                reportError(re);
16736                recover(input,re);
16737            }
16738            finally {
16739            }
16740            return ;
16741        }
16742        // $ANTLR end link_close_markup
16743    
16744    
16745        // $ANTLR start link_description_markup
16746        // Creole10.g:1093:1: link_description_markup : PIPE ;
16747        public final void link_description_markup() throws RecognitionException {
16748            try {
16749                // Creole10.g:1094:2: ( PIPE )
16750                // Creole10.g:1094:4: PIPE
16751                {
16752                match(input,PIPE,FOLLOW_PIPE_in_link_description_markup5158); if (failed) return ;
16753    
16754                }
16755    
16756            }
16757            catch (RecognitionException re) {
16758                reportError(re);
16759                recover(input,re);
16760            }
16761            finally {
16762            }
16763            return ;
16764        }
16765        // $ANTLR end link_description_markup
16766    
16767    
16768        // $ANTLR start image_open_markup
16769        // Creole10.g:1096:1: image_open_markup : IMAGE_OPEN ;
16770        public final void image_open_markup() throws RecognitionException {
16771            try {
16772                // Creole10.g:1097:2: ( IMAGE_OPEN )
16773                // Creole10.g:1097:4: IMAGE_OPEN
16774                {
16775                match(input,IMAGE_OPEN,FOLLOW_IMAGE_OPEN_in_image_open_markup5168); if (failed) return ;
16776    
16777                }
16778    
16779            }
16780            catch (RecognitionException re) {
16781                reportError(re);
16782                recover(input,re);
16783            }
16784            finally {
16785            }
16786            return ;
16787        }
16788        // $ANTLR end image_open_markup
16789    
16790    
16791        // $ANTLR start image_close_markup
16792        // Creole10.g:1099:1: image_close_markup : IMAGE_CLOSE ;
16793        public final void image_close_markup() throws RecognitionException {
16794            try {
16795                // Creole10.g:1100:2: ( IMAGE_CLOSE )
16796                // Creole10.g:1100:4: IMAGE_CLOSE
16797                {
16798                match(input,IMAGE_CLOSE,FOLLOW_IMAGE_CLOSE_in_image_close_markup5178); if (failed) return ;
16799    
16800                }
16801    
16802            }
16803            catch (RecognitionException re) {
16804                reportError(re);
16805                recover(input,re);
16806            }
16807            finally {
16808            }
16809            return ;
16810        }
16811        // $ANTLR end image_close_markup
16812    
16813    
16814        // $ANTLR start image_alternative_markup
16815        // Creole10.g:1102:1: image_alternative_markup : PIPE ;
16816        public final void image_alternative_markup() throws RecognitionException {
16817            try {
16818                // Creole10.g:1103:2: ( PIPE )
16819                // Creole10.g:1103:4: PIPE
16820                {
16821                match(input,PIPE,FOLLOW_PIPE_in_image_alternative_markup5188); if (failed) return ;
16822    
16823                }
16824    
16825            }
16826            catch (RecognitionException re) {
16827                reportError(re);
16828                recover(input,re);
16829            }
16830            finally {
16831            }
16832            return ;
16833        }
16834        // $ANTLR end image_alternative_markup
16835    
16836    
16837        // $ANTLR start extension_markup
16838        // Creole10.g:1105:1: extension_markup : EXTENSION ;
16839        public final void extension_markup() throws RecognitionException {
16840            try {
16841                // Creole10.g:1106:2: ( EXTENSION )
16842                // Creole10.g:1106:4: EXTENSION
16843                {
16844                match(input,EXTENSION,FOLLOW_EXTENSION_in_extension_markup5198); if (failed) return ;
16845    
16846                }
16847    
16848            }
16849            catch (RecognitionException re) {
16850                reportError(re);
16851                recover(input,re);
16852            }
16853            finally {
16854            }
16855            return ;
16856        }
16857        // $ANTLR end extension_markup
16858    
16859    
16860        // $ANTLR start forced_linebreak
16861        // Creole10.g:1108:1: forced_linebreak : FORCED_LINEBREAK ;
16862        public final void forced_linebreak() throws RecognitionException {
16863            try {
16864                // Creole10.g:1109:2: ( FORCED_LINEBREAK )
16865                // Creole10.g:1109:4: FORCED_LINEBREAK
16866                {
16867                match(input,FORCED_LINEBREAK,FOLLOW_FORCED_LINEBREAK_in_forced_linebreak5208); if (failed) return ;
16868    
16869                }
16870    
16871            }
16872            catch (RecognitionException re) {
16873                reportError(re);
16874                recover(input,re);
16875            }
16876            finally {
16877            }
16878            return ;
16879        }
16880        // $ANTLR end forced_linebreak
16881    
16882        // $ANTLR start synpred1
16883        public final void synpred1_fragment() throws RecognitionException {   
16884            // Creole10.g:178:5: ( NOWIKI_OPEN ~ ( NEWLINE ) )
16885            // Creole10.g:178:7: NOWIKI_OPEN ~ ( NEWLINE )
16886            {
16887            match(input,NOWIKI_OPEN,FOLLOW_NOWIKI_OPEN_in_synpred1317); if (failed) return ;
16888            if ( (input.LA(1)>=FORCED_END_OF_LINE && input.LA(1)<=WIKI)||(input.LA(1)>=POUND && input.LA(1)<=81) ) {
16889                input.consume();
16890                errorRecovery=false;failed=false;
16891            }
16892            else {
16893                if (backtracking>0) {failed=true; return ;}
16894                MismatchedSetException mse =
16895                    new MismatchedSetException(null,input);
16896                recoverFromMismatchedSet(input,mse,FOLLOW_set_in_synpred1320);    throw mse;
16897            }
16898    
16899    
16900            }
16901        }
16902        // $ANTLR end synpred1
16903    
16904        public final boolean synpred1() {
16905            backtracking++;
16906            int start = input.mark();
16907            try {
16908                synpred1_fragment(); // can never throw exception
16909            } catch (RecognitionException re) {
16910                System.err.println("impossible: "+re);
16911            }
16912            boolean success = !failed;
16913            input.rewind(start);
16914            backtracking--;
16915            failed=false;
16916            return success;
16917        }
16918    
16919    
16920     
16921    
16922        public static final BitSet FOLLOW_whitespaces_in_wikipage111 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF0L,0x000000000003FFFFL});
16923        public static final BitSet FOLLOW_paragraphs_in_wikipage119 = new BitSet(new long[]{0x0000000000000000L});
16924        public static final BitSet FOLLOW_EOF_in_wikipage124 = new BitSet(new long[]{0x0000000000000002L});
16925        public static final BitSet FOLLOW_paragraph_in_paragraphs142 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000003FFFFL});
16926        public static final BitSet FOLLOW_nowiki_block_in_paragraph163 = new BitSet(new long[]{0x0000000000000002L});
16927        public static final BitSet FOLLOW_blanks_in_paragraph170 = new BitSet(new long[]{0x0000000000008000L});
16928        public static final BitSet FOLLOW_paragraph_separator_in_paragraph173 = new BitSet(new long[]{0x0000000000000002L});
16929        public static final BitSet FOLLOW_blanks_in_paragraph180 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF0L,0x000000000003FFFFL});
16930        public static final BitSet FOLLOW_table_of_contents_in_paragraph194 = new BitSet(new long[]{0x0000000000008002L});
16931        public static final BitSet FOLLOW_heading_in_paragraph208 = new BitSet(new long[]{0x0000000000008002L});
16932        public static final BitSet FOLLOW_horizontalrule_in_paragraph227 = new BitSet(new long[]{0x0000000000008002L});
16933        public static final BitSet FOLLOW_list_in_paragraph240 = new BitSet(new long[]{0x0000000000008002L});
16934        public static final BitSet FOLLOW_table_in_paragraph253 = new BitSet(new long[]{0x0000000000008002L});
16935        public static final BitSet FOLLOW_text_paragraph_in_paragraph266 = new BitSet(new long[]{0x0000000000008002L});
16936        public static final BitSet FOLLOW_paragraph_separator_in_paragraph279 = new BitSet(new long[]{0x0000000000000002L});
16937        public static final BitSet FOLLOW_text_line_in_text_paragraph307 = new BitSet(new long[]{0xFFFFFFFFFFF27FF2L,0x000000000003FFFFL});
16938        public static final BitSet FOLLOW_nowiki_inline_in_text_paragraph339 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000003FFFFL});
16939        public static final BitSet FOLLOW_text_element_in_text_paragraph350 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000003FFFFL});
16940        public static final BitSet FOLLOW_text_lineseparator_in_text_paragraph359 = new BitSet(new long[]{0xFFFFFFFFFFF27FF2L,0x000000000003FFFFL});
16941        public static final BitSet FOLLOW_text_firstelement_in_text_line382 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000003FFFFL});
16942        public static final BitSet FOLLOW_text_element_in_text_line401 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000003FFFFL});
16943        public static final BitSet FOLLOW_text_lineseparator_in_text_line415 = new BitSet(new long[]{0x0000000000000002L});
16944        public static final BitSet FOLLOW_text_formattedelement_in_text_firstelement437 = new BitSet(new long[]{0x0000000000000002L});
16945        public static final BitSet FOLLOW_text_first_unformattedelement_in_text_firstelement448 = new BitSet(new long[]{0x0000000000000002L});
16946        public static final BitSet FOLLOW_ital_markup_in_text_formattedelement464 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF2L,0x000000000003FFFFL});
16947        public static final BitSet FOLLOW_text_italcontent_in_text_formattedelement470 = new BitSet(new long[]{0x0000000000108002L});
16948        public static final BitSet FOLLOW_NEWLINE_in_text_formattedelement479 = new BitSet(new long[]{0x0000000000100000L});
16949        public static final BitSet FOLLOW_ital_markup_in_text_formattedelement485 = new BitSet(new long[]{0x0000000000000002L});
16950        public static final BitSet FOLLOW_bold_markup_in_text_formattedelement493 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF2L,0x000000000003FFFFL});
16951        public static final BitSet FOLLOW_text_boldcontent_in_text_formattedelement500 = new BitSet(new long[]{0x0000000000028002L});
16952        public static final BitSet FOLLOW_NEWLINE_in_text_formattedelement509 = new BitSet(new long[]{0x0000000000020000L});
16953        public static final BitSet FOLLOW_bold_markup_in_text_formattedelement515 = new BitSet(new long[]{0x0000000000000002L});
16954        public static final BitSet FOLLOW_NEWLINE_in_text_boldcontent534 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000003FFFFL});
16955        public static final BitSet FOLLOW_text_boldcontentpart_in_text_boldcontent546 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000003FFFFL});
16956        public static final BitSet FOLLOW_EOF_in_text_boldcontent557 = new BitSet(new long[]{0x0000000000000002L});
16957        public static final BitSet FOLLOW_NEWLINE_in_text_italcontent573 = new BitSet(new long[]{0xFFFFFFFFFFEF7FF2L,0x000000000003FFFFL});
16958        public static final BitSet FOLLOW_text_italcontentpart_in_text_italcontent585 = new BitSet(new long[]{0xFFFFFFFFFFEF7FF2L,0x000000000003FFFFL});
16959        public static final BitSet FOLLOW_EOF_in_text_italcontent596 = new BitSet(new long[]{0x0000000000000002L});
16960        public static final BitSet FOLLOW_onestar_in_text_element610 = new BitSet(new long[]{0xFFFFFFFFFFED7FF0L,0x000000000003FFFFL});
16961        public static final BitSet FOLLOW_text_unformattedelement_in_text_element617 = new BitSet(new long[]{0x0000000000000002L});
16962        public static final BitSet FOLLOW_text_unformattedelement_in_text_element628 = new BitSet(new long[]{0x0000000000020002L});
16963        public static final BitSet FOLLOW_onestar_in_text_element631 = new BitSet(new long[]{0x0000000000000002L});
16964        public static final BitSet FOLLOW_text_formattedelement_in_text_element642 = new BitSet(new long[]{0x0000000000000002L});
16965        public static final BitSet FOLLOW_ital_markup_in_text_boldcontentpart659 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF2L,0x000000000003FFFFL});
16966        public static final BitSet FOLLOW_text_bolditalcontent_in_text_boldcontentpart666 = new BitSet(new long[]{0x0000000000100002L});
16967        public static final BitSet FOLLOW_ital_markup_in_text_boldcontentpart673 = new BitSet(new long[]{0x0000000000000002L});
16968        public static final BitSet FOLLOW_text_formattedcontent_in_text_boldcontentpart685 = new BitSet(new long[]{0x0000000000000002L});
16969        public static final BitSet FOLLOW_bold_markup_in_text_italcontentpart701 = new BitSet(new long[]{0xFFFFFFFFFFEFFFF2L,0x000000000003FFFFL});
16970        public static final BitSet FOLLOW_text_bolditalcontent_in_text_italcontentpart708 = new BitSet(new long[]{0x0000000000020002L});
16971        public static final BitSet FOLLOW_bold_markup_in_text_italcontentpart714 = new BitSet(new long[]{0x0000000000000002L});
16972        public static final BitSet FOLLOW_text_formattedcontent_in_text_italcontentpart725 = new BitSet(new long[]{0x0000000000000002L});
16973        public static final BitSet FOLLOW_NEWLINE_in_text_bolditalcontent743 = new BitSet(new long[]{0xFFFFFFFFFFEF7FF2L,0x000000000003FFFFL});
16974        public static final BitSet FOLLOW_text_formattedcontent_in_text_bolditalcontent754 = new BitSet(new long[]{0x0000000000000002L});
16975        public static final BitSet FOLLOW_EOF_in_text_bolditalcontent764 = new BitSet(new long[]{0x0000000000000002L});
16976        public static final BitSet FOLLOW_onestar_in_text_formattedcontent778 = new BitSet(new long[]{0xFFFFFFFFFFED7FF0L,0x000000000003FFFFL});
16977        public static final BitSet FOLLOW_text_unformattedelement_in_text_formattedcontent787 = new BitSet(new long[]{0xFFFFFFFFFFEFFFF2L,0x000000000003FFFFL});
16978        public static final BitSet FOLLOW_onestar_in_text_formattedcontent792 = new BitSet(new long[]{0xFFFFFFFFFFEDFFF2L,0x000000000003FFFFL});
16979        public static final BitSet FOLLOW_text_linebreak_in_text_formattedcontent797 = new BitSet(new long[]{0xFFFFFFFFFFED7FF2L,0x000000000003FFFFL});
16980        public static final BitSet FOLLOW_text_lineseparator_in_text_linebreak817 = new BitSet(new long[]{0x0000000000000002L});
16981        public static final BitSet FOLLOW_text_first_inlineelement_in_text_inlineelement835 = new BitSet(new long[]{0x0000000000000002L});
16982        public static final BitSet FOLLOW_nowiki_inline_in_text_inlineelement846 = new BitSet(new long[]{0x0000000000000002L});
16983        public static final BitSet FOLLOW_link_in_text_first_inlineelement867 = new BitSet(new long[]{0x0000000000000002L});
16984        public static final BitSet FOLLOW_image_in_text_first_inlineelement878 = new BitSet(new long[]{0x0000000000000002L});
16985        public static final BitSet FOLLOW_extension_in_text_first_inlineelement888 = new BitSet(new long[]{0x0000000000000002L});
16986        public static final BitSet FOLLOW_text_first_unformatted_in_text_first_unformattedelement908 = new BitSet(new long[]{0x0000000000000002L});
16987        public static final BitSet FOLLOW_text_first_inlineelement_in_text_first_unformattedelement919 = new BitSet(new long[]{0x0000000000000002L});
16988        public static final BitSet FOLLOW_text_first_unformmatted_text_in_text_first_unformatted941 = new BitSet(new long[]{0x0000000000000002L});
16989        public static final BitSet FOLLOW_forced_linebreak_in_text_first_unformatted950 = new BitSet(new long[]{0x0000000006000002L});
16990        public static final BitSet FOLLOW_escaped_in_text_first_unformatted962 = new BitSet(new long[]{0x0000000006000002L});
16991        public static final BitSet FOLLOW_set_in_text_first_unformmatted_text990 = new BitSet(new long[]{0xFFFFFFFFF8007FF2L,0x000000000003FFFFL});
16992        public static final BitSet FOLLOW_text_unformatted_in_text_unformattedelement1104 = new BitSet(new long[]{0x0000000000000002L});
16993        public static final BitSet FOLLOW_text_inlineelement_in_text_unformattedelement1115 = new BitSet(new long[]{0x0000000000000002L});
16994        public static final BitSet FOLLOW_text_unformated_text_in_text_unformatted1137 = new BitSet(new long[]{0x0000000000000002L});
16995        public static final BitSet FOLLOW_forced_linebreak_in_text_unformatted1146 = new BitSet(new long[]{0x0000000006000002L});
16996        public static final BitSet FOLLOW_escaped_in_text_unformatted1158 = new BitSet(new long[]{0x0000000006000002L});
16997        public static final BitSet FOLLOW_set_in_text_unformated_text1183 = new BitSet(new long[]{0xFFFFFFFFF80D7FF2L,0x000000000003FFFFL});
16998        public static final BitSet FOLLOW_heading_markup_in_heading1285 = new BitSet(new long[]{0xFFFFFFFFFBFFFFF0L,0x000000000003FFFFL});
16999        public static final BitSet FOLLOW_heading_content_in_heading1290 = new BitSet(new long[]{0x0000000080048000L});
17000        public static final BitSet FOLLOW_heading_markup_in_heading1297 = new BitSet(new long[]{0x0000000080008000L});
17001        public static final BitSet FOLLOW_blanks_in_heading1305 = new BitSet(new long[]{0x0000000000008000L});
17002        public static final BitSet FOLLOW_paragraph_separator_in_heading1312 = new BitSet(new long[]{0x0000000000000002L});
17003        public static final BitSet FOLLOW_heading_markup_in_heading_content1322 = new BitSet(new long[]{0xFFFFFFFFFBFF7FF0L,0x000000000003FFFFL});
17004        public static final BitSet FOLLOW_heading_content_in_heading_content1327 = new BitSet(new long[]{0x0000000000040002L});
17005        public static final BitSet FOLLOW_heading_markup_in_heading_content1332 = new BitSet(new long[]{0x0000000000000002L});
17006        public static final BitSet FOLLOW_heading_text_in_heading_content1344 = new BitSet(new long[]{0x0000000000000002L});
17007        public static final BitSet FOLLOW_heading_cellcontent_in_heading_text1365 = new BitSet(new long[]{0x0000000000000002L});
17008        public static final BitSet FOLLOW_onestar_in_heading_cellcontent1382 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000003FFFFL});
17009        public static final BitSet FOLLOW_heading_cellcontentpart_in_heading_cellcontent1391 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000003FFFFL});
17010        public static final BitSet FOLLOW_onestar_in_heading_cellcontent1402 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000003FFFFL});
17011        public static final BitSet FOLLOW_heading_formattedelement_in_heading_cellcontentpart1423 = new BitSet(new long[]{0x0000000000000002L});
17012        public static final BitSet FOLLOW_heading_unformattedelement_in_heading_cellcontentpart1434 = new BitSet(new long[]{0x0000000000000002L});
17013        public static final BitSet FOLLOW_ital_markup_in_heading_formattedelement1450 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000003FFFFL});
17014        public static final BitSet FOLLOW_heading_italcontent_in_heading_formattedelement1460 = new BitSet(new long[]{0x0000000000100002L});
17015        public static final BitSet FOLLOW_ital_markup_in_heading_formattedelement1469 = new BitSet(new long[]{0x0000000000000002L});
17016        public static final BitSet FOLLOW_bold_markup_in_heading_formattedelement1477 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000003FFFFL});
17017        public static final BitSet FOLLOW_heading_boldcontent_in_heading_formattedelement1484 = new BitSet(new long[]{0x0000000000020002L});
17018        public static final BitSet FOLLOW_bold_markup_in_heading_formattedelement1494 = new BitSet(new long[]{0x0000000000000002L});
17019        public static final BitSet FOLLOW_onestar_in_heading_boldcontent1511 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF0L,0x000000000003FFFFL});
17020        public static final BitSet FOLLOW_heading_boldcontentpart_in_heading_boldcontent1520 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000003FFFFL});
17021        public static final BitSet FOLLOW_onestar_in_heading_boldcontent1525 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000003FFFFL});
17022        public static final BitSet FOLLOW_EOF_in_heading_boldcontent1533 = new BitSet(new long[]{0x0000000000000002L});
17023        public static final BitSet FOLLOW_onestar_in_heading_italcontent1547 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF0L,0x000000000003FFFFL});
17024        public static final BitSet FOLLOW_heading_italcontentpart_in_heading_italcontent1556 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000003FFFFL});
17025        public static final BitSet FOLLOW_onestar_in_heading_italcontent1561 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000003FFFFL});
17026        public static final BitSet FOLLOW_EOF_in_heading_italcontent1569 = new BitSet(new long[]{0x0000000000000002L});
17027        public static final BitSet FOLLOW_heading_formattedcontent_in_heading_boldcontentpart1587 = new BitSet(new long[]{0x0000000000000002L});
17028        public static final BitSet FOLLOW_ital_markup_in_heading_boldcontentpart1594 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000003FFFFL});
17029        public static final BitSet FOLLOW_heading_bolditalcontent_in_heading_boldcontentpart1601 = new BitSet(new long[]{0x0000000000100002L});
17030        public static final BitSet FOLLOW_ital_markup_in_heading_boldcontentpart1608 = new BitSet(new long[]{0x0000000000000002L});
17031        public static final BitSet FOLLOW_bold_markup_in_heading_italcontentpart1625 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000003FFFFL});
17032        public static final BitSet FOLLOW_heading_bolditalcontent_in_heading_italcontentpart1632 = new BitSet(new long[]{0x0000000000020002L});
17033        public static final BitSet FOLLOW_bold_markup_in_heading_italcontentpart1639 = new BitSet(new long[]{0x0000000000000002L});
17034        public static final BitSet FOLLOW_heading_formattedcontent_in_heading_italcontentpart1651 = new BitSet(new long[]{0x0000000000000002L});
17035        public static final BitSet FOLLOW_onestar_in_heading_bolditalcontent1667 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000003FFFFL});
17036        public static final BitSet FOLLOW_heading_formattedcontent_in_heading_bolditalcontent1676 = new BitSet(new long[]{0x0000000000020002L});
17037        public static final BitSet FOLLOW_onestar_in_heading_bolditalcontent1681 = new BitSet(new long[]{0x0000000000000002L});
17038        public static final BitSet FOLLOW_EOF_in_heading_bolditalcontent1689 = new BitSet(new long[]{0x0000000000000002L});
17039        public static final BitSet FOLLOW_heading_unformattedelement_in_heading_formattedcontent1709 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000003FFFFL});
17040        public static final BitSet FOLLOW_heading_unformatted_text_in_heading_unformattedelement1732 = new BitSet(new long[]{0x0000000000000002L});
17041        public static final BitSet FOLLOW_heading_inlineelement_in_heading_unformattedelement1744 = new BitSet(new long[]{0x0000000000000002L});
17042        public static final BitSet FOLLOW_link_in_heading_inlineelement1764 = new BitSet(new long[]{0x0000000000000002L});
17043        public static final BitSet FOLLOW_image_in_heading_inlineelement1774 = new BitSet(new long[]{0x0000000000000002L});
17044        public static final BitSet FOLLOW_nowiki_inline_in_heading_inlineelement1785 = new BitSet(new long[]{0x0000000000000002L});
17045        public static final BitSet FOLLOW_set_in_heading_unformatted_text1808 = new BitSet(new long[]{0xFFFFFFFFFB1B7FF2L,0x000000000003FFFFL});
17046        public static final BitSet FOLLOW_list_elems_in_list1882 = new BitSet(new long[]{0x0000000000038002L});
17047        public static final BitSet FOLLOW_end_of_list_in_list1890 = new BitSet(new long[]{0x0000000000000002L});
17048        public static final BitSet FOLLOW_list_ordelem_markup_in_list_elems1920 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000003FFFFL});
17049        public static final BitSet FOLLOW_list_elem_in_list_elems1932 = new BitSet(new long[]{0x0000000000000002L});
17050        public static final BitSet FOLLOW_list_unordelem_markup_in_list_elems1943 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000003FFFFL});
17051        public static final BitSet FOLLOW_list_elem_in_list_elems1955 = new BitSet(new long[]{0x0000000000000002L});
17052        public static final BitSet FOLLOW_list_elem_markup_in_list_elem1978 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000003FFFFL});
17053        public static final BitSet FOLLOW_list_elemcontent_in_list_elem1989 = new BitSet(new long[]{0x0000000000008000L});
17054        public static final BitSet FOLLOW_list_elemseparator_in_list_elem1994 = new BitSet(new long[]{0x0000000000000002L});
17055        public static final BitSet FOLLOW_list_ordelem_markup_in_list_elem_markup2004 = new BitSet(new long[]{0x0000000000000002L});
17056        public static final BitSet FOLLOW_list_unordelem_markup_in_list_elem_markup2009 = new BitSet(new long[]{0x0000000000000002L});
17057        public static final BitSet FOLLOW_onestar_in_list_elemcontent2023 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000003FFFFL});
17058        public static final BitSet FOLLOW_list_elemcontentpart_in_list_elemcontent2032 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000003FFFFL});
17059        public static final BitSet FOLLOW_onestar_in_list_elemcontent2037 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000003FFFFL});
17060        public static final BitSet FOLLOW_text_unformattedelement_in_list_elemcontentpart2058 = new BitSet(new long[]{0x0000000000000002L});
17061        public static final BitSet FOLLOW_list_formatted_elem_in_list_elemcontentpart2069 = new BitSet(new long[]{0x0000000000000002L});
17062        public static final BitSet FOLLOW_bold_markup_in_list_formatted_elem2085 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000003FFFFL});
17063        public static final BitSet FOLLOW_onestar_in_list_formatted_elem2088 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000003FFFFL});
17064        public static final BitSet FOLLOW_list_boldcontentpart_in_list_formatted_elem2097 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000003FFFFL});
17065        public static final BitSet FOLLOW_onestar_in_list_formatted_elem2106 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000003FFFFL});
17066        public static final BitSet FOLLOW_bold_markup_in_list_formatted_elem2115 = new BitSet(new long[]{0x0000000000000002L});
17067        public static final BitSet FOLLOW_ital_markup_in_list_formatted_elem2123 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000003FFFFL});
17068        public static final BitSet FOLLOW_onestar_in_list_formatted_elem2128 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000003FFFFL});
17069        public static final BitSet FOLLOW_list_italcontentpart_in_list_formatted_elem2137 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000003FFFFL});
17070        public static final BitSet FOLLOW_onestar_in_list_formatted_elem2146 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000003FFFFL});
17071        public static final BitSet FOLLOW_ital_markup_in_list_formatted_elem2155 = new BitSet(new long[]{0x0000000000000002L});
17072        public static final BitSet FOLLOW_ital_markup_in_list_boldcontentpart2181 = new BitSet(new long[]{0xFFFFFFFFFFED7FF0L,0x000000000003FFFFL});
17073        public static final BitSet FOLLOW_list_bolditalcontent_in_list_boldcontentpart2188 = new BitSet(new long[]{0x0000000000100002L});
17074        public static final BitSet FOLLOW_ital_markup_in_list_boldcontentpart2195 = new BitSet(new long[]{0x0000000000000002L});
17075        public static final BitSet FOLLOW_text_unformattedelement_in_list_boldcontentpart2209 = new BitSet(new long[]{0xFFFFFFFFFFED7FF2L,0x000000000003FFFFL});
17076        public static final BitSet FOLLOW_text_unformattedelement_in_list_bolditalcontent2240 = new BitSet(new long[]{0xFFFFFFFFFFED7FF2L,0x000000000003FFFFL});
17077        public static final BitSet FOLLOW_bold_markup_in_list_italcontentpart2268 = new BitSet(new long[]{0xFFFFFFFFFFED7FF0L,0x000000000003FFFFL});
17078        public static final BitSet FOLLOW_list_bolditalcontent_in_list_italcontentpart2275 = new BitSet(new long[]{0x0000000000020002L});
17079        public static final BitSet FOLLOW_bold_markup_in_list_italcontentpart2282 = new BitSet(new long[]{0x0000000000000002L});
17080        public static final BitSet FOLLOW_text_unformattedelement_in_list_italcontentpart2296 = new BitSet(new long[]{0xFFFFFFFFFFED7FF2L,0x000000000003FFFFL});
17081        public static final BitSet FOLLOW_table_row_in_table2324 = new BitSet(new long[]{0x0000000000080002L});
17082        public static final BitSet FOLLOW_table_cell_in_table_row2350 = new BitSet(new long[]{0x0000000000088000L});
17083        public static final BitSet FOLLOW_table_rowseparator_in_table_row2358 = new BitSet(new long[]{0x0000000000000002L});
17084        public static final BitSet FOLLOW_table_headercell_in_table_cell2379 = new BitSet(new long[]{0x0000000000000002L});
17085        public static final BitSet FOLLOW_table_normalcell_in_table_cell2390 = new BitSet(new long[]{0x0000000000000002L});
17086        public static final BitSet FOLLOW_table_headercell_markup_in_table_headercell2406 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000003FFFFL});
17087        public static final BitSet FOLLOW_table_cellcontent_in_table_headercell2413 = new BitSet(new long[]{0x0000000000000002L});
17088        public static final BitSet FOLLOW_table_cell_markup_in_table_normalcell2429 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000003FFFFL});
17089        public static final BitSet FOLLOW_table_cellcontent_in_table_normalcell2436 = new BitSet(new long[]{0x0000000000000002L});
17090        public static final BitSet FOLLOW_onestar_in_table_cellcontent2452 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000003FFFFL});
17091        public static final BitSet FOLLOW_table_cellcontentpart_in_table_cellcontent2461 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000003FFFFL});
17092        public static final BitSet FOLLOW_onestar_in_table_cellcontent2468 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000003FFFFL});
17093        public static final BitSet FOLLOW_table_formattedelement_in_table_cellcontentpart2489 = new BitSet(new long[]{0x0000000000000002L});
17094        public static final BitSet FOLLOW_table_unformattedelement_in_table_cellcontentpart2500 = new BitSet(new long[]{0x0000000000000002L});
17095        public static final BitSet FOLLOW_ital_markup_in_table_formattedelement2516 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000003FFFFL});
17096        public static final BitSet FOLLOW_table_italcontent_in_table_formattedelement2526 = new BitSet(new long[]{0x0000000000100002L});
17097        public static final BitSet FOLLOW_ital_markup_in_table_formattedelement2535 = new BitSet(new long[]{0x0000000000000002L});
17098        public static final BitSet FOLLOW_bold_markup_in_table_formattedelement2543 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000003FFFFL});
17099        public static final BitSet FOLLOW_table_boldcontent_in_table_formattedelement2550 = new BitSet(new long[]{0x0000000000020002L});
17100        public static final BitSet FOLLOW_bold_markup_in_table_formattedelement2560 = new BitSet(new long[]{0x0000000000000002L});
17101        public static final BitSet FOLLOW_onestar_in_table_boldcontent2577 = new BitSet(new long[]{0xFFFFFFFFFFF57FF0L,0x000000000003FFFFL});
17102        public static final BitSet FOLLOW_table_boldcontentpart_in_table_boldcontent2586 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000003FFFFL});
17103        public static final BitSet FOLLOW_onestar_in_table_boldcontent2591 = new BitSet(new long[]{0xFFFFFFFFFFF57FF2L,0x000000000003FFFFL});
17104        public static final BitSet FOLLOW_EOF_in_table_boldcontent2599 = new BitSet(new long[]{0x0000000000000002L});
17105        public static final BitSet FOLLOW_onestar_in_table_italcontent2613 = new BitSet(new long[]{0xFFFFFFFFFFE77FF0L,0x000000000003FFFFL});
17106        public static final BitSet FOLLOW_table_italcontentpart_in_table_italcontent2622 = new BitSet(new long[]{0xFFFFFFFFFFE77FF2L,0x000000000003FFFFL});
17107        public static final BitSet FOLLOW_onestar_in_table_italcontent2627 = new BitSet(new long[]{0xFFFFFFFFFFE77FF2L,0x000000000003FFFFL});
17108        public static final BitSet FOLLOW_EOF_in_table_italcontent2635 = new BitSet(new long[]{0x0000000000000002L});
17109        public static final BitSet FOLLOW_table_formattedcontent_in_table_boldcontentpart2653 = new BitSet(new long[]{0x0000000000000002L});
17110        public static final BitSet FOLLOW_ital_markup_in_table_boldcontentpart2660 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000003FFFFL});
17111        public static final BitSet FOLLOW_table_bolditalcontent_in_table_boldcontentpart2667 = new BitSet(new long[]{0x0000000000100002L});
17112        public static final BitSet FOLLOW_ital_markup_in_table_boldcontentpart2674 = new BitSet(new long[]{0x0000000000000002L});
17113        public static final BitSet FOLLOW_bold_markup_in_table_italcontentpart2691 = new BitSet(new long[]{0xFFFFFFFFFFE77FF2L,0x000000000003FFFFL});
17114        public static final BitSet FOLLOW_table_bolditalcontent_in_table_italcontentpart2698 = new BitSet(new long[]{0x0000000000020002L});
17115        public static final BitSet FOLLOW_bold_markup_in_table_italcontentpart2705 = new BitSet(new long[]{0x0000000000000002L});
17116        public static final BitSet FOLLOW_table_formattedcontent_in_table_italcontentpart2717 = new BitSet(new long[]{0x0000000000000002L});
17117        public static final BitSet FOLLOW_onestar_in_table_bolditalcontent2733 = new BitSet(new long[]{0xFFFFFFFFFFE57FF2L,0x000000000003FFFFL});
17118        public static final BitSet FOLLOW_table_formattedcontent_in_table_bolditalcontent2742 = new BitSet(new long[]{0x0000000000020002L});
17119        public static final BitSet FOLLOW_onestar_in_table_bolditalcontent2747 = new BitSet(new long[]{0x0000000000000002L});
17120        public static final BitSet FOLLOW_EOF_in_table_bolditalcontent2755 = new BitSet(new long[]{0x0000000000000002L});
17121        public static final BitSet FOLLOW_table_unformattedelement_in_table_formattedcontent2775 = new BitSet(new long[]{0xFFFFFFFFFFE57FF2L,0x000000000003FFFFL});
17122        public static final BitSet FOLLOW_table_unformatted_in_table_unformattedelement2798 = new BitSet(new long[]{0x0000000000000002L});
17123        public static final BitSet FOLLOW_table_inlineelement_in_table_unformattedelement2810 = new BitSet(new long[]{0x0000000000000002L});
17124        public static final BitSet FOLLOW_link_in_table_inlineelement2830 = new BitSet(new long[]{0x0000000000000002L});
17125        public static final BitSet FOLLOW_image_in_table_inlineelement2840 = new BitSet(new long[]{0x0000000000000002L});
17126        public static final BitSet FOLLOW_extension_in_table_inlineelement2851 = new BitSet(new long[]{0x0000000000000002L});
17127        public static final BitSet FOLLOW_nowiki_inline_in_table_inlineelement2861 = new BitSet(new long[]{0x0000000000000002L});
17128        public static final BitSet FOLLOW_table_unformatted_text_in_table_unformatted2882 = new BitSet(new long[]{0x0000000000000002L});
17129        public static final BitSet FOLLOW_forced_linebreak_in_table_unformatted2891 = new BitSet(new long[]{0x0000000006000002L});
17130        public static final BitSet FOLLOW_escaped_in_table_unformatted2903 = new BitSet(new long[]{0x0000000006000002L});
17131        public static final BitSet FOLLOW_set_in_table_unformatted_text2929 = new BitSet(new long[]{0xFFFFFFFFF8057FF2L,0x000000000003FFFFL});
17132        public static final BitSet FOLLOW_nowikiblock_open_markup_in_nowiki_block3026 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000003FFFFL});
17133        public static final BitSet FOLLOW_nowiki_block_contents_in_nowiki_block3033 = new BitSet(new long[]{0x0000000008000000L});
17134        public static final BitSet FOLLOW_nowikiblock_close_markup_in_nowiki_block3039 = new BitSet(new long[]{0x0000000000008000L});
17135        public static final BitSet FOLLOW_paragraph_separator_in_nowiki_block3042 = new BitSet(new long[]{0x0000000000000002L});
17136        public static final BitSet FOLLOW_nowiki_open_markup_in_nowikiblock_open_markup3053 = new BitSet(new long[]{0x0000000000008000L});
17137        public static final BitSet FOLLOW_newline_in_nowikiblock_open_markup3056 = new BitSet(new long[]{0x0000000000000002L});
17138        public static final BitSet FOLLOW_NOWIKI_BLOCK_CLOSE_in_nowikiblock_close_markup3067 = new BitSet(new long[]{0x0000000000000002L});
17139        public static final BitSet FOLLOW_nowiki_open_markup_in_nowiki_inline3082 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF0L,0x000000000003FFFFL});
17140        public static final BitSet FOLLOW_nowiki_inline_contents_in_nowiki_inline3089 = new BitSet(new long[]{0x0000000010000000L});
17141        public static final BitSet FOLLOW_nowiki_close_markup_in_nowiki_inline3093 = new BitSet(new long[]{0x0000000000000002L});
17142        public static final BitSet FOLLOW_set_in_nowiki_block_contents3111 = new BitSet(new long[]{0xFFFFFFFFF7FFFFF2L,0x000000000003FFFFL});
17143        public static final BitSet FOLLOW_set_in_nowiki_inline_contents3144 = new BitSet(new long[]{0xFFFFFFFFEFFF7FF2L,0x000000000003FFFFL});
17144        public static final BitSet FOLLOW_horizontalrule_markup_in_horizontalrule3180 = new BitSet(new long[]{0x0000000080008000L});
17145        public static final BitSet FOLLOW_blanks_in_horizontalrule3185 = new BitSet(new long[]{0x0000000000008000L});
17146        public static final BitSet FOLLOW_paragraph_separator_in_horizontalrule3191 = new BitSet(new long[]{0x0000000000000002L});
17147        public static final BitSet FOLLOW_link_open_markup_in_link3212 = new BitSet(new long[]{0xFFFFFFFFDFF77FF0L,0x000000000003FFFFL});
17148        public static final BitSet FOLLOW_link_address_in_link3218 = new BitSet(new long[]{0x0000000020080000L});
17149        public static final BitSet FOLLOW_link_description_markup_in_link3224 = new BitSet(new long[]{0xFFFFFFFFDE5F7FF0L,0x000000000003FFFFL});
17150        public static final BitSet FOLLOW_link_description_in_link3232 = new BitSet(new long[]{0x0000000020000000L});
17151        public static final BitSet FOLLOW_link_close_markup_in_link3240 = new BitSet(new long[]{0x0000000000000002L});
17152        public static final BitSet FOLLOW_link_interwiki_uri_in_link_address3259 = new BitSet(new long[]{0x0000080000000000L});
17153        public static final BitSet FOLLOW_43_in_link_address3262 = new BitSet(new long[]{0xFFFFFFFFDFF77FF0L,0x000000000003FFFFL});
17154        public static final BitSet FOLLOW_link_interwiki_pagename_in_link_address3269 = new BitSet(new long[]{0x0000000000000002L});
17155        public static final BitSet FOLLOW_link_uri_in_link_address3280 = new BitSet(new long[]{0x0000000000000002L});
17156        public static final BitSet FOLLOW_44_in_link_interwiki_uri3296 = new BitSet(new long[]{0x0000200000000000L});
17157        public static final BitSet FOLLOW_45_in_link_interwiki_uri3298 = new BitSet(new long[]{0x0000000000000002L});
17158        public static final BitSet FOLLOW_46_in_link_interwiki_uri3303 = new BitSet(new long[]{0x0000800000000000L});
17159        public static final BitSet FOLLOW_47_in_link_interwiki_uri3305 = new BitSet(new long[]{0x0001000000000000L});
17160        public static final BitSet FOLLOW_48_in_link_interwiki_uri3307 = new BitSet(new long[]{0x0002000000000000L});
17161        public static final BitSet FOLLOW_49_in_link_interwiki_uri3309 = new BitSet(new long[]{0x0004000000000000L});
17162        public static final BitSet FOLLOW_50_in_link_interwiki_uri3311 = new BitSet(new long[]{0x0008000000000000L});
17163        public static final BitSet FOLLOW_51_in_link_interwiki_uri3313 = new BitSet(new long[]{0x0001000000000000L});
17164        public static final BitSet FOLLOW_48_in_link_interwiki_uri3315 = new BitSet(new long[]{0x0008000000000000L});
17165        public static final BitSet FOLLOW_51_in_link_interwiki_uri3317 = new BitSet(new long[]{0x0000000000000002L});
17166        public static final BitSet FOLLOW_52_in_link_interwiki_uri3322 = new BitSet(new long[]{0x0020000000000000L});
17167        public static final BitSet FOLLOW_53_in_link_interwiki_uri3324 = new BitSet(new long[]{0x0008000000000000L});
17168        public static final BitSet FOLLOW_51_in_link_interwiki_uri3326 = new BitSet(new long[]{0x0040000000000000L});
17169        public static final BitSet FOLLOW_54_in_link_interwiki_uri3328 = new BitSet(new long[]{0x0001000000000000L});
17170        public static final BitSet FOLLOW_48_in_link_interwiki_uri3330 = new BitSet(new long[]{0x0080000000000000L});
17171        public static final BitSet FOLLOW_55_in_link_interwiki_uri3332 = new BitSet(new long[]{0x0000000000000002L});
17172        public static final BitSet FOLLOW_56_in_link_interwiki_uri3337 = new BitSet(new long[]{0x0000800000000000L});
17173        public static final BitSet FOLLOW_47_in_link_interwiki_uri3339 = new BitSet(new long[]{0x0000800000000000L});
17174        public static final BitSet FOLLOW_47_in_link_interwiki_uri3341 = new BitSet(new long[]{0x0200000000000000L});
17175        public static final BitSet FOLLOW_57_in_link_interwiki_uri3343 = new BitSet(new long[]{0x0020000000000000L});
17176        public static final BitSet FOLLOW_53_in_link_interwiki_uri3345 = new BitSet(new long[]{0x0400000000000000L});
17177        public static final BitSet FOLLOW_58_in_link_interwiki_uri3347 = new BitSet(new long[]{0x0000000000000002L});
17178        public static final BitSet FOLLOW_59_in_link_interwiki_uri3352 = new BitSet(new long[]{0x1000000000000000L});
17179        public static final BitSet FOLLOW_60_in_link_interwiki_uri3354 = new BitSet(new long[]{0x2000000000000000L});
17180        public static final BitSet FOLLOW_61_in_link_interwiki_uri3356 = new BitSet(new long[]{0x0004000000000000L});
17181        public static final BitSet FOLLOW_50_in_link_interwiki_uri3358 = new BitSet(new long[]{0x0008000000000000L});
17182        public static final BitSet FOLLOW_51_in_link_interwiki_uri3360 = new BitSet(new long[]{0x0001000000000000L});
17183        public static final BitSet FOLLOW_48_in_link_interwiki_uri3362 = new BitSet(new long[]{0x0008000000000000L});
17184        public static final BitSet FOLLOW_51_in_link_interwiki_uri3364 = new BitSet(new long[]{0x0000000000000002L});
17185        public static final BitSet FOLLOW_62_in_link_interwiki_uri3369 = new BitSet(new long[]{0x0400000000000000L});
17186        public static final BitSet FOLLOW_58_in_link_interwiki_uri3371 = new BitSet(new long[]{0x8000000000000000L});
17187        public static final BitSet FOLLOW_63_in_link_interwiki_uri3373 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
17188        public static final BitSet FOLLOW_64_in_link_interwiki_uri3375 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
17189        public static final BitSet FOLLOW_65_in_link_interwiki_uri3377 = new BitSet(new long[]{0x8000000000000000L});
17190        public static final BitSet FOLLOW_63_in_link_interwiki_uri3379 = new BitSet(new long[]{0x0020000000000000L});
17191        public static final BitSet FOLLOW_53_in_link_interwiki_uri3381 = new BitSet(new long[]{0x0020000000000000L});
17192        public static final BitSet FOLLOW_53_in_link_interwiki_uri3383 = new BitSet(new long[]{0x0000000000000002L});
17193        public static final BitSet FOLLOW_62_in_link_interwiki_uri3388 = new BitSet(new long[]{0x0400000000000000L});
17194        public static final BitSet FOLLOW_58_in_link_interwiki_uri3390 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
17195        public static final BitSet FOLLOW_66_in_link_interwiki_uri3392 = new BitSet(new long[]{0x0008000000000000L});
17196        public static final BitSet FOLLOW_51_in_link_interwiki_uri3394 = new BitSet(new long[]{0x8000000000000000L});
17197        public static final BitSet FOLLOW_63_in_link_interwiki_uri3396 = new BitSet(new long[]{0x0004000000000000L});
17198        public static final BitSet FOLLOW_50_in_link_interwiki_uri3398 = new BitSet(new long[]{0x0008000000000000L});
17199        public static final BitSet FOLLOW_51_in_link_interwiki_uri3400 = new BitSet(new long[]{0x0001000000000000L});
17200        public static final BitSet FOLLOW_48_in_link_interwiki_uri3402 = new BitSet(new long[]{0x0008000000000000L});
17201        public static final BitSet FOLLOW_51_in_link_interwiki_uri3404 = new BitSet(new long[]{0x0000000000000002L});
17202        public static final BitSet FOLLOW_62_in_link_interwiki_uri3409 = new BitSet(new long[]{0x0000800000000000L});
17203        public static final BitSet FOLLOW_47_in_link_interwiki_uri3411 = new BitSet(new long[]{0x0008000000000000L});
17204        public static final BitSet FOLLOW_51_in_link_interwiki_uri3413 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
17205        public static final BitSet FOLLOW_67_in_link_interwiki_uri3415 = new BitSet(new long[]{0x4000000000000000L});
17206        public static final BitSet FOLLOW_62_in_link_interwiki_uri3417 = new BitSet(new long[]{0x0000800000000000L});
17207        public static final BitSet FOLLOW_47_in_link_interwiki_uri3419 = new BitSet(new long[]{0x0008000000000000L});
17208        public static final BitSet FOLLOW_51_in_link_interwiki_uri3421 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
17209        public static final BitSet FOLLOW_67_in_link_interwiki_uri3423 = new BitSet(new long[]{0x0000000000000002L});
17210        public static final BitSet FOLLOW_68_in_link_interwiki_uri3428 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
17211        public static final BitSet FOLLOW_66_in_link_interwiki_uri3430 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
17212        public static final BitSet FOLLOW_66_in_link_interwiki_uri3432 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
17213        public static final BitSet FOLLOW_69_in_link_interwiki_uri3434 = new BitSet(new long[]{0x0002000000000000L});
17214        public static final BitSet FOLLOW_49_in_link_interwiki_uri3436 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
17215        public static final BitSet FOLLOW_70_in_link_interwiki_uri3438 = new BitSet(new long[]{0x0400000000000000L});
17216        public static final BitSet FOLLOW_58_in_link_interwiki_uri3440 = new BitSet(new long[]{0x0000000000000002L});
17217        public static final BitSet FOLLOW_68_in_link_interwiki_uri3445 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
17218        public static final BitSet FOLLOW_71_in_link_interwiki_uri3447 = new BitSet(new long[]{0x8000000000000000L});
17219        public static final BitSet FOLLOW_63_in_link_interwiki_uri3449 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
17220        public static final BitSet FOLLOW_67_in_link_interwiki_uri3451 = new BitSet(new long[]{0x8000000000000000L});
17221        public static final BitSet FOLLOW_63_in_link_interwiki_uri3453 = new BitSet(new long[]{0x0000000000000002L});
17222        public static final BitSet FOLLOW_61_in_link_interwiki_uri3458 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
17223        public static final BitSet FOLLOW_69_in_link_interwiki_uri3460 = new BitSet(new long[]{0x0004000000000000L});
17224        public static final BitSet FOLLOW_50_in_link_interwiki_uri3462 = new BitSet(new long[]{0x0008000000000000L});
17225        public static final BitSet FOLLOW_51_in_link_interwiki_uri3464 = new BitSet(new long[]{0x0001000000000000L});
17226        public static final BitSet FOLLOW_48_in_link_interwiki_uri3466 = new BitSet(new long[]{0x0008000000000000L});
17227        public static final BitSet FOLLOW_51_in_link_interwiki_uri3468 = new BitSet(new long[]{0x0000000000000002L});
17228        public static final BitSet FOLLOW_61_in_link_interwiki_uri3473 = new BitSet(new long[]{0x0002000000000000L});
17229        public static final BitSet FOLLOW_49_in_link_interwiki_uri3475 = new BitSet(new long[]{0x0001000000000000L});
17230        public static final BitSet FOLLOW_48_in_link_interwiki_uri3477 = new BitSet(new long[]{0x0008000000000000L});
17231        public static final BitSet FOLLOW_51_in_link_interwiki_uri3479 = new BitSet(new long[]{0x0004000000000000L});
17232        public static final BitSet FOLLOW_50_in_link_interwiki_uri3481 = new BitSet(new long[]{0x0008000000000000L});
17233        public static final BitSet FOLLOW_51_in_link_interwiki_uri3483 = new BitSet(new long[]{0x0001000000000000L});
17234        public static final BitSet FOLLOW_48_in_link_interwiki_uri3485 = new BitSet(new long[]{0x0008000000000000L});
17235        public static final BitSet FOLLOW_51_in_link_interwiki_uri3487 = new BitSet(new long[]{0x0000000000000002L});
17236        public static final BitSet FOLLOW_61_in_link_interwiki_uri3492 = new BitSet(new long[]{0x0002000000000000L});
17237        public static final BitSet FOLLOW_49_in_link_interwiki_uri3494 = new BitSet(new long[]{0x0080000000000000L});
17238        public static final BitSet FOLLOW_55_in_link_interwiki_uri3496 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
17239        public static final BitSet FOLLOW_72_in_link_interwiki_uri3498 = new BitSet(new long[]{0x0020000000000000L});
17240        public static final BitSet FOLLOW_53_in_link_interwiki_uri3500 = new BitSet(new long[]{0x0400000000000000L});
17241        public static final BitSet FOLLOW_58_in_link_interwiki_uri3502 = new BitSet(new long[]{0x0004000000000000L});
17242        public static final BitSet FOLLOW_50_in_link_interwiki_uri3504 = new BitSet(new long[]{0x0008000000000000L});
17243        public static final BitSet FOLLOW_51_in_link_interwiki_uri3506 = new BitSet(new long[]{0x0001000000000000L});
17244        public static final BitSet FOLLOW_48_in_link_interwiki_uri3508 = new BitSet(new long[]{0x0008000000000000L});
17245        public static final BitSet FOLLOW_51_in_link_interwiki_uri3510 = new BitSet(new long[]{0x0000000000000002L});
17246        public static final BitSet FOLLOW_73_in_link_interwiki_uri3515 = new BitSet(new long[]{0x8000000000000000L});
17247        public static final BitSet FOLLOW_63_in_link_interwiki_uri3517 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
17248        public static final BitSet FOLLOW_66_in_link_interwiki_uri3519 = new BitSet(new long[]{0x0400000000000000L});
17249        public static final BitSet FOLLOW_58_in_link_interwiki_uri3521 = new BitSet(new long[]{0x0000800000000000L});
17250        public static final BitSet FOLLOW_47_in_link_interwiki_uri3523 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
17251        public static final BitSet FOLLOW_74_in_link_interwiki_uri3525 = new BitSet(new long[]{0x0000000000000002L});
17252        public static final BitSet FOLLOW_60_in_link_interwiki_uri3530 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
17253        public static final BitSet FOLLOW_67_in_link_interwiki_uri3532 = new BitSet(new long[]{0x0008000000000000L});
17254        public static final BitSet FOLLOW_51_in_link_interwiki_uri3534 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
17255        public static final BitSet FOLLOW_72_in_link_interwiki_uri3536 = new BitSet(new long[]{0x1000000000000000L});
17256        public static final BitSet FOLLOW_60_in_link_interwiki_uri3538 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
17257        public static final BitSet FOLLOW_67_in_link_interwiki_uri3540 = new BitSet(new long[]{0x8000000000000000L});
17258        public static final BitSet FOLLOW_63_in_link_interwiki_uri3542 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
17259        public static final BitSet FOLLOW_72_in_link_interwiki_uri3544 = new BitSet(new long[]{0x0000000000000002L});
17260        public static final BitSet FOLLOW_75_in_link_interwiki_uri3549 = new BitSet(new long[]{0x0008000000000000L});
17261        public static final BitSet FOLLOW_51_in_link_interwiki_uri3551 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
17262        public static final BitSet FOLLOW_66_in_link_interwiki_uri3553 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
17263        public static final BitSet FOLLOW_66_in_link_interwiki_uri3555 = new BitSet(new long[]{0x0020000000000000L});
17264        public static final BitSet FOLLOW_53_in_link_interwiki_uri3557 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L});
17265        public static final BitSet FOLLOW_76_in_link_interwiki_uri3559 = new BitSet(new long[]{0x0004000000000000L});
17266        public static final BitSet FOLLOW_50_in_link_interwiki_uri3561 = new BitSet(new long[]{0x0008000000000000L});
17267        public static final BitSet FOLLOW_51_in_link_interwiki_uri3563 = new BitSet(new long[]{0x0001000000000000L});
17268        public static final BitSet FOLLOW_48_in_link_interwiki_uri3565 = new BitSet(new long[]{0x0008000000000000L});
17269        public static final BitSet FOLLOW_51_in_link_interwiki_uri3567 = new BitSet(new long[]{0x0000000000000002L});
17270        public static final BitSet FOLLOW_75_in_link_interwiki_uri3572 = new BitSet(new long[]{0x0004000000000000L});
17271        public static final BitSet FOLLOW_50_in_link_interwiki_uri3574 = new BitSet(new long[]{0x0008000000000000L});
17272        public static final BitSet FOLLOW_51_in_link_interwiki_uri3576 = new BitSet(new long[]{0x0001000000000000L});
17273        public static final BitSet FOLLOW_48_in_link_interwiki_uri3578 = new BitSet(new long[]{0x0008000000000000L});
17274        public static final BitSet FOLLOW_51_in_link_interwiki_uri3580 = new BitSet(new long[]{0x0000000000000002L});
17275        public static final BitSet FOLLOW_77_in_link_interwiki_uri3585 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
17276        public static final BitSet FOLLOW_70_in_link_interwiki_uri3587 = new BitSet(new long[]{0x0400000000000000L});
17277        public static final BitSet FOLLOW_58_in_link_interwiki_uri3589 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
17278        public static final BitSet FOLLOW_69_in_link_interwiki_uri3591 = new BitSet(new long[]{0x0000800000000000L});
17279        public static final BitSet FOLLOW_47_in_link_interwiki_uri3593 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
17280        public static final BitSet FOLLOW_66_in_link_interwiki_uri3595 = new BitSet(new long[]{0x0000000000000002L});
17281        public static final BitSet FOLLOW_50_in_link_interwiki_uri3600 = new BitSet(new long[]{0x0008000000000000L});
17282        public static final BitSet FOLLOW_51_in_link_interwiki_uri3602 = new BitSet(new long[]{0x0001000000000000L});
17283        public static final BitSet FOLLOW_48_in_link_interwiki_uri3604 = new BitSet(new long[]{0x0008000000000000L});
17284        public static final BitSet FOLLOW_51_in_link_interwiki_uri3606 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
17285        public static final BitSet FOLLOW_72_in_link_interwiki_uri3608 = new BitSet(new long[]{0x0400000000000000L});
17286        public static final BitSet FOLLOW_58_in_link_interwiki_uri3610 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
17287        public static final BitSet FOLLOW_66_in_link_interwiki_uri3612 = new BitSet(new long[]{0x0008000000000000L});
17288        public static final BitSet FOLLOW_51_in_link_interwiki_uri3614 = new BitSet(new long[]{0x8000000000000000L});
17289        public static final BitSet FOLLOW_63_in_link_interwiki_uri3616 = new BitSet(new long[]{0x0000000000000002L});
17290        public static final BitSet FOLLOW_78_in_link_interwiki_uri3621 = new BitSet(new long[]{0x0004000000000000L});
17291        public static final BitSet FOLLOW_50_in_link_interwiki_uri3623 = new BitSet(new long[]{0x0008000000000000L});
17292        public static final BitSet FOLLOW_51_in_link_interwiki_uri3625 = new BitSet(new long[]{0x0001000000000000L});
17293        public static final BitSet FOLLOW_48_in_link_interwiki_uri3627 = new BitSet(new long[]{0x0008000000000000L});
17294        public static final BitSet FOLLOW_51_in_link_interwiki_uri3629 = new BitSet(new long[]{0x0000000000000002L});
17295        public static final BitSet FOLLOW_set_in_link_interwiki_pagename3649 = new BitSet(new long[]{0xFFFFFFFFDFF77FF2L,0x000000000003FFFFL});
17296        public static final BitSet FOLLOW_link_descriptionpart_in_link_description3692 = new BitSet(new long[]{0xFFFFFFFFDE5F7FF2L,0x000000000003FFFFL});
17297        public static final BitSet FOLLOW_image_in_link_description3704 = new BitSet(new long[]{0xFFFFFFFFDE5F7FF2L,0x000000000003FFFFL});
17298        public static final BitSet FOLLOW_bold_markup_in_link_descriptionpart3729 = new BitSet(new long[]{0xFFFFFFFFDE1F7FF0L,0x000000000003FFFFL});
17299        public static final BitSet FOLLOW_onestar_in_link_descriptionpart3732 = new BitSet(new long[]{0xFFFFFFFFDE1D7FF0L,0x000000000003FFFFL});
17300        public static final BitSet FOLLOW_link_bold_descriptionpart_in_link_descriptionpart3740 = new BitSet(new long[]{0xFFFFFFFFDE1F7FF0L,0x000000000003FFFFL});
17301        public static final BitSet FOLLOW_onestar_in_link_descriptionpart3745 = new BitSet(new long[]{0xFFFFFFFFDE1F7FF0L,0x000000000003FFFFL});
17302        public static final BitSet FOLLOW_bold_markup_in_link_descriptionpart3755 = new BitSet(new long[]{0x0000000000000002L});
17303        public static final BitSet FOLLOW_ital_markup_in_link_descriptionpart3760 = new BitSet(new long[]{0xFFFFFFFFDE0F7FF0L,0x000000000003FFFFL});
17304        public static final BitSet FOLLOW_onestar_in_link_descriptionpart3763 = new BitSet(new long[]{0xFFFFFFFFDE0F7FF0L,0x000000000003FFFFL});
17305        public static final BitSet FOLLOW_link_ital_descriptionpart_in_link_descriptionpart3772 = new BitSet(new long[]{0xFFFFFFFFDE1F7FF0L,0x000000000003FFFFL});
17306        public static final BitSet FOLLOW_onestar_in_link_descriptionpart3777 = new BitSet(new long[]{0xFFFFFFFFDE1F7FF0L,0x000000000003FFFFL});
17307        public static final BitSet FOLLOW_ital_markup_in_link_descriptionpart3786 = new BitSet(new long[]{0x0000000000000002L});
17308        public static final BitSet FOLLOW_onestar_in_link_descriptionpart3791 = new BitSet(new long[]{0xFFFFFFFFDE0D7FF0L,0x000000000003FFFFL});
17309        public static final BitSet FOLLOW_link_descriptiontext_in_link_descriptionpart3800 = new BitSet(new long[]{0xFFFFFFFFDE0F7FF2L,0x000000000003FFFFL});
17310        public static final BitSet FOLLOW_onestar_in_link_descriptionpart3803 = new BitSet(new long[]{0xFFFFFFFFDE0D7FF2L,0x000000000003FFFFL});
17311        public static final BitSet FOLLOW_ital_markup_in_link_bold_descriptionpart3823 = new BitSet(new long[]{0xFFFFFFFFDE0F7FF0L,0x000000000003FFFFL});
17312        public static final BitSet FOLLOW_link_boldital_description_in_link_bold_descriptionpart3830 = new BitSet(new long[]{0x0000000000100000L});
17313        public static final BitSet FOLLOW_ital_markup_in_link_bold_descriptionpart3835 = new BitSet(new long[]{0x0000000000000002L});
17314        public static final BitSet FOLLOW_link_descriptiontext_in_link_bold_descriptionpart3844 = new BitSet(new long[]{0x0000000000000002L});
17315        public static final BitSet FOLLOW_bold_markup_in_link_ital_descriptionpart3860 = new BitSet(new long[]{0xFFFFFFFFDE0F7FF0L,0x000000000003FFFFL});
17316        public static final BitSet FOLLOW_link_boldital_description_in_link_ital_descriptionpart3867 = new BitSet(new long[]{0x0000000000020000L});
17317        public static final BitSet FOLLOW_bold_markup_in_link_ital_descriptionpart3870 = new BitSet(new long[]{0x0000000000000002L});
17318        public static final BitSet FOLLOW_link_descriptiontext_in_link_ital_descriptionpart3881 = new BitSet(new long[]{0x0000000000000002L});
17319        public static final BitSet FOLLOW_onestar_in_link_boldital_description3897 = new BitSet(new long[]{0xFFFFFFFFDE0D7FF0L,0x000000000003FFFFL});
17320        public static final BitSet FOLLOW_link_descriptiontext_in_link_boldital_description3906 = new BitSet(new long[]{0xFFFFFFFFDE0F7FF2L,0x000000000003FFFFL});
17321        public static final BitSet FOLLOW_onestar_in_link_boldital_description3909 = new BitSet(new long[]{0xFFFFFFFFDE0D7FF2L,0x000000000003FFFFL});
17322        public static final BitSet FOLLOW_link_descriptiontext_simple_in_link_descriptiontext3932 = new BitSet(new long[]{0x0000000000000002L});
17323        public static final BitSet FOLLOW_forced_linebreak_in_link_descriptiontext3942 = new BitSet(new long[]{0x0000000006000002L});
17324        public static final BitSet FOLLOW_escaped_in_link_descriptiontext3954 = new BitSet(new long[]{0x0000000006000002L});
17325        public static final BitSet FOLLOW_set_in_link_descriptiontext_simple3979 = new BitSet(new long[]{0xFFFFFFFFD80D7FF2L,0x000000000003FFFFL});
17326        public static final BitSet FOLLOW_set_in_link_uri4078 = new BitSet(new long[]{0xFFFFFFFFDFF77FF2L,0x000000000003FFFFL});
17327        public static final BitSet FOLLOW_image_open_markup_in_image4119 = new BitSet(new long[]{0xFFFFFFFFBFF77FF0L,0x000000000003FFFFL});
17328        public static final BitSet FOLLOW_image_uri_in_image4125 = new BitSet(new long[]{0x0000000040080000L});
17329        public static final BitSet FOLLOW_image_alternative_in_image4135 = new BitSet(new long[]{0x0000000040000000L});
17330        public static final BitSet FOLLOW_image_close_markup_in_image4144 = new BitSet(new long[]{0x0000000000000002L});
17331        public static final BitSet FOLLOW_set_in_image_uri4163 = new BitSet(new long[]{0xFFFFFFFFBFF77FF2L,0x000000000003FFFFL});
17332        public static final BitSet FOLLOW_image_alternative_markup_in_image_alternative4198 = new BitSet(new long[]{0xFFFFFFFFBE1F7FF0L,0x000000000003FFFFL});
17333        public static final BitSet FOLLOW_image_alternativepart_in_image_alternative4207 = new BitSet(new long[]{0xFFFFFFFFBE1F7FF2L,0x000000000003FFFFL});
17334        public static final BitSet FOLLOW_bold_markup_in_image_alternativepart4233 = new BitSet(new long[]{0x0000000000120000L});
17335        public static final BitSet FOLLOW_onestar_in_image_alternativepart4236 = new BitSet(new long[]{0xFFFFFFFFBE1F7FF0L,0x000000000003FFFFL});
17336        public static final BitSet FOLLOW_image_bold_alternativepart_in_image_alternativepart4245 = new BitSet(new long[]{0x0000000000120000L});
17337        public static final BitSet FOLLOW_onestar_in_image_alternativepart4250 = new BitSet(new long[]{0xFFFFFFFFBE1F7FF0L,0x000000000003FFFFL});
17338        public static final BitSet FOLLOW_bold_markup_in_image_alternativepart4257 = new BitSet(new long[]{0x0000000000000002L});
17339        public static final BitSet FOLLOW_ital_markup_in_image_alternativepart4264 = new BitSet(new long[]{0x0000000000020000L});
17340        public static final BitSet FOLLOW_onestar_in_image_alternativepart4267 = new BitSet(new long[]{0xFFFFFFFFBE0F7FF0L,0x000000000003FFFFL});
17341        public static final BitSet FOLLOW_image_ital_alternativepart_in_image_alternativepart4277 = new BitSet(new long[]{0x0000000000120000L});
17342        public static final BitSet FOLLOW_onestar_in_image_alternativepart4282 = new BitSet(new long[]{0xFFFFFFFFBE1F7FF0L,0x000000000003FFFFL});
17343        public static final BitSet FOLLOW_ital_markup_in_image_alternativepart4289 = new BitSet(new long[]{0x0000000000000002L});
17344        public static final BitSet FOLLOW_onestar_in_image_alternativepart4296 = new BitSet(new long[]{0xFFFFFFFFBE0D7FF0L,0x000000000003FFFFL});
17345        public static final BitSet FOLLOW_image_alternativetext_in_image_alternativepart4303 = new BitSet(new long[]{0xFFFFFFFFBE0F7FF2L,0x000000000003FFFFL});
17346        public static final BitSet FOLLOW_onestar_in_image_alternativepart4308 = new BitSet(new long[]{0xFFFFFFFFBE0D7FF2L,0x000000000003FFFFL});
17347        public static final BitSet FOLLOW_ital_markup_in_image_bold_alternativepart4334 = new BitSet(new long[]{0xFFFFFFFFDE0F7FF0L,0x000000000003FFFFL});
17348        public static final BitSet FOLLOW_link_boldital_description_in_image_bold_alternativepart4341 = new BitSet(new long[]{0x0000000000100000L});
17349        public static final BitSet FOLLOW_ital_markup_in_image_bold_alternativepart4346 = new BitSet(new long[]{0x0000000000000002L});
17350        public static final BitSet FOLLOW_onestar_in_image_bold_alternativepart4351 = new BitSet(new long[]{0xFFFFFFFFBE0D7FF0L,0x000000000003FFFFL});
17351        public static final BitSet FOLLOW_image_alternativetext_in_image_bold_alternativepart4360 = new BitSet(new long[]{0xFFFFFFFFBE0F7FF2L,0x000000000003FFFFL});
17352        public static final BitSet FOLLOW_onestar_in_image_bold_alternativepart4363 = new BitSet(new long[]{0xFFFFFFFFBE0D7FF2L,0x000000000003FFFFL});
17353        public static final BitSet FOLLOW_bold_markup_in_image_ital_alternativepart4391 = new BitSet(new long[]{0xFFFFFFFFDE0F7FF0L,0x000000000003FFFFL});
17354        public static final BitSet FOLLOW_link_boldital_description_in_image_ital_alternativepart4398 = new BitSet(new long[]{0x0000000000020000L});
17355        public static final BitSet FOLLOW_bold_markup_in_image_ital_alternativepart4403 = new BitSet(new long[]{0x0000000000000002L});
17356        public static final BitSet FOLLOW_onestar_in_image_ital_alternativepart4408 = new BitSet(new long[]{0xFFFFFFFFBE0D7FF0L,0x000000000003FFFFL});
17357        public static final BitSet FOLLOW_image_alternativetext_in_image_ital_alternativepart4417 = new BitSet(new long[]{0xFFFFFFFFBE0F7FF2L,0x000000000003FFFFL});
17358        public static final BitSet FOLLOW_onestar_in_image_ital_alternativepart4420 = new BitSet(new long[]{0xFFFFFFFFBE0D7FF2L,0x000000000003FFFFL});
17359        public static final BitSet FOLLOW_onestar_in_image_boldital_alternative4441 = new BitSet(new long[]{0xFFFFFFFFBE0D7FF0L,0x000000000003FFFFL});
17360        public static final BitSet FOLLOW_image_alternativetext_in_image_boldital_alternative4450 = new BitSet(new long[]{0xFFFFFFFFBE0F7FF2L,0x000000000003FFFFL});
17361        public static final BitSet FOLLOW_onestar_in_image_boldital_alternative4453 = new BitSet(new long[]{0xFFFFFFFFBE0D7FF2L,0x000000000003FFFFL});
17362        public static final BitSet FOLLOW_image_alternative_simple_text_in_image_alternativetext4475 = new BitSet(new long[]{0x0000000000000002L});
17363        public static final BitSet FOLLOW_forced_linebreak_in_image_alternativetext4483 = new BitSet(new long[]{0x0000000002000002L});
17364        public static final BitSet FOLLOW_set_in_image_alternative_simple_text4509 = new BitSet(new long[]{0xFFFFFFFFBC0D7FF2L,0x000000000003FFFFL});
17365        public static final BitSet FOLLOW_extension_markup_in_extension4601 = new BitSet(new long[]{0xFFFFFFFF7EFF7FF0L,0x000000000003FFFFL});
17366        public static final BitSet FOLLOW_extension_handler_in_extension4604 = new BitSet(new long[]{0x0000000080000000L});
17367        public static final BitSet FOLLOW_blanks_in_extension4607 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000003FFFFL});
17368        public static final BitSet FOLLOW_extension_statement_in_extension4610 = new BitSet(new long[]{0x0000000001000000L});
17369        public static final BitSet FOLLOW_extension_markup_in_extension4614 = new BitSet(new long[]{0x0000000000000002L});
17370        public static final BitSet FOLLOW_set_in_extension_handler4626 = new BitSet(new long[]{0xFFFFFFFF7EFF7FF2L,0x000000000003FFFFL});
17371        public static final BitSet FOLLOW_escaped_in_extension_handler4659 = new BitSet(new long[]{0xFFFFFFFF7EFF7FF2L,0x000000000003FFFFL});
17372        public static final BitSet FOLLOW_set_in_extension_statement4674 = new BitSet(new long[]{0xFFFFFFFFFEFFFFF2L,0x000000000003FFFFL});
17373        public static final BitSet FOLLOW_escaped_in_extension_statement4695 = new BitSet(new long[]{0xFFFFFFFFFEFFFFF2L,0x000000000003FFFFL});
17374        public static final BitSet FOLLOW_TABLE_OF_CONTENTS_OPEN_in_table_of_contents4723 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L});
17375        public static final BitSet FOLLOW_79_in_table_of_contents4725 = new BitSet(new long[]{0x0000000200000000L});
17376        public static final BitSet FOLLOW_TABLE_OF_CONTENTS_CLOSE_in_table_of_contents4727 = new BitSet(new long[]{0x0000000000000002L});
17377        public static final BitSet FOLLOW_TABLE_OF_CONTENTS_OPEN_in_table_of_contents4737 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L});
17378        public static final BitSet FOLLOW_80_in_table_of_contents4739 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L});
17379        public static final BitSet FOLLOW_81_in_table_of_contents4744 = new BitSet(new long[]{0xFFFFFFFDFB1B7FF0L,0x000000000003FFFFL});
17380        public static final BitSet FOLLOW_table_of_contents_title_text_in_table_of_contents4753 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L});
17381        public static final BitSet FOLLOW_81_in_table_of_contents4760 = new BitSet(new long[]{0x0000000200000000L});
17382        public static final BitSet FOLLOW_TABLE_OF_CONTENTS_CLOSE_in_table_of_contents4765 = new BitSet(new long[]{0x0000000000000002L});
17383        public static final BitSet FOLLOW_set_in_table_of_contents_title_text4790 = new BitSet(new long[]{0xFFFFFFFDFB1B7FF2L,0x000000000003FFFFL});
17384        public static final BitSet FOLLOW_STAR_in_onestar4845 = new BitSet(new long[]{0x0000000000000002L});
17385        public static final BitSet FOLLOW_ESCAPE_in_escaped4866 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000003FFFFL});
17386        public static final BitSet FOLLOW_newline_in_paragraph_separator4890 = new BitSet(new long[]{0x0000000000008002L});
17387        public static final BitSet FOLLOW_EOF_in_paragraph_separator4898 = new BitSet(new long[]{0x0000000000000002L});
17388        public static final BitSet FOLLOW_blanks_in_whitespaces4910 = new BitSet(new long[]{0x0000000080008002L});
17389        public static final BitSet FOLLOW_newline_in_whitespaces4914 = new BitSet(new long[]{0x0000000080008002L});
17390        public static final BitSet FOLLOW_BLANKS_in_blanks4927 = new BitSet(new long[]{0x0000000000000002L});
17391        public static final BitSet FOLLOW_newline_in_text_lineseparator4937 = new BitSet(new long[]{0x0000000080000002L});
17392        public static final BitSet FOLLOW_blanks_in_text_lineseparator4942 = new BitSet(new long[]{0x0000000000000002L});
17393        public static final BitSet FOLLOW_EOF_in_text_lineseparator4950 = new BitSet(new long[]{0x0000000000000002L});
17394        public static final BitSet FOLLOW_NEWLINE_in_newline4960 = new BitSet(new long[]{0x0000000000000002L});
17395        public static final BitSet FOLLOW_STAR_in_bold_markup4970 = new BitSet(new long[]{0x0000000000020000L});
17396        public static final BitSet FOLLOW_STAR_in_bold_markup4973 = new BitSet(new long[]{0x0000000000000002L});
17397        public static final BitSet FOLLOW_ITAL_in_ital_markup4983 = new BitSet(new long[]{0x0000000000000002L});
17398        public static final BitSet FOLLOW_EQUAL_in_heading_markup4993 = new BitSet(new long[]{0x0000000000000002L});
17399        public static final BitSet FOLLOW_POUND_in_list_ordelem_markup5003 = new BitSet(new long[]{0x0000000000000002L});
17400        public static final BitSet FOLLOW_STAR_in_list_unordelem_markup5013 = new BitSet(new long[]{0x0000000000000002L});
17401        public static final BitSet FOLLOW_newline_in_list_elemseparator5023 = new BitSet(new long[]{0x0000000080000002L});
17402        public static final BitSet FOLLOW_blanks_in_list_elemseparator5028 = new BitSet(new long[]{0x0000000000000002L});
17403        public static final BitSet FOLLOW_EOF_in_list_elemseparator5036 = new BitSet(new long[]{0x0000000000000002L});
17404        public static final BitSet FOLLOW_newline_in_end_of_list5046 = new BitSet(new long[]{0x0000000000000002L});
17405        public static final BitSet FOLLOW_EOF_in_end_of_list5051 = new BitSet(new long[]{0x0000000000000002L});
17406        public static final BitSet FOLLOW_PIPE_in_table_cell_markup5061 = new BitSet(new long[]{0x0000000000000002L});
17407        public static final BitSet FOLLOW_PIPE_in_table_headercell_markup5071 = new BitSet(new long[]{0x0000000000040000L});
17408        public static final BitSet FOLLOW_EQUAL_in_table_headercell_markup5074 = new BitSet(new long[]{0x0000000000000002L});
17409        public static final BitSet FOLLOW_newline_in_table_rowseparator5084 = new BitSet(new long[]{0x0000000000000002L});
17410        public static final BitSet FOLLOW_EOF_in_table_rowseparator5089 = new BitSet(new long[]{0x0000000000000002L});
17411        public static final BitSet FOLLOW_NOWIKI_OPEN_in_nowiki_open_markup5099 = new BitSet(new long[]{0x0000000000000002L});
17412        public static final BitSet FOLLOW_NOWIKI_CLOSE_in_nowiki_close_markup5109 = new BitSet(new long[]{0x0000000000000002L});
17413        public static final BitSet FOLLOW_DASH_in_horizontalrule_markup5119 = new BitSet(new long[]{0x0000000400000000L});
17414        public static final BitSet FOLLOW_DASH_in_horizontalrule_markup5122 = new BitSet(new long[]{0x0000000400000000L});
17415        public static final BitSet FOLLOW_DASH_in_horizontalrule_markup5125 = new BitSet(new long[]{0x0000000400000000L});
17416        public static final BitSet FOLLOW_DASH_in_horizontalrule_markup5128 = new BitSet(new long[]{0x0000000000000002L});
17417        public static final BitSet FOLLOW_LINK_OPEN_in_link_open_markup5138 = new BitSet(new long[]{0x0000000000000002L});
17418        public static final BitSet FOLLOW_LINK_CLOSE_in_link_close_markup5148 = new BitSet(new long[]{0x0000000000000002L});
17419        public static final BitSet FOLLOW_PIPE_in_link_description_markup5158 = new BitSet(new long[]{0x0000000000000002L});
17420        public static final BitSet FOLLOW_IMAGE_OPEN_in_image_open_markup5168 = new BitSet(new long[]{0x0000000000000002L});
17421        public static final BitSet FOLLOW_IMAGE_CLOSE_in_image_close_markup5178 = new BitSet(new long[]{0x0000000000000002L});
17422        public static final BitSet FOLLOW_PIPE_in_image_alternative_markup5188 = new BitSet(new long[]{0x0000000000000002L});
17423        public static final BitSet FOLLOW_EXTENSION_in_extension_markup5198 = new BitSet(new long[]{0x0000000000000002L});
17424        public static final BitSet FOLLOW_FORCED_LINEBREAK_in_forced_linebreak5208 = new BitSet(new long[]{0x0000000000000002L});
17425        public static final BitSet FOLLOW_NOWIKI_OPEN_in_synpred1317 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF0L,0x000000000003FFFFL});
17426        public static final BitSet FOLLOW_set_in_synpred1320 = new BitSet(new long[]{0x0000000000000002L});
17427    
17428    }