001    // $ANTLR 3.0.1 /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g 2012-07-18 19:11:15
002    
003    /**
004     * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved.
005     *
006     * The contents of this file are subject to the terms of the Liferay Enterprise
007     * Subscription License ("License"). You may not use this file except in
008     * compliance with the License. You can obtain a copy of the License by
009     * contacting Liferay, Inc. See the License for the specific language governing
010     * permissions and limitations under the License, including but not limited to
011     * distribution rights of the Software.
012     *
013     *
014     *
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.BoldTextNode;
022    import com.liferay.portal.parsers.creole.ast.CollectionNode;
023    import com.liferay.portal.parsers.creole.ast.extension.TableOfContentsNode;
024    import com.liferay.portal.parsers.creole.ast.ForcedEndOfLineNode;
025    import com.liferay.portal.parsers.creole.ast.FormattedTextNode;
026    import com.liferay.portal.parsers.creole.ast.HeadingNode;
027    import com.liferay.portal.parsers.creole.ast.HorizontalNode;
028    import com.liferay.portal.parsers.creole.ast.ImageNode;
029    import com.liferay.portal.parsers.creole.ast.ItalicTextNode;
030    import com.liferay.portal.parsers.creole.ast.LineNode;
031    import com.liferay.portal.parsers.creole.ast.link.InterwikiLinkNode;
032    import com.liferay.portal.parsers.creole.ast.link.LinkNode;
033    import com.liferay.portal.parsers.creole.ast.NoWikiSectionNode;
034    import com.liferay.portal.parsers.creole.ast.OrderedListItemNode;
035    import com.liferay.portal.parsers.creole.ast.OrderedListNode;
036    import com.liferay.portal.parsers.creole.ast.ParagraphNode;
037    import com.liferay.portal.parsers.creole.ast.ScapedNode;
038    import com.liferay.portal.parsers.creole.ast.table.TableCellNode;
039    import com.liferay.portal.parsers.creole.ast.table.TableDataNode;
040    import com.liferay.portal.parsers.creole.ast.table.TableHeaderNode;
041    import com.liferay.portal.parsers.creole.ast.table.TableNode;
042    import com.liferay.portal.parsers.creole.ast.UnorderedListItemNode;
043    import com.liferay.portal.parsers.creole.ast.UnorderedListNode;
044    import com.liferay.portal.parsers.creole.ast.UnformattedTextNode;
045    import com.liferay.portal.parsers.creole.ast.WikiPageNode;
046    
047    /**
048    * This is a generated file from Creole10.g. DO NOT MODIFY THIS FILE MANUALLY!!
049    * If needed, modify the grammar and rerun the ant generation task
050    * (ant build-creole-parser)
051    */
052    
053    
054    import org.antlr.runtime.*;
055    import java.util.Stack;
056    import java.util.List;
057    import java.util.ArrayList;
058    import java.util.Map;
059    import java.util.HashMap;
060    @SuppressWarnings("all")
061    public class Creole10Parser extends Parser {
062        public static final String[] tokenNames = new String[] {
063            "<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_TEXT", "DASH", "CR", "LF", "SPACE", "TABULATOR", "BRACE_CLOSE", "COLON_SLASH", "SLASH", "TABLE_OF_CONTENTS_OPEN_MARKUP", "TABLE_OF_CONTENTS_CLOSE_MARKUP", "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'"
064        };
065        public static final int INSIGNIFICANT_CHAR=43;
066        public static final int STAR=17;
067        public static final int FORCED_END_OF_LINE=4;
068        public static final int TABLE_OF_CONTENTS_TEXT=32;
069        public static final int NOWIKI_BLOCK_CLOSE=27;
070        public static final int EOF=-1;
071        public static final int NOWIKI_CLOSE=28;
072        public static final int SPACE=36;
073        public static final int LIST_ITEM=7;
074        public static final int TEXT_NODE=11;
075        public static final int WIKI=14;
076        public static final int SLASH=40;
077        public static final int ESCAPE=26;
078        public static final int BRACE_CLOSE=38;
079        public static final int EQUAL=18;
080        public static final int TABULATOR=37;
081        public static final int PIPE=19;
082        public static final int LIST_ITEM_PART=8;
083        public static final int LINK_OPEN=21;
084        public static final int TABLE_OF_CONTENTS_OPEN_MARKUP=41;
085        public static final int BLANKS=31;
086        public static final int FORCED_LINEBREAK=25;
087        public static final int UNORDERED_LIST=12;
088        public static final int POUND=16;
089        public static final int DASH=33;
090        public static final int HEADING_SECTION=5;
091        public static final int NOWIKI_OPEN=23;
092        public static final int HORIZONTAL_SECTION=6;
093        public static final int UNFORMATTED_TEXT=13;
094        public static final int NOWIKI_SECTION=9;
095        public static final int ITAL=20;
096        public static final int IMAGE_OPEN=22;
097        public static final int COLON_SLASH=39;
098        public static final int NEWLINE=15;
099        public static final int SCAPE_NODE=10;
100        public static final int IMAGE_CLOSE=30;
101        public static final int TABLE_OF_CONTENTS_CLOSE_MARKUP=42;
102        public static final int LINK_CLOSE=29;
103        public static final int CR=34;
104        public static final int EXTENSION=24;
105        public static final int LF=35;
106        protected static class CountLevel_scope {
107            int level;
108            String currentMarkup;
109            String groups;
110        }
111        protected Stack CountLevel_stack = new Stack();
112    
113    
114            public Creole10Parser(TokenStream input) {
115                super(input);
116                ruleMemo = new HashMap[129+1];
117             }
118            
119    
120        public String[] getTokenNames() { return tokenNames; }
121        public String getGrammarFileName() { return "/home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g"; }
122    
123    
124            protected static final String GROUPING_SEPARATOR = "-";
125    
126            private WikiPageNode _wikipage = null;
127    
128            public WikiPageNode getWikiPageNode() {
129                    if(_wikipage == null)
130                            throw new IllegalStateException("No succesful parsing process");
131    
132                    return _wikipage;
133            }
134    
135    
136    
137        // $ANTLR start wikipage
138        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:111:1: wikipage : ( whitespaces )? p= paragraphs EOF ;
139        public final void wikipage() throws RecognitionException {
140            CollectionNode p = null;
141    
142    
143            try {
144                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:112:2: ( ( whitespaces )? p= paragraphs EOF )
145                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:112:4: ( whitespaces )? p= paragraphs EOF
146                {
147                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:112:4: ( whitespaces )?
148                int alt1=2;
149                int LA1_0 = input.LA(1);
150    
151                if ( (LA1_0==NEWLINE||LA1_0==BLANKS) ) {
152                    alt1=1;
153                }
154                switch (alt1) {
155                    case 1 :
156                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:112:6: whitespaces
157                        {
158                        pushFollow(FOLLOW_whitespaces_in_wikipage112);
159                        whitespaces();
160                        _fsp--;
161                        if (failed) return ;
162    
163                        }
164                        break;
165    
166                }
167    
168                pushFollow(FOLLOW_paragraphs_in_wikipage120);
169                p=paragraphs();
170                _fsp--;
171                if (failed) return ;
172                if ( backtracking==0 ) {
173                   _wikipage = new WikiPageNode(p); 
174                }
175                match(input,EOF,FOLLOW_EOF_in_wikipage125); if (failed) return ;
176    
177                }
178    
179            }
180            catch (RecognitionException re) {
181                reportError(re);
182                recover(input,re);
183            }
184            finally {
185            }
186            return ;
187        }
188        // $ANTLR end wikipage
189    
190    
191        // $ANTLR start paragraphs
192        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:114:1: paragraphs returns [CollectionNode sections = new CollectionNode()] : (p= paragraph )* ;
193        public final CollectionNode paragraphs() throws RecognitionException {
194            CollectionNode sections =  new CollectionNode();
195    
196            ASTNode p = null;
197    
198    
199            try {
200                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:115:2: ( (p= paragraph )* )
201                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:115:4: (p= paragraph )*
202                {
203                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:115:4: (p= paragraph )*
204                loop2:
205                do {
206                    int alt2=2;
207                    int LA2_0 = input.LA(1);
208    
209                    if ( ((LA2_0>=FORCED_END_OF_LINE && LA2_0<=WIKI)||(LA2_0>=POUND && LA2_0<=79)) ) {
210                        alt2=1;
211                    }
212    
213    
214                    switch (alt2) {
215                    case 1 :
216                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:115:5: p= paragraph
217                        {
218                        pushFollow(FOLLOW_paragraph_in_paragraphs143);
219                        p=paragraph();
220                        _fsp--;
221                        if (failed) return sections;
222                        if ( backtracking==0 ) {
223    
224                                            if(p != null){ // at this moment we ignore paragraps with blanks
225                                                    sections.add(p);
226                                            }
227                                            
228                        }
229    
230                        }
231                        break;
232    
233                    default :
234                        break loop2;
235                    }
236                } while (true);
237    
238    
239                }
240    
241            }
242            catch (RecognitionException re) {
243                reportError(re);
244                recover(input,re);
245            }
246            finally {
247            }
248            return sections;
249        }
250        // $ANTLR end paragraphs
251    
252    
253        // $ANTLR start paragraph
254        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:121:1: paragraph returns [ASTNode node = null] : (n= nowiki_block | blanks paragraph_separator | ( blanks )? (tof= table_of_contents | h= heading | {...}?hn= horizontalrule | lu= list_unord | lo= list_ord | t= table | tp= text_paragraph ) ( paragraph_separator )? );
255        public final ASTNode paragraph() throws RecognitionException {
256            ASTNode node =  null;
257    
258            NoWikiSectionNode n = null;
259    
260            ASTNode tof = null;
261    
262            ASTNode h = null;
263    
264            ASTNode hn = null;
265    
266            UnorderedListNode lu = null;
267    
268            OrderedListNode lo = null;
269    
270            TableNode t = null;
271    
272            ParagraphNode tp = null;
273    
274    
275            try {
276                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:122:2: (n= nowiki_block | blanks paragraph_separator | ( blanks )? (tof= table_of_contents | h= heading | {...}?hn= horizontalrule | lu= list_unord | lo= list_ord | t= table | tp= text_paragraph ) ( paragraph_separator )? )
277                int alt6=3;
278                switch ( input.LA(1) ) {
279                case NOWIKI_OPEN:
280                    {
281                    int LA6_1 = input.LA(2);
282    
283                    if ( (LA6_1==NEWLINE) ) {
284                        alt6=1;
285                    }
286                    else if ( ((LA6_1>=FORCED_END_OF_LINE && LA6_1<=WIKI)||(LA6_1>=POUND && LA6_1<=79)) ) {
287                        alt6=3;
288                    }
289                    else {
290                        if (backtracking>0) {failed=true; return node;}
291                        NoViableAltException nvae =
292                            new NoViableAltException("121:1: paragraph returns [ASTNode node = null] : (n= nowiki_block | blanks paragraph_separator | ( blanks )? (tof= table_of_contents | h= heading | {...}?hn= horizontalrule | lu= list_unord | lo= list_ord | t= table | tp= text_paragraph ) ( paragraph_separator )? );", 6, 1, input);
293    
294                        throw nvae;
295                    }
296                    }
297                    break;
298                case BLANKS:
299                    {
300                    switch ( input.LA(2) ) {
301                    case FORCED_END_OF_LINE:
302                    case HEADING_SECTION:
303                    case HORIZONTAL_SECTION:
304                    case LIST_ITEM:
305                    case LIST_ITEM_PART:
306                    case NOWIKI_SECTION:
307                    case SCAPE_NODE:
308                    case TEXT_NODE:
309                    case UNORDERED_LIST:
310                    case UNFORMATTED_TEXT:
311                    case WIKI:
312                    case POUND:
313                    case STAR:
314                    case EQUAL:
315                    case PIPE:
316                    case ITAL:
317                    case LINK_OPEN:
318                    case IMAGE_OPEN:
319                    case NOWIKI_OPEN:
320                    case EXTENSION:
321                    case FORCED_LINEBREAK:
322                    case ESCAPE:
323                    case NOWIKI_BLOCK_CLOSE:
324                    case NOWIKI_CLOSE:
325                    case LINK_CLOSE:
326                    case IMAGE_CLOSE:
327                    case BLANKS:
328                    case TABLE_OF_CONTENTS_TEXT:
329                    case DASH:
330                    case CR:
331                    case LF:
332                    case SPACE:
333                    case TABULATOR:
334                    case BRACE_CLOSE:
335                    case COLON_SLASH:
336                    case SLASH:
337                    case TABLE_OF_CONTENTS_OPEN_MARKUP:
338                    case TABLE_OF_CONTENTS_CLOSE_MARKUP:
339                    case INSIGNIFICANT_CHAR:
340                    case 44:
341                    case 45:
342                    case 46:
343                    case 47:
344                    case 48:
345                    case 49:
346                    case 50:
347                    case 51:
348                    case 52:
349                    case 53:
350                    case 54:
351                    case 55:
352                    case 56:
353                    case 57:
354                    case 58:
355                    case 59:
356                    case 60:
357                    case 61:
358                    case 62:
359                    case 63:
360                    case 64:
361                    case 65:
362                    case 66:
363                    case 67:
364                    case 68:
365                    case 69:
366                    case 70:
367                    case 71:
368                    case 72:
369                    case 73:
370                    case 74:
371                    case 75:
372                    case 76:
373                    case 77:
374                    case 78:
375                    case 79:
376                        {
377                        alt6=3;
378                        }
379                        break;
380                    case NEWLINE:
381                        {
382                        alt6=2;
383                        }
384                        break;
385                    case EOF:
386                        {
387                        alt6=2;
388                        }
389                        break;
390                    default:
391                        if (backtracking>0) {failed=true; return node;}
392                        NoViableAltException nvae =
393                            new NoViableAltException("121:1: paragraph returns [ASTNode node = null] : (n= nowiki_block | blanks paragraph_separator | ( blanks )? (tof= table_of_contents | h= heading | {...}?hn= horizontalrule | lu= list_unord | lo= list_ord | t= table | tp= text_paragraph ) ( paragraph_separator )? );", 6, 2, input);
394    
395                        throw nvae;
396                    }
397    
398                    }
399                    break;
400                case FORCED_END_OF_LINE:
401                case HEADING_SECTION:
402                case HORIZONTAL_SECTION:
403                case LIST_ITEM:
404                case LIST_ITEM_PART:
405                case NOWIKI_SECTION:
406                case SCAPE_NODE:
407                case TEXT_NODE:
408                case UNORDERED_LIST:
409                case UNFORMATTED_TEXT:
410                case WIKI:
411                case POUND:
412                case STAR:
413                case EQUAL:
414                case PIPE:
415                case ITAL:
416                case LINK_OPEN:
417                case IMAGE_OPEN:
418                case EXTENSION:
419                case FORCED_LINEBREAK:
420                case ESCAPE:
421                case NOWIKI_BLOCK_CLOSE:
422                case NOWIKI_CLOSE:
423                case LINK_CLOSE:
424                case IMAGE_CLOSE:
425                case TABLE_OF_CONTENTS_TEXT:
426                case DASH:
427                case CR:
428                case LF:
429                case SPACE:
430                case TABULATOR:
431                case BRACE_CLOSE:
432                case COLON_SLASH:
433                case SLASH:
434                case TABLE_OF_CONTENTS_OPEN_MARKUP:
435                case TABLE_OF_CONTENTS_CLOSE_MARKUP:
436                case INSIGNIFICANT_CHAR:
437                case 44:
438                case 45:
439                case 46:
440                case 47:
441                case 48:
442                case 49:
443                case 50:
444                case 51:
445                case 52:
446                case 53:
447                case 54:
448                case 55:
449                case 56:
450                case 57:
451                case 58:
452                case 59:
453                case 60:
454                case 61:
455                case 62:
456                case 63:
457                case 64:
458                case 65:
459                case 66:
460                case 67:
461                case 68:
462                case 69:
463                case 70:
464                case 71:
465                case 72:
466                case 73:
467                case 74:
468                case 75:
469                case 76:
470                case 77:
471                case 78:
472                case 79:
473                    {
474                    alt6=3;
475                    }
476                    break;
477                default:
478                    if (backtracking>0) {failed=true; return node;}
479                    NoViableAltException nvae =
480                        new NoViableAltException("121:1: paragraph returns [ASTNode node = null] : (n= nowiki_block | blanks paragraph_separator | ( blanks )? (tof= table_of_contents | h= heading | {...}?hn= horizontalrule | lu= list_unord | lo= list_ord | t= table | tp= text_paragraph ) ( paragraph_separator )? );", 6, 0, input);
481    
482                    throw nvae;
483                }
484    
485                switch (alt6) {
486                    case 1 :
487                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:122:4: n= nowiki_block
488                        {
489                        pushFollow(FOLLOW_nowiki_block_in_paragraph164);
490                        n=nowiki_block();
491                        _fsp--;
492                        if (failed) return node;
493                        if ( backtracking==0 ) {
494                           node = n; 
495                        }
496    
497                        }
498                        break;
499                    case 2 :
500                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:123:4: blanks paragraph_separator
501                        {
502                        pushFollow(FOLLOW_blanks_in_paragraph171);
503                        blanks();
504                        _fsp--;
505                        if (failed) return node;
506                        pushFollow(FOLLOW_paragraph_separator_in_paragraph174);
507                        paragraph_separator();
508                        _fsp--;
509                        if (failed) return node;
510    
511                        }
512                        break;
513                    case 3 :
514                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:124:4: ( blanks )? (tof= table_of_contents | h= heading | {...}?hn= horizontalrule | lu= list_unord | lo= list_ord | t= table | tp= text_paragraph ) ( paragraph_separator )?
515                        {
516                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:124:4: ( blanks )?
517                        int alt3=2;
518                        int LA3_0 = input.LA(1);
519    
520                        if ( (LA3_0==BLANKS) ) {
521                            alt3=1;
522                        }
523                        switch (alt3) {
524                            case 1 :
525                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:124:6: blanks
526                                {
527                                pushFollow(FOLLOW_blanks_in_paragraph181);
528                                blanks();
529                                _fsp--;
530                                if (failed) return node;
531    
532                                }
533                                break;
534    
535                        }
536    
537                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:125:4: (tof= table_of_contents | h= heading | {...}?hn= horizontalrule | lu= list_unord | lo= list_ord | t= table | tp= text_paragraph )
538                        int alt4=7;
539                        switch ( input.LA(1) ) {
540                        case TABLE_OF_CONTENTS_TEXT:
541                            {
542                            alt4=1;
543                            }
544                            break;
545                        case EQUAL:
546                            {
547                            alt4=2;
548                            }
549                            break;
550                        case DASH:
551                            {
552                            int LA4_3 = input.LA(2);
553    
554                            if ( ( input.LA(1) == DASH && input.LA(2) == DASH &&
555                                                            input.LA(3) == DASH && input.LA(4) == DASH ) ) {
556                                alt4=3;
557                            }
558                            else if ( (true) ) {
559                                alt4=7;
560                            }
561                            else {
562                                if (backtracking>0) {failed=true; return node;}
563                                NoViableAltException nvae =
564                                    new NoViableAltException("125:4: (tof= table_of_contents | h= heading | {...}?hn= horizontalrule | lu= list_unord | lo= list_ord | t= table | tp= text_paragraph )", 4, 3, input);
565    
566                                throw nvae;
567                            }
568                            }
569                            break;
570                        case STAR:
571                            {
572                            int LA4_4 = input.LA(2);
573    
574                            if ( (!( input.LA(1) != STAR || (input.LA(1) == STAR && input.LA(2) == STAR) )) ) {
575                                alt4=4;
576                            }
577                            else if ( ( input.LA(1) != STAR || (input.LA(1) == STAR && input.LA(2) == STAR) ) ) {
578                                alt4=7;
579                            }
580                            else {
581                                if (backtracking>0) {failed=true; return node;}
582                                NoViableAltException nvae =
583                                    new NoViableAltException("125:4: (tof= table_of_contents | h= heading | {...}?hn= horizontalrule | lu= list_unord | lo= list_ord | t= table | tp= text_paragraph )", 4, 4, input);
584    
585                                throw nvae;
586                            }
587                            }
588                            break;
589                        case POUND:
590                            {
591                            alt4=5;
592                            }
593                            break;
594                        case PIPE:
595                            {
596                            alt4=6;
597                            }
598                            break;
599                        case FORCED_END_OF_LINE:
600                        case HEADING_SECTION:
601                        case HORIZONTAL_SECTION:
602                        case LIST_ITEM:
603                        case LIST_ITEM_PART:
604                        case NOWIKI_SECTION:
605                        case SCAPE_NODE:
606                        case TEXT_NODE:
607                        case UNORDERED_LIST:
608                        case UNFORMATTED_TEXT:
609                        case WIKI:
610                        case ITAL:
611                        case LINK_OPEN:
612                        case IMAGE_OPEN:
613                        case NOWIKI_OPEN:
614                        case EXTENSION:
615                        case FORCED_LINEBREAK:
616                        case ESCAPE:
617                        case NOWIKI_BLOCK_CLOSE:
618                        case NOWIKI_CLOSE:
619                        case LINK_CLOSE:
620                        case IMAGE_CLOSE:
621                        case BLANKS:
622                        case CR:
623                        case LF:
624                        case SPACE:
625                        case TABULATOR:
626                        case BRACE_CLOSE:
627                        case COLON_SLASH:
628                        case SLASH:
629                        case TABLE_OF_CONTENTS_OPEN_MARKUP:
630                        case TABLE_OF_CONTENTS_CLOSE_MARKUP:
631                        case INSIGNIFICANT_CHAR:
632                        case 44:
633                        case 45:
634                        case 46:
635                        case 47:
636                        case 48:
637                        case 49:
638                        case 50:
639                        case 51:
640                        case 52:
641                        case 53:
642                        case 54:
643                        case 55:
644                        case 56:
645                        case 57:
646                        case 58:
647                        case 59:
648                        case 60:
649                        case 61:
650                        case 62:
651                        case 63:
652                        case 64:
653                        case 65:
654                        case 66:
655                        case 67:
656                        case 68:
657                        case 69:
658                        case 70:
659                        case 71:
660                        case 72:
661                        case 73:
662                        case 74:
663                        case 75:
664                        case 76:
665                        case 77:
666                        case 78:
667                        case 79:
668                            {
669                            alt4=7;
670                            }
671                            break;
672                        default:
673                            if (backtracking>0) {failed=true; return node;}
674                            NoViableAltException nvae =
675                                new NoViableAltException("125:4: (tof= table_of_contents | h= heading | {...}?hn= horizontalrule | lu= list_unord | lo= list_ord | t= table | tp= text_paragraph )", 4, 0, input);
676    
677                            throw nvae;
678                        }
679    
680                        switch (alt4) {
681                            case 1 :
682                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:125:6: tof= table_of_contents
683                                {
684                                pushFollow(FOLLOW_table_of_contents_in_paragraph195);
685                                tof=table_of_contents();
686                                _fsp--;
687                                if (failed) return node;
688                                if ( backtracking==0 ) {
689                                  node = tof;
690                                }
691    
692                                }
693                                break;
694                            case 2 :
695                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:126:6: h= heading
696                                {
697                                pushFollow(FOLLOW_heading_in_paragraph209);
698                                h=heading();
699                                _fsp--;
700                                if (failed) return node;
701                                if ( backtracking==0 ) {
702                                   node = h;
703                                }
704    
705                                }
706                                break;
707                            case 3 :
708                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:127:6: {...}?hn= horizontalrule
709                                {
710                                if ( !( input.LA(1) == DASH && input.LA(2) == DASH &&
711                                                            input.LA(3) == DASH && input.LA(4) == DASH ) ) {
712                                    if (backtracking>0) {failed=true; return node;}
713                                    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 ");
714                                }
715                                pushFollow(FOLLOW_horizontalrule_in_paragraph228);
716                                hn=horizontalrule();
717                                _fsp--;
718                                if (failed) return node;
719                                if ( backtracking==0 ) {
720                                  node = hn;
721                                }
722    
723                                }
724                                break;
725                            case 4 :
726                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:130:6: lu= list_unord
727                                {
728                                pushFollow(FOLLOW_list_unord_in_paragraph240);
729                                lu=list_unord();
730                                _fsp--;
731                                if (failed) return node;
732                                if ( backtracking==0 ) {
733                                  node = lu;
734                                }
735    
736                                }
737                                break;
738                            case 5 :
739                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:131:6: lo= list_ord
740                                {
741                                pushFollow(FOLLOW_list_ord_in_paragraph253);
742                                lo=list_ord();
743                                _fsp--;
744                                if (failed) return node;
745                                if ( backtracking==0 ) {
746                                  node = lo;
747                                }
748    
749                                }
750                                break;
751                            case 6 :
752                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:132:6: t= table
753                                {
754                                pushFollow(FOLLOW_table_in_paragraph266);
755                                t=table();
756                                _fsp--;
757                                if (failed) return node;
758                                if ( backtracking==0 ) {
759                                   node = t; 
760                                }
761    
762                                }
763                                break;
764                            case 7 :
765                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:133:6: tp= text_paragraph
766                                {
767                                pushFollow(FOLLOW_text_paragraph_in_paragraph279);
768                                tp=text_paragraph();
769                                _fsp--;
770                                if (failed) return node;
771                                if ( backtracking==0 ) {
772                                  node = tp; 
773                                }
774    
775                                }
776                                break;
777    
778                        }
779    
780                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:134:7: ( paragraph_separator )?
781                        int alt5=2;
782                        int LA5_0 = input.LA(1);
783    
784                        if ( (LA5_0==NEWLINE) ) {
785                            alt5=1;
786                        }
787                        else if ( (LA5_0==EOF) ) {
788                            int LA5_2 = input.LA(2);
789    
790                            if ( (LA5_2==EOF) ) {
791                                int LA5_4 = input.LA(3);
792    
793                                if ( (LA5_4==EOF) ) {
794                                    alt5=1;
795                                }
796                            }
797                            else if ( ((LA5_2>=FORCED_END_OF_LINE && LA5_2<=WIKI)||(LA5_2>=POUND && LA5_2<=79)) ) {
798                                alt5=1;
799                            }
800                        }
801                        switch (alt5) {
802                            case 1 :
803                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:134:9: paragraph_separator
804                                {
805                                pushFollow(FOLLOW_paragraph_separator_in_paragraph292);
806                                paragraph_separator();
807                                _fsp--;
808                                if (failed) return node;
809    
810                                }
811                                break;
812    
813                        }
814    
815    
816                        }
817                        break;
818    
819                }
820            }
821            catch (RecognitionException re) {
822                reportError(re);
823                recover(input,re);
824            }
825            finally {
826            }
827            return node;
828        }
829        // $ANTLR end paragraph
830    
831    
832        // $ANTLR start text_paragraph
833        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:141:1: text_paragraph returns [ ParagraphNode paragraph = new ParagraphNode() ] : (tl= text_line | ( NOWIKI_OPEN ~ ( NEWLINE ) )=>nw= nowiki_inline (te= text_element )* text_lineseparator )+ ;
834        public final ParagraphNode text_paragraph() throws RecognitionException {
835            ParagraphNode paragraph =  new ParagraphNode();
836    
837            LineNode tl = null;
838    
839            NoWikiSectionNode nw = null;
840    
841            ASTNode te = null;
842    
843    
844            try {
845                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:142:2: ( (tl= text_line | ( NOWIKI_OPEN ~ ( NEWLINE ) )=>nw= nowiki_inline (te= text_element )* text_lineseparator )+ )
846                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:142:4: (tl= text_line | ( NOWIKI_OPEN ~ ( NEWLINE ) )=>nw= nowiki_inline (te= text_element )* text_lineseparator )+
847                {
848                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:142:4: (tl= text_line | ( NOWIKI_OPEN ~ ( NEWLINE ) )=>nw= nowiki_inline (te= text_element )* text_lineseparator )+
849                int cnt8=0;
850                loop8:
851                do {
852                    int alt8=3;
853                    switch ( input.LA(1) ) {
854                    case NOWIKI_OPEN:
855                        {
856                        int LA8_2 = input.LA(2);
857    
858                        if ( (synpred1()) ) {
859                            alt8=2;
860                        }
861    
862    
863                        }
864                        break;
865                    case BLANKS:
866                        {
867                        alt8=1;
868                        }
869                        break;
870                    case TABLE_OF_CONTENTS_TEXT:
871                        {
872                        alt8=1;
873                        }
874                        break;
875                    case DASH:
876                        {
877                        alt8=1;
878                        }
879                        break;
880                    case STAR:
881                        {
882                        int LA8_6 = input.LA(2);
883    
884                        if ( ( input.LA(1) != STAR || (input.LA(1) == STAR && input.LA(2) == STAR) ) ) {
885                            alt8=1;
886                        }
887    
888    
889                        }
890                        break;
891                    case ITAL:
892                        {
893                        int LA8_7 = input.LA(2);
894    
895                        if ( ( input.LA(1) != STAR || (input.LA(1) == STAR && input.LA(2) == STAR) ) ) {
896                            alt8=1;
897                        }
898    
899    
900                        }
901                        break;
902                    case FORCED_END_OF_LINE:
903                    case HEADING_SECTION:
904                    case HORIZONTAL_SECTION:
905                    case LIST_ITEM:
906                    case LIST_ITEM_PART:
907                    case NOWIKI_SECTION:
908                    case SCAPE_NODE:
909                    case TEXT_NODE:
910                    case UNORDERED_LIST:
911                    case UNFORMATTED_TEXT:
912                    case WIKI:
913                    case NOWIKI_BLOCK_CLOSE:
914                    case NOWIKI_CLOSE:
915                    case LINK_CLOSE:
916                    case IMAGE_CLOSE:
917                    case CR:
918                    case LF:
919                    case SPACE:
920                    case TABULATOR:
921                    case BRACE_CLOSE:
922                    case COLON_SLASH:
923                    case SLASH:
924                    case TABLE_OF_CONTENTS_OPEN_MARKUP:
925                    case TABLE_OF_CONTENTS_CLOSE_MARKUP:
926                    case INSIGNIFICANT_CHAR:
927                    case 44:
928                    case 45:
929                    case 46:
930                    case 47:
931                    case 48:
932                    case 49:
933                    case 50:
934                    case 51:
935                    case 52:
936                    case 53:
937                    case 54:
938                    case 55:
939                    case 56:
940                    case 57:
941                    case 58:
942                    case 59:
943                    case 60:
944                    case 61:
945                    case 62:
946                    case 63:
947                    case 64:
948                    case 65:
949                    case 66:
950                    case 67:
951                    case 68:
952                    case 69:
953                    case 70:
954                    case 71:
955                    case 72:
956                    case 73:
957                    case 74:
958                    case 75:
959                    case 76:
960                    case 77:
961                    case 78:
962                    case 79:
963                        {
964                        alt8=1;
965                        }
966                        break;
967                    case FORCED_LINEBREAK:
968                        {
969                        alt8=1;
970                        }
971                        break;
972                    case ESCAPE:
973                        {
974                        alt8=1;
975                        }
976                        break;
977                    case LINK_OPEN:
978                        {
979                        alt8=1;
980                        }
981                        break;
982                    case IMAGE_OPEN:
983                        {
984                        alt8=1;
985                        }
986                        break;
987                    case EXTENSION:
988                        {
989                        alt8=1;
990                        }
991                        break;
992    
993                    }
994    
995                    switch (alt8) {
996                    case 1 :
997                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:142:6: tl= text_line
998                        {
999                        pushFollow(FOLLOW_text_line_in_text_paragraph320);
1000                        tl=text_line();
1001                        _fsp--;
1002                        if (failed) return paragraph;
1003                        if ( backtracking==0 ) {
1004                            paragraph.addChildASTNode(tl);  
1005                        }
1006    
1007                        }
1008                        break;
1009                    case 2 :
1010                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:143:5: ( NOWIKI_OPEN ~ ( NEWLINE ) )=>nw= nowiki_inline (te= text_element )* text_lineseparator
1011                        {
1012                        pushFollow(FOLLOW_nowiki_inline_in_text_paragraph352);
1013                        nw=nowiki_inline();
1014                        _fsp--;
1015                        if (failed) return paragraph;
1016                        if ( backtracking==0 ) {
1017                          paragraph.addChildASTNode(nw);
1018                        }
1019                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:144:66: (te= text_element )*
1020                        loop7:
1021                        do {
1022                            int alt7=2;
1023                            int LA7_0 = input.LA(1);
1024    
1025                            if ( ((LA7_0>=FORCED_END_OF_LINE && LA7_0<=WIKI)||(LA7_0>=POUND && LA7_0<=79)) ) {
1026                                alt7=1;
1027                            }
1028    
1029    
1030                            switch (alt7) {
1031                            case 1 :
1032                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:144:68: te= text_element
1033                                {
1034                                pushFollow(FOLLOW_text_element_in_text_paragraph363);
1035                                te=text_element();
1036                                _fsp--;
1037                                if (failed) return paragraph;
1038                                if ( backtracking==0 ) {
1039                                  paragraph.addChildASTNode(te);
1040                                }
1041    
1042                                }
1043                                break;
1044    
1045                            default :
1046                                break loop7;
1047                            }
1048                        } while (true);
1049    
1050                        pushFollow(FOLLOW_text_lineseparator_in_text_paragraph372);
1051                        text_lineseparator();
1052                        _fsp--;
1053                        if (failed) return paragraph;
1054    
1055                        }
1056                        break;
1057    
1058                    default :
1059                        if ( cnt8 >= 1 ) break loop8;
1060                        if (backtracking>0) {failed=true; return paragraph;}
1061                            EarlyExitException eee =
1062                                new EarlyExitException(8, input);
1063                            throw eee;
1064                    }
1065                    cnt8++;
1066                } while (true);
1067    
1068    
1069                }
1070    
1071            }
1072            catch (RecognitionException re) {
1073                reportError(re);
1074                recover(input,re);
1075            }
1076            finally {
1077            }
1078            return paragraph;
1079        }
1080        // $ANTLR end text_paragraph
1081    
1082    
1083        // $ANTLR start text_line
1084        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:147:1: text_line returns [LineNode line = new LineNode()] : first= text_firstelement (element= text_element )* text_lineseparator ;
1085        public final LineNode text_line() throws RecognitionException {
1086            LineNode line =  new LineNode();
1087    
1088            ASTNode first = null;
1089    
1090            ASTNode element = null;
1091    
1092    
1093            try {
1094                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:148:2: (first= text_firstelement (element= text_element )* text_lineseparator )
1095                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:148:4: first= text_firstelement (element= text_element )* text_lineseparator
1096                {
1097                pushFollow(FOLLOW_text_firstelement_in_text_line395);
1098                first=text_firstelement();
1099                _fsp--;
1100                if (failed) return line;
1101                if ( backtracking==0 ) {
1102    
1103                                                                                            if (first != null) { // recovering from errors
1104                                                                                                    line.addChildASTNode(first);
1105                                                                                            }
1106                                                                                    
1107                }
1108                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:153:9: (element= text_element )*
1109                loop9:
1110                do {
1111                    int alt9=2;
1112                    int LA9_0 = input.LA(1);
1113    
1114                    if ( ((LA9_0>=FORCED_END_OF_LINE && LA9_0<=WIKI)||(LA9_0>=POUND && LA9_0<=79)) ) {
1115                        alt9=1;
1116                    }
1117    
1118    
1119                    switch (alt9) {
1120                    case 1 :
1121                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:153:11: element= text_element
1122                        {
1123                        pushFollow(FOLLOW_text_element_in_text_line414);
1124                        element=text_element();
1125                        _fsp--;
1126                        if (failed) return line;
1127                        if ( backtracking==0 ) {
1128    
1129                                                                                    if(element != null) // recovering from errors
1130                                                                                            line.addChildASTNode(element);
1131                                                                            
1132                        }
1133    
1134                        }
1135                        break;
1136    
1137                    default :
1138                        break loop9;
1139                    }
1140                } while (true);
1141    
1142                pushFollow(FOLLOW_text_lineseparator_in_text_line428);
1143                text_lineseparator();
1144                _fsp--;
1145                if (failed) return line;
1146    
1147                }
1148    
1149            }
1150            catch (RecognitionException re) {
1151                reportError(re);
1152                recover(input,re);
1153            }
1154            finally {
1155            }
1156            return line;
1157        }
1158        // $ANTLR end text_line
1159    
1160    
1161        // $ANTLR start text_firstelement
1162        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:159:1: text_firstelement returns [ASTNode item = null] : ({...}?tf= text_formattedelement | tu= text_first_unformattedelement );
1163        public final ASTNode text_firstelement() throws RecognitionException {
1164            ASTNode item =  null;
1165    
1166            FormattedTextNode tf = null;
1167    
1168            ASTNode tu = null;
1169    
1170    
1171            try {
1172                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:160:2: ({...}?tf= text_formattedelement | tu= text_first_unformattedelement )
1173                int alt10=2;
1174                int LA10_0 = input.LA(1);
1175    
1176                if ( (LA10_0==STAR||LA10_0==ITAL) ) {
1177                    alt10=1;
1178                }
1179                else if ( ((LA10_0>=FORCED_END_OF_LINE && LA10_0<=WIKI)||(LA10_0>=LINK_OPEN && LA10_0<=IMAGE_OPEN)||(LA10_0>=EXTENSION && LA10_0<=79)) ) {
1180                    alt10=2;
1181                }
1182                else {
1183                    if (backtracking>0) {failed=true; return item;}
1184                    NoViableAltException nvae =
1185                        new NoViableAltException("159:1: text_firstelement returns [ASTNode item = null] : ({...}?tf= text_formattedelement | tu= text_first_unformattedelement );", 10, 0, input);
1186    
1187                    throw nvae;
1188                }
1189                switch (alt10) {
1190                    case 1 :
1191                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:160:4: {...}?tf= text_formattedelement
1192                        {
1193                        if ( !( input.LA(1) != STAR || (input.LA(1) == STAR && input.LA(2) == STAR) ) ) {
1194                            if (backtracking>0) {failed=true; return item;}
1195                            throw new FailedPredicateException(input, "text_firstelement", " input.LA(1) != STAR || (input.LA(1) == STAR && input.LA(2) == STAR) ");
1196                        }
1197                        pushFollow(FOLLOW_text_formattedelement_in_text_firstelement450);
1198                        tf=text_formattedelement();
1199                        _fsp--;
1200                        if (failed) return item;
1201                        if ( backtracking==0 ) {
1202                           item = tf; 
1203                        }
1204    
1205                        }
1206                        break;
1207                    case 2 :
1208                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:162:4: tu= text_first_unformattedelement
1209                        {
1210                        pushFollow(FOLLOW_text_first_unformattedelement_in_text_firstelement461);
1211                        tu=text_first_unformattedelement();
1212                        _fsp--;
1213                        if (failed) return item;
1214                        if ( backtracking==0 ) {
1215                           item = tu; 
1216                        }
1217    
1218                        }
1219                        break;
1220    
1221                }
1222            }
1223            catch (RecognitionException re) {
1224                reportError(re);
1225                recover(input,re);
1226            }
1227            finally {
1228            }
1229            return item;
1230        }
1231        // $ANTLR end text_firstelement
1232    
1233    
1234        // $ANTLR start text_formattedelement
1235        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:164:1: text_formattedelement returns [FormattedTextNode item = null] : ( ital_markup ic= text_italcontent ( ( NEWLINE )? ital_markup )? | bold_markup bc= text_boldcontent ( ( NEWLINE )? bold_markup )? );
1236        public final FormattedTextNode text_formattedelement() throws RecognitionException {
1237            FormattedTextNode item =  null;
1238    
1239            CollectionNode ic = null;
1240    
1241            CollectionNode bc = null;
1242    
1243    
1244            try {
1245                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:165:2: ( ital_markup ic= text_italcontent ( ( NEWLINE )? ital_markup )? | bold_markup bc= text_boldcontent ( ( NEWLINE )? bold_markup )? )
1246                int alt15=2;
1247                int LA15_0 = input.LA(1);
1248    
1249                if ( (LA15_0==ITAL) ) {
1250                    alt15=1;
1251                }
1252                else if ( (LA15_0==STAR) ) {
1253                    alt15=2;
1254                }
1255                else {
1256                    if (backtracking>0) {failed=true; return item;}
1257                    NoViableAltException nvae =
1258                        new NoViableAltException("164: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);
1259    
1260                    throw nvae;
1261                }
1262                switch (alt15) {
1263                    case 1 :
1264                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:165:4: ital_markup ic= text_italcontent ( ( NEWLINE )? ital_markup )?
1265                        {
1266                        pushFollow(FOLLOW_ital_markup_in_text_formattedelement477);
1267                        ital_markup();
1268                        _fsp--;
1269                        if (failed) return item;
1270                        pushFollow(FOLLOW_text_italcontent_in_text_formattedelement483);
1271                        ic=text_italcontent();
1272                        _fsp--;
1273                        if (failed) return item;
1274                        if ( backtracking==0 ) {
1275                           item = new ItalicTextNode(ic); 
1276                        }
1277                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:165:81: ( ( NEWLINE )? ital_markup )?
1278                        int alt12=2;
1279                        int LA12_0 = input.LA(1);
1280    
1281                        if ( (LA12_0==NEWLINE) ) {
1282                            int LA12_1 = input.LA(2);
1283    
1284                            if ( (LA12_1==ITAL) ) {
1285                                alt12=1;
1286                            }
1287                        }
1288                        else if ( (LA12_0==ITAL) ) {
1289                            alt12=1;
1290                        }
1291                        switch (alt12) {
1292                            case 1 :
1293                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:165:83: ( NEWLINE )? ital_markup
1294                                {
1295                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:165:83: ( NEWLINE )?
1296                                int alt11=2;
1297                                int LA11_0 = input.LA(1);
1298    
1299                                if ( (LA11_0==NEWLINE) ) {
1300                                    alt11=1;
1301                                }
1302                                switch (alt11) {
1303                                    case 1 :
1304                                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:165:85: NEWLINE
1305                                        {
1306                                        match(input,NEWLINE,FOLLOW_NEWLINE_in_text_formattedelement492); if (failed) return item;
1307    
1308                                        }
1309                                        break;
1310    
1311                                }
1312    
1313                                pushFollow(FOLLOW_ital_markup_in_text_formattedelement498);
1314                                ital_markup();
1315                                _fsp--;
1316                                if (failed) return item;
1317    
1318                                }
1319                                break;
1320    
1321                        }
1322    
1323    
1324                        }
1325                        break;
1326                    case 2 :
1327                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:166:4: bold_markup bc= text_boldcontent ( ( NEWLINE )? bold_markup )?
1328                        {
1329                        pushFollow(FOLLOW_bold_markup_in_text_formattedelement506);
1330                        bold_markup();
1331                        _fsp--;
1332                        if (failed) return item;
1333                        pushFollow(FOLLOW_text_boldcontent_in_text_formattedelement513);
1334                        bc=text_boldcontent();
1335                        _fsp--;
1336                        if (failed) return item;
1337                        if ( backtracking==0 ) {
1338                          item = new BoldTextNode(bc); 
1339                        }
1340                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:166:79: ( ( NEWLINE )? bold_markup )?
1341                        int alt14=2;
1342                        int LA14_0 = input.LA(1);
1343    
1344                        if ( (LA14_0==NEWLINE) ) {
1345                            int LA14_1 = input.LA(2);
1346    
1347                            if ( (LA14_1==STAR) ) {
1348                                int LA14_4 = input.LA(3);
1349    
1350                                if ( (LA14_4==STAR) ) {
1351                                    alt14=1;
1352                                }
1353                            }
1354                        }
1355                        else if ( (LA14_0==STAR) ) {
1356                            int LA14_2 = input.LA(2);
1357    
1358                            if ( (LA14_2==STAR) ) {
1359                                alt14=1;
1360                            }
1361                        }
1362                        switch (alt14) {
1363                            case 1 :
1364                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:166:81: ( NEWLINE )? bold_markup
1365                                {
1366                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:166:81: ( NEWLINE )?
1367                                int alt13=2;
1368                                int LA13_0 = input.LA(1);
1369    
1370                                if ( (LA13_0==NEWLINE) ) {
1371                                    alt13=1;
1372                                }
1373                                switch (alt13) {
1374                                    case 1 :
1375                                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:166:83: NEWLINE
1376                                        {
1377                                        match(input,NEWLINE,FOLLOW_NEWLINE_in_text_formattedelement522); if (failed) return item;
1378    
1379                                        }
1380                                        break;
1381    
1382                                }
1383    
1384                                pushFollow(FOLLOW_bold_markup_in_text_formattedelement528);
1385                                bold_markup();
1386                                _fsp--;
1387                                if (failed) return item;
1388    
1389                                }
1390                                break;
1391    
1392                        }
1393    
1394    
1395                        }
1396                        break;
1397    
1398                }
1399            }
1400            catch (RecognitionException re) {
1401                reportError(re);
1402                recover(input,re);
1403            }
1404            finally {
1405            }
1406            return item;
1407        }
1408        // $ANTLR end text_formattedelement
1409    
1410    
1411        // $ANTLR start text_boldcontent
1412        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:168:1: text_boldcontent returns [ CollectionNode text = new CollectionNode() ] : ( ( NEWLINE )? (p= text_boldcontentpart )* | EOF );
1413        public final CollectionNode text_boldcontent() throws RecognitionException {
1414            CollectionNode text =  new CollectionNode();
1415    
1416            FormattedTextNode p = null;
1417    
1418    
1419            try {
1420                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:169:2: ( ( NEWLINE )? (p= text_boldcontentpart )* | EOF )
1421                int alt18=2;
1422                int LA18_0 = input.LA(1);
1423    
1424                if ( ((LA18_0>=FORCED_END_OF_LINE && LA18_0<=79)) ) {
1425                    alt18=1;
1426                }
1427                else if ( (LA18_0==EOF) ) {
1428                    alt18=1;
1429                }
1430                else {
1431                    if (backtracking>0) {failed=true; return text;}
1432                    NoViableAltException nvae =
1433                        new NoViableAltException("168:1: text_boldcontent returns [ CollectionNode text = new CollectionNode() ] : ( ( NEWLINE )? (p= text_boldcontentpart )* | EOF );", 18, 0, input);
1434    
1435                    throw nvae;
1436                }
1437                switch (alt18) {
1438                    case 1 :
1439                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:169:4: ( NEWLINE )? (p= text_boldcontentpart )*
1440                        {
1441                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:169:4: ( NEWLINE )?
1442                        int alt16=2;
1443                        int LA16_0 = input.LA(1);
1444    
1445                        if ( (LA16_0==NEWLINE) ) {
1446                            alt16=1;
1447                        }
1448                        switch (alt16) {
1449                            case 1 :
1450                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:169:6: NEWLINE
1451                                {
1452                                match(input,NEWLINE,FOLLOW_NEWLINE_in_text_boldcontent547); if (failed) return text;
1453    
1454                                }
1455                                break;
1456    
1457                        }
1458    
1459                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:169:18: (p= text_boldcontentpart )*
1460                        loop17:
1461                        do {
1462                            int alt17=2;
1463                            switch ( input.LA(1) ) {
1464                            case STAR:
1465                                {
1466                                int LA17_2 = input.LA(2);
1467    
1468                                if ( ( input.LA(2) != STAR ) ) {
1469                                    alt17=1;
1470                                }
1471    
1472    
1473                                }
1474                                break;
1475                            case FORCED_END_OF_LINE:
1476                            case HEADING_SECTION:
1477                            case HORIZONTAL_SECTION:
1478                            case LIST_ITEM:
1479                            case LIST_ITEM_PART:
1480                            case NOWIKI_SECTION:
1481                            case SCAPE_NODE:
1482                            case TEXT_NODE:
1483                            case UNORDERED_LIST:
1484                            case UNFORMATTED_TEXT:
1485                            case WIKI:
1486                            case POUND:
1487                            case EQUAL:
1488                            case PIPE:
1489                            case NOWIKI_BLOCK_CLOSE:
1490                            case NOWIKI_CLOSE:
1491                            case LINK_CLOSE:
1492                            case IMAGE_CLOSE:
1493                            case BLANKS:
1494                            case TABLE_OF_CONTENTS_TEXT:
1495                            case DASH:
1496                            case CR:
1497                            case LF:
1498                            case SPACE:
1499                            case TABULATOR:
1500                            case BRACE_CLOSE:
1501                            case COLON_SLASH:
1502                            case SLASH:
1503                            case TABLE_OF_CONTENTS_OPEN_MARKUP:
1504                            case TABLE_OF_CONTENTS_CLOSE_MARKUP:
1505                            case INSIGNIFICANT_CHAR:
1506                            case 44:
1507                            case 45:
1508                            case 46:
1509                            case 47:
1510                            case 48:
1511                            case 49:
1512                            case 50:
1513                            case 51:
1514                            case 52:
1515                            case 53:
1516                            case 54:
1517                            case 55:
1518                            case 56:
1519                            case 57:
1520                            case 58:
1521                            case 59:
1522                            case 60:
1523                            case 61:
1524                            case 62:
1525                            case 63:
1526                            case 64:
1527                            case 65:
1528                            case 66:
1529                            case 67:
1530                            case 68:
1531                            case 69:
1532                            case 70:
1533                            case 71:
1534                            case 72:
1535                            case 73:
1536                            case 74:
1537                            case 75:
1538                            case 76:
1539                            case 77:
1540                            case 78:
1541                            case 79:
1542                                {
1543                                alt17=1;
1544                                }
1545                                break;
1546                            case FORCED_LINEBREAK:
1547                                {
1548                                alt17=1;
1549                                }
1550                                break;
1551                            case ESCAPE:
1552                                {
1553                                alt17=1;
1554                                }
1555                                break;
1556                            case LINK_OPEN:
1557                                {
1558                                alt17=1;
1559                                }
1560                                break;
1561                            case IMAGE_OPEN:
1562                                {
1563                                alt17=1;
1564                                }
1565                                break;
1566                            case EXTENSION:
1567                                {
1568                                alt17=1;
1569                                }
1570                                break;
1571                            case NOWIKI_OPEN:
1572                                {
1573                                alt17=1;
1574                                }
1575                                break;
1576                            case ITAL:
1577                                {
1578                                alt17=1;
1579                                }
1580                                break;
1581    
1582                            }
1583    
1584                            switch (alt17) {
1585                            case 1 :
1586                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:169:20: p= text_boldcontentpart
1587                                {
1588                                pushFollow(FOLLOW_text_boldcontentpart_in_text_boldcontent559);
1589                                p=text_boldcontentpart();
1590                                _fsp--;
1591                                if (failed) return text;
1592                                if ( backtracking==0 ) {
1593                                   text.add(p); 
1594                                }
1595    
1596                                }
1597                                break;
1598    
1599                            default :
1600                                break loop17;
1601                            }
1602                        } while (true);
1603    
1604    
1605                        }
1606                        break;
1607                    case 2 :
1608                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:170:4: EOF
1609                        {
1610                        match(input,EOF,FOLLOW_EOF_in_text_boldcontent570); if (failed) return text;
1611    
1612                        }
1613                        break;
1614    
1615                }
1616            }
1617            catch (RecognitionException re) {
1618                reportError(re);
1619                recover(input,re);
1620            }
1621            finally {
1622            }
1623            return text;
1624        }
1625        // $ANTLR end text_boldcontent
1626    
1627    
1628        // $ANTLR start text_italcontent
1629        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:172:1: text_italcontent returns [ CollectionNode text = new CollectionNode() ] : ( ( NEWLINE )? (p= text_italcontentpart )* | EOF );
1630        public final CollectionNode text_italcontent() throws RecognitionException {
1631            CollectionNode text =  new CollectionNode();
1632    
1633            FormattedTextNode p = null;
1634    
1635    
1636            try {
1637                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:173:2: ( ( NEWLINE )? (p= text_italcontentpart )* | EOF )
1638                int alt21=2;
1639                int LA21_0 = input.LA(1);
1640    
1641                if ( ((LA21_0>=FORCED_END_OF_LINE && LA21_0<=79)) ) {
1642                    alt21=1;
1643                }
1644                else if ( (LA21_0==EOF) ) {
1645                    alt21=1;
1646                }
1647                else {
1648                    if (backtracking>0) {failed=true; return text;}
1649                    NoViableAltException nvae =
1650                        new NoViableAltException("172:1: text_italcontent returns [ CollectionNode text = new CollectionNode() ] : ( ( NEWLINE )? (p= text_italcontentpart )* | EOF );", 21, 0, input);
1651    
1652                    throw nvae;
1653                }
1654                switch (alt21) {
1655                    case 1 :
1656                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:173:4: ( NEWLINE )? (p= text_italcontentpart )*
1657                        {
1658                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:173:4: ( NEWLINE )?
1659                        int alt19=2;
1660                        int LA19_0 = input.LA(1);
1661    
1662                        if ( (LA19_0==NEWLINE) ) {
1663                            alt19=1;
1664                        }
1665                        switch (alt19) {
1666                            case 1 :
1667                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:173:6: NEWLINE
1668                                {
1669                                match(input,NEWLINE,FOLLOW_NEWLINE_in_text_italcontent586); if (failed) return text;
1670    
1671                                }
1672                                break;
1673    
1674                        }
1675    
1676                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:173:18: (p= text_italcontentpart )*
1677                        loop20:
1678                        do {
1679                            int alt20=2;
1680                            switch ( input.LA(1) ) {
1681                            case STAR:
1682                                {
1683                                alt20=1;
1684                                }
1685                                break;
1686                            case FORCED_END_OF_LINE:
1687                            case HEADING_SECTION:
1688                            case HORIZONTAL_SECTION:
1689                            case LIST_ITEM:
1690                            case LIST_ITEM_PART:
1691                            case NOWIKI_SECTION:
1692                            case SCAPE_NODE:
1693                            case TEXT_NODE:
1694                            case UNORDERED_LIST:
1695                            case UNFORMATTED_TEXT:
1696                            case WIKI:
1697                            case POUND:
1698                            case EQUAL:
1699                            case PIPE:
1700                            case NOWIKI_BLOCK_CLOSE:
1701                            case NOWIKI_CLOSE:
1702                            case LINK_CLOSE:
1703                            case IMAGE_CLOSE:
1704                            case BLANKS:
1705                            case TABLE_OF_CONTENTS_TEXT:
1706                            case DASH:
1707                            case CR:
1708                            case LF:
1709                            case SPACE:
1710                            case TABULATOR:
1711                            case BRACE_CLOSE:
1712                            case COLON_SLASH:
1713                            case SLASH:
1714                            case TABLE_OF_CONTENTS_OPEN_MARKUP:
1715                            case TABLE_OF_CONTENTS_CLOSE_MARKUP:
1716                            case INSIGNIFICANT_CHAR:
1717                            case 44:
1718                            case 45:
1719                            case 46:
1720                            case 47:
1721                            case 48:
1722                            case 49:
1723                            case 50:
1724                            case 51:
1725                            case 52:
1726                            case 53:
1727                            case 54:
1728                            case 55:
1729                            case 56:
1730                            case 57:
1731                            case 58:
1732                            case 59:
1733                            case 60:
1734                            case 61:
1735                            case 62:
1736                            case 63:
1737                            case 64:
1738                            case 65:
1739                            case 66:
1740                            case 67:
1741                            case 68:
1742                            case 69:
1743                            case 70:
1744                            case 71:
1745                            case 72:
1746                            case 73:
1747                            case 74:
1748                            case 75:
1749                            case 76:
1750                            case 77:
1751                            case 78:
1752                            case 79:
1753                                {
1754                                alt20=1;
1755                                }
1756                                break;
1757                            case FORCED_LINEBREAK:
1758                                {
1759                                alt20=1;
1760                                }
1761                                break;
1762                            case ESCAPE:
1763                                {
1764                                alt20=1;
1765                                }
1766                                break;
1767                            case LINK_OPEN:
1768                                {
1769                                alt20=1;
1770                                }
1771                                break;
1772                            case IMAGE_OPEN:
1773                                {
1774                                alt20=1;
1775                                }
1776                                break;
1777                            case EXTENSION:
1778                                {
1779                                alt20=1;
1780                                }
1781                                break;
1782                            case NOWIKI_OPEN:
1783                                {
1784                                alt20=1;
1785                                }
1786                                break;
1787    
1788                            }
1789    
1790                            switch (alt20) {
1791                            case 1 :
1792                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:173:20: p= text_italcontentpart
1793                                {
1794                                pushFollow(FOLLOW_text_italcontentpart_in_text_italcontent598);
1795                                p=text_italcontentpart();
1796                                _fsp--;
1797                                if (failed) return text;
1798                                if ( backtracking==0 ) {
1799                                   text.add(p); 
1800                                }
1801    
1802                                }
1803                                break;
1804    
1805                            default :
1806                                break loop20;
1807                            }
1808                        } while (true);
1809    
1810    
1811                        }
1812                        break;
1813                    case 2 :
1814                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:174:4: EOF
1815                        {
1816                        match(input,EOF,FOLLOW_EOF_in_text_italcontent609); if (failed) return text;
1817    
1818                        }
1819                        break;
1820    
1821                }
1822            }
1823            catch (RecognitionException re) {
1824                reportError(re);
1825                recover(input,re);
1826            }
1827            finally {
1828            }
1829            return text;
1830        }
1831        // $ANTLR end text_italcontent
1832    
1833    
1834        // $ANTLR start text_element
1835        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:176:1: text_element returns [ASTNode item = null] : ( onestar tu1= text_unformattedelement | tu2= text_unformattedelement onestar | tf= text_formattedelement );
1836        public final ASTNode text_element() throws RecognitionException {
1837            ASTNode item =  null;
1838    
1839            ASTNode tu1 = null;
1840    
1841            ASTNode tu2 = null;
1842    
1843            FormattedTextNode tf = null;
1844    
1845    
1846            try {
1847                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:177:2: ( onestar tu1= text_unformattedelement | tu2= text_unformattedelement onestar | tf= text_formattedelement )
1848                int alt22=3;
1849                switch ( input.LA(1) ) {
1850                case STAR:
1851                    {
1852                    int LA22_1 = input.LA(2);
1853    
1854                    if ( ( input.LA(2) != STAR ) ) {
1855                        alt22=1;
1856                    }
1857                    else if ( (true) ) {
1858                        alt22=3;
1859                    }
1860                    else {
1861                        if (backtracking>0) {failed=true; return item;}
1862                        NoViableAltException nvae =
1863                            new NoViableAltException("176:1: text_element returns [ASTNode item = null] : ( onestar tu1= text_unformattedelement | tu2= text_unformattedelement onestar | tf= text_formattedelement );", 22, 1, input);
1864    
1865                        throw nvae;
1866                    }
1867                    }
1868                    break;
1869                case FORCED_END_OF_LINE:
1870                case HEADING_SECTION:
1871                case HORIZONTAL_SECTION:
1872                case LIST_ITEM:
1873                case LIST_ITEM_PART:
1874                case NOWIKI_SECTION:
1875                case SCAPE_NODE:
1876                case TEXT_NODE:
1877                case UNORDERED_LIST:
1878                case UNFORMATTED_TEXT:
1879                case WIKI:
1880                case POUND:
1881                case EQUAL:
1882                case PIPE:
1883                case NOWIKI_BLOCK_CLOSE:
1884                case NOWIKI_CLOSE:
1885                case LINK_CLOSE:
1886                case IMAGE_CLOSE:
1887                case BLANKS:
1888                case TABLE_OF_CONTENTS_TEXT:
1889                case DASH:
1890                case CR:
1891                case LF:
1892                case SPACE:
1893                case TABULATOR:
1894                case BRACE_CLOSE:
1895                case COLON_SLASH:
1896                case SLASH:
1897                case TABLE_OF_CONTENTS_OPEN_MARKUP:
1898                case TABLE_OF_CONTENTS_CLOSE_MARKUP:
1899                case INSIGNIFICANT_CHAR:
1900                case 44:
1901                case 45:
1902                case 46:
1903                case 47:
1904                case 48:
1905                case 49:
1906                case 50:
1907                case 51:
1908                case 52:
1909                case 53:
1910                case 54:
1911                case 55:
1912                case 56:
1913                case 57:
1914                case 58:
1915                case 59:
1916                case 60:
1917                case 61:
1918                case 62:
1919                case 63:
1920                case 64:
1921                case 65:
1922                case 66:
1923                case 67:
1924                case 68:
1925                case 69:
1926                case 70:
1927                case 71:
1928                case 72:
1929                case 73:
1930                case 74:
1931                case 75:
1932                case 76:
1933                case 77:
1934                case 78:
1935                case 79:
1936                    {
1937                    alt22=1;
1938                    }
1939                    break;
1940                case FORCED_LINEBREAK:
1941                    {
1942                    alt22=1;
1943                    }
1944                    break;
1945                case ESCAPE:
1946                    {
1947                    alt22=1;
1948                    }
1949                    break;
1950                case LINK_OPEN:
1951                    {
1952                    alt22=1;
1953                    }
1954                    break;
1955                case IMAGE_OPEN:
1956                    {
1957                    alt22=1;
1958                    }
1959                    break;
1960                case EXTENSION:
1961                    {
1962                    alt22=1;
1963                    }
1964                    break;
1965                case NOWIKI_OPEN:
1966                    {
1967                    alt22=1;
1968                    }
1969                    break;
1970                case ITAL:
1971                    {
1972                    alt22=3;
1973                    }
1974                    break;
1975                default:
1976                    if (backtracking>0) {failed=true; return item;}
1977                    NoViableAltException nvae =
1978                        new NoViableAltException("176:1: text_element returns [ASTNode item = null] : ( onestar tu1= text_unformattedelement | tu2= text_unformattedelement onestar | tf= text_formattedelement );", 22, 0, input);
1979    
1980                    throw nvae;
1981                }
1982    
1983                switch (alt22) {
1984                    case 1 :
1985                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:177:4: onestar tu1= text_unformattedelement
1986                        {
1987                        pushFollow(FOLLOW_onestar_in_text_element623);
1988                        onestar();
1989                        _fsp--;
1990                        if (failed) return item;
1991                        pushFollow(FOLLOW_text_unformattedelement_in_text_element630);
1992                        tu1=text_unformattedelement();
1993                        _fsp--;
1994                        if (failed) return item;
1995                        if ( backtracking==0 ) {
1996                           item = tu1; 
1997                        }
1998    
1999                        }
2000                        break;
2001                    case 2 :
2002                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:178:4: tu2= text_unformattedelement onestar
2003                        {
2004                        pushFollow(FOLLOW_text_unformattedelement_in_text_element641);
2005                        tu2=text_unformattedelement();
2006                        _fsp--;
2007                        if (failed) return item;
2008                        pushFollow(FOLLOW_onestar_in_text_element644);
2009                        onestar();
2010                        _fsp--;
2011                        if (failed) return item;
2012                        if ( backtracking==0 ) {
2013                           item = tu2; 
2014                        }
2015    
2016                        }
2017                        break;
2018                    case 3 :
2019                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:179:4: tf= text_formattedelement
2020                        {
2021                        pushFollow(FOLLOW_text_formattedelement_in_text_element655);
2022                        tf=text_formattedelement();
2023                        _fsp--;
2024                        if (failed) return item;
2025                        if ( backtracking==0 ) {
2026                           item = tf; 
2027                        }
2028    
2029                        }
2030                        break;
2031    
2032                }
2033            }
2034            catch (RecognitionException re) {
2035                reportError(re);
2036                recover(input,re);
2037            }
2038            finally {
2039            }
2040            return item;
2041        }
2042        // $ANTLR end text_element
2043    
2044    
2045        // $ANTLR start text_boldcontentpart
2046        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:182:1: text_boldcontentpart returns [FormattedTextNode node = null] : ( ital_markup t= text_bolditalcontent ( ital_markup )? | tf= text_formattedcontent );
2047        public final FormattedTextNode text_boldcontentpart() throws RecognitionException {
2048            FormattedTextNode node =  null;
2049    
2050            ASTNode t = null;
2051    
2052            CollectionNode tf = null;
2053    
2054    
2055            try {
2056                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:183:2: ( ital_markup t= text_bolditalcontent ( ital_markup )? | tf= text_formattedcontent )
2057                int alt24=2;
2058                int LA24_0 = input.LA(1);
2059    
2060                if ( (LA24_0==ITAL) ) {
2061                    alt24=1;
2062                }
2063                else if ( ((LA24_0>=FORCED_END_OF_LINE && LA24_0<=WIKI)||(LA24_0>=POUND && LA24_0<=PIPE)||(LA24_0>=LINK_OPEN && LA24_0<=79)) ) {
2064                    alt24=2;
2065                }
2066                else {
2067                    if (backtracking>0) {failed=true; return node;}
2068                    NoViableAltException nvae =
2069                        new NoViableAltException("182:1: text_boldcontentpart returns [FormattedTextNode node = null] : ( ital_markup t= text_bolditalcontent ( ital_markup )? | tf= text_formattedcontent );", 24, 0, input);
2070    
2071                    throw nvae;
2072                }
2073                switch (alt24) {
2074                    case 1 :
2075                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:183:4: ital_markup t= text_bolditalcontent ( ital_markup )?
2076                        {
2077                        pushFollow(FOLLOW_ital_markup_in_text_boldcontentpart672);
2078                        ital_markup();
2079                        _fsp--;
2080                        if (failed) return node;
2081                        pushFollow(FOLLOW_text_bolditalcontent_in_text_boldcontentpart679);
2082                        t=text_bolditalcontent();
2083                        _fsp--;
2084                        if (failed) return node;
2085                        if ( backtracking==0 ) {
2086                          node = new ItalicTextNode(t); 
2087                        }
2088                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:183:84: ( ital_markup )?
2089                        int alt23=2;
2090                        int LA23_0 = input.LA(1);
2091    
2092                        if ( (LA23_0==ITAL) ) {
2093                            alt23=1;
2094                        }
2095                        switch (alt23) {
2096                            case 1 :
2097                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:183:86: ital_markup
2098                                {
2099                                pushFollow(FOLLOW_ital_markup_in_text_boldcontentpart686);
2100                                ital_markup();
2101                                _fsp--;
2102                                if (failed) return node;
2103    
2104                                }
2105                                break;
2106    
2107                        }
2108    
2109    
2110                        }
2111                        break;
2112                    case 2 :
2113                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:184:4: tf= text_formattedcontent
2114                        {
2115                        pushFollow(FOLLOW_text_formattedcontent_in_text_boldcontentpart698);
2116                        tf=text_formattedcontent();
2117                        _fsp--;
2118                        if (failed) return node;
2119                        if ( backtracking==0 ) {
2120                          node = new FormattedTextNode(tf); 
2121                        }
2122    
2123                        }
2124                        break;
2125    
2126                }
2127            }
2128            catch (RecognitionException re) {
2129                reportError(re);
2130                recover(input,re);
2131            }
2132            finally {
2133            }
2134            return node;
2135        }
2136        // $ANTLR end text_boldcontentpart
2137    
2138    
2139        // $ANTLR start text_italcontentpart
2140        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:186:1: text_italcontentpart returns [FormattedTextNode node = null] : ( bold_markup t= text_bolditalcontent ( bold_markup )? | tf= text_formattedcontent );
2141        public final FormattedTextNode text_italcontentpart() throws RecognitionException {
2142            FormattedTextNode node =  null;
2143    
2144            ASTNode t = null;
2145    
2146            CollectionNode tf = null;
2147    
2148    
2149            try {
2150                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:187:2: ( bold_markup t= text_bolditalcontent ( bold_markup )? | tf= text_formattedcontent )
2151                int alt26=2;
2152                int LA26_0 = input.LA(1);
2153    
2154                if ( (LA26_0==STAR) ) {
2155                    int LA26_1 = input.LA(2);
2156    
2157                    if ( (LA26_1==STAR) ) {
2158                        alt26=1;
2159                    }
2160                    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<=79)) ) {
2161                        alt26=2;
2162                    }
2163                    else {
2164                        if (backtracking>0) {failed=true; return node;}
2165                        NoViableAltException nvae =
2166                            new NoViableAltException("186:1: text_italcontentpart returns [FormattedTextNode node = null] : ( bold_markup t= text_bolditalcontent ( bold_markup )? | tf= text_formattedcontent );", 26, 1, input);
2167    
2168                        throw nvae;
2169                    }
2170                }
2171                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<=79)) ) {
2172                    alt26=2;
2173                }
2174                else {
2175                    if (backtracking>0) {failed=true; return node;}
2176                    NoViableAltException nvae =
2177                        new NoViableAltException("186:1: text_italcontentpart returns [FormattedTextNode node = null] : ( bold_markup t= text_bolditalcontent ( bold_markup )? | tf= text_formattedcontent );", 26, 0, input);
2178    
2179                    throw nvae;
2180                }
2181                switch (alt26) {
2182                    case 1 :
2183                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:187:4: bold_markup t= text_bolditalcontent ( bold_markup )?
2184                        {
2185                        pushFollow(FOLLOW_bold_markup_in_text_italcontentpart714);
2186                        bold_markup();
2187                        _fsp--;
2188                        if (failed) return node;
2189                        pushFollow(FOLLOW_text_bolditalcontent_in_text_italcontentpart721);
2190                        t=text_bolditalcontent();
2191                        _fsp--;
2192                        if (failed) return node;
2193                        if ( backtracking==0 ) {
2194                           node = new BoldTextNode(t); 
2195                        }
2196                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:187:82: ( bold_markup )?
2197                        int alt25=2;
2198                        int LA25_0 = input.LA(1);
2199    
2200                        if ( (LA25_0==STAR) ) {
2201                            int LA25_1 = input.LA(2);
2202    
2203                            if ( (LA25_1==STAR) ) {
2204                                alt25=1;
2205                            }
2206                        }
2207                        switch (alt25) {
2208                            case 1 :
2209                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:187:84: bold_markup
2210                                {
2211                                pushFollow(FOLLOW_bold_markup_in_text_italcontentpart727);
2212                                bold_markup();
2213                                _fsp--;
2214                                if (failed) return node;
2215    
2216                                }
2217                                break;
2218    
2219                        }
2220    
2221    
2222                        }
2223                        break;
2224                    case 2 :
2225                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:188:4: tf= text_formattedcontent
2226                        {
2227                        pushFollow(FOLLOW_text_formattedcontent_in_text_italcontentpart738);
2228                        tf=text_formattedcontent();
2229                        _fsp--;
2230                        if (failed) return node;
2231                        if ( backtracking==0 ) {
2232                          node = new FormattedTextNode(tf); 
2233                        }
2234    
2235                        }
2236                        break;
2237    
2238                }
2239            }
2240            catch (RecognitionException re) {
2241                reportError(re);
2242                recover(input,re);
2243            }
2244            finally {
2245            }
2246            return node;
2247        }
2248        // $ANTLR end text_italcontentpart
2249    
2250    
2251        // $ANTLR start text_bolditalcontent
2252        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:190:1: text_bolditalcontent returns [ASTNode items = null] : ( ( NEWLINE )? (tf= text_formattedcontent )? | EOF );
2253        public final ASTNode text_bolditalcontent() throws RecognitionException {
2254            ASTNode items =  null;
2255    
2256            CollectionNode tf = null;
2257    
2258    
2259            try {
2260                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:191:2: ( ( NEWLINE )? (tf= text_formattedcontent )? | EOF )
2261                int alt29=2;
2262                int LA29_0 = input.LA(1);
2263    
2264                if ( ((LA29_0>=FORCED_END_OF_LINE && LA29_0<=79)) ) {
2265                    alt29=1;
2266                }
2267                else if ( (LA29_0==EOF) ) {
2268                    alt29=1;
2269                }
2270                else {
2271                    if (backtracking>0) {failed=true; return items;}
2272                    NoViableAltException nvae =
2273                        new NoViableAltException("190:1: text_bolditalcontent returns [ASTNode items = null] : ( ( NEWLINE )? (tf= text_formattedcontent )? | EOF );", 29, 0, input);
2274    
2275                    throw nvae;
2276                }
2277                switch (alt29) {
2278                    case 1 :
2279                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:191:4: ( NEWLINE )? (tf= text_formattedcontent )?
2280                        {
2281                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:191:4: ( NEWLINE )?
2282                        int alt27=2;
2283                        int LA27_0 = input.LA(1);
2284    
2285                        if ( (LA27_0==NEWLINE) ) {
2286                            alt27=1;
2287                        }
2288                        switch (alt27) {
2289                            case 1 :
2290                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:191:6: NEWLINE
2291                                {
2292                                match(input,NEWLINE,FOLLOW_NEWLINE_in_text_bolditalcontent756); if (failed) return items;
2293    
2294                                }
2295                                break;
2296    
2297                        }
2298    
2299                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:191:18: (tf= text_formattedcontent )?
2300                        int alt28=2;
2301                        switch ( input.LA(1) ) {
2302                            case STAR:
2303                                {
2304                                int LA28_1 = input.LA(2);
2305    
2306                                if ( ( input.LA(2) != STAR ) ) {
2307                                    alt28=1;
2308                                }
2309                                }
2310                                break;
2311                            case FORCED_END_OF_LINE:
2312                            case HEADING_SECTION:
2313                            case HORIZONTAL_SECTION:
2314                            case LIST_ITEM:
2315                            case LIST_ITEM_PART:
2316                            case NOWIKI_SECTION:
2317                            case SCAPE_NODE:
2318                            case TEXT_NODE:
2319                            case UNORDERED_LIST:
2320                            case UNFORMATTED_TEXT:
2321                            case WIKI:
2322                            case POUND:
2323                            case EQUAL:
2324                            case PIPE:
2325                            case NOWIKI_BLOCK_CLOSE:
2326                            case NOWIKI_CLOSE:
2327                            case LINK_CLOSE:
2328                            case IMAGE_CLOSE:
2329                            case BLANKS:
2330                            case TABLE_OF_CONTENTS_TEXT:
2331                            case DASH:
2332                            case CR:
2333                            case LF:
2334                            case SPACE:
2335                            case TABULATOR:
2336                            case BRACE_CLOSE:
2337                            case COLON_SLASH:
2338                            case SLASH:
2339                            case TABLE_OF_CONTENTS_OPEN_MARKUP:
2340                            case TABLE_OF_CONTENTS_CLOSE_MARKUP:
2341                            case INSIGNIFICANT_CHAR:
2342                            case 44:
2343                            case 45:
2344                            case 46:
2345                            case 47:
2346                            case 48:
2347                            case 49:
2348                            case 50:
2349                            case 51:
2350                            case 52:
2351                            case 53:
2352                            case 54:
2353                            case 55:
2354                            case 56:
2355                            case 57:
2356                            case 58:
2357                            case 59:
2358                            case 60:
2359                            case 61:
2360                            case 62:
2361                            case 63:
2362                            case 64:
2363                            case 65:
2364                            case 66:
2365                            case 67:
2366                            case 68:
2367                            case 69:
2368                            case 70:
2369                            case 71:
2370                            case 72:
2371                            case 73:
2372                            case 74:
2373                            case 75:
2374                            case 76:
2375                            case 77:
2376                            case 78:
2377                            case 79:
2378                                {
2379                                alt28=1;
2380                                }
2381                                break;
2382                            case FORCED_LINEBREAK:
2383                                {
2384                                alt28=1;
2385                                }
2386                                break;
2387                            case ESCAPE:
2388                                {
2389                                alt28=1;
2390                                }
2391                                break;
2392                            case LINK_OPEN:
2393                                {
2394                                alt28=1;
2395                                }
2396                                break;
2397                            case IMAGE_OPEN:
2398                                {
2399                                alt28=1;
2400                                }
2401                                break;
2402                            case EXTENSION:
2403                                {
2404                                alt28=1;
2405                                }
2406                                break;
2407                            case NOWIKI_OPEN:
2408                                {
2409                                alt28=1;
2410                                }
2411                                break;
2412                        }
2413    
2414                        switch (alt28) {
2415                            case 1 :
2416                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:191:20: tf= text_formattedcontent
2417                                {
2418                                pushFollow(FOLLOW_text_formattedcontent_in_text_bolditalcontent767);
2419                                tf=text_formattedcontent();
2420                                _fsp--;
2421                                if (failed) return items;
2422                                if ( backtracking==0 ) {
2423                                  items = tf; 
2424                                }
2425    
2426                                }
2427                                break;
2428    
2429                        }
2430    
2431    
2432                        }
2433                        break;
2434                    case 2 :
2435                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:192:4: EOF
2436                        {
2437                        match(input,EOF,FOLLOW_EOF_in_text_bolditalcontent777); if (failed) return items;
2438    
2439                        }
2440                        break;
2441    
2442                }
2443            }
2444            catch (RecognitionException re) {
2445                reportError(re);
2446                recover(input,re);
2447            }
2448            finally {
2449            }
2450            return items;
2451        }
2452        // $ANTLR end text_bolditalcontent
2453    
2454    
2455        // $ANTLR start text_formattedcontent
2456        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:194:1: text_formattedcontent returns [CollectionNode items = new CollectionNode ()] : onestar (t= text_unformattedelement onestar ( text_linebreak )? )+ ;
2457        public final CollectionNode text_formattedcontent() throws RecognitionException {
2458            CollectionNode items =  new CollectionNode ();
2459    
2460            ASTNode t = null;
2461    
2462    
2463            try {
2464                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:195:2: ( onestar (t= text_unformattedelement onestar ( text_linebreak )? )+ )
2465                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:195:4: onestar (t= text_unformattedelement onestar ( text_linebreak )? )+
2466                {
2467                pushFollow(FOLLOW_onestar_in_text_formattedcontent791);
2468                onestar();
2469                _fsp--;
2470                if (failed) return items;
2471                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:195:13: (t= text_unformattedelement onestar ( text_linebreak )? )+
2472                int cnt31=0;
2473                loop31:
2474                do {
2475                    int alt31=2;
2476                    switch ( input.LA(1) ) {
2477                    case FORCED_END_OF_LINE:
2478                    case HEADING_SECTION:
2479                    case HORIZONTAL_SECTION:
2480                    case LIST_ITEM:
2481                    case LIST_ITEM_PART:
2482                    case NOWIKI_SECTION:
2483                    case SCAPE_NODE:
2484                    case TEXT_NODE:
2485                    case UNORDERED_LIST:
2486                    case UNFORMATTED_TEXT:
2487                    case WIKI:
2488                    case POUND:
2489                    case EQUAL:
2490                    case PIPE:
2491                    case NOWIKI_BLOCK_CLOSE:
2492                    case NOWIKI_CLOSE:
2493                    case LINK_CLOSE:
2494                    case IMAGE_CLOSE:
2495                    case BLANKS:
2496                    case TABLE_OF_CONTENTS_TEXT:
2497                    case DASH:
2498                    case CR:
2499                    case LF:
2500                    case SPACE:
2501                    case TABULATOR:
2502                    case BRACE_CLOSE:
2503                    case COLON_SLASH:
2504                    case SLASH:
2505                    case TABLE_OF_CONTENTS_OPEN_MARKUP:
2506                    case TABLE_OF_CONTENTS_CLOSE_MARKUP:
2507                    case INSIGNIFICANT_CHAR:
2508                    case 44:
2509                    case 45:
2510                    case 46:
2511                    case 47:
2512                    case 48:
2513                    case 49:
2514                    case 50:
2515                    case 51:
2516                    case 52:
2517                    case 53:
2518                    case 54:
2519                    case 55:
2520                    case 56:
2521                    case 57:
2522                    case 58:
2523                    case 59:
2524                    case 60:
2525                    case 61:
2526                    case 62:
2527                    case 63:
2528                    case 64:
2529                    case 65:
2530                    case 66:
2531                    case 67:
2532                    case 68:
2533                    case 69:
2534                    case 70:
2535                    case 71:
2536                    case 72:
2537                    case 73:
2538                    case 74:
2539                    case 75:
2540                    case 76:
2541                    case 77:
2542                    case 78:
2543                    case 79:
2544                        {
2545                        alt31=1;
2546                        }
2547                        break;
2548                    case FORCED_LINEBREAK:
2549                        {
2550                        alt31=1;
2551                        }
2552                        break;
2553                    case ESCAPE:
2554                        {
2555                        alt31=1;
2556                        }
2557                        break;
2558                    case LINK_OPEN:
2559                        {
2560                        alt31=1;
2561                        }
2562                        break;
2563                    case IMAGE_OPEN:
2564                        {
2565                        alt31=1;
2566                        }
2567                        break;
2568                    case EXTENSION:
2569                        {
2570                        alt31=1;
2571                        }
2572                        break;
2573                    case NOWIKI_OPEN:
2574                        {
2575                        alt31=1;
2576                        }
2577                        break;
2578    
2579                    }
2580    
2581                    switch (alt31) {
2582                    case 1 :
2583                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:195:15: t= text_unformattedelement onestar ( text_linebreak )?
2584                        {
2585                        pushFollow(FOLLOW_text_unformattedelement_in_text_formattedcontent800);
2586                        t=text_unformattedelement();
2587                        _fsp--;
2588                        if (failed) return items;
2589                        if ( backtracking==0 ) {
2590                          items.add(t); 
2591                        }
2592                        pushFollow(FOLLOW_onestar_in_text_formattedcontent805);
2593                        onestar();
2594                        _fsp--;
2595                        if (failed) return items;
2596                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:195:81: ( text_linebreak )?
2597                        int alt30=2;
2598                        int LA30_0 = input.LA(1);
2599    
2600                        if ( (LA30_0==NEWLINE) ) {
2601                            int LA30_1 = input.LA(2);
2602    
2603                            if ( ( input.LA(2) != DASH && input.LA(2) != POUND &&
2604                                            input.LA(2) != EQUAL && input.LA(2) != NEWLINE ) ) {
2605                                alt30=1;
2606                            }
2607                        }
2608                        else if ( (LA30_0==EOF) ) {
2609                            int LA30_2 = input.LA(2);
2610    
2611                            if ( ( input.LA(2) != DASH && input.LA(2) != POUND &&
2612                                            input.LA(2) != EQUAL && input.LA(2) != NEWLINE ) ) {
2613                                alt30=1;
2614                            }
2615                        }
2616                        switch (alt30) {
2617                            case 1 :
2618                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:195:83: text_linebreak
2619                                {
2620                                pushFollow(FOLLOW_text_linebreak_in_text_formattedcontent810);
2621                                text_linebreak();
2622                                _fsp--;
2623                                if (failed) return items;
2624    
2625                                }
2626                                break;
2627    
2628                        }
2629    
2630    
2631                        }
2632                        break;
2633    
2634                    default :
2635                        if ( cnt31 >= 1 ) break loop31;
2636                        if (backtracking>0) {failed=true; return items;}
2637                            EarlyExitException eee =
2638                                new EarlyExitException(31, input);
2639                            throw eee;
2640                    }
2641                    cnt31++;
2642                } while (true);
2643    
2644    
2645                }
2646    
2647            }
2648            catch (RecognitionException re) {
2649                reportError(re);
2650                recover(input,re);
2651            }
2652            finally {
2653            }
2654            return items;
2655        }
2656        // $ANTLR end text_formattedcontent
2657    
2658    
2659        // $ANTLR start text_linebreak
2660        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:197:1: text_linebreak : {...}? text_lineseparator ;
2661        public final void text_linebreak() throws RecognitionException {
2662            try {
2663                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:198:2: ({...}? text_lineseparator )
2664                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:198:4: {...}? text_lineseparator
2665                {
2666                if ( !( input.LA(2) != DASH && input.LA(2) != POUND &&
2667                            input.LA(2) != EQUAL && input.LA(2) != NEWLINE ) ) {
2668                    if (backtracking>0) {failed=true; return ;}
2669                    throw new FailedPredicateException(input, "text_linebreak", " input.LA(2) != DASH && input.LA(2) != POUND &&\n\t\tinput.LA(2) != EQUAL && input.LA(2) != NEWLINE ");
2670                }
2671                pushFollow(FOLLOW_text_lineseparator_in_text_linebreak830);
2672                text_lineseparator();
2673                _fsp--;
2674                if (failed) return ;
2675    
2676                }
2677    
2678            }
2679            catch (RecognitionException re) {
2680                reportError(re);
2681                recover(input,re);
2682            }
2683            finally {
2684            }
2685            return ;
2686        }
2687        // $ANTLR end text_linebreak
2688    
2689    
2690        // $ANTLR start text_inlineelement
2691        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:202:1: text_inlineelement returns [ASTNode element = null ] : (tf= text_first_inlineelement | nwi= nowiki_inline );
2692        public final ASTNode text_inlineelement() throws RecognitionException {
2693            ASTNode element =  null;
2694    
2695            ASTNode tf = null;
2696    
2697            NoWikiSectionNode nwi = null;
2698    
2699    
2700            try {
2701                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:203:2: (tf= text_first_inlineelement | nwi= nowiki_inline )
2702                int alt32=2;
2703                int LA32_0 = input.LA(1);
2704    
2705                if ( ((LA32_0>=LINK_OPEN && LA32_0<=IMAGE_OPEN)||LA32_0==EXTENSION) ) {
2706                    alt32=1;
2707                }
2708                else if ( (LA32_0==NOWIKI_OPEN) ) {
2709                    alt32=2;
2710                }
2711                else {
2712                    if (backtracking>0) {failed=true; return element;}
2713                    NoViableAltException nvae =
2714                        new NoViableAltException("202:1: text_inlineelement returns [ASTNode element = null ] : (tf= text_first_inlineelement | nwi= nowiki_inline );", 32, 0, input);
2715    
2716                    throw nvae;
2717                }
2718                switch (alt32) {
2719                    case 1 :
2720                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:203:4: tf= text_first_inlineelement
2721                        {
2722                        pushFollow(FOLLOW_text_first_inlineelement_in_text_inlineelement848);
2723                        tf=text_first_inlineelement();
2724                        _fsp--;
2725                        if (failed) return element;
2726                        if ( backtracking==0 ) {
2727                          element = tf; 
2728                        }
2729    
2730                        }
2731                        break;
2732                    case 2 :
2733                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:204:4: nwi= nowiki_inline
2734                        {
2735                        pushFollow(FOLLOW_nowiki_inline_in_text_inlineelement859);
2736                        nwi=nowiki_inline();
2737                        _fsp--;
2738                        if (failed) return element;
2739                        if ( backtracking==0 ) {
2740                          element = nwi; 
2741                        }
2742    
2743                        }
2744                        break;
2745    
2746                }
2747            }
2748            catch (RecognitionException re) {
2749                reportError(re);
2750                recover(input,re);
2751            }
2752            finally {
2753            }
2754            return element;
2755        }
2756        // $ANTLR end text_inlineelement
2757    
2758    
2759        // $ANTLR start text_first_inlineelement
2760        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:206:1: text_first_inlineelement returns [ASTNode element = null] : (l= link | i= image | e= extension );
2761        public final ASTNode text_first_inlineelement() throws RecognitionException {
2762            ASTNode element =  null;
2763    
2764            LinkNode l = null;
2765    
2766            ImageNode i = null;
2767    
2768            ASTNode e = null;
2769    
2770    
2771            try {
2772                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:207:2: (l= link | i= image | e= extension )
2773                int alt33=3;
2774                switch ( input.LA(1) ) {
2775                case LINK_OPEN:
2776                    {
2777                    alt33=1;
2778                    }
2779                    break;
2780                case IMAGE_OPEN:
2781                    {
2782                    alt33=2;
2783                    }
2784                    break;
2785                case EXTENSION:
2786                    {
2787                    alt33=3;
2788                    }
2789                    break;
2790                default:
2791                    if (backtracking>0) {failed=true; return element;}
2792                    NoViableAltException nvae =
2793                        new NoViableAltException("206:1: text_first_inlineelement returns [ASTNode element = null] : (l= link | i= image | e= extension );", 33, 0, input);
2794    
2795                    throw nvae;
2796                }
2797    
2798                switch (alt33) {
2799                    case 1 :
2800                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:208:3: l= link
2801                        {
2802                        pushFollow(FOLLOW_link_in_text_first_inlineelement880);
2803                        l=link();
2804                        _fsp--;
2805                        if (failed) return element;
2806                        if ( backtracking==0 ) {
2807                          element = l;
2808                        }
2809    
2810                        }
2811                        break;
2812                    case 2 :
2813                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:209:4: i= image
2814                        {
2815                        pushFollow(FOLLOW_image_in_text_first_inlineelement891);
2816                        i=image();
2817                        _fsp--;
2818                        if (failed) return element;
2819                        if ( backtracking==0 ) {
2820                          element = i;
2821                        }
2822    
2823                        }
2824                        break;
2825                    case 3 :
2826                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:210:4: e= extension
2827                        {
2828                        pushFollow(FOLLOW_extension_in_text_first_inlineelement901);
2829                        e=extension();
2830                        _fsp--;
2831                        if (failed) return element;
2832                        if ( backtracking==0 ) {
2833                          element = e;
2834                        }
2835    
2836                        }
2837                        break;
2838    
2839                }
2840            }
2841            catch (RecognitionException re) {
2842                reportError(re);
2843                recover(input,re);
2844            }
2845            finally {
2846            }
2847            return element;
2848        }
2849        // $ANTLR end text_first_inlineelement
2850    
2851    
2852        // $ANTLR start text_first_unformattedelement
2853        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:212:1: text_first_unformattedelement returns [ASTNode item = null] : (tfu= text_first_unformatted | tfi= text_first_inlineelement );
2854        public final ASTNode text_first_unformattedelement() throws RecognitionException {
2855            ASTNode item =  null;
2856    
2857            CollectionNode tfu = null;
2858    
2859            ASTNode tfi = null;
2860    
2861    
2862            try {
2863                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:213:2: (tfu= text_first_unformatted | tfi= text_first_inlineelement )
2864                int alt34=2;
2865                int LA34_0 = input.LA(1);
2866    
2867                if ( ((LA34_0>=FORCED_END_OF_LINE && LA34_0<=WIKI)||(LA34_0>=FORCED_LINEBREAK && LA34_0<=79)) ) {
2868                    alt34=1;
2869                }
2870                else if ( ((LA34_0>=LINK_OPEN && LA34_0<=IMAGE_OPEN)||LA34_0==EXTENSION) ) {
2871                    alt34=2;
2872                }
2873                else {
2874                    if (backtracking>0) {failed=true; return item;}
2875                    NoViableAltException nvae =
2876                        new NoViableAltException("212:1: text_first_unformattedelement returns [ASTNode item = null] : (tfu= text_first_unformatted | tfi= text_first_inlineelement );", 34, 0, input);
2877    
2878                    throw nvae;
2879                }
2880                switch (alt34) {
2881                    case 1 :
2882                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:213:4: tfu= text_first_unformatted
2883                        {
2884                        pushFollow(FOLLOW_text_first_unformatted_in_text_first_unformattedelement921);
2885                        tfu=text_first_unformatted();
2886                        _fsp--;
2887                        if (failed) return item;
2888                        if ( backtracking==0 ) {
2889                          item = new UnformattedTextNode(tfu);
2890                        }
2891    
2892                        }
2893                        break;
2894                    case 2 :
2895                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:214:4: tfi= text_first_inlineelement
2896                        {
2897                        pushFollow(FOLLOW_text_first_inlineelement_in_text_first_unformattedelement932);
2898                        tfi=text_first_inlineelement();
2899                        _fsp--;
2900                        if (failed) return item;
2901                        if ( backtracking==0 ) {
2902                           item = tfi; 
2903                        }
2904    
2905                        }
2906                        break;
2907    
2908                }
2909            }
2910            catch (RecognitionException re) {
2911                reportError(re);
2912                recover(input,re);
2913            }
2914            finally {
2915            }
2916            return item;
2917        }
2918        // $ANTLR end text_first_unformattedelement
2919    
2920    
2921        // $ANTLR start text_first_unformatted
2922        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:216:1: text_first_unformatted returns [CollectionNode items = new CollectionNode()] : (t= text_first_unformmatted_text | ( forced_linebreak | e= escaped )+ );
2923        public final CollectionNode text_first_unformatted() throws RecognitionException {
2924            CollectionNode items =  new CollectionNode();
2925    
2926            StringBundler t = null;
2927    
2928            ScapedNode e = null;
2929    
2930    
2931            try {
2932                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:217:2: (t= text_first_unformmatted_text | ( forced_linebreak | e= escaped )+ )
2933                int alt36=2;
2934                int LA36_0 = input.LA(1);
2935    
2936                if ( ((LA36_0>=FORCED_END_OF_LINE && LA36_0<=WIKI)||(LA36_0>=NOWIKI_BLOCK_CLOSE && LA36_0<=79)) ) {
2937                    alt36=1;
2938                }
2939                else if ( ((LA36_0>=FORCED_LINEBREAK && LA36_0<=ESCAPE)) ) {
2940                    alt36=2;
2941                }
2942                else {
2943                    if (backtracking>0) {failed=true; return items;}
2944                    NoViableAltException nvae =
2945                        new NoViableAltException("216:1: text_first_unformatted returns [CollectionNode items = new CollectionNode()] : (t= text_first_unformmatted_text | ( forced_linebreak | e= escaped )+ );", 36, 0, input);
2946    
2947                    throw nvae;
2948                }
2949                switch (alt36) {
2950                    case 1 :
2951                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:217:6: t= text_first_unformmatted_text
2952                        {
2953                        pushFollow(FOLLOW_text_first_unformmatted_text_in_text_first_unformatted954);
2954                        t=text_first_unformmatted_text();
2955                        _fsp--;
2956                        if (failed) return items;
2957                        if ( backtracking==0 ) {
2958                          items.add(new UnformattedTextNode(t.toString()));
2959                        }
2960    
2961                        }
2962                        break;
2963                    case 2 :
2964                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:218:5: ( forced_linebreak | e= escaped )+
2965                        {
2966                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:218:5: ( forced_linebreak | e= escaped )+
2967                        int cnt35=0;
2968                        loop35:
2969                        do {
2970                            int alt35=3;
2971                            int LA35_0 = input.LA(1);
2972    
2973                            if ( (LA35_0==FORCED_LINEBREAK) ) {
2974                                alt35=1;
2975                            }
2976                            else if ( (LA35_0==ESCAPE) ) {
2977                                int LA35_3 = input.LA(2);
2978    
2979                                if ( ((LA35_3>=FORCED_END_OF_LINE && LA35_3<=79)) ) {
2980                                    alt35=2;
2981                                }
2982    
2983    
2984                            }
2985    
2986    
2987                            switch (alt35) {
2988                            case 1 :
2989                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:218:6: forced_linebreak
2990                                {
2991                                pushFollow(FOLLOW_forced_linebreak_in_text_first_unformatted963);
2992                                forced_linebreak();
2993                                _fsp--;
2994                                if (failed) return items;
2995                                if ( backtracking==0 ) {
2996                                   items.add(new ForcedEndOfLineNode()); 
2997                                }
2998    
2999                                }
3000                                break;
3001                            case 2 :
3002                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:219:5: e= escaped
3003                                {
3004                                pushFollow(FOLLOW_escaped_in_text_first_unformatted975);
3005                                e=escaped();
3006                                _fsp--;
3007                                if (failed) return items;
3008                                if ( backtracking==0 ) {
3009                                  items.add(e);
3010                                }
3011    
3012                                }
3013                                break;
3014    
3015                            default :
3016                                if ( cnt35 >= 1 ) break loop35;
3017                                if (backtracking>0) {failed=true; return items;}
3018                                    EarlyExitException eee =
3019                                        new EarlyExitException(35, input);
3020                                    throw eee;
3021                            }
3022                            cnt35++;
3023                        } while (true);
3024    
3025    
3026                        }
3027                        break;
3028    
3029                }
3030            }
3031            catch (RecognitionException re) {
3032                reportError(re);
3033                recover(input,re);
3034            }
3035            finally {
3036            }
3037            return items;
3038        }
3039        // $ANTLR end text_first_unformatted
3040    
3041    
3042        // $ANTLR start text_first_unformmatted_text
3043        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:222: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 ) )+ ;
3044        public final StringBundler text_first_unformmatted_text() throws RecognitionException {
3045            StringBundler text =  new StringBundler();
3046    
3047            Token c=null;
3048    
3049            try {
3050                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:223:2: ( (c=~ ( POUND | STAR | EQUAL | PIPE | ITAL | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+ )
3051                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:224:3: (c=~ ( POUND | STAR | EQUAL | PIPE | ITAL | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+
3052                {
3053                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:224:3: (c=~ ( POUND | STAR | EQUAL | PIPE | ITAL | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+
3054                int cnt37=0;
3055                loop37:
3056                do {
3057                    int alt37=2;
3058                    int LA37_0 = input.LA(1);
3059    
3060                    if ( ((LA37_0>=FORCED_END_OF_LINE && LA37_0<=WIKI)||(LA37_0>=NOWIKI_BLOCK_CLOSE && LA37_0<=79)) ) {
3061                        alt37=1;
3062                    }
3063    
3064    
3065                    switch (alt37) {
3066                    case 1 :
3067                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:224:4: c=~ ( POUND | STAR | EQUAL | PIPE | ITAL | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF )
3068                        {
3069                        c=(Token)input.LT(1);
3070                        if ( (input.LA(1)>=FORCED_END_OF_LINE && input.LA(1)<=WIKI)||(input.LA(1)>=NOWIKI_BLOCK_CLOSE && input.LA(1)<=79) ) {
3071                            input.consume();
3072                            errorRecovery=false;failed=false;
3073                        }
3074                        else {
3075                            if (backtracking>0) {failed=true; return text;}
3076                            MismatchedSetException mse =
3077                                new MismatchedSetException(null,input);
3078                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_text_first_unformmatted_text1003);    throw mse;
3079                        }
3080    
3081                        if ( backtracking==0 ) {
3082                          text.append(c.getText()); 
3083                        }
3084    
3085                        }
3086                        break;
3087    
3088                    default :
3089                        if ( cnt37 >= 1 ) break loop37;
3090                        if (backtracking>0) {failed=true; return text;}
3091                            EarlyExitException eee =
3092                                new EarlyExitException(37, input);
3093                            throw eee;
3094                    }
3095                    cnt37++;
3096                } while (true);
3097    
3098    
3099                }
3100    
3101            }
3102            catch (RecognitionException re) {
3103                reportError(re);
3104                recover(input,re);
3105            }
3106            finally {
3107            }
3108            return text;
3109        }
3110        // $ANTLR end text_first_unformmatted_text
3111    
3112    
3113        // $ANTLR start text_unformattedelement
3114        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:238:1: text_unformattedelement returns [ASTNode contents = null] : (text= text_unformatted | ti= text_inlineelement );
3115        public final ASTNode text_unformattedelement() throws RecognitionException {
3116            ASTNode contents =  null;
3117    
3118            CollectionNode text = null;
3119    
3120            ASTNode ti = null;
3121    
3122    
3123            try {
3124                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:239:2: (text= text_unformatted | ti= text_inlineelement )
3125                int alt38=2;
3126                int LA38_0 = input.LA(1);
3127    
3128                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<=79)) ) {
3129                    alt38=1;
3130                }
3131                else if ( ((LA38_0>=LINK_OPEN && LA38_0<=EXTENSION)) ) {
3132                    alt38=2;
3133                }
3134                else {
3135                    if (backtracking>0) {failed=true; return contents;}
3136                    NoViableAltException nvae =
3137                        new NoViableAltException("238:1: text_unformattedelement returns [ASTNode contents = null] : (text= text_unformatted | ti= text_inlineelement );", 38, 0, input);
3138    
3139                    throw nvae;
3140                }
3141                switch (alt38) {
3142                    case 1 :
3143                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:239:4: text= text_unformatted
3144                        {
3145                        pushFollow(FOLLOW_text_unformatted_in_text_unformattedelement1117);
3146                        text=text_unformatted();
3147                        _fsp--;
3148                        if (failed) return contents;
3149                        if ( backtracking==0 ) {
3150                           contents = text; 
3151                        }
3152    
3153                        }
3154                        break;
3155                    case 2 :
3156                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:240:4: ti= text_inlineelement
3157                        {
3158                        pushFollow(FOLLOW_text_inlineelement_in_text_unformattedelement1128);
3159                        ti=text_inlineelement();
3160                        _fsp--;
3161                        if (failed) return contents;
3162                        if ( backtracking==0 ) {
3163                           contents = ti; 
3164                        }
3165    
3166                        }
3167                        break;
3168    
3169                }
3170            }
3171            catch (RecognitionException re) {
3172                reportError(re);
3173                recover(input,re);
3174            }
3175            finally {
3176            }
3177            return contents;
3178        }
3179        // $ANTLR end text_unformattedelement
3180    
3181    
3182        // $ANTLR start text_unformatted
3183        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:243:1: text_unformatted returns [CollectionNode items = new CollectionNode()] : (contents= text_unformated_text | ( forced_linebreak | e= escaped )+ );
3184        public final CollectionNode text_unformatted() throws RecognitionException {
3185            CollectionNode items =  new CollectionNode();
3186    
3187            StringBundler contents = null;
3188    
3189            ScapedNode e = null;
3190    
3191    
3192            try {
3193                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:244:2: (contents= text_unformated_text | ( forced_linebreak | e= escaped )+ )
3194                int alt40=2;
3195                int LA40_0 = input.LA(1);
3196    
3197                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<=79)) ) {
3198                    alt40=1;
3199                }
3200                else if ( ((LA40_0>=FORCED_LINEBREAK && LA40_0<=ESCAPE)) ) {
3201                    alt40=2;
3202                }
3203                else {
3204                    if (backtracking>0) {failed=true; return items;}
3205                    NoViableAltException nvae =
3206                        new NoViableAltException("243:1: text_unformatted returns [CollectionNode items = new CollectionNode()] : (contents= text_unformated_text | ( forced_linebreak | e= escaped )+ );", 40, 0, input);
3207    
3208                    throw nvae;
3209                }
3210                switch (alt40) {
3211                    case 1 :
3212                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:244:5: contents= text_unformated_text
3213                        {
3214                        pushFollow(FOLLOW_text_unformated_text_in_text_unformatted1150);
3215                        contents=text_unformated_text();
3216                        _fsp--;
3217                        if (failed) return items;
3218                        if ( backtracking==0 ) {
3219                          items.add(new UnformattedTextNode(contents.toString())); 
3220                        }
3221    
3222                        }
3223                        break;
3224                    case 2 :
3225                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:245:5: ( forced_linebreak | e= escaped )+
3226                        {
3227                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:245:5: ( forced_linebreak | e= escaped )+
3228                        int cnt39=0;
3229                        loop39:
3230                        do {
3231                            int alt39=3;
3232                            int LA39_0 = input.LA(1);
3233    
3234                            if ( (LA39_0==FORCED_LINEBREAK) ) {
3235                                alt39=1;
3236                            }
3237                            else if ( (LA39_0==ESCAPE) ) {
3238                                alt39=2;
3239                            }
3240    
3241    
3242                            switch (alt39) {
3243                            case 1 :
3244                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:245:6: forced_linebreak
3245                                {
3246                                pushFollow(FOLLOW_forced_linebreak_in_text_unformatted1159);
3247                                forced_linebreak();
3248                                _fsp--;
3249                                if (failed) return items;
3250                                if ( backtracking==0 ) {
3251                                   items.add(new ForcedEndOfLineNode()); 
3252                                }
3253    
3254                                }
3255                                break;
3256                            case 2 :
3257                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:246:5: e= escaped
3258                                {
3259                                pushFollow(FOLLOW_escaped_in_text_unformatted1171);
3260                                e=escaped();
3261                                _fsp--;
3262                                if (failed) return items;
3263                                if ( backtracking==0 ) {
3264                                  items.add(e);
3265                                }
3266    
3267                                }
3268                                break;
3269    
3270                            default :
3271                                if ( cnt39 >= 1 ) break loop39;
3272                                if (backtracking>0) {failed=true; return items;}
3273                                    EarlyExitException eee =
3274                                        new EarlyExitException(39, input);
3275                                    throw eee;
3276                            }
3277                            cnt39++;
3278                        } while (true);
3279    
3280    
3281                        }
3282                        break;
3283    
3284                }
3285            }
3286            catch (RecognitionException re) {
3287                reportError(re);
3288                recover(input,re);
3289            }
3290            finally {
3291            }
3292            return items;
3293        }
3294        // $ANTLR end text_unformatted
3295    
3296    
3297        // $ANTLR start text_unformated_text
3298        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:249:1: text_unformated_text returns [StringBundler text = new StringBundler()] : (c=~ ( ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+ ;
3299        public final StringBundler text_unformated_text() throws RecognitionException {
3300            StringBundler text =  new StringBundler();
3301    
3302            Token c=null;
3303    
3304            try {
3305                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:250:1: ( (c=~ ( ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+ )
3306                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:251:2: (c=~ ( ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+
3307                {
3308                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:251:2: (c=~ ( ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+
3309                int cnt41=0;
3310                loop41:
3311                do {
3312                    int alt41=2;
3313                    int LA41_0 = input.LA(1);
3314    
3315                    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<=79)) ) {
3316                        alt41=1;
3317                    }
3318    
3319    
3320                    switch (alt41) {
3321                    case 1 :
3322                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:251:3: c=~ ( ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF )
3323                        {
3324                        c=(Token)input.LT(1);
3325                        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)<=79) ) {
3326                            input.consume();
3327                            errorRecovery=false;failed=false;
3328                        }
3329                        else {
3330                            if (backtracking>0) {failed=true; return text;}
3331                            MismatchedSetException mse =
3332                                new MismatchedSetException(null,input);
3333                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_text_unformated_text1196);    throw mse;
3334                        }
3335    
3336                        if ( backtracking==0 ) {
3337                           text.append(c.getText());
3338                        }
3339    
3340                        }
3341                        break;
3342    
3343                    default :
3344                        if ( cnt41 >= 1 ) break loop41;
3345                        if (backtracking>0) {failed=true; return text;}
3346                            EarlyExitException eee =
3347                                new EarlyExitException(41, input);
3348                            throw eee;
3349                    }
3350                    cnt41++;
3351                } while (true);
3352    
3353    
3354                }
3355    
3356            }
3357            catch (RecognitionException re) {
3358                reportError(re);
3359                recover(input,re);
3360            }
3361            finally {
3362            }
3363            return text;
3364        }
3365        // $ANTLR end text_unformated_text
3366    
3367        protected static class heading_scope {
3368            CollectionNode items;
3369            int nestedLevel;
3370            String text;
3371        }
3372        protected Stack heading_stack = new Stack();
3373    
3374    
3375        // $ANTLR start heading
3376        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:265:1: heading returns [ASTNode header] : heading_markup heading_content ( heading_markup )? ( blanks )? paragraph_separator ;
3377        public final ASTNode heading() throws RecognitionException {
3378            heading_stack.push(new heading_scope());
3379            ASTNode header = null;
3380    
3381    
3382                            ((heading_scope)heading_stack.peek()).items = new CollectionNode();
3383                            ((heading_scope)heading_stack.peek()).text = new String();
3384                    
3385            try {
3386                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:275:2: ( heading_markup heading_content ( heading_markup )? ( blanks )? paragraph_separator )
3387                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:275:4: heading_markup heading_content ( heading_markup )? ( blanks )? paragraph_separator
3388                {
3389                pushFollow(FOLLOW_heading_markup_in_heading1298);
3390                heading_markup();
3391                _fsp--;
3392                if (failed) return header;
3393                if ( backtracking==0 ) {
3394                  ((heading_scope)heading_stack.peek()).nestedLevel++;
3395                }
3396                pushFollow(FOLLOW_heading_content_in_heading1303);
3397                heading_content();
3398                _fsp--;
3399                if (failed) return header;
3400                if ( backtracking==0 ) {
3401                   header = new HeadingNode(((heading_scope)heading_stack.peek()).items,((heading_scope)heading_stack.peek()).nestedLevel); 
3402                }
3403                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:275:134: ( heading_markup )?
3404                int alt42=2;
3405                int LA42_0 = input.LA(1);
3406    
3407                if ( (LA42_0==EQUAL) ) {
3408                    alt42=1;
3409                }
3410                switch (alt42) {
3411                    case 1 :
3412                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:275:136: heading_markup
3413                        {
3414                        pushFollow(FOLLOW_heading_markup_in_heading1310);
3415                        heading_markup();
3416                        _fsp--;
3417                        if (failed) return header;
3418    
3419                        }
3420                        break;
3421    
3422                }
3423    
3424                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:275:155: ( blanks )?
3425                int alt43=2;
3426                int LA43_0 = input.LA(1);
3427    
3428                if ( (LA43_0==BLANKS) ) {
3429                    alt43=1;
3430                }
3431                switch (alt43) {
3432                    case 1 :
3433                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:275:157: blanks
3434                        {
3435                        pushFollow(FOLLOW_blanks_in_heading1318);
3436                        blanks();
3437                        _fsp--;
3438                        if (failed) return header;
3439    
3440                        }
3441                        break;
3442    
3443                }
3444    
3445                pushFollow(FOLLOW_paragraph_separator_in_heading1325);
3446                paragraph_separator();
3447                _fsp--;
3448                if (failed) return header;
3449    
3450                }
3451    
3452            }
3453            catch (RecognitionException re) {
3454                reportError(re);
3455                recover(input,re);
3456            }
3457            finally {
3458                heading_stack.pop();
3459            }
3460            return header;
3461        }
3462        // $ANTLR end heading
3463    
3464    
3465        // $ANTLR start heading_content
3466        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:278:1: heading_content : ( heading_markup heading_content ( heading_markup )? | ht= heading_text );
3467        public final void heading_content() throws RecognitionException {
3468            CollectionNode ht = null;
3469    
3470    
3471            try {
3472                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:279:2: ( heading_markup heading_content ( heading_markup )? | ht= heading_text )
3473                int alt45=2;
3474                int LA45_0 = input.LA(1);
3475    
3476                if ( (LA45_0==EQUAL) ) {
3477                    alt45=1;
3478                }
3479                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<=79)) ) {
3480                    alt45=2;
3481                }
3482                else {
3483                    if (backtracking>0) {failed=true; return ;}
3484                    NoViableAltException nvae =
3485                        new NoViableAltException("278:1: heading_content : ( heading_markup heading_content ( heading_markup )? | ht= heading_text );", 45, 0, input);
3486    
3487                    throw nvae;
3488                }
3489                switch (alt45) {
3490                    case 1 :
3491                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:279:4: heading_markup heading_content ( heading_markup )?
3492                        {
3493                        pushFollow(FOLLOW_heading_markup_in_heading_content1335);
3494                        heading_markup();
3495                        _fsp--;
3496                        if (failed) return ;
3497                        if ( backtracking==0 ) {
3498                          ((heading_scope)heading_stack.peek()).nestedLevel++;
3499                        }
3500                        pushFollow(FOLLOW_heading_content_in_heading_content1340);
3501                        heading_content();
3502                        _fsp--;
3503                        if (failed) return ;
3504                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:279:64: ( heading_markup )?
3505                        int alt44=2;
3506                        int LA44_0 = input.LA(1);
3507    
3508                        if ( (LA44_0==EQUAL) ) {
3509                            alt44=1;
3510                        }
3511                        switch (alt44) {
3512                            case 1 :
3513                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:279:66: heading_markup
3514                                {
3515                                pushFollow(FOLLOW_heading_markup_in_heading_content1345);
3516                                heading_markup();
3517                                _fsp--;
3518                                if (failed) return ;
3519    
3520                                }
3521                                break;
3522    
3523                        }
3524    
3525    
3526                        }
3527                        break;
3528                    case 2 :
3529                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:280:4: ht= heading_text
3530                        {
3531                        pushFollow(FOLLOW_heading_text_in_heading_content1357);
3532                        ht=heading_text();
3533                        _fsp--;
3534                        if (failed) return ;
3535                        if ( backtracking==0 ) {
3536                          ((heading_scope)heading_stack.peek()).items = ht;
3537                        }
3538    
3539                        }
3540                        break;
3541    
3542                }
3543            }
3544            catch (RecognitionException re) {
3545                reportError(re);
3546                recover(input,re);
3547            }
3548            finally {
3549            }
3550            return ;
3551        }
3552        // $ANTLR end heading_content
3553    
3554    
3555        // $ANTLR start heading_text
3556        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:283:1: heading_text returns [CollectionNode items = null] : te= heading_cellcontent ;
3557        public final CollectionNode heading_text() throws RecognitionException {
3558            CollectionNode items =  null;
3559    
3560            CollectionNode te = null;
3561    
3562    
3563            try {
3564                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:284:2: (te= heading_cellcontent )
3565                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:284:4: te= heading_cellcontent
3566                {
3567                pushFollow(FOLLOW_heading_cellcontent_in_heading_text1378);
3568                te=heading_cellcontent();
3569                _fsp--;
3570                if (failed) return items;
3571                if ( backtracking==0 ) {
3572                  items = te;
3573                }
3574    
3575                }
3576    
3577            }
3578            catch (RecognitionException re) {
3579                reportError(re);
3580                recover(input,re);
3581            }
3582            finally {
3583            }
3584            return items;
3585        }
3586        // $ANTLR end heading_text
3587    
3588    
3589        // $ANTLR start heading_cellcontent
3590        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:287:1: heading_cellcontent returns [CollectionNode items = new CollectionNode()] : onestar (tcp= heading_cellcontentpart onestar )* ;
3591        public final CollectionNode heading_cellcontent() throws RecognitionException {
3592            CollectionNode items =  new CollectionNode();
3593    
3594            ASTNode tcp = null;
3595    
3596    
3597            try {
3598                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:288:2: ( onestar (tcp= heading_cellcontentpart onestar )* )
3599                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:288:4: onestar (tcp= heading_cellcontentpart onestar )*
3600                {
3601                pushFollow(FOLLOW_onestar_in_heading_cellcontent1395);
3602                onestar();
3603                _fsp--;
3604                if (failed) return items;
3605                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:288:13: (tcp= heading_cellcontentpart onestar )*
3606                loop46:
3607                do {
3608                    int alt46=2;
3609                    int LA46_0 = input.LA(1);
3610    
3611                    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<=79)) ) {
3612                        alt46=1;
3613                    }
3614    
3615    
3616                    switch (alt46) {
3617                    case 1 :
3618                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:288:15: tcp= heading_cellcontentpart onestar
3619                        {
3620                        pushFollow(FOLLOW_heading_cellcontentpart_in_heading_cellcontent1404);
3621                        tcp=heading_cellcontentpart();
3622                        _fsp--;
3623                        if (failed) return items;
3624                        if ( backtracking==0 ) {
3625    
3626    
3627                                                                            if(tcp != null) { // some AST Node could be NULL if bad CREOLE syntax is wrotten
3628                                                                                    items.add(tcp);
3629                                                                            }
3630    
3631                                                                            
3632                        }
3633                        pushFollow(FOLLOW_onestar_in_heading_cellcontent1415);
3634                        onestar();
3635                        _fsp--;
3636                        if (failed) return items;
3637    
3638                        }
3639                        break;
3640    
3641                    default :
3642                        break loop46;
3643                    }
3644                } while (true);
3645    
3646    
3647                }
3648    
3649            }
3650            catch (RecognitionException re) {
3651                reportError(re);
3652                recover(input,re);
3653            }
3654            finally {
3655            }
3656            return items;
3657        }
3658        // $ANTLR end heading_cellcontent
3659    
3660    
3661        // $ANTLR start heading_cellcontentpart
3662        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:297:1: heading_cellcontentpart returns [ASTNode node = null] : (tf= heading_formattedelement | tu= heading_unformattedelement );
3663        public final ASTNode heading_cellcontentpart() throws RecognitionException {
3664            ASTNode node =  null;
3665    
3666            ASTNode tf = null;
3667    
3668            ASTNode tu = null;
3669    
3670    
3671            try {
3672                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:298:2: (tf= heading_formattedelement | tu= heading_unformattedelement )
3673                int alt47=2;
3674                switch ( input.LA(1) ) {
3675                case ITAL:
3676                    {
3677                    alt47=1;
3678                    }
3679                    break;
3680                case STAR:
3681                    {
3682                    int LA47_2 = input.LA(2);
3683    
3684                    if ( (LA47_2==STAR) ) {
3685                        alt47=1;
3686                    }
3687                    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<=79)) ) {
3688                        alt47=2;
3689                    }
3690                    else {
3691                        if (backtracking>0) {failed=true; return node;}
3692                        NoViableAltException nvae =
3693                            new NoViableAltException("297:1: heading_cellcontentpart returns [ASTNode node = null] : (tf= heading_formattedelement | tu= heading_unformattedelement );", 47, 2, input);
3694    
3695                        throw nvae;
3696                    }
3697                    }
3698                    break;
3699                case FORCED_END_OF_LINE:
3700                case HEADING_SECTION:
3701                case HORIZONTAL_SECTION:
3702                case LIST_ITEM:
3703                case LIST_ITEM_PART:
3704                case NOWIKI_SECTION:
3705                case SCAPE_NODE:
3706                case TEXT_NODE:
3707                case UNORDERED_LIST:
3708                case UNFORMATTED_TEXT:
3709                case WIKI:
3710                case POUND:
3711                case PIPE:
3712                case LINK_OPEN:
3713                case IMAGE_OPEN:
3714                case NOWIKI_OPEN:
3715                case EXTENSION:
3716                case FORCED_LINEBREAK:
3717                case NOWIKI_BLOCK_CLOSE:
3718                case NOWIKI_CLOSE:
3719                case LINK_CLOSE:
3720                case IMAGE_CLOSE:
3721                case BLANKS:
3722                case TABLE_OF_CONTENTS_TEXT:
3723                case DASH:
3724                case CR:
3725                case LF:
3726                case SPACE:
3727                case TABULATOR:
3728                case BRACE_CLOSE:
3729                case COLON_SLASH:
3730                case SLASH:
3731                case TABLE_OF_CONTENTS_OPEN_MARKUP:
3732                case TABLE_OF_CONTENTS_CLOSE_MARKUP:
3733                case INSIGNIFICANT_CHAR:
3734                case 44:
3735                case 45:
3736                case 46:
3737                case 47:
3738                case 48:
3739                case 49:
3740                case 50:
3741                case 51:
3742                case 52:
3743                case 53:
3744                case 54:
3745                case 55:
3746                case 56:
3747                case 57:
3748                case 58:
3749                case 59:
3750                case 60:
3751                case 61:
3752                case 62:
3753                case 63:
3754                case 64:
3755                case 65:
3756                case 66:
3757                case 67:
3758                case 68:
3759                case 69:
3760                case 70:
3761                case 71:
3762                case 72:
3763                case 73:
3764                case 74:
3765                case 75:
3766                case 76:
3767                case 77:
3768                case 78:
3769                case 79:
3770                    {
3771                    alt47=2;
3772                    }
3773                    break;
3774                default:
3775                    if (backtracking>0) {failed=true; return node;}
3776                    NoViableAltException nvae =
3777                        new NoViableAltException("297:1: heading_cellcontentpart returns [ASTNode node = null] : (tf= heading_formattedelement | tu= heading_unformattedelement );", 47, 0, input);
3778    
3779                    throw nvae;
3780                }
3781    
3782                switch (alt47) {
3783                    case 1 :
3784                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:298:4: tf= heading_formattedelement
3785                        {
3786                        pushFollow(FOLLOW_heading_formattedelement_in_heading_cellcontentpart1436);
3787                        tf=heading_formattedelement();
3788                        _fsp--;
3789                        if (failed) return node;
3790                        if ( backtracking==0 ) {
3791                          node =tf;
3792                        }
3793    
3794                        }
3795                        break;
3796                    case 2 :
3797                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:299:4: tu= heading_unformattedelement
3798                        {
3799                        pushFollow(FOLLOW_heading_unformattedelement_in_heading_cellcontentpart1447);
3800                        tu=heading_unformattedelement();
3801                        _fsp--;
3802                        if (failed) return node;
3803                        if ( backtracking==0 ) {
3804                          node =tu;
3805                        }
3806    
3807                        }
3808                        break;
3809    
3810                }
3811            }
3812            catch (RecognitionException re) {
3813                reportError(re);
3814                recover(input,re);
3815            }
3816            finally {
3817            }
3818            return node;
3819        }
3820        // $ANTLR end heading_cellcontentpart
3821    
3822    
3823        // $ANTLR start heading_formattedelement
3824        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:301:1: heading_formattedelement returns [ASTNode content = null] : ( ital_markup (tic= heading_italcontent )? ( ital_markup )? | bold_markup (tbc= heading_boldcontent )? ( bold_markup )? );
3825        public final ASTNode heading_formattedelement() throws RecognitionException {
3826            ASTNode content =  null;
3827    
3828            CollectionNode tic = null;
3829    
3830            CollectionNode tbc = null;
3831    
3832    
3833            try {
3834                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:302:2: ( ital_markup (tic= heading_italcontent )? ( ital_markup )? | bold_markup (tbc= heading_boldcontent )? ( bold_markup )? )
3835                int alt52=2;
3836                int LA52_0 = input.LA(1);
3837    
3838                if ( (LA52_0==ITAL) ) {
3839                    alt52=1;
3840                }
3841                else if ( (LA52_0==STAR) ) {
3842                    alt52=2;
3843                }
3844                else {
3845                    if (backtracking>0) {failed=true; return content;}
3846                    NoViableAltException nvae =
3847                        new NoViableAltException("301:1: heading_formattedelement returns [ASTNode content = null] : ( ital_markup (tic= heading_italcontent )? ( ital_markup )? | bold_markup (tbc= heading_boldcontent )? ( bold_markup )? );", 52, 0, input);
3848    
3849                    throw nvae;
3850                }
3851                switch (alt52) {
3852                    case 1 :
3853                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:302:4: ital_markup (tic= heading_italcontent )? ( ital_markup )?
3854                        {
3855                        pushFollow(FOLLOW_ital_markup_in_heading_formattedelement1463);
3856                        ital_markup();
3857                        _fsp--;
3858                        if (failed) return content;
3859                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:302:18: (tic= heading_italcontent )?
3860                        int alt48=2;
3861                        switch ( input.LA(1) ) {
3862                            case STAR:
3863                                {
3864                                alt48=1;
3865                                }
3866                                break;
3867                            case ITAL:
3868                                {
3869                                alt48=1;
3870                                }
3871                                break;
3872                            case LINK_OPEN:
3873                                {
3874                                alt48=1;
3875                                }
3876                                break;
3877                            case IMAGE_OPEN:
3878                                {
3879                                alt48=1;
3880                                }
3881                                break;
3882                            case NOWIKI_OPEN:
3883                                {
3884                                alt48=1;
3885                                }
3886                                break;
3887                            case EOF:
3888                                {
3889                                alt48=1;
3890                                }
3891                                break;
3892                            case BLANKS:
3893                                {
3894                                alt48=1;
3895                                }
3896                                break;
3897                            case FORCED_END_OF_LINE:
3898                            case HEADING_SECTION:
3899                            case HORIZONTAL_SECTION:
3900                            case LIST_ITEM:
3901                            case LIST_ITEM_PART:
3902                            case NOWIKI_SECTION:
3903                            case SCAPE_NODE:
3904                            case TEXT_NODE:
3905                            case UNORDERED_LIST:
3906                            case UNFORMATTED_TEXT:
3907                            case WIKI:
3908                            case POUND:
3909                            case PIPE:
3910                            case EXTENSION:
3911                            case FORCED_LINEBREAK:
3912                            case NOWIKI_BLOCK_CLOSE:
3913                            case NOWIKI_CLOSE:
3914                            case LINK_CLOSE:
3915                            case IMAGE_CLOSE:
3916                            case TABLE_OF_CONTENTS_TEXT:
3917                            case DASH:
3918                            case CR:
3919                            case LF:
3920                            case SPACE:
3921                            case TABULATOR:
3922                            case BRACE_CLOSE:
3923                            case COLON_SLASH:
3924                            case SLASH:
3925                            case TABLE_OF_CONTENTS_OPEN_MARKUP:
3926                            case TABLE_OF_CONTENTS_CLOSE_MARKUP:
3927                            case INSIGNIFICANT_CHAR:
3928                            case 44:
3929                            case 45:
3930                            case 46:
3931                            case 47:
3932                            case 48:
3933                            case 49:
3934                            case 50:
3935                            case 51:
3936                            case 52:
3937                            case 53:
3938                            case 54:
3939                            case 55:
3940                            case 56:
3941                            case 57:
3942                            case 58:
3943                            case 59:
3944                            case 60:
3945                            case 61:
3946                            case 62:
3947                            case 63:
3948                            case 64:
3949                            case 65:
3950                            case 66:
3951                            case 67:
3952                            case 68:
3953                            case 69:
3954                            case 70:
3955                            case 71:
3956                            case 72:
3957                            case 73:
3958                            case 74:
3959                            case 75:
3960                            case 76:
3961                            case 77:
3962                            case 78:
3963                            case 79:
3964                                {
3965                                alt48=1;
3966                                }
3967                                break;
3968                        }
3969    
3970                        switch (alt48) {
3971                            case 1 :
3972                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:302:20: tic= heading_italcontent
3973                                {
3974                                pushFollow(FOLLOW_heading_italcontent_in_heading_formattedelement1473);
3975                                tic=heading_italcontent();
3976                                _fsp--;
3977                                if (failed) return content;
3978                                if ( backtracking==0 ) {
3979                                   content = new ItalicTextNode(tic); 
3980                                }
3981    
3982                                }
3983                                break;
3984    
3985                        }
3986    
3987                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:302:96: ( ital_markup )?
3988                        int alt49=2;
3989                        int LA49_0 = input.LA(1);
3990    
3991                        if ( (LA49_0==ITAL) ) {
3992                            alt49=1;
3993                        }
3994                        switch (alt49) {
3995                            case 1 :
3996                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:302:98: ital_markup
3997                                {
3998                                pushFollow(FOLLOW_ital_markup_in_heading_formattedelement1482);
3999                                ital_markup();
4000                                _fsp--;
4001                                if (failed) return content;
4002    
4003                                }
4004                                break;
4005    
4006                        }
4007    
4008    
4009                        }
4010                        break;
4011                    case 2 :
4012                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:303:4: bold_markup (tbc= heading_boldcontent )? ( bold_markup )?
4013                        {
4014                        pushFollow(FOLLOW_bold_markup_in_heading_formattedelement1490);
4015                        bold_markup();
4016                        _fsp--;
4017                        if (failed) return content;
4018                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:303:16: (tbc= heading_boldcontent )?
4019                        int alt50=2;
4020                        switch ( input.LA(1) ) {
4021                            case STAR:
4022                                {
4023                                alt50=1;
4024                                }
4025                                break;
4026                            case ITAL:
4027                                {
4028                                alt50=1;
4029                                }
4030                                break;
4031                            case LINK_OPEN:
4032                                {
4033                                alt50=1;
4034                                }
4035                                break;
4036                            case IMAGE_OPEN:
4037                                {
4038                                alt50=1;
4039                                }
4040                                break;
4041                            case NOWIKI_OPEN:
4042                                {
4043                                alt50=1;
4044                                }
4045                                break;
4046                            case BLANKS:
4047                                {
4048                                alt50=1;
4049                                }
4050                                break;
4051                            case EOF:
4052                                {
4053                                alt50=1;
4054                                }
4055                                break;
4056                            case FORCED_END_OF_LINE:
4057                            case HEADING_SECTION:
4058                            case HORIZONTAL_SECTION:
4059                            case LIST_ITEM:
4060                            case LIST_ITEM_PART:
4061                            case NOWIKI_SECTION:
4062                            case SCAPE_NODE:
4063                            case TEXT_NODE:
4064                            case UNORDERED_LIST:
4065                            case UNFORMATTED_TEXT:
4066                            case WIKI:
4067                            case POUND:
4068                            case PIPE:
4069                            case EXTENSION:
4070                            case FORCED_LINEBREAK:
4071                            case NOWIKI_BLOCK_CLOSE:
4072                            case NOWIKI_CLOSE:
4073                            case LINK_CLOSE:
4074                            case IMAGE_CLOSE:
4075                            case TABLE_OF_CONTENTS_TEXT:
4076                            case DASH:
4077                            case CR:
4078                            case LF:
4079                            case SPACE:
4080                            case TABULATOR:
4081                            case BRACE_CLOSE:
4082                            case COLON_SLASH:
4083                            case SLASH:
4084                            case TABLE_OF_CONTENTS_OPEN_MARKUP:
4085                            case TABLE_OF_CONTENTS_CLOSE_MARKUP:
4086                            case INSIGNIFICANT_CHAR:
4087                            case 44:
4088                            case 45:
4089                            case 46:
4090                            case 47:
4091                            case 48:
4092                            case 49:
4093                            case 50:
4094                            case 51:
4095                            case 52:
4096                            case 53:
4097                            case 54:
4098                            case 55:
4099                            case 56:
4100                            case 57:
4101                            case 58:
4102                            case 59:
4103                            case 60:
4104                            case 61:
4105                            case 62:
4106                            case 63:
4107                            case 64:
4108                            case 65:
4109                            case 66:
4110                            case 67:
4111                            case 68:
4112                            case 69:
4113                            case 70:
4114                            case 71:
4115                            case 72:
4116                            case 73:
4117                            case 74:
4118                            case 75:
4119                            case 76:
4120                            case 77:
4121                            case 78:
4122                            case 79:
4123                                {
4124                                alt50=1;
4125                                }
4126                                break;
4127                        }
4128    
4129                        switch (alt50) {
4130                            case 1 :
4131                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:303:18: tbc= heading_boldcontent
4132                                {
4133                                pushFollow(FOLLOW_heading_boldcontent_in_heading_formattedelement1497);
4134                                tbc=heading_boldcontent();
4135                                _fsp--;
4136                                if (failed) return content;
4137                                if ( backtracking==0 ) {
4138                                  content = new BoldTextNode(tbc);
4139                                }
4140    
4141                                }
4142                                break;
4143    
4144                        }
4145    
4146                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:303:90: ( bold_markup )?
4147                        int alt51=2;
4148                        int LA51_0 = input.LA(1);
4149    
4150                        if ( (LA51_0==STAR) ) {
4151                            int LA51_1 = input.LA(2);
4152    
4153                            if ( (LA51_1==STAR) ) {
4154                                alt51=1;
4155                            }
4156                        }
4157                        switch (alt51) {
4158                            case 1 :
4159                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:303:92: bold_markup
4160                                {
4161                                pushFollow(FOLLOW_bold_markup_in_heading_formattedelement1507);
4162                                bold_markup();
4163                                _fsp--;
4164                                if (failed) return content;
4165    
4166                                }
4167                                break;
4168    
4169                        }
4170    
4171    
4172                        }
4173                        break;
4174    
4175                }
4176            }
4177            catch (RecognitionException re) {
4178                reportError(re);
4179                recover(input,re);
4180            }
4181            finally {
4182            }
4183            return content;
4184        }
4185        // $ANTLR end heading_formattedelement
4186    
4187    
4188        // $ANTLR start heading_boldcontent
4189        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:305:1: heading_boldcontent returns [CollectionNode items = new CollectionNode()] : ( onestar (tb= heading_boldcontentpart onestar )+ | EOF );
4190        public final CollectionNode heading_boldcontent() throws RecognitionException {
4191            CollectionNode items =  new CollectionNode();
4192    
4193            ASTNode tb = null;
4194    
4195    
4196            try {
4197                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:306:2: ( onestar (tb= heading_boldcontentpart onestar )+ | EOF )
4198                int alt54=2;
4199                int LA54_0 = input.LA(1);
4200    
4201                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<=79)) ) {
4202                    alt54=1;
4203                }
4204                else if ( (LA54_0==EOF) ) {
4205                    alt54=2;
4206                }
4207                else {
4208                    if (backtracking>0) {failed=true; return items;}
4209                    NoViableAltException nvae =
4210                        new NoViableAltException("305:1: heading_boldcontent returns [CollectionNode items = new CollectionNode()] : ( onestar (tb= heading_boldcontentpart onestar )+ | EOF );", 54, 0, input);
4211    
4212                    throw nvae;
4213                }
4214                switch (alt54) {
4215                    case 1 :
4216                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:306:4: onestar (tb= heading_boldcontentpart onestar )+
4217                        {
4218                        pushFollow(FOLLOW_onestar_in_heading_boldcontent1524);
4219                        onestar();
4220                        _fsp--;
4221                        if (failed) return items;
4222                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:306:13: (tb= heading_boldcontentpart onestar )+
4223                        int cnt53=0;
4224                        loop53:
4225                        do {
4226                            int alt53=2;
4227                            switch ( input.LA(1) ) {
4228                            case STAR:
4229                                {
4230                                alt53=1;
4231                                }
4232                                break;
4233                            case BLANKS:
4234                                {
4235                                alt53=1;
4236                                }
4237                                break;
4238                            case ITAL:
4239                                {
4240                                alt53=1;
4241                                }
4242                                break;
4243                            case FORCED_END_OF_LINE:
4244                            case HEADING_SECTION:
4245                            case HORIZONTAL_SECTION:
4246                            case LIST_ITEM:
4247                            case LIST_ITEM_PART:
4248                            case NOWIKI_SECTION:
4249                            case SCAPE_NODE:
4250                            case TEXT_NODE:
4251                            case UNORDERED_LIST:
4252                            case UNFORMATTED_TEXT:
4253                            case WIKI:
4254                            case POUND:
4255                            case PIPE:
4256                            case EXTENSION:
4257                            case FORCED_LINEBREAK:
4258                            case NOWIKI_BLOCK_CLOSE:
4259                            case NOWIKI_CLOSE:
4260                            case LINK_CLOSE:
4261                            case IMAGE_CLOSE:
4262                            case TABLE_OF_CONTENTS_TEXT:
4263                            case DASH:
4264                            case CR:
4265                            case LF:
4266                            case SPACE:
4267                            case TABULATOR:
4268                            case BRACE_CLOSE:
4269                            case COLON_SLASH:
4270                            case SLASH:
4271                            case TABLE_OF_CONTENTS_OPEN_MARKUP:
4272                            case TABLE_OF_CONTENTS_CLOSE_MARKUP:
4273                            case INSIGNIFICANT_CHAR:
4274                            case 44:
4275                            case 45:
4276                            case 46:
4277                            case 47:
4278                            case 48:
4279                            case 49:
4280                            case 50:
4281                            case 51:
4282                            case 52:
4283                            case 53:
4284                            case 54:
4285                            case 55:
4286                            case 56:
4287                            case 57:
4288                            case 58:
4289                            case 59:
4290                            case 60:
4291                            case 61:
4292                            case 62:
4293                            case 63:
4294                            case 64:
4295                            case 65:
4296                            case 66:
4297                            case 67:
4298                            case 68:
4299                            case 69:
4300                            case 70:
4301                            case 71:
4302                            case 72:
4303                            case 73:
4304                            case 74:
4305                            case 75:
4306                            case 76:
4307                            case 77:
4308                            case 78:
4309                            case 79:
4310                                {
4311                                alt53=1;
4312                                }
4313                                break;
4314                            case LINK_OPEN:
4315                                {
4316                                alt53=1;
4317                                }
4318                                break;
4319                            case IMAGE_OPEN:
4320                                {
4321                                alt53=1;
4322                                }
4323                                break;
4324                            case NOWIKI_OPEN:
4325                                {
4326                                alt53=1;
4327                                }
4328                                break;
4329    
4330                            }
4331    
4332                            switch (alt53) {
4333                            case 1 :
4334                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:306:15: tb= heading_boldcontentpart onestar
4335                                {
4336                                pushFollow(FOLLOW_heading_boldcontentpart_in_heading_boldcontent1533);
4337                                tb=heading_boldcontentpart();
4338                                _fsp--;
4339                                if (failed) return items;
4340                                if ( backtracking==0 ) {
4341                                   items.add(tb); 
4342                                }
4343                                pushFollow(FOLLOW_onestar_in_heading_boldcontent1538);
4344                                onestar();
4345                                _fsp--;
4346                                if (failed) return items;
4347    
4348                                }
4349                                break;
4350    
4351                            default :
4352                                if ( cnt53 >= 1 ) break loop53;
4353                                if (backtracking>0) {failed=true; return items;}
4354                                    EarlyExitException eee =
4355                                        new EarlyExitException(53, input);
4356                                    throw eee;
4357                            }
4358                            cnt53++;
4359                        } while (true);
4360    
4361    
4362                        }
4363                        break;
4364                    case 2 :
4365                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:307:4: EOF
4366                        {
4367                        match(input,EOF,FOLLOW_EOF_in_heading_boldcontent1546); if (failed) return items;
4368    
4369                        }
4370                        break;
4371    
4372                }
4373            }
4374            catch (RecognitionException re) {
4375                reportError(re);
4376                recover(input,re);
4377            }
4378            finally {
4379            }
4380            return items;
4381        }
4382        // $ANTLR end heading_boldcontent
4383    
4384    
4385        // $ANTLR start heading_italcontent
4386        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:309:1: heading_italcontent returns [CollectionNode items = new CollectionNode()] : ( onestar (ti= heading_italcontentpart onestar )+ | EOF );
4387        public final CollectionNode heading_italcontent() throws RecognitionException {
4388            CollectionNode items =  new CollectionNode();
4389    
4390            ASTNode ti = null;
4391    
4392    
4393            try {
4394                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:310:2: ( onestar (ti= heading_italcontentpart onestar )+ | EOF )
4395                int alt56=2;
4396                int LA56_0 = input.LA(1);
4397    
4398                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<=79)) ) {
4399                    alt56=1;
4400                }
4401                else if ( (LA56_0==EOF) ) {
4402                    alt56=2;
4403                }
4404                else {
4405                    if (backtracking>0) {failed=true; return items;}
4406                    NoViableAltException nvae =
4407                        new NoViableAltException("309:1: heading_italcontent returns [CollectionNode items = new CollectionNode()] : ( onestar (ti= heading_italcontentpart onestar )+ | EOF );", 56, 0, input);
4408    
4409                    throw nvae;
4410                }
4411                switch (alt56) {
4412                    case 1 :
4413                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:310:4: onestar (ti= heading_italcontentpart onestar )+
4414                        {
4415                        pushFollow(FOLLOW_onestar_in_heading_italcontent1560);
4416                        onestar();
4417                        _fsp--;
4418                        if (failed) return items;
4419                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:310:13: (ti= heading_italcontentpart onestar )+
4420                        int cnt55=0;
4421                        loop55:
4422                        do {
4423                            int alt55=2;
4424                            switch ( input.LA(1) ) {
4425                            case ITAL:
4426                                {
4427                                alt55=1;
4428                                }
4429                                break;
4430                            case STAR:
4431                                {
4432                                alt55=1;
4433                                }
4434                                break;
4435                            case BLANKS:
4436                                {
4437                                alt55=1;
4438                                }
4439                                break;
4440                            case FORCED_END_OF_LINE:
4441                            case HEADING_SECTION:
4442                            case HORIZONTAL_SECTION:
4443                            case LIST_ITEM:
4444                            case LIST_ITEM_PART:
4445                            case NOWIKI_SECTION:
4446                            case SCAPE_NODE:
4447                            case TEXT_NODE:
4448                            case UNORDERED_LIST:
4449                            case UNFORMATTED_TEXT:
4450                            case WIKI:
4451                            case POUND:
4452                            case PIPE:
4453                            case EXTENSION:
4454                            case FORCED_LINEBREAK:
4455                            case NOWIKI_BLOCK_CLOSE:
4456                            case NOWIKI_CLOSE:
4457                            case LINK_CLOSE:
4458                            case IMAGE_CLOSE:
4459                            case TABLE_OF_CONTENTS_TEXT:
4460                            case DASH:
4461                            case CR:
4462                            case LF:
4463                            case SPACE:
4464                            case TABULATOR:
4465                            case BRACE_CLOSE:
4466                            case COLON_SLASH:
4467                            case SLASH:
4468                            case TABLE_OF_CONTENTS_OPEN_MARKUP:
4469                            case TABLE_OF_CONTENTS_CLOSE_MARKUP:
4470                            case INSIGNIFICANT_CHAR:
4471                            case 44:
4472                            case 45:
4473                            case 46:
4474                            case 47:
4475                            case 48:
4476                            case 49:
4477                            case 50:
4478                            case 51:
4479                            case 52:
4480                            case 53:
4481                            case 54:
4482                            case 55:
4483                            case 56:
4484                            case 57:
4485                            case 58:
4486                            case 59:
4487                            case 60:
4488                            case 61:
4489                            case 62:
4490                            case 63:
4491                            case 64:
4492                            case 65:
4493                            case 66:
4494                            case 67:
4495                            case 68:
4496                            case 69:
4497                            case 70:
4498                            case 71:
4499                            case 72:
4500                            case 73:
4501                            case 74:
4502                            case 75:
4503                            case 76:
4504                            case 77:
4505                            case 78:
4506                            case 79:
4507                                {
4508                                alt55=1;
4509                                }
4510                                break;
4511                            case LINK_OPEN:
4512                                {
4513                                alt55=1;
4514                                }
4515                                break;
4516                            case IMAGE_OPEN:
4517                                {
4518                                alt55=1;
4519                                }
4520                                break;
4521                            case NOWIKI_OPEN:
4522                                {
4523                                alt55=1;
4524                                }
4525                                break;
4526    
4527                            }
4528    
4529                            switch (alt55) {
4530                            case 1 :
4531                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:310:15: ti= heading_italcontentpart onestar
4532                                {
4533                                pushFollow(FOLLOW_heading_italcontentpart_in_heading_italcontent1569);
4534                                ti=heading_italcontentpart();
4535                                _fsp--;
4536                                if (failed) return items;
4537                                if ( backtracking==0 ) {
4538                                   items.add(ti); 
4539                                }
4540                                pushFollow(FOLLOW_onestar_in_heading_italcontent1574);
4541                                onestar();
4542                                _fsp--;
4543                                if (failed) return items;
4544    
4545                                }
4546                                break;
4547    
4548                            default :
4549                                if ( cnt55 >= 1 ) break loop55;
4550                                if (backtracking>0) {failed=true; return items;}
4551                                    EarlyExitException eee =
4552                                        new EarlyExitException(55, input);
4553                                    throw eee;
4554                            }
4555                            cnt55++;
4556                        } while (true);
4557    
4558    
4559                        }
4560                        break;
4561                    case 2 :
4562                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:311:4: EOF
4563                        {
4564                        match(input,EOF,FOLLOW_EOF_in_heading_italcontent1582); if (failed) return items;
4565    
4566                        }
4567                        break;
4568    
4569                }
4570            }
4571            catch (RecognitionException re) {
4572                reportError(re);
4573                recover(input,re);
4574            }
4575            finally {
4576            }
4577            return items;
4578        }
4579        // $ANTLR end heading_italcontent
4580    
4581    
4582        // $ANTLR start heading_boldcontentpart
4583        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:313:1: heading_boldcontentpart returns [ASTNode node = null] : (tf= heading_formattedcontent | ital_markup tb= heading_bolditalcontent ( ital_markup )? );
4584        public final ASTNode heading_boldcontentpart() throws RecognitionException {
4585            ASTNode node =  null;
4586    
4587            CollectionNode tf = null;
4588    
4589            CollectionNode tb = null;
4590    
4591    
4592            try {
4593                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:314:2: (tf= heading_formattedcontent | ital_markup tb= heading_bolditalcontent ( ital_markup )? )
4594                int alt58=2;
4595                int LA58_0 = input.LA(1);
4596    
4597                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<=79)) ) {
4598                    alt58=1;
4599                }
4600                else {
4601                    if (backtracking>0) {failed=true; return node;}
4602                    NoViableAltException nvae =
4603                        new NoViableAltException("313:1: heading_boldcontentpart returns [ASTNode node = null] : (tf= heading_formattedcontent | ital_markup tb= heading_bolditalcontent ( ital_markup )? );", 58, 0, input);
4604    
4605                    throw nvae;
4606                }
4607                switch (alt58) {
4608                    case 1 :
4609                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:314:4: tf= heading_formattedcontent
4610                        {
4611                        pushFollow(FOLLOW_heading_formattedcontent_in_heading_boldcontentpart1600);
4612                        tf=heading_formattedcontent();
4613                        _fsp--;
4614                        if (failed) return node;
4615                        if ( backtracking==0 ) {
4616                          node = tf; 
4617                        }
4618    
4619                        }
4620                        break;
4621                    case 2 :
4622                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:315:4: ital_markup tb= heading_bolditalcontent ( ital_markup )?
4623                        {
4624                        pushFollow(FOLLOW_ital_markup_in_heading_boldcontentpart1607);
4625                        ital_markup();
4626                        _fsp--;
4627                        if (failed) return node;
4628                        pushFollow(FOLLOW_heading_bolditalcontent_in_heading_boldcontentpart1614);
4629                        tb=heading_bolditalcontent();
4630                        _fsp--;
4631                        if (failed) return node;
4632                        if ( backtracking==0 ) {
4633                           node = new ItalicTextNode(tb);  
4634                        }
4635                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:315:94: ( ital_markup )?
4636                        int alt57=2;
4637                        int LA57_0 = input.LA(1);
4638    
4639                        if ( (LA57_0==ITAL) ) {
4640                            alt57=1;
4641                        }
4642                        switch (alt57) {
4643                            case 1 :
4644                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:315:96: ital_markup
4645                                {
4646                                pushFollow(FOLLOW_ital_markup_in_heading_boldcontentpart1621);
4647                                ital_markup();
4648                                _fsp--;
4649                                if (failed) return node;
4650    
4651                                }
4652                                break;
4653    
4654                        }
4655    
4656    
4657                        }
4658                        break;
4659    
4660                }
4661            }
4662            catch (RecognitionException re) {
4663                reportError(re);
4664                recover(input,re);
4665            }
4666            finally {
4667            }
4668            return node;
4669        }
4670        // $ANTLR end heading_boldcontentpart
4671    
4672    
4673        // $ANTLR start heading_italcontentpart
4674        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:317:1: heading_italcontentpart returns [ASTNode node = null] : ( bold_markup tb= heading_bolditalcontent ( bold_markup )? | tf= heading_formattedcontent );
4675        public final ASTNode heading_italcontentpart() throws RecognitionException {
4676            ASTNode node =  null;
4677    
4678            CollectionNode tb = null;
4679    
4680            CollectionNode tf = null;
4681    
4682    
4683            try {
4684                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:318:2: ( bold_markup tb= heading_bolditalcontent ( bold_markup )? | tf= heading_formattedcontent )
4685                int alt60=2;
4686                int LA60_0 = input.LA(1);
4687    
4688                if ( (LA60_0==STAR) ) {
4689                    int LA60_1 = input.LA(2);
4690    
4691                    if ( (LA60_1==STAR) ) {
4692                        alt60=1;
4693                    }
4694                    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<=79)) ) {
4695                        alt60=2;
4696                    }
4697                    else {
4698                        if (backtracking>0) {failed=true; return node;}
4699                        NoViableAltException nvae =
4700                            new NoViableAltException("317:1: heading_italcontentpart returns [ASTNode node = null] : ( bold_markup tb= heading_bolditalcontent ( bold_markup )? | tf= heading_formattedcontent );", 60, 1, input);
4701    
4702                        throw nvae;
4703                    }
4704                }
4705                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<=79)) ) {
4706                    alt60=2;
4707                }
4708                else {
4709                    if (backtracking>0) {failed=true; return node;}
4710                    NoViableAltException nvae =
4711                        new NoViableAltException("317:1: heading_italcontentpart returns [ASTNode node = null] : ( bold_markup tb= heading_bolditalcontent ( bold_markup )? | tf= heading_formattedcontent );", 60, 0, input);
4712    
4713                    throw nvae;
4714                }
4715                switch (alt60) {
4716                    case 1 :
4717                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:318:4: bold_markup tb= heading_bolditalcontent ( bold_markup )?
4718                        {
4719                        pushFollow(FOLLOW_bold_markup_in_heading_italcontentpart1638);
4720                        bold_markup();
4721                        _fsp--;
4722                        if (failed) return node;
4723                        pushFollow(FOLLOW_heading_bolditalcontent_in_heading_italcontentpart1645);
4724                        tb=heading_bolditalcontent();
4725                        _fsp--;
4726                        if (failed) return node;
4727                        if ( backtracking==0 ) {
4728                          node = new BoldTextNode(tb); 
4729                        }
4730                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:318:90: ( bold_markup )?
4731                        int alt59=2;
4732                        int LA59_0 = input.LA(1);
4733    
4734                        if ( (LA59_0==STAR) ) {
4735                            int LA59_1 = input.LA(2);
4736    
4737                            if ( (LA59_1==STAR) ) {
4738                                alt59=1;
4739                            }
4740                        }
4741                        switch (alt59) {
4742                            case 1 :
4743                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:318:92: bold_markup
4744                                {
4745                                pushFollow(FOLLOW_bold_markup_in_heading_italcontentpart1652);
4746                                bold_markup();
4747                                _fsp--;
4748                                if (failed) return node;
4749    
4750                                }
4751                                break;
4752    
4753                        }
4754    
4755    
4756                        }
4757                        break;
4758                    case 2 :
4759                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:319:4: tf= heading_formattedcontent
4760                        {
4761                        pushFollow(FOLLOW_heading_formattedcontent_in_heading_italcontentpart1664);
4762                        tf=heading_formattedcontent();
4763                        _fsp--;
4764                        if (failed) return node;
4765                        if ( backtracking==0 ) {
4766                           node = tf; 
4767                        }
4768    
4769                        }
4770                        break;
4771    
4772                }
4773            }
4774            catch (RecognitionException re) {
4775                reportError(re);
4776                recover(input,re);
4777            }
4778            finally {
4779            }
4780            return node;
4781        }
4782        // $ANTLR end heading_italcontentpart
4783    
4784    
4785        // $ANTLR start heading_bolditalcontent
4786        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:321:1: heading_bolditalcontent returns [CollectionNode elements = null] : ( onestar (tfc= heading_formattedcontent onestar )? | EOF );
4787        public final CollectionNode heading_bolditalcontent() throws RecognitionException {
4788            CollectionNode elements =  null;
4789    
4790            CollectionNode tfc = null;
4791    
4792    
4793            try {
4794                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:322:2: ( onestar (tfc= heading_formattedcontent onestar )? | EOF )
4795                int alt62=2;
4796                int LA62_0 = input.LA(1);
4797    
4798                if ( ((LA62_0>=FORCED_END_OF_LINE && LA62_0<=FORCED_LINEBREAK)||(LA62_0>=NOWIKI_BLOCK_CLOSE && LA62_0<=79)) ) {
4799                    alt62=1;
4800                }
4801                else if ( (LA62_0==EOF) ) {
4802                    alt62=1;
4803                }
4804                else {
4805                    if (backtracking>0) {failed=true; return elements;}
4806                    NoViableAltException nvae =
4807                        new NoViableAltException("321:1: heading_bolditalcontent returns [CollectionNode elements = null] : ( onestar (tfc= heading_formattedcontent onestar )? | EOF );", 62, 0, input);
4808    
4809                    throw nvae;
4810                }
4811                switch (alt62) {
4812                    case 1 :
4813                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:322:4: onestar (tfc= heading_formattedcontent onestar )?
4814                        {
4815                        pushFollow(FOLLOW_onestar_in_heading_bolditalcontent1680);
4816                        onestar();
4817                        _fsp--;
4818                        if (failed) return elements;
4819                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:322:13: (tfc= heading_formattedcontent onestar )?
4820                        int alt61=2;
4821                        switch ( input.LA(1) ) {
4822                            case ITAL:
4823                                {
4824                                alt61=1;
4825                                }
4826                                break;
4827                            case LINK_OPEN:
4828                                {
4829                                alt61=1;
4830                                }
4831                                break;
4832                            case IMAGE_OPEN:
4833                                {
4834                                alt61=1;
4835                                }
4836                                break;
4837                            case NOWIKI_OPEN:
4838                                {
4839                                alt61=1;
4840                                }
4841                                break;
4842                            case STAR:
4843                                {
4844                                alt61=1;
4845                                }
4846                                break;
4847                            case BLANKS:
4848                                {
4849                                alt61=1;
4850                                }
4851                                break;
4852                            case FORCED_END_OF_LINE:
4853                            case HEADING_SECTION:
4854                            case HORIZONTAL_SECTION:
4855                            case LIST_ITEM:
4856                            case LIST_ITEM_PART:
4857                            case NOWIKI_SECTION:
4858                            case SCAPE_NODE:
4859                            case TEXT_NODE:
4860                            case UNORDERED_LIST:
4861                            case UNFORMATTED_TEXT:
4862                            case WIKI:
4863                            case POUND:
4864                            case PIPE:
4865                            case EXTENSION:
4866                            case FORCED_LINEBREAK:
4867                            case NOWIKI_BLOCK_CLOSE:
4868                            case NOWIKI_CLOSE:
4869                            case LINK_CLOSE:
4870                            case IMAGE_CLOSE:
4871                            case TABLE_OF_CONTENTS_TEXT:
4872                            case DASH:
4873                            case CR:
4874                            case LF:
4875                            case SPACE:
4876                            case TABULATOR:
4877                            case BRACE_CLOSE:
4878                            case COLON_SLASH:
4879                            case SLASH:
4880                            case TABLE_OF_CONTENTS_OPEN_MARKUP:
4881                            case TABLE_OF_CONTENTS_CLOSE_MARKUP:
4882                            case INSIGNIFICANT_CHAR:
4883                            case 44:
4884                            case 45:
4885                            case 46:
4886                            case 47:
4887                            case 48:
4888                            case 49:
4889                            case 50:
4890                            case 51:
4891                            case 52:
4892                            case 53:
4893                            case 54:
4894                            case 55:
4895                            case 56:
4896                            case 57:
4897                            case 58:
4898                            case 59:
4899                            case 60:
4900                            case 61:
4901                            case 62:
4902                            case 63:
4903                            case 64:
4904                            case 65:
4905                            case 66:
4906                            case 67:
4907                            case 68:
4908                            case 69:
4909                            case 70:
4910                            case 71:
4911                            case 72:
4912                            case 73:
4913                            case 74:
4914                            case 75:
4915                            case 76:
4916                            case 77:
4917                            case 78:
4918                            case 79:
4919                                {
4920                                alt61=1;
4921                                }
4922                                break;
4923                        }
4924    
4925                        switch (alt61) {
4926                            case 1 :
4927                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:322:15: tfc= heading_formattedcontent onestar
4928                                {
4929                                pushFollow(FOLLOW_heading_formattedcontent_in_heading_bolditalcontent1689);
4930                                tfc=heading_formattedcontent();
4931                                _fsp--;
4932                                if (failed) return elements;
4933                                if ( backtracking==0 ) {
4934                                   elements = tfc; 
4935                                }
4936                                pushFollow(FOLLOW_onestar_in_heading_bolditalcontent1694);
4937                                onestar();
4938                                _fsp--;
4939                                if (failed) return elements;
4940    
4941                                }
4942                                break;
4943    
4944                        }
4945    
4946    
4947                        }
4948                        break;
4949                    case 2 :
4950                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:323:4: EOF
4951                        {
4952                        match(input,EOF,FOLLOW_EOF_in_heading_bolditalcontent1702); if (failed) return elements;
4953    
4954                        }
4955                        break;
4956    
4957                }
4958            }
4959            catch (RecognitionException re) {
4960                reportError(re);
4961                recover(input,re);
4962            }
4963            finally {
4964            }
4965            return elements;
4966        }
4967        // $ANTLR end heading_bolditalcontent
4968    
4969    
4970        // $ANTLR start heading_formattedcontent
4971        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:325:1: heading_formattedcontent returns [CollectionNode elements = new CollectionNode()] : (tu= heading_unformattedelement )+ ;
4972        public final CollectionNode heading_formattedcontent() throws RecognitionException {
4973            CollectionNode elements =  new CollectionNode();
4974    
4975            ASTNode tu = null;
4976    
4977    
4978            try {
4979                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:326:2: ( (tu= heading_unformattedelement )+ )
4980                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:326:4: (tu= heading_unformattedelement )+
4981                {
4982                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:326:4: (tu= heading_unformattedelement )+
4983                int cnt63=0;
4984                loop63:
4985                do {
4986                    int alt63=2;
4987                    switch ( input.LA(1) ) {
4988                    case STAR:
4989                        {
4990                        alt63=1;
4991                        }
4992                        break;
4993                    case BLANKS:
4994                        {
4995                        alt63=1;
4996                        }
4997                        break;
4998                    case ITAL:
4999                        {
5000                        alt63=1;
5001                        }
5002                        break;
5003                    case FORCED_END_OF_LINE:
5004                    case HEADING_SECTION:
5005                    case HORIZONTAL_SECTION:
5006                    case LIST_ITEM:
5007                    case LIST_ITEM_PART:
5008                    case NOWIKI_SECTION:
5009                    case SCAPE_NODE:
5010                    case TEXT_NODE:
5011                    case UNORDERED_LIST:
5012                    case UNFORMATTED_TEXT:
5013                    case WIKI:
5014                    case POUND:
5015                    case PIPE:
5016                    case EXTENSION:
5017                    case FORCED_LINEBREAK:
5018                    case NOWIKI_BLOCK_CLOSE:
5019                    case NOWIKI_CLOSE:
5020                    case LINK_CLOSE:
5021                    case IMAGE_CLOSE:
5022                    case TABLE_OF_CONTENTS_TEXT:
5023                    case DASH:
5024                    case CR:
5025                    case LF:
5026                    case SPACE:
5027                    case TABULATOR:
5028                    case BRACE_CLOSE:
5029                    case COLON_SLASH:
5030                    case SLASH:
5031                    case TABLE_OF_CONTENTS_OPEN_MARKUP:
5032                    case TABLE_OF_CONTENTS_CLOSE_MARKUP:
5033                    case INSIGNIFICANT_CHAR:
5034                    case 44:
5035                    case 45:
5036                    case 46:
5037                    case 47:
5038                    case 48:
5039                    case 49:
5040                    case 50:
5041                    case 51:
5042                    case 52:
5043                    case 53:
5044                    case 54:
5045                    case 55:
5046                    case 56:
5047                    case 57:
5048                    case 58:
5049                    case 59:
5050                    case 60:
5051                    case 61:
5052                    case 62:
5053                    case 63:
5054                    case 64:
5055                    case 65:
5056                    case 66:
5057                    case 67:
5058                    case 68:
5059                    case 69:
5060                    case 70:
5061                    case 71:
5062                    case 72:
5063                    case 73:
5064                    case 74:
5065                    case 75:
5066                    case 76:
5067                    case 77:
5068                    case 78:
5069                    case 79:
5070                        {
5071                        alt63=1;
5072                        }
5073                        break;
5074                    case LINK_OPEN:
5075                        {
5076                        alt63=1;
5077                        }
5078                        break;
5079                    case IMAGE_OPEN:
5080                        {
5081                        alt63=1;
5082                        }
5083                        break;
5084                    case NOWIKI_OPEN:
5085                        {
5086                        alt63=1;
5087                        }
5088                        break;
5089    
5090                    }
5091    
5092                    switch (alt63) {
5093                    case 1 :
5094                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:326:6: tu= heading_unformattedelement
5095                        {
5096                        pushFollow(FOLLOW_heading_unformattedelement_in_heading_formattedcontent1722);
5097                        tu=heading_unformattedelement();
5098                        _fsp--;
5099                        if (failed) return elements;
5100                        if ( backtracking==0 ) {
5101                           elements.add(tu); 
5102                        }
5103    
5104                        }
5105                        break;
5106    
5107                    default :
5108                        if ( cnt63 >= 1 ) break loop63;
5109                        if (backtracking>0) {failed=true; return elements;}
5110                            EarlyExitException eee =
5111                                new EarlyExitException(63, input);
5112                            throw eee;
5113                    }
5114                    cnt63++;
5115                } while (true);
5116    
5117    
5118                }
5119    
5120            }
5121            catch (RecognitionException re) {
5122                reportError(re);
5123                recover(input,re);
5124            }
5125            finally {
5126            }
5127            return elements;
5128        }
5129        // $ANTLR end heading_formattedcontent
5130    
5131    
5132        // $ANTLR start heading_unformattedelement
5133        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:328:1: heading_unformattedelement returns [ASTNode content = null] : (tu= heading_unformatted_text | ti= heading_inlineelement );
5134        public final ASTNode heading_unformattedelement() throws RecognitionException {
5135            ASTNode content =  null;
5136    
5137            StringBundler tu = null;
5138    
5139            ASTNode ti = null;
5140    
5141    
5142            try {
5143                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:329:2: (tu= heading_unformatted_text | ti= heading_inlineelement )
5144                int alt64=2;
5145                int LA64_0 = input.LA(1);
5146    
5147                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<=79)) ) {
5148                    alt64=1;
5149                }
5150                else if ( ((LA64_0>=LINK_OPEN && LA64_0<=NOWIKI_OPEN)) ) {
5151                    alt64=2;
5152                }
5153                else {
5154                    if (backtracking>0) {failed=true; return content;}
5155                    NoViableAltException nvae =
5156                        new NoViableAltException("328:1: heading_unformattedelement returns [ASTNode content = null] : (tu= heading_unformatted_text | ti= heading_inlineelement );", 64, 0, input);
5157    
5158                    throw nvae;
5159                }
5160                switch (alt64) {
5161                    case 1 :
5162                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:329:4: tu= heading_unformatted_text
5163                        {
5164                        pushFollow(FOLLOW_heading_unformatted_text_in_heading_unformattedelement1745);
5165                        tu=heading_unformatted_text();
5166                        _fsp--;
5167                        if (failed) return content;
5168                        if ( backtracking==0 ) {
5169                          content = new UnformattedTextNode(tu.toString());
5170                        }
5171    
5172                        }
5173                        break;
5174                    case 2 :
5175                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:330:4: ti= heading_inlineelement
5176                        {
5177                        pushFollow(FOLLOW_heading_inlineelement_in_heading_unformattedelement1757);
5178                        ti=heading_inlineelement();
5179                        _fsp--;
5180                        if (failed) return content;
5181                        if ( backtracking==0 ) {
5182                          content = ti;
5183                        }
5184    
5185                        }
5186                        break;
5187    
5188                }
5189            }
5190            catch (RecognitionException re) {
5191                reportError(re);
5192                recover(input,re);
5193            }
5194            finally {
5195            }
5196            return content;
5197        }
5198        // $ANTLR end heading_unformattedelement
5199    
5200    
5201        // $ANTLR start heading_inlineelement
5202        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:332:1: heading_inlineelement returns [ASTNode element = null] : (l= link | i= image | nwi= nowiki_inline );
5203        public final ASTNode heading_inlineelement() throws RecognitionException {
5204            ASTNode element =  null;
5205    
5206            LinkNode l = null;
5207    
5208            ImageNode i = null;
5209    
5210            NoWikiSectionNode nwi = null;
5211    
5212    
5213            try {
5214                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:333:2: (l= link | i= image | nwi= nowiki_inline )
5215                int alt65=3;
5216                switch ( input.LA(1) ) {
5217                case LINK_OPEN:
5218                    {
5219                    alt65=1;
5220                    }
5221                    break;
5222                case IMAGE_OPEN:
5223                    {
5224                    alt65=2;
5225                    }
5226                    break;
5227                case NOWIKI_OPEN:
5228                    {
5229                    alt65=3;
5230                    }
5231                    break;
5232                default:
5233                    if (backtracking>0) {failed=true; return element;}
5234                    NoViableAltException nvae =
5235                        new NoViableAltException("332:1: heading_inlineelement returns [ASTNode element = null] : (l= link | i= image | nwi= nowiki_inline );", 65, 0, input);
5236    
5237                    throw nvae;
5238                }
5239    
5240                switch (alt65) {
5241                    case 1 :
5242                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:333:4: l= link
5243                        {
5244                        pushFollow(FOLLOW_link_in_heading_inlineelement1777);
5245                        l=link();
5246                        _fsp--;
5247                        if (failed) return element;
5248                        if ( backtracking==0 ) {
5249                          element = l; 
5250                        }
5251    
5252                        }
5253                        break;
5254                    case 2 :
5255                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:334:4: i= image
5256                        {
5257                        pushFollow(FOLLOW_image_in_heading_inlineelement1787);
5258                        i=image();
5259                        _fsp--;
5260                        if (failed) return element;
5261                        if ( backtracking==0 ) {
5262                          element = i; 
5263                        }
5264    
5265                        }
5266                        break;
5267                    case 3 :
5268                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:335:4: nwi= nowiki_inline
5269                        {
5270                        pushFollow(FOLLOW_nowiki_inline_in_heading_inlineelement1798);
5271                        nwi=nowiki_inline();
5272                        _fsp--;
5273                        if (failed) return element;
5274                        if ( backtracking==0 ) {
5275                          element = nwi; 
5276                        }
5277    
5278                        }
5279                        break;
5280    
5281                }
5282            }
5283            catch (RecognitionException re) {
5284                reportError(re);
5285                recover(input,re);
5286            }
5287            finally {
5288            }
5289            return element;
5290        }
5291        // $ANTLR end heading_inlineelement
5292    
5293    
5294        // $ANTLR start heading_unformatted_text
5295        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:338:1: heading_unformatted_text returns [StringBundler text = new StringBundler()] : (c=~ ( LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EQUAL | ESCAPE | NEWLINE | EOF ) )+ ;
5296        public final StringBundler heading_unformatted_text() throws RecognitionException {
5297            StringBundler text =  new StringBundler();
5298    
5299            Token c=null;
5300    
5301            try {
5302                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:339:2: ( (c=~ ( LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EQUAL | ESCAPE | NEWLINE | EOF ) )+ )
5303                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:339:4: (c=~ ( LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EQUAL | ESCAPE | NEWLINE | EOF ) )+
5304                {
5305                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:339:4: (c=~ ( LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EQUAL | ESCAPE | NEWLINE | EOF ) )+
5306                int cnt66=0;
5307                loop66:
5308                do {
5309                    int alt66=2;
5310                    switch ( input.LA(1) ) {
5311                    case STAR:
5312                        {
5313                        alt66=1;
5314                        }
5315                        break;
5316                    case BLANKS:
5317                        {
5318                        alt66=1;
5319                        }
5320                        break;
5321                    case ITAL:
5322                        {
5323                        alt66=1;
5324                        }
5325                        break;
5326                    case FORCED_END_OF_LINE:
5327                    case HEADING_SECTION:
5328                    case HORIZONTAL_SECTION:
5329                    case LIST_ITEM:
5330                    case LIST_ITEM_PART:
5331                    case NOWIKI_SECTION:
5332                    case SCAPE_NODE:
5333                    case TEXT_NODE:
5334                    case UNORDERED_LIST:
5335                    case UNFORMATTED_TEXT:
5336                    case WIKI:
5337                    case POUND:
5338                    case PIPE:
5339                    case EXTENSION:
5340                    case FORCED_LINEBREAK:
5341                    case NOWIKI_BLOCK_CLOSE:
5342                    case NOWIKI_CLOSE:
5343                    case LINK_CLOSE:
5344                    case IMAGE_CLOSE:
5345                    case TABLE_OF_CONTENTS_TEXT:
5346                    case DASH:
5347                    case CR:
5348                    case LF:
5349                    case SPACE:
5350                    case TABULATOR:
5351                    case BRACE_CLOSE:
5352                    case COLON_SLASH:
5353                    case SLASH:
5354                    case TABLE_OF_CONTENTS_OPEN_MARKUP:
5355                    case TABLE_OF_CONTENTS_CLOSE_MARKUP:
5356                    case INSIGNIFICANT_CHAR:
5357                    case 44:
5358                    case 45:
5359                    case 46:
5360                    case 47:
5361                    case 48:
5362                    case 49:
5363                    case 50:
5364                    case 51:
5365                    case 52:
5366                    case 53:
5367                    case 54:
5368                    case 55:
5369                    case 56:
5370                    case 57:
5371                    case 58:
5372                    case 59:
5373                    case 60:
5374                    case 61:
5375                    case 62:
5376                    case 63:
5377                    case 64:
5378                    case 65:
5379                    case 66:
5380                    case 67:
5381                    case 68:
5382                    case 69:
5383                    case 70:
5384                    case 71:
5385                    case 72:
5386                    case 73:
5387                    case 74:
5388                    case 75:
5389                    case 76:
5390                    case 77:
5391                    case 78:
5392                    case 79:
5393                        {
5394                        alt66=1;
5395                        }
5396                        break;
5397    
5398                    }
5399    
5400                    switch (alt66) {
5401                    case 1 :
5402                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:339:6: c=~ ( LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EQUAL | ESCAPE | NEWLINE | EOF )
5403                        {
5404                        c=(Token)input.LT(1);
5405                        if ( (input.LA(1)>=FORCED_END_OF_LINE && input.LA(1)<=WIKI)||(input.LA(1)>=POUND && input.LA(1)<=STAR)||(input.LA(1)>=PIPE && input.LA(1)<=ITAL)||(input.LA(1)>=EXTENSION && input.LA(1)<=FORCED_LINEBREAK)||(input.LA(1)>=NOWIKI_BLOCK_CLOSE && input.LA(1)<=79) ) {
5406                            input.consume();
5407                            errorRecovery=false;failed=false;
5408                        }
5409                        else {
5410                            if (backtracking>0) {failed=true; return text;}
5411                            MismatchedSetException mse =
5412                                new MismatchedSetException(null,input);
5413                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_heading_unformatted_text1821);    throw mse;
5414                        }
5415    
5416                        if ( backtracking==0 ) {
5417                          text.append(c.getText());
5418                        }
5419    
5420                        }
5421                        break;
5422    
5423                    default :
5424                        if ( cnt66 >= 1 ) break loop66;
5425                        if (backtracking>0) {failed=true; return text;}
5426                            EarlyExitException eee =
5427                                new EarlyExitException(66, input);
5428                            throw eee;
5429                    }
5430                    cnt66++;
5431                } while (true);
5432    
5433    
5434                }
5435    
5436            }
5437            catch (RecognitionException re) {
5438                reportError(re);
5439                recover(input,re);
5440            }
5441            finally {
5442            }
5443            return text;
5444        }
5445        // $ANTLR end heading_unformatted_text
5446    
5447    
5448        // $ANTLR start list_ord
5449        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:345:1: list_ord returns [OrderedListNode orderedList = new OrderedListNode()] : (elem= list_ordelem )+ ( end_of_list )? ;
5450        public final OrderedListNode list_ord() throws RecognitionException {
5451            OrderedListNode orderedList =  new OrderedListNode();
5452    
5453            ASTNode elem = null;
5454    
5455    
5456            try {
5457                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:346:2: ( (elem= list_ordelem )+ ( end_of_list )? )
5458                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:346:4: (elem= list_ordelem )+ ( end_of_list )?
5459                {
5460                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:346:4: (elem= list_ordelem )+
5461                int cnt67=0;
5462                loop67:
5463                do {
5464                    int alt67=2;
5465                    int LA67_0 = input.LA(1);
5466    
5467                    if ( (LA67_0==POUND) ) {
5468                        alt67=1;
5469                    }
5470    
5471    
5472                    switch (alt67) {
5473                    case 1 :
5474                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:346:6: elem= list_ordelem
5475                        {
5476                        pushFollow(FOLLOW_list_ordelem_in_list_ord1879);
5477                        elem=list_ordelem();
5478                        _fsp--;
5479                        if (failed) return orderedList;
5480                        if ( backtracking==0 ) {
5481                           orderedList.addChildASTNode(elem);  
5482                        }
5483    
5484                        }
5485                        break;
5486    
5487                    default :
5488                        if ( cnt67 >= 1 ) break loop67;
5489                        if (backtracking>0) {failed=true; return orderedList;}
5490                            EarlyExitException eee =
5491                                new EarlyExitException(67, input);
5492                            throw eee;
5493                    }
5494                    cnt67++;
5495                } while (true);
5496    
5497                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:346:77: ( end_of_list )?
5498                int alt68=2;
5499                int LA68_0 = input.LA(1);
5500    
5501                if ( (LA68_0==NEWLINE) ) {
5502                    alt68=1;
5503                }
5504                else if ( (LA68_0==EOF) ) {
5505                    alt68=1;
5506                }
5507                switch (alt68) {
5508                    case 1 :
5509                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:346:79: end_of_list
5510                        {
5511                        pushFollow(FOLLOW_end_of_list_in_list_ord1889);
5512                        end_of_list();
5513                        _fsp--;
5514                        if (failed) return orderedList;
5515    
5516                        }
5517                        break;
5518    
5519                }
5520    
5521    
5522                }
5523    
5524            }
5525            catch (RecognitionException re) {
5526                reportError(re);
5527                recover(input,re);
5528            }
5529            finally {
5530            }
5531            return orderedList;
5532        }
5533        // $ANTLR end list_ord
5534    
5535    
5536        // $ANTLR start list_ordelem
5537        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:348:1: list_ordelem returns [ASTNode item = null] : om= list_ordelem_markup elem= list_elem ;
5538        public final ASTNode list_ordelem() throws RecognitionException {
5539            CountLevel_stack.push(new CountLevel_scope());
5540    
5541            ASTNode item =  null;
5542    
5543            list_ordelem_markup_return om = null;
5544    
5545            CollectionNode elem = null;
5546    
5547    
5548    
5549                            ((CountLevel_scope)CountLevel_stack.peek()).level = 0;
5550                            ((CountLevel_scope)CountLevel_stack.peek()).groups = new String();
5551                    
5552            try {
5553                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:354:2: (om= list_ordelem_markup elem= list_elem )
5554                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:354:4: om= list_ordelem_markup elem= list_elem
5555                {
5556                pushFollow(FOLLOW_list_ordelem_markup_in_list_ordelem1922);
5557                om=list_ordelem_markup();
5558                _fsp--;
5559                if (failed) return item;
5560                if ( backtracking==0 ) {
5561                  ++((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);
5562                }
5563                pushFollow(FOLLOW_list_elem_in_list_ordelem1930);
5564                elem=list_elem();
5565                _fsp--;
5566                if (failed) return item;
5567                if ( backtracking==0 ) {
5568                   item = new OrderedListItemNode(((CountLevel_scope)CountLevel_stack.peek()).level, elem);
5569                }
5570    
5571                }
5572    
5573            }
5574            catch (RecognitionException re) {
5575                reportError(re);
5576                recover(input,re);
5577            }
5578            finally {
5579                CountLevel_stack.pop();
5580    
5581            }
5582            return item;
5583        }
5584        // $ANTLR end list_ordelem
5585    
5586    
5587        // $ANTLR start list_unord
5588        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:357:1: list_unord returns [UnorderedListNode unorderedList = new UnorderedListNode()] : (elem= list_unordelem )+ ( end_of_list )? ;
5589        public final UnorderedListNode list_unord() throws RecognitionException {
5590            UnorderedListNode unorderedList =  new UnorderedListNode();
5591    
5592            UnorderedListItemNode elem = null;
5593    
5594    
5595            try {
5596                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:358:2: ( (elem= list_unordelem )+ ( end_of_list )? )
5597                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:358:4: (elem= list_unordelem )+ ( end_of_list )?
5598                {
5599                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:358:4: (elem= list_unordelem )+
5600                int cnt69=0;
5601                loop69:
5602                do {
5603                    int alt69=2;
5604                    int LA69_0 = input.LA(1);
5605    
5606                    if ( (LA69_0==STAR) ) {
5607                        alt69=1;
5608                    }
5609    
5610    
5611                    switch (alt69) {
5612                    case 1 :
5613                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:358:6: elem= list_unordelem
5614                        {
5615                        pushFollow(FOLLOW_list_unordelem_in_list_unord1953);
5616                        elem=list_unordelem();
5617                        _fsp--;
5618                        if (failed) return unorderedList;
5619                        if ( backtracking==0 ) {
5620                           unorderedList.addChildASTNode(elem); 
5621                        }
5622    
5623                        }
5624                        break;
5625    
5626                    default :
5627                        if ( cnt69 >= 1 ) break loop69;
5628                        if (backtracking>0) {failed=true; return unorderedList;}
5629                            EarlyExitException eee =
5630                                new EarlyExitException(69, input);
5631                            throw eee;
5632                    }
5633                    cnt69++;
5634                } while (true);
5635    
5636                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:358:80: ( end_of_list )?
5637                int alt70=2;
5638                int LA70_0 = input.LA(1);
5639    
5640                if ( (LA70_0==NEWLINE) ) {
5641                    alt70=1;
5642                }
5643                else if ( (LA70_0==EOF) ) {
5644                    alt70=1;
5645                }
5646                switch (alt70) {
5647                    case 1 :
5648                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:358:82: end_of_list
5649                        {
5650                        pushFollow(FOLLOW_end_of_list_in_list_unord1963);
5651                        end_of_list();
5652                        _fsp--;
5653                        if (failed) return unorderedList;
5654    
5655                        }
5656                        break;
5657    
5658                }
5659    
5660    
5661                }
5662    
5663            }
5664            catch (RecognitionException re) {
5665                reportError(re);
5666                recover(input,re);
5667            }
5668            finally {
5669            }
5670            return unorderedList;
5671        }
5672        // $ANTLR end list_unord
5673    
5674    
5675        // $ANTLR start list_unordelem
5676        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:360:1: list_unordelem returns [UnorderedListItemNode item = null] : um= list_unordelem_markup elem= list_elem ;
5677        public final UnorderedListItemNode list_unordelem() throws RecognitionException {
5678            CountLevel_stack.push(new CountLevel_scope());
5679    
5680            UnorderedListItemNode item =  null;
5681    
5682            list_unordelem_markup_return um = null;
5683    
5684            CollectionNode elem = null;
5685    
5686    
5687    
5688                            ((CountLevel_scope)CountLevel_stack.peek()).level = 0;
5689                    
5690            try {
5691                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:365:2: (um= list_unordelem_markup elem= list_elem )
5692                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:365:4: um= list_unordelem_markup elem= list_elem
5693                {
5694                pushFollow(FOLLOW_list_unordelem_markup_in_list_unordelem1996);
5695                um=list_unordelem_markup();
5696                _fsp--;
5697                if (failed) return item;
5698                if ( backtracking==0 ) {
5699                  ++((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);
5700                }
5701                pushFollow(FOLLOW_list_elem_in_list_unordelem2003);
5702                elem=list_elem();
5703                _fsp--;
5704                if (failed) return item;
5705                if ( backtracking==0 ) {
5706                   item = new UnorderedListItemNode(((CountLevel_scope)CountLevel_stack.peek()).level, elem);
5707                }
5708    
5709                }
5710    
5711            }
5712            catch (RecognitionException re) {
5713                reportError(re);
5714                recover(input,re);
5715            }
5716            finally {
5717                CountLevel_stack.pop();
5718    
5719            }
5720            return item;
5721        }
5722        // $ANTLR end list_unordelem
5723    
5724    
5725        // $ANTLR start list_elem
5726        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:367:1: list_elem returns [CollectionNode items = null] : (m= list_elem_markup )* c= list_elemcontent list_elemseparator ;
5727        public final CollectionNode list_elem() throws RecognitionException {
5728            CollectionNode items =  null;
5729    
5730            list_elem_markup_return m = null;
5731    
5732            CollectionNode c = null;
5733    
5734    
5735            try {
5736                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:368:2: ( (m= list_elem_markup )* c= list_elemcontent list_elemseparator )
5737                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:368:4: (m= list_elem_markup )* c= list_elemcontent list_elemseparator
5738                {
5739                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:368:4: (m= list_elem_markup )*
5740                loop71:
5741                do {
5742                    int alt71=2;
5743                    int LA71_0 = input.LA(1);
5744    
5745                    if ( (LA71_0==STAR) ) {
5746                        alt71=1;
5747                    }
5748                    else if ( (LA71_0==POUND) ) {
5749                        alt71=1;
5750                    }
5751    
5752    
5753                    switch (alt71) {
5754                    case 1 :
5755                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:368:6: m= list_elem_markup
5756                        {
5757                        pushFollow(FOLLOW_list_elem_markup_in_list_elem2026);
5758                        m=list_elem_markup();
5759                        _fsp--;
5760                        if (failed) return items;
5761                        if ( backtracking==0 ) {
5762    
5763                                                         ++((CountLevel_scope)CountLevel_stack.peek()).level;
5764                                                         if(!input.toString(m.start,m.stop).equals(((CountLevel_scope)CountLevel_stack.peek()).currentMarkup)) {
5765                                                    ((CountLevel_scope)CountLevel_stack.peek()).groups+= GROUPING_SEPARATOR;
5766                                                         }
5767                                                         ((CountLevel_scope)CountLevel_stack.peek()).groups+= input.toString(m.start,m.stop);
5768                                                         ((CountLevel_scope)CountLevel_stack.peek()).currentMarkup = input.toString(m.start,m.stop);
5769                                                      
5770                        }
5771    
5772                        }
5773                        break;
5774    
5775                    default :
5776                        break loop71;
5777                    }
5778                } while (true);
5779    
5780                pushFollow(FOLLOW_list_elemcontent_in_list_elem2037);
5781                c=list_elemcontent();
5782                _fsp--;
5783                if (failed) return items;
5784                if ( backtracking==0 ) {
5785                  items = c; 
5786                }
5787                pushFollow(FOLLOW_list_elemseparator_in_list_elem2042);
5788                list_elemseparator();
5789                _fsp--;
5790                if (failed) return items;
5791    
5792                }
5793    
5794            }
5795            catch (RecognitionException re) {
5796                reportError(re);
5797                recover(input,re);
5798            }
5799            finally {
5800            }
5801            return items;
5802        }
5803        // $ANTLR end list_elem
5804    
5805        public static class list_elem_markup_return extends ParserRuleReturnScope {
5806        };
5807    
5808        // $ANTLR start list_elem_markup
5809        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:377:1: list_elem_markup : ( list_ordelem_markup | list_unordelem_markup );
5810        public final list_elem_markup_return list_elem_markup() throws RecognitionException {
5811            list_elem_markup_return retval = new list_elem_markup_return();
5812            retval.start = input.LT(1);
5813    
5814            try {
5815                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:378:2: ( list_ordelem_markup | list_unordelem_markup )
5816                int alt72=2;
5817                int LA72_0 = input.LA(1);
5818    
5819                if ( (LA72_0==POUND) ) {
5820                    alt72=1;
5821                }
5822                else if ( (LA72_0==STAR) ) {
5823                    alt72=2;
5824                }
5825                else {
5826                    if (backtracking>0) {failed=true; return retval;}
5827                    NoViableAltException nvae =
5828                        new NoViableAltException("377:1: list_elem_markup : ( list_ordelem_markup | list_unordelem_markup );", 72, 0, input);
5829    
5830                    throw nvae;
5831                }
5832                switch (alt72) {
5833                    case 1 :
5834                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:378:4: list_ordelem_markup
5835                        {
5836                        pushFollow(FOLLOW_list_ordelem_markup_in_list_elem_markup2052);
5837                        list_ordelem_markup();
5838                        _fsp--;
5839                        if (failed) return retval;
5840    
5841                        }
5842                        break;
5843                    case 2 :
5844                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:379:4: list_unordelem_markup
5845                        {
5846                        pushFollow(FOLLOW_list_unordelem_markup_in_list_elem_markup2057);
5847                        list_unordelem_markup();
5848                        _fsp--;
5849                        if (failed) return retval;
5850    
5851                        }
5852                        break;
5853    
5854                }
5855                retval.stop = input.LT(-1);
5856    
5857            }
5858            catch (RecognitionException re) {
5859                reportError(re);
5860                recover(input,re);
5861            }
5862            finally {
5863            }
5864            return retval;
5865        }
5866        // $ANTLR end list_elem_markup
5867    
5868    
5869        // $ANTLR start list_elemcontent
5870        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:381:1: list_elemcontent returns [CollectionNode items = new CollectionNode()] : onestar (part= list_elemcontentpart onestar )* ;
5871        public final CollectionNode list_elemcontent() throws RecognitionException {
5872            CollectionNode items =  new CollectionNode();
5873    
5874            ASTNode part = null;
5875    
5876    
5877            try {
5878                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:382:2: ( onestar (part= list_elemcontentpart onestar )* )
5879                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:382:4: onestar (part= list_elemcontentpart onestar )*
5880                {
5881                pushFollow(FOLLOW_onestar_in_list_elemcontent2071);
5882                onestar();
5883                _fsp--;
5884                if (failed) return items;
5885                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:382:13: (part= list_elemcontentpart onestar )*
5886                loop73:
5887                do {
5888                    int alt73=2;
5889                    int LA73_0 = input.LA(1);
5890    
5891                    if ( ((LA73_0>=FORCED_END_OF_LINE && LA73_0<=WIKI)||(LA73_0>=POUND && LA73_0<=79)) ) {
5892                        alt73=1;
5893                    }
5894    
5895    
5896                    switch (alt73) {
5897                    case 1 :
5898                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:382:15: part= list_elemcontentpart onestar
5899                        {
5900                        pushFollow(FOLLOW_list_elemcontentpart_in_list_elemcontent2080);
5901                        part=list_elemcontentpart();
5902                        _fsp--;
5903                        if (failed) return items;
5904                        if ( backtracking==0 ) {
5905                           items.add(part); 
5906                        }
5907                        pushFollow(FOLLOW_onestar_in_list_elemcontent2085);
5908                        onestar();
5909                        _fsp--;
5910                        if (failed) return items;
5911    
5912                        }
5913                        break;
5914    
5915                    default :
5916                        break loop73;
5917                    }
5918                } while (true);
5919    
5920    
5921                }
5922    
5923            }
5924            catch (RecognitionException re) {
5925                reportError(re);
5926                recover(input,re);
5927            }
5928            finally {
5929            }
5930            return items;
5931        }
5932        // $ANTLR end list_elemcontent
5933    
5934    
5935        // $ANTLR start list_elemcontentpart
5936        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:384:1: list_elemcontentpart returns [ASTNode node = null] : (tuf= text_unformattedelement | tf= list_formatted_elem );
5937        public final ASTNode list_elemcontentpart() throws RecognitionException {
5938            ASTNode node =  null;
5939    
5940            ASTNode tuf = null;
5941    
5942            CollectionNode tf = null;
5943    
5944    
5945            try {
5946                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:385:2: (tuf= text_unformattedelement | tf= list_formatted_elem )
5947                int alt74=2;
5948                int LA74_0 = input.LA(1);
5949    
5950                if ( ((LA74_0>=FORCED_END_OF_LINE && LA74_0<=WIKI)||LA74_0==POUND||(LA74_0>=EQUAL && LA74_0<=PIPE)||(LA74_0>=LINK_OPEN && LA74_0<=79)) ) {
5951                    alt74=1;
5952                }
5953                else if ( (LA74_0==STAR||LA74_0==ITAL) ) {
5954                    alt74=2;
5955                }
5956                else {
5957                    if (backtracking>0) {failed=true; return node;}
5958                    NoViableAltException nvae =
5959                        new NoViableAltException("384:1: list_elemcontentpart returns [ASTNode node = null] : (tuf= text_unformattedelement | tf= list_formatted_elem );", 74, 0, input);
5960    
5961                    throw nvae;
5962                }
5963                switch (alt74) {
5964                    case 1 :
5965                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:385:4: tuf= text_unformattedelement
5966                        {
5967                        pushFollow(FOLLOW_text_unformattedelement_in_list_elemcontentpart2106);
5968                        tuf=text_unformattedelement();
5969                        _fsp--;
5970                        if (failed) return node;
5971                        if ( backtracking==0 ) {
5972    
5973                                                    if(tuf instanceof CollectionNode)
5974                                                            node = new UnformattedTextNode(tuf);
5975                                                    else
5976                                                            node = tuf;
5977                                                    
5978                        }
5979    
5980                        }
5981                        break;
5982                    case 2 :
5983                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:391:4: tf= list_formatted_elem
5984                        {
5985                        pushFollow(FOLLOW_list_formatted_elem_in_list_elemcontentpart2117);
5986                        tf=list_formatted_elem();
5987                        _fsp--;
5988                        if (failed) return node;
5989                        if ( backtracking==0 ) {
5990                           node = new FormattedTextNode(tf);
5991                        }
5992    
5993                        }
5994                        break;
5995    
5996                }
5997            }
5998            catch (RecognitionException re) {
5999                reportError(re);
6000                recover(input,re);
6001            }
6002            finally {
6003            }
6004            return node;
6005        }
6006        // $ANTLR end list_elemcontentpart
6007    
6008    
6009        // $ANTLR start list_formatted_elem
6010        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:393: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 )? );
6011        public final CollectionNode list_formatted_elem() throws RecognitionException {
6012            CollectionNode contents =  new CollectionNode();
6013    
6014            ASTNode boldContents = null;
6015    
6016            ASTNode italContents = null;
6017    
6018    
6019            try {
6020                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:394:2: ( bold_markup onestar (boldContents= list_boldcontentpart onestar )* ( bold_markup )? | ital_markup onestar (italContents= list_italcontentpart onestar )* ( ital_markup )? )
6021                int alt79=2;
6022                int LA79_0 = input.LA(1);
6023    
6024                if ( (LA79_0==STAR) ) {
6025                    alt79=1;
6026                }
6027                else if ( (LA79_0==ITAL) ) {
6028                    alt79=2;
6029                }
6030                else {
6031                    if (backtracking>0) {failed=true; return contents;}
6032                    NoViableAltException nvae =
6033                        new NoViableAltException("393: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 )? );", 79, 0, input);
6034    
6035                    throw nvae;
6036                }
6037                switch (alt79) {
6038                    case 1 :
6039                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:394:4: bold_markup onestar (boldContents= list_boldcontentpart onestar )* ( bold_markup )?
6040                        {
6041                        pushFollow(FOLLOW_bold_markup_in_list_formatted_elem2133);
6042                        bold_markup();
6043                        _fsp--;
6044                        if (failed) return contents;
6045                        pushFollow(FOLLOW_onestar_in_list_formatted_elem2136);
6046                        onestar();
6047                        _fsp--;
6048                        if (failed) return contents;
6049                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:394:26: (boldContents= list_boldcontentpart onestar )*
6050                        loop75:
6051                        do {
6052                            int alt75=2;
6053                            switch ( input.LA(1) ) {
6054                            case FORCED_END_OF_LINE:
6055                            case HEADING_SECTION:
6056                            case HORIZONTAL_SECTION:
6057                            case LIST_ITEM:
6058                            case LIST_ITEM_PART:
6059                            case NOWIKI_SECTION:
6060                            case SCAPE_NODE:
6061                            case TEXT_NODE:
6062                            case UNORDERED_LIST:
6063                            case UNFORMATTED_TEXT:
6064                            case WIKI:
6065                            case POUND:
6066                            case EQUAL:
6067                            case PIPE:
6068                            case NOWIKI_BLOCK_CLOSE:
6069                            case NOWIKI_CLOSE:
6070                            case LINK_CLOSE:
6071                            case IMAGE_CLOSE:
6072                            case BLANKS:
6073                            case TABLE_OF_CONTENTS_TEXT:
6074                            case DASH:
6075                            case CR:
6076                            case LF:
6077                            case SPACE:
6078                            case TABULATOR:
6079                            case BRACE_CLOSE:
6080                            case COLON_SLASH:
6081                            case SLASH:
6082                            case TABLE_OF_CONTENTS_OPEN_MARKUP:
6083                            case TABLE_OF_CONTENTS_CLOSE_MARKUP:
6084                            case INSIGNIFICANT_CHAR:
6085                            case 44:
6086                            case 45:
6087                            case 46:
6088                            case 47:
6089                            case 48:
6090                            case 49:
6091                            case 50:
6092                            case 51:
6093                            case 52:
6094                            case 53:
6095                            case 54:
6096                            case 55:
6097                            case 56:
6098                            case 57:
6099                            case 58:
6100                            case 59:
6101                            case 60:
6102                            case 61:
6103                            case 62:
6104                            case 63:
6105                            case 64:
6106                            case 65:
6107                            case 66:
6108                            case 67:
6109                            case 68:
6110                            case 69:
6111                            case 70:
6112                            case 71:
6113                            case 72:
6114                            case 73:
6115                            case 74:
6116                            case 75:
6117                            case 76:
6118                            case 77:
6119                            case 78:
6120                            case 79:
6121                                {
6122                                alt75=1;
6123                                }
6124                                break;
6125                            case FORCED_LINEBREAK:
6126                                {
6127                                alt75=1;
6128                                }
6129                                break;
6130                            case ESCAPE:
6131                                {
6132                                alt75=1;
6133                                }
6134                                break;
6135                            case LINK_OPEN:
6136                                {
6137                                alt75=1;
6138                                }
6139                                break;
6140                            case IMAGE_OPEN:
6141                                {
6142                                alt75=1;
6143                                }
6144                                break;
6145                            case EXTENSION:
6146                                {
6147                                alt75=1;
6148                                }
6149                                break;
6150                            case NOWIKI_OPEN:
6151                                {
6152                                alt75=1;
6153                                }
6154                                break;
6155                            case ITAL:
6156                                {
6157                                alt75=1;
6158                                }
6159                                break;
6160    
6161                            }
6162    
6163                            switch (alt75) {
6164                            case 1 :
6165                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:394:28: boldContents= list_boldcontentpart onestar
6166                                {
6167                                pushFollow(FOLLOW_list_boldcontentpart_in_list_formatted_elem2145);
6168                                boldContents=list_boldcontentpart();
6169                                _fsp--;
6170                                if (failed) return contents;
6171                                if ( backtracking==0 ) {
6172    
6173                                                                            BoldTextNode add = null;
6174                                                                            if(boldContents instanceof CollectionNode){
6175                                                                                 add = new BoldTextNode(boldContents);
6176                                                                            }else{
6177                                                                                CollectionNode c = new CollectionNode();
6178                                                                                c.add(boldContents);
6179                                                                                add = new BoldTextNode(c);
6180                                                                            }
6181                                                                            contents.add(add);
6182                                                                            
6183                                }
6184                                pushFollow(FOLLOW_onestar_in_list_formatted_elem2154);
6185                                onestar();
6186                                _fsp--;
6187                                if (failed) return contents;
6188    
6189                                }
6190                                break;
6191    
6192                            default :
6193                                break loop75;
6194                            }
6195                        } while (true);
6196    
6197                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:406:3: ( bold_markup )?
6198                        int alt76=2;
6199                        int LA76_0 = input.LA(1);
6200    
6201                        if ( (LA76_0==STAR) ) {
6202                            int LA76_1 = input.LA(2);
6203    
6204                            if ( (LA76_1==STAR) ) {
6205                                alt76=1;
6206                            }
6207                        }
6208                        switch (alt76) {
6209                            case 1 :
6210                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:406:5: bold_markup
6211                                {
6212                                pushFollow(FOLLOW_bold_markup_in_list_formatted_elem2163);
6213                                bold_markup();
6214                                _fsp--;
6215                                if (failed) return contents;
6216    
6217                                }
6218                                break;
6219    
6220                        }
6221    
6222    
6223                        }
6224                        break;
6225                    case 2 :
6226                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:407:4: ital_markup onestar (italContents= list_italcontentpart onestar )* ( ital_markup )?
6227                        {
6228                        pushFollow(FOLLOW_ital_markup_in_list_formatted_elem2171);
6229                        ital_markup();
6230                        _fsp--;
6231                        if (failed) return contents;
6232                        pushFollow(FOLLOW_onestar_in_list_formatted_elem2176);
6233                        onestar();
6234                        _fsp--;
6235                        if (failed) return contents;
6236                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:407:28: (italContents= list_italcontentpart onestar )*
6237                        loop77:
6238                        do {
6239                            int alt77=2;
6240                            switch ( input.LA(1) ) {
6241                            case STAR:
6242                                {
6243                                alt77=1;
6244                                }
6245                                break;
6246                            case FORCED_END_OF_LINE:
6247                            case HEADING_SECTION:
6248                            case HORIZONTAL_SECTION:
6249                            case LIST_ITEM:
6250                            case LIST_ITEM_PART:
6251                            case NOWIKI_SECTION:
6252                            case SCAPE_NODE:
6253                            case TEXT_NODE:
6254                            case UNORDERED_LIST:
6255                            case UNFORMATTED_TEXT:
6256                            case WIKI:
6257                            case POUND:
6258                            case EQUAL:
6259                            case PIPE:
6260                            case NOWIKI_BLOCK_CLOSE:
6261                            case NOWIKI_CLOSE:
6262                            case LINK_CLOSE:
6263                            case IMAGE_CLOSE:
6264                            case BLANKS:
6265                            case TABLE_OF_CONTENTS_TEXT:
6266                            case DASH:
6267                            case CR:
6268                            case LF:
6269                            case SPACE:
6270                            case TABULATOR:
6271                            case BRACE_CLOSE:
6272                            case COLON_SLASH:
6273                            case SLASH:
6274                            case TABLE_OF_CONTENTS_OPEN_MARKUP:
6275                            case TABLE_OF_CONTENTS_CLOSE_MARKUP:
6276                            case INSIGNIFICANT_CHAR:
6277                            case 44:
6278                            case 45:
6279                            case 46:
6280                            case 47:
6281                            case 48:
6282                            case 49:
6283                            case 50:
6284                            case 51:
6285                            case 52:
6286                            case 53:
6287                            case 54:
6288                            case 55:
6289                            case 56:
6290                            case 57:
6291                            case 58:
6292                            case 59:
6293                            case 60:
6294                            case 61:
6295                            case 62:
6296                            case 63:
6297                            case 64:
6298                            case 65:
6299                            case 66:
6300                            case 67:
6301                            case 68:
6302                            case 69:
6303                            case 70:
6304                            case 71:
6305                            case 72:
6306                            case 73:
6307                            case 74:
6308                            case 75:
6309                            case 76:
6310                            case 77:
6311                            case 78:
6312                            case 79:
6313                                {
6314                                alt77=1;
6315                                }
6316                                break;
6317                            case FORCED_LINEBREAK:
6318                                {
6319                                alt77=1;
6320                                }
6321                                break;
6322                            case ESCAPE:
6323                                {
6324                                alt77=1;
6325                                }
6326                                break;
6327                            case LINK_OPEN:
6328                                {
6329                                alt77=1;
6330                                }
6331                                break;
6332                            case IMAGE_OPEN:
6333                                {
6334                                alt77=1;
6335                                }
6336                                break;
6337                            case EXTENSION:
6338                                {
6339                                alt77=1;
6340                                }
6341                                break;
6342                            case NOWIKI_OPEN:
6343                                {
6344                                alt77=1;
6345                                }
6346                                break;
6347    
6348                            }
6349    
6350                            switch (alt77) {
6351                            case 1 :
6352                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:407:30: italContents= list_italcontentpart onestar
6353                                {
6354                                pushFollow(FOLLOW_list_italcontentpart_in_list_formatted_elem2185);
6355                                italContents=list_italcontentpart();
6356                                _fsp--;
6357                                if (failed) return contents;
6358                                if ( backtracking==0 ) {
6359    
6360                                                                            ItalicTextNode add = null;
6361                                                                            if(italContents instanceof CollectionNode){
6362                                                                                add = new ItalicTextNode(italContents);
6363                                                                            }else{
6364                                                                                  CollectionNode c = new CollectionNode();
6365                                                                                  c.add(italContents);
6366                                                                                  add = new ItalicTextNode(c);
6367                                                                            }
6368                                                                            contents.add(add);
6369                                                                            
6370                                }
6371                                pushFollow(FOLLOW_onestar_in_list_formatted_elem2194);
6372                                onestar();
6373                                _fsp--;
6374                                if (failed) return contents;
6375    
6376                                }
6377                                break;
6378    
6379                            default :
6380                                break loop77;
6381                            }
6382                        } while (true);
6383    
6384                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:418:3: ( ital_markup )?
6385                        int alt78=2;
6386                        int LA78_0 = input.LA(1);
6387    
6388                        if ( (LA78_0==ITAL) ) {
6389                            alt78=1;
6390                        }
6391                        switch (alt78) {
6392                            case 1 :
6393                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:418:5: ital_markup
6394                                {
6395                                pushFollow(FOLLOW_ital_markup_in_list_formatted_elem2203);
6396                                ital_markup();
6397                                _fsp--;
6398                                if (failed) return contents;
6399    
6400                                }
6401                                break;
6402    
6403                        }
6404    
6405    
6406                        }
6407                        break;
6408    
6409                }
6410            }
6411            catch (RecognitionException re) {
6412                reportError(re);
6413                recover(input,re);
6414            }
6415            finally {
6416            }
6417            return contents;
6418        }
6419        // $ANTLR end list_formatted_elem
6420    
6421        protected static class list_boldcontentpart_scope {
6422            List<ASTNode> elements;
6423        }
6424        protected Stack list_boldcontentpart_stack = new Stack();
6425    
6426    
6427        // $ANTLR start list_boldcontentpart
6428        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:421:1: list_boldcontentpart returns [ASTNode contents = null] : ( ital_markup c= list_bolditalcontent ( ital_markup )? | (t= text_unformattedelement )+ );
6429        public final ASTNode list_boldcontentpart() throws RecognitionException {
6430            list_boldcontentpart_stack.push(new list_boldcontentpart_scope());
6431            ASTNode contents =  null;
6432    
6433            ASTNode c = null;
6434    
6435            ASTNode t = null;
6436    
6437    
6438    
6439                    ((list_boldcontentpart_scope)list_boldcontentpart_stack.peek()).elements = new ArrayList<ASTNode>();
6440    
6441            try {
6442                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:428:2: ( ital_markup c= list_bolditalcontent ( ital_markup )? | (t= text_unformattedelement )+ )
6443                int alt82=2;
6444                int LA82_0 = input.LA(1);
6445    
6446                if ( (LA82_0==ITAL) ) {
6447                    alt82=1;
6448                }
6449                else if ( ((LA82_0>=FORCED_END_OF_LINE && LA82_0<=WIKI)||LA82_0==POUND||(LA82_0>=EQUAL && LA82_0<=PIPE)||(LA82_0>=LINK_OPEN && LA82_0<=79)) ) {
6450                    alt82=2;
6451                }
6452                else {
6453                    if (backtracking>0) {failed=true; return contents;}
6454                    NoViableAltException nvae =
6455                        new NoViableAltException("421:1: list_boldcontentpart returns [ASTNode contents = null] : ( ital_markup c= list_bolditalcontent ( ital_markup )? | (t= text_unformattedelement )+ );", 82, 0, input);
6456    
6457                    throw nvae;
6458                }
6459                switch (alt82) {
6460                    case 1 :
6461                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:428:4: ital_markup c= list_bolditalcontent ( ital_markup )?
6462                        {
6463                        pushFollow(FOLLOW_ital_markup_in_list_boldcontentpart2229);
6464                        ital_markup();
6465                        _fsp--;
6466                        if (failed) return contents;
6467                        pushFollow(FOLLOW_list_bolditalcontent_in_list_boldcontentpart2236);
6468                        c=list_bolditalcontent();
6469                        _fsp--;
6470                        if (failed) return contents;
6471                        if ( backtracking==0 ) {
6472                          contents = new ItalicTextNode(c);
6473                        }
6474                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:428:86: ( ital_markup )?
6475                        int alt80=2;
6476                        int LA80_0 = input.LA(1);
6477    
6478                        if ( (LA80_0==ITAL) ) {
6479                            alt80=1;
6480                        }
6481                        switch (alt80) {
6482                            case 1 :
6483                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:428:88: ital_markup
6484                                {
6485                                pushFollow(FOLLOW_ital_markup_in_list_boldcontentpart2243);
6486                                ital_markup();
6487                                _fsp--;
6488                                if (failed) return contents;
6489    
6490                                }
6491                                break;
6492    
6493                        }
6494    
6495    
6496                        }
6497                        break;
6498                    case 2 :
6499                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:429:4: (t= text_unformattedelement )+
6500                        {
6501                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:429:4: (t= text_unformattedelement )+
6502                        int cnt81=0;
6503                        loop81:
6504                        do {
6505                            int alt81=2;
6506                            switch ( input.LA(1) ) {
6507                            case FORCED_END_OF_LINE:
6508                            case HEADING_SECTION:
6509                            case HORIZONTAL_SECTION:
6510                            case LIST_ITEM:
6511                            case LIST_ITEM_PART:
6512                            case NOWIKI_SECTION:
6513                            case SCAPE_NODE:
6514                            case TEXT_NODE:
6515                            case UNORDERED_LIST:
6516                            case UNFORMATTED_TEXT:
6517                            case WIKI:
6518                            case POUND:
6519                            case EQUAL:
6520                            case PIPE:
6521                            case NOWIKI_BLOCK_CLOSE:
6522                            case NOWIKI_CLOSE:
6523                            case LINK_CLOSE:
6524                            case IMAGE_CLOSE:
6525                            case BLANKS:
6526                            case TABLE_OF_CONTENTS_TEXT:
6527                            case DASH:
6528                            case CR:
6529                            case LF:
6530                            case SPACE:
6531                            case TABULATOR:
6532                            case BRACE_CLOSE:
6533                            case COLON_SLASH:
6534                            case SLASH:
6535                            case TABLE_OF_CONTENTS_OPEN_MARKUP:
6536                            case TABLE_OF_CONTENTS_CLOSE_MARKUP:
6537                            case INSIGNIFICANT_CHAR:
6538                            case 44:
6539                            case 45:
6540                            case 46:
6541                            case 47:
6542                            case 48:
6543                            case 49:
6544                            case 50:
6545                            case 51:
6546                            case 52:
6547                            case 53:
6548                            case 54:
6549                            case 55:
6550                            case 56:
6551                            case 57:
6552                            case 58:
6553                            case 59:
6554                            case 60:
6555                            case 61:
6556                            case 62:
6557                            case 63:
6558                            case 64:
6559                            case 65:
6560                            case 66:
6561                            case 67:
6562                            case 68:
6563                            case 69:
6564                            case 70:
6565                            case 71:
6566                            case 72:
6567                            case 73:
6568                            case 74:
6569                            case 75:
6570                            case 76:
6571                            case 77:
6572                            case 78:
6573                            case 79:
6574                                {
6575                                alt81=1;
6576                                }
6577                                break;
6578                            case FORCED_LINEBREAK:
6579                                {
6580                                alt81=1;
6581                                }
6582                                break;
6583                            case ESCAPE:
6584                                {
6585                                alt81=1;
6586                                }
6587                                break;
6588                            case LINK_OPEN:
6589                                {
6590                                alt81=1;
6591                                }
6592                                break;
6593                            case IMAGE_OPEN:
6594                                {
6595                                alt81=1;
6596                                }
6597                                break;
6598                            case EXTENSION:
6599                                {
6600                                alt81=1;
6601                                }
6602                                break;
6603                            case NOWIKI_OPEN:
6604                                {
6605                                alt81=1;
6606                                }
6607                                break;
6608    
6609                            }
6610    
6611                            switch (alt81) {
6612                            case 1 :
6613                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:429:6: t= text_unformattedelement
6614                                {
6615                                pushFollow(FOLLOW_text_unformattedelement_in_list_boldcontentpart2257);
6616                                t=text_unformattedelement();
6617                                _fsp--;
6618                                if (failed) return contents;
6619                                if ( backtracking==0 ) {
6620                                   ((list_boldcontentpart_scope)list_boldcontentpart_stack.peek()).elements.add(t); 
6621                                }
6622    
6623                                }
6624                                break;
6625    
6626                            default :
6627                                if ( cnt81 >= 1 ) break loop81;
6628                                if (backtracking>0) {failed=true; return contents;}
6629                                    EarlyExitException eee =
6630                                        new EarlyExitException(81, input);
6631                                    throw eee;
6632                            }
6633                            cnt81++;
6634                        } while (true);
6635    
6636                        if ( backtracking==0 ) {
6637                          contents = new CollectionNode(((list_boldcontentpart_scope)list_boldcontentpart_stack.peek()).elements); 
6638                        }
6639    
6640                        }
6641                        break;
6642    
6643                }
6644            }
6645            catch (RecognitionException re) {
6646                reportError(re);
6647                recover(input,re);
6648            }
6649            finally {
6650                list_boldcontentpart_stack.pop();
6651            }
6652            return contents;
6653        }
6654        // $ANTLR end list_boldcontentpart
6655    
6656    
6657        // $ANTLR start list_bolditalcontent
6658        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:433:1: list_bolditalcontent returns [ASTNode text = null] : (t= text_unformattedelement )+ ;
6659        public final ASTNode list_bolditalcontent() throws RecognitionException {
6660            ASTNode text =  null;
6661    
6662            ASTNode t = null;
6663    
6664    
6665            try {
6666                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:434:2: ( (t= text_unformattedelement )+ )
6667                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:434:4: (t= text_unformattedelement )+
6668                {
6669                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:434:4: (t= text_unformattedelement )+
6670                int cnt83=0;
6671                loop83:
6672                do {
6673                    int alt83=2;
6674                    switch ( input.LA(1) ) {
6675                    case FORCED_END_OF_LINE:
6676                    case HEADING_SECTION:
6677                    case HORIZONTAL_SECTION:
6678                    case LIST_ITEM:
6679                    case LIST_ITEM_PART:
6680                    case NOWIKI_SECTION:
6681                    case SCAPE_NODE:
6682                    case TEXT_NODE:
6683                    case UNORDERED_LIST:
6684                    case UNFORMATTED_TEXT:
6685                    case WIKI:
6686                    case POUND:
6687                    case EQUAL:
6688                    case PIPE:
6689                    case NOWIKI_BLOCK_CLOSE:
6690                    case NOWIKI_CLOSE:
6691                    case LINK_CLOSE:
6692                    case IMAGE_CLOSE:
6693                    case BLANKS:
6694                    case TABLE_OF_CONTENTS_TEXT:
6695                    case DASH:
6696                    case CR:
6697                    case LF:
6698                    case SPACE:
6699                    case TABULATOR:
6700                    case BRACE_CLOSE:
6701                    case COLON_SLASH:
6702                    case SLASH:
6703                    case TABLE_OF_CONTENTS_OPEN_MARKUP:
6704                    case TABLE_OF_CONTENTS_CLOSE_MARKUP:
6705                    case INSIGNIFICANT_CHAR:
6706                    case 44:
6707                    case 45:
6708                    case 46:
6709                    case 47:
6710                    case 48:
6711                    case 49:
6712                    case 50:
6713                    case 51:
6714                    case 52:
6715                    case 53:
6716                    case 54:
6717                    case 55:
6718                    case 56:
6719                    case 57:
6720                    case 58:
6721                    case 59:
6722                    case 60:
6723                    case 61:
6724                    case 62:
6725                    case 63:
6726                    case 64:
6727                    case 65:
6728                    case 66:
6729                    case 67:
6730                    case 68:
6731                    case 69:
6732                    case 70:
6733                    case 71:
6734                    case 72:
6735                    case 73:
6736                    case 74:
6737                    case 75:
6738                    case 76:
6739                    case 77:
6740                    case 78:
6741                    case 79:
6742                        {
6743                        alt83=1;
6744                        }
6745                        break;
6746                    case FORCED_LINEBREAK:
6747                        {
6748                        alt83=1;
6749                        }
6750                        break;
6751                    case ESCAPE:
6752                        {
6753                        alt83=1;
6754                        }
6755                        break;
6756                    case LINK_OPEN:
6757                        {
6758                        alt83=1;
6759                        }
6760                        break;
6761                    case IMAGE_OPEN:
6762                        {
6763                        alt83=1;
6764                        }
6765                        break;
6766                    case EXTENSION:
6767                        {
6768                        alt83=1;
6769                        }
6770                        break;
6771                    case NOWIKI_OPEN:
6772                        {
6773                        alt83=1;
6774                        }
6775                        break;
6776    
6777                    }
6778    
6779                    switch (alt83) {
6780                    case 1 :
6781                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:434:6: t= text_unformattedelement
6782                        {
6783                        pushFollow(FOLLOW_text_unformattedelement_in_list_bolditalcontent2288);
6784                        t=text_unformattedelement();
6785                        _fsp--;
6786                        if (failed) return text;
6787                        if ( backtracking==0 ) {
6788                           text = t; 
6789                        }
6790    
6791                        }
6792                        break;
6793    
6794                    default :
6795                        if ( cnt83 >= 1 ) break loop83;
6796                        if (backtracking>0) {failed=true; return text;}
6797                            EarlyExitException eee =
6798                                new EarlyExitException(83, input);
6799                            throw eee;
6800                    }
6801                    cnt83++;
6802                } while (true);
6803    
6804    
6805                }
6806    
6807            }
6808            catch (RecognitionException re) {
6809                reportError(re);
6810                recover(input,re);
6811            }
6812            finally {
6813            }
6814            return text;
6815        }
6816        // $ANTLR end list_bolditalcontent
6817    
6818        protected static class list_italcontentpart_scope {
6819            List<ASTNode> elements;
6820        }
6821        protected Stack list_italcontentpart_stack = new Stack();
6822    
6823    
6824        // $ANTLR start list_italcontentpart
6825        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:437:1: list_italcontentpart returns [ASTNode contents = null] : ( bold_markup c= list_bolditalcontent ( bold_markup )? | (t= text_unformattedelement )+ );
6826        public final ASTNode list_italcontentpart() throws RecognitionException {
6827            list_italcontentpart_stack.push(new list_italcontentpart_scope());
6828            ASTNode contents =  null;
6829    
6830            ASTNode c = null;
6831    
6832            ASTNode t = null;
6833    
6834    
6835    
6836                    ((list_italcontentpart_scope)list_italcontentpart_stack.peek()).elements = new ArrayList<ASTNode>();
6837    
6838            try {
6839                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:444:2: ( bold_markup c= list_bolditalcontent ( bold_markup )? | (t= text_unformattedelement )+ )
6840                int alt86=2;
6841                int LA86_0 = input.LA(1);
6842    
6843                if ( (LA86_0==STAR) ) {
6844                    alt86=1;
6845                }
6846                else if ( ((LA86_0>=FORCED_END_OF_LINE && LA86_0<=WIKI)||LA86_0==POUND||(LA86_0>=EQUAL && LA86_0<=PIPE)||(LA86_0>=LINK_OPEN && LA86_0<=79)) ) {
6847                    alt86=2;
6848                }
6849                else {
6850                    if (backtracking>0) {failed=true; return contents;}
6851                    NoViableAltException nvae =
6852                        new NoViableAltException("437:1: list_italcontentpart returns [ASTNode contents = null] : ( bold_markup c= list_bolditalcontent ( bold_markup )? | (t= text_unformattedelement )+ );", 86, 0, input);
6853    
6854                    throw nvae;
6855                }
6856                switch (alt86) {
6857                    case 1 :
6858                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:444:4: bold_markup c= list_bolditalcontent ( bold_markup )?
6859                        {
6860                        pushFollow(FOLLOW_bold_markup_in_list_italcontentpart2316);
6861                        bold_markup();
6862                        _fsp--;
6863                        if (failed) return contents;
6864                        pushFollow(FOLLOW_list_bolditalcontent_in_list_italcontentpart2323);
6865                        c=list_bolditalcontent();
6866                        _fsp--;
6867                        if (failed) return contents;
6868                        if ( backtracking==0 ) {
6869                           contents = new BoldTextNode(c); 
6870                        }
6871                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:444:86: ( bold_markup )?
6872                        int alt84=2;
6873                        int LA84_0 = input.LA(1);
6874    
6875                        if ( (LA84_0==STAR) ) {
6876                            int LA84_1 = input.LA(2);
6877    
6878                            if ( (LA84_1==STAR) ) {
6879                                alt84=1;
6880                            }
6881                        }
6882                        switch (alt84) {
6883                            case 1 :
6884                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:444:88: bold_markup
6885                                {
6886                                pushFollow(FOLLOW_bold_markup_in_list_italcontentpart2330);
6887                                bold_markup();
6888                                _fsp--;
6889                                if (failed) return contents;
6890    
6891                                }
6892                                break;
6893    
6894                        }
6895    
6896    
6897                        }
6898                        break;
6899                    case 2 :
6900                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:445:4: (t= text_unformattedelement )+
6901                        {
6902                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:445:4: (t= text_unformattedelement )+
6903                        int cnt85=0;
6904                        loop85:
6905                        do {
6906                            int alt85=2;
6907                            switch ( input.LA(1) ) {
6908                            case FORCED_END_OF_LINE:
6909                            case HEADING_SECTION:
6910                            case HORIZONTAL_SECTION:
6911                            case LIST_ITEM:
6912                            case LIST_ITEM_PART:
6913                            case NOWIKI_SECTION:
6914                            case SCAPE_NODE:
6915                            case TEXT_NODE:
6916                            case UNORDERED_LIST:
6917                            case UNFORMATTED_TEXT:
6918                            case WIKI:
6919                            case POUND:
6920                            case EQUAL:
6921                            case PIPE:
6922                            case NOWIKI_BLOCK_CLOSE:
6923                            case NOWIKI_CLOSE:
6924                            case LINK_CLOSE:
6925                            case IMAGE_CLOSE:
6926                            case BLANKS:
6927                            case TABLE_OF_CONTENTS_TEXT:
6928                            case DASH:
6929                            case CR:
6930                            case LF:
6931                            case SPACE:
6932                            case TABULATOR:
6933                            case BRACE_CLOSE:
6934                            case COLON_SLASH:
6935                            case SLASH:
6936                            case TABLE_OF_CONTENTS_OPEN_MARKUP:
6937                            case TABLE_OF_CONTENTS_CLOSE_MARKUP:
6938                            case INSIGNIFICANT_CHAR:
6939                            case 44:
6940                            case 45:
6941                            case 46:
6942                            case 47:
6943                            case 48:
6944                            case 49:
6945                            case 50:
6946                            case 51:
6947                            case 52:
6948                            case 53:
6949                            case 54:
6950                            case 55:
6951                            case 56:
6952                            case 57:
6953                            case 58:
6954                            case 59:
6955                            case 60:
6956                            case 61:
6957                            case 62:
6958                            case 63:
6959                            case 64:
6960                            case 65:
6961                            case 66:
6962                            case 67:
6963                            case 68:
6964                            case 69:
6965                            case 70:
6966                            case 71:
6967                            case 72:
6968                            case 73:
6969                            case 74:
6970                            case 75:
6971                            case 76:
6972                            case 77:
6973                            case 78:
6974                            case 79:
6975                                {
6976                                alt85=1;
6977                                }
6978                                break;
6979                            case FORCED_LINEBREAK:
6980                                {
6981                                alt85=1;
6982                                }
6983                                break;
6984                            case ESCAPE:
6985                                {
6986                                alt85=1;
6987                                }
6988                                break;
6989                            case LINK_OPEN:
6990                                {
6991                                alt85=1;
6992                                }
6993                                break;
6994                            case IMAGE_OPEN:
6995                                {
6996                                alt85=1;
6997                                }
6998                                break;
6999                            case EXTENSION:
7000                                {
7001                                alt85=1;
7002                                }
7003                                break;
7004                            case NOWIKI_OPEN:
7005                                {
7006                                alt85=1;
7007                                }
7008                                break;
7009    
7010                            }
7011    
7012                            switch (alt85) {
7013                            case 1 :
7014                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:445:6: t= text_unformattedelement
7015                                {
7016                                pushFollow(FOLLOW_text_unformattedelement_in_list_italcontentpart2344);
7017                                t=text_unformattedelement();
7018                                _fsp--;
7019                                if (failed) return contents;
7020                                if ( backtracking==0 ) {
7021                                   ((list_italcontentpart_scope)list_italcontentpart_stack.peek()).elements.add(t); 
7022                                }
7023    
7024                                }
7025                                break;
7026    
7027                            default :
7028                                if ( cnt85 >= 1 ) break loop85;
7029                                if (backtracking>0) {failed=true; return contents;}
7030                                    EarlyExitException eee =
7031                                        new EarlyExitException(85, input);
7032                                    throw eee;
7033                            }
7034                            cnt85++;
7035                        } while (true);
7036    
7037                        if ( backtracking==0 ) {
7038                           contents = new CollectionNode(((list_italcontentpart_scope)list_italcontentpart_stack.peek()).elements); 
7039                        }
7040    
7041                        }
7042                        break;
7043    
7044                }
7045            }
7046            catch (RecognitionException re) {
7047                reportError(re);
7048                recover(input,re);
7049            }
7050            finally {
7051                list_italcontentpart_stack.pop();
7052            }
7053            return contents;
7054        }
7055        // $ANTLR end list_italcontentpart
7056    
7057    
7058        // $ANTLR start table
7059        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:449:1: table returns [TableNode table = new TableNode()] : (tr= table_row )+ ;
7060        public final TableNode table() throws RecognitionException {
7061            TableNode table =  new TableNode();
7062    
7063            CollectionNode tr = null;
7064    
7065    
7066            try {
7067                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:450:2: ( (tr= table_row )+ )
7068                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:450:4: (tr= table_row )+
7069                {
7070                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:450:4: (tr= table_row )+
7071                int cnt87=0;
7072                loop87:
7073                do {
7074                    int alt87=2;
7075                    int LA87_0 = input.LA(1);
7076    
7077                    if ( (LA87_0==PIPE) ) {
7078                        alt87=1;
7079                    }
7080    
7081    
7082                    switch (alt87) {
7083                    case 1 :
7084                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:450:6: tr= table_row
7085                        {
7086                        pushFollow(FOLLOW_table_row_in_table2372);
7087                        tr=table_row();
7088                        _fsp--;
7089                        if (failed) return table;
7090                        if ( backtracking==0 ) {
7091                          table.addChildASTNode(tr);
7092                        }
7093    
7094                        }
7095                        break;
7096    
7097                    default :
7098                        if ( cnt87 >= 1 ) break loop87;
7099                        if (backtracking>0) {failed=true; return table;}
7100                            EarlyExitException eee =
7101                                new EarlyExitException(87, input);
7102                            throw eee;
7103                    }
7104                    cnt87++;
7105                } while (true);
7106    
7107    
7108                }
7109    
7110            }
7111            catch (RecognitionException re) {
7112                reportError(re);
7113                recover(input,re);
7114            }
7115            finally {
7116            }
7117            return table;
7118        }
7119        // $ANTLR end table
7120    
7121    
7122        // $ANTLR start table_row
7123        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:452:1: table_row returns [CollectionNode row = new CollectionNode()] : (tc= table_cell )+ table_rowseparator ;
7124        public final CollectionNode table_row() throws RecognitionException {
7125            CollectionNode row =  new CollectionNode();
7126    
7127            TableCellNode tc = null;
7128    
7129    
7130            try {
7131                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:453:2: ( (tc= table_cell )+ table_rowseparator )
7132                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:453:4: (tc= table_cell )+ table_rowseparator
7133                {
7134                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:453:4: (tc= table_cell )+
7135                int cnt88=0;
7136                loop88:
7137                do {
7138                    int alt88=2;
7139                    int LA88_0 = input.LA(1);
7140    
7141                    if ( (LA88_0==PIPE) ) {
7142                        alt88=1;
7143                    }
7144    
7145    
7146                    switch (alt88) {
7147                    case 1 :
7148                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:453:6: tc= table_cell
7149                        {
7150                        pushFollow(FOLLOW_table_cell_in_table_row2398);
7151                        tc=table_cell();
7152                        _fsp--;
7153                        if (failed) return row;
7154                        if ( backtracking==0 ) {
7155                           row.add(tc); 
7156                        }
7157    
7158                        }
7159                        break;
7160    
7161                    default :
7162                        if ( cnt88 >= 1 ) break loop88;
7163                        if (backtracking>0) {failed=true; return row;}
7164                            EarlyExitException eee =
7165                                new EarlyExitException(88, input);
7166                            throw eee;
7167                    }
7168                    cnt88++;
7169                } while (true);
7170    
7171                pushFollow(FOLLOW_table_rowseparator_in_table_row2406);
7172                table_rowseparator();
7173                _fsp--;
7174                if (failed) return row;
7175    
7176                }
7177    
7178            }
7179            catch (RecognitionException re) {
7180                reportError(re);
7181                recover(input,re);
7182            }
7183            finally {
7184            }
7185            return row;
7186        }
7187        // $ANTLR end table_row
7188    
7189    
7190        // $ANTLR start table_cell
7191        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:455:1: table_cell returns [TableCellNode cell = null] : ({...}?th= table_headercell | tc= table_normalcell );
7192        public final TableCellNode table_cell() throws RecognitionException {
7193            TableCellNode cell =  null;
7194    
7195            TableHeaderNode th = null;
7196    
7197            TableDataNode tc = null;
7198    
7199    
7200            try {
7201                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:456:2: ({...}?th= table_headercell | tc= table_normalcell )
7202                int alt89=2;
7203                int LA89_0 = input.LA(1);
7204    
7205                if ( (LA89_0==PIPE) ) {
7206                    int LA89_1 = input.LA(2);
7207    
7208                    if ( (LA89_1==EQUAL) ) {
7209                        int LA89_2 = input.LA(3);
7210    
7211                        if ( ( input.LA(2) == EQUAL ) ) {
7212                            alt89=1;
7213                        }
7214                        else if ( (true) ) {
7215                            alt89=2;
7216                        }
7217                        else {
7218                            if (backtracking>0) {failed=true; return cell;}
7219                            NoViableAltException nvae =
7220                                new NoViableAltException("455:1: table_cell returns [TableCellNode cell = null] : ({...}?th= table_headercell | tc= table_normalcell );", 89, 2, input);
7221    
7222                            throw nvae;
7223                        }
7224                    }
7225                    else if ( (LA89_1==EOF||(LA89_1>=FORCED_END_OF_LINE && LA89_1<=STAR)||(LA89_1>=PIPE && LA89_1<=79)) ) {
7226                        alt89=2;
7227                    }
7228                    else {
7229                        if (backtracking>0) {failed=true; return cell;}
7230                        NoViableAltException nvae =
7231                            new NoViableAltException("455:1: table_cell returns [TableCellNode cell = null] : ({...}?th= table_headercell | tc= table_normalcell );", 89, 1, input);
7232    
7233                        throw nvae;
7234                    }
7235                }
7236                else {
7237                    if (backtracking>0) {failed=true; return cell;}
7238                    NoViableAltException nvae =
7239                        new NoViableAltException("455:1: table_cell returns [TableCellNode cell = null] : ({...}?th= table_headercell | tc= table_normalcell );", 89, 0, input);
7240    
7241                    throw nvae;
7242                }
7243                switch (alt89) {
7244                    case 1 :
7245                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:456:4: {...}?th= table_headercell
7246                        {
7247                        if ( !( input.LA(2) == EQUAL ) ) {
7248                            if (backtracking>0) {failed=true; return cell;}
7249                            throw new FailedPredicateException(input, "table_cell", " input.LA(2) == EQUAL ");
7250                        }
7251                        pushFollow(FOLLOW_table_headercell_in_table_cell2427);
7252                        th=table_headercell();
7253                        _fsp--;
7254                        if (failed) return cell;
7255                        if ( backtracking==0 ) {
7256                          cell = th;
7257                        }
7258    
7259                        }
7260                        break;
7261                    case 2 :
7262                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:457:4: tc= table_normalcell
7263                        {
7264                        pushFollow(FOLLOW_table_normalcell_in_table_cell2438);
7265                        tc=table_normalcell();
7266                        _fsp--;
7267                        if (failed) return cell;
7268                        if ( backtracking==0 ) {
7269                          cell = tc; 
7270                        }
7271    
7272                        }
7273                        break;
7274    
7275                }
7276            }
7277            catch (RecognitionException re) {
7278                reportError(re);
7279                recover(input,re);
7280            }
7281            finally {
7282            }
7283            return cell;
7284        }
7285        // $ANTLR end table_cell
7286    
7287    
7288        // $ANTLR start table_headercell
7289        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:459:1: table_headercell returns [TableHeaderNode header = null] : table_headercell_markup tc= table_cellcontent ;
7290        public final TableHeaderNode table_headercell() throws RecognitionException {
7291            TableHeaderNode header =  null;
7292    
7293            CollectionNode tc = null;
7294    
7295    
7296            try {
7297                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:460:2: ( table_headercell_markup tc= table_cellcontent )
7298                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:460:4: table_headercell_markup tc= table_cellcontent
7299                {
7300                pushFollow(FOLLOW_table_headercell_markup_in_table_headercell2454);
7301                table_headercell_markup();
7302                _fsp--;
7303                if (failed) return header;
7304                pushFollow(FOLLOW_table_cellcontent_in_table_headercell2461);
7305                tc=table_cellcontent();
7306                _fsp--;
7307                if (failed) return header;
7308                if ( backtracking==0 ) {
7309                  header = new TableHeaderNode(tc);
7310                }
7311    
7312                }
7313    
7314            }
7315            catch (RecognitionException re) {
7316                reportError(re);
7317                recover(input,re);
7318            }
7319            finally {
7320            }
7321            return header;
7322        }
7323        // $ANTLR end table_headercell
7324    
7325    
7326        // $ANTLR start table_normalcell
7327        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:462:1: table_normalcell returns [TableDataNode cell = null] : table_cell_markup tc= table_cellcontent ;
7328        public final TableDataNode table_normalcell() throws RecognitionException {
7329            TableDataNode cell =  null;
7330    
7331            CollectionNode tc = null;
7332    
7333    
7334            try {
7335                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:463:2: ( table_cell_markup tc= table_cellcontent )
7336                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:463:4: table_cell_markup tc= table_cellcontent
7337                {
7338                pushFollow(FOLLOW_table_cell_markup_in_table_normalcell2477);
7339                table_cell_markup();
7340                _fsp--;
7341                if (failed) return cell;
7342                pushFollow(FOLLOW_table_cellcontent_in_table_normalcell2484);
7343                tc=table_cellcontent();
7344                _fsp--;
7345                if (failed) return cell;
7346                if ( backtracking==0 ) {
7347                   cell = new TableDataNode(tc); 
7348                }
7349    
7350                }
7351    
7352            }
7353            catch (RecognitionException re) {
7354                reportError(re);
7355                recover(input,re);
7356            }
7357            finally {
7358            }
7359            return cell;
7360        }
7361        // $ANTLR end table_normalcell
7362    
7363    
7364        // $ANTLR start table_cellcontent
7365        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:465:1: table_cellcontent returns [CollectionNode items = new CollectionNode()] : onestar (tcp= table_cellcontentpart onestar )* ;
7366        public final CollectionNode table_cellcontent() throws RecognitionException {
7367            CollectionNode items =  new CollectionNode();
7368    
7369            ASTNode tcp = null;
7370    
7371    
7372            try {
7373                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:466:2: ( onestar (tcp= table_cellcontentpart onestar )* )
7374                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:466:4: onestar (tcp= table_cellcontentpart onestar )*
7375                {
7376                pushFollow(FOLLOW_onestar_in_table_cellcontent2500);
7377                onestar();
7378                _fsp--;
7379                if (failed) return items;
7380                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:466:13: (tcp= table_cellcontentpart onestar )*
7381                loop90:
7382                do {
7383                    int alt90=2;
7384                    int LA90_0 = input.LA(1);
7385    
7386                    if ( ((LA90_0>=FORCED_END_OF_LINE && LA90_0<=WIKI)||(LA90_0>=POUND && LA90_0<=EQUAL)||(LA90_0>=ITAL && LA90_0<=79)) ) {
7387                        alt90=1;
7388                    }
7389    
7390    
7391                    switch (alt90) {
7392                    case 1 :
7393                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:466:15: tcp= table_cellcontentpart onestar
7394                        {
7395                        pushFollow(FOLLOW_table_cellcontentpart_in_table_cellcontent2509);
7396                        tcp=table_cellcontentpart();
7397                        _fsp--;
7398                        if (failed) return items;
7399                        if ( backtracking==0 ) {
7400    
7401                                            if(tcp != null) {
7402                                                    items.add(tcp);
7403                                            }
7404                                    
7405                        }
7406                        pushFollow(FOLLOW_onestar_in_table_cellcontent2516);
7407                        onestar();
7408                        _fsp--;
7409                        if (failed) return items;
7410    
7411                        }
7412                        break;
7413    
7414                    default :
7415                        break loop90;
7416                    }
7417                } while (true);
7418    
7419    
7420                }
7421    
7422            }
7423            catch (RecognitionException re) {
7424                reportError(re);
7425                recover(input,re);
7426            }
7427            finally {
7428            }
7429            return items;
7430        }
7431        // $ANTLR end table_cellcontent
7432    
7433    
7434        // $ANTLR start table_cellcontentpart
7435        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:473:1: table_cellcontentpart returns [ASTNode node = null] : (tf= table_formattedelement | tu= table_unformattedelement );
7436        public final ASTNode table_cellcontentpart() throws RecognitionException {
7437            ASTNode node =  null;
7438    
7439            ASTNode tf = null;
7440    
7441            ASTNode tu = null;
7442    
7443    
7444            try {
7445                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:474:2: (tf= table_formattedelement | tu= table_unformattedelement )
7446                int alt91=2;
7447                int LA91_0 = input.LA(1);
7448    
7449                if ( (LA91_0==STAR||LA91_0==ITAL) ) {
7450                    alt91=1;
7451                }
7452                else if ( ((LA91_0>=FORCED_END_OF_LINE && LA91_0<=WIKI)||LA91_0==POUND||LA91_0==EQUAL||(LA91_0>=LINK_OPEN && LA91_0<=79)) ) {
7453                    alt91=2;
7454                }
7455                else {
7456                    if (backtracking>0) {failed=true; return node;}
7457                    NoViableAltException nvae =
7458                        new NoViableAltException("473:1: table_cellcontentpart returns [ASTNode node = null] : (tf= table_formattedelement | tu= table_unformattedelement );", 91, 0, input);
7459    
7460                    throw nvae;
7461                }
7462                switch (alt91) {
7463                    case 1 :
7464                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:474:4: tf= table_formattedelement
7465                        {
7466                        pushFollow(FOLLOW_table_formattedelement_in_table_cellcontentpart2537);
7467                        tf=table_formattedelement();
7468                        _fsp--;
7469                        if (failed) return node;
7470                        if ( backtracking==0 ) {
7471                          node =tf;
7472                        }
7473    
7474                        }
7475                        break;
7476                    case 2 :
7477                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:475:4: tu= table_unformattedelement
7478                        {
7479                        pushFollow(FOLLOW_table_unformattedelement_in_table_cellcontentpart2548);
7480                        tu=table_unformattedelement();
7481                        _fsp--;
7482                        if (failed) return node;
7483                        if ( backtracking==0 ) {
7484                          node =tu;
7485                        }
7486    
7487                        }
7488                        break;
7489    
7490                }
7491            }
7492            catch (RecognitionException re) {
7493                reportError(re);
7494                recover(input,re);
7495            }
7496            finally {
7497            }
7498            return node;
7499        }
7500        // $ANTLR end table_cellcontentpart
7501    
7502    
7503        // $ANTLR start table_formattedelement
7504        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:477:1: table_formattedelement returns [ASTNode content = null] : ( ital_markup (tic= table_italcontent )? ( ital_markup )? | bold_markup (tbc= table_boldcontent )? ( bold_markup )? );
7505        public final ASTNode table_formattedelement() throws RecognitionException {
7506            ASTNode content =  null;
7507    
7508            CollectionNode tic = null;
7509    
7510            CollectionNode tbc = null;
7511    
7512    
7513            try {
7514                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:478:2: ( ital_markup (tic= table_italcontent )? ( ital_markup )? | bold_markup (tbc= table_boldcontent )? ( bold_markup )? )
7515                int alt96=2;
7516                int LA96_0 = input.LA(1);
7517    
7518                if ( (LA96_0==ITAL) ) {
7519                    alt96=1;
7520                }
7521                else if ( (LA96_0==STAR) ) {
7522                    alt96=2;
7523                }
7524                else {
7525                    if (backtracking>0) {failed=true; return content;}
7526                    NoViableAltException nvae =
7527                        new NoViableAltException("477:1: table_formattedelement returns [ASTNode content = null] : ( ital_markup (tic= table_italcontent )? ( ital_markup )? | bold_markup (tbc= table_boldcontent )? ( bold_markup )? );", 96, 0, input);
7528    
7529                    throw nvae;
7530                }
7531                switch (alt96) {
7532                    case 1 :
7533                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:478:4: ital_markup (tic= table_italcontent )? ( ital_markup )?
7534                        {
7535                        pushFollow(FOLLOW_ital_markup_in_table_formattedelement2564);
7536                        ital_markup();
7537                        _fsp--;
7538                        if (failed) return content;
7539                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:478:18: (tic= table_italcontent )?
7540                        int alt92=2;
7541                        switch ( input.LA(1) ) {
7542                            case STAR:
7543                                {
7544                                alt92=1;
7545                                }
7546                                break;
7547                            case FORCED_END_OF_LINE:
7548                            case HEADING_SECTION:
7549                            case HORIZONTAL_SECTION:
7550                            case LIST_ITEM:
7551                            case LIST_ITEM_PART:
7552                            case NOWIKI_SECTION:
7553                            case SCAPE_NODE:
7554                            case TEXT_NODE:
7555                            case UNORDERED_LIST:
7556                            case UNFORMATTED_TEXT:
7557                            case WIKI:
7558                            case POUND:
7559                            case EQUAL:
7560                            case NOWIKI_BLOCK_CLOSE:
7561                            case NOWIKI_CLOSE:
7562                            case LINK_CLOSE:
7563                            case IMAGE_CLOSE:
7564                            case BLANKS:
7565                            case TABLE_OF_CONTENTS_TEXT:
7566                            case DASH:
7567                            case CR:
7568                            case LF:
7569                            case SPACE:
7570                            case TABULATOR:
7571                            case BRACE_CLOSE:
7572                            case COLON_SLASH:
7573                            case SLASH:
7574                            case TABLE_OF_CONTENTS_OPEN_MARKUP:
7575                            case TABLE_OF_CONTENTS_CLOSE_MARKUP:
7576                            case INSIGNIFICANT_CHAR:
7577                            case 44:
7578                            case 45:
7579                            case 46:
7580                            case 47:
7581                            case 48:
7582                            case 49:
7583                            case 50:
7584                            case 51:
7585                            case 52:
7586                            case 53:
7587                            case 54:
7588                            case 55:
7589                            case 56:
7590                            case 57:
7591                            case 58:
7592                            case 59:
7593                            case 60:
7594                            case 61:
7595                            case 62:
7596                            case 63:
7597                            case 64:
7598                            case 65:
7599                            case 66:
7600                            case 67:
7601                            case 68:
7602                            case 69:
7603                            case 70:
7604                            case 71:
7605                            case 72:
7606                            case 73:
7607                            case 74:
7608                            case 75:
7609                            case 76:
7610                            case 77:
7611                            case 78:
7612                            case 79:
7613                                {
7614                                alt92=1;
7615                                }
7616                                break;
7617                            case FORCED_LINEBREAK:
7618                                {
7619                                alt92=1;
7620                                }
7621                                break;
7622                            case ESCAPE:
7623                                {
7624                                alt92=1;
7625                                }
7626                                break;
7627                            case LINK_OPEN:
7628                                {
7629                                alt92=1;
7630                                }
7631                                break;
7632                            case IMAGE_OPEN:
7633                                {
7634                                alt92=1;
7635                                }
7636                                break;
7637                            case EXTENSION:
7638                                {
7639                                alt92=1;
7640                                }
7641                                break;
7642                            case NOWIKI_OPEN:
7643                                {
7644                                alt92=1;
7645                                }
7646                                break;
7647                            case EOF:
7648                                {
7649                                alt92=1;
7650                                }
7651                                break;
7652                        }
7653    
7654                        switch (alt92) {
7655                            case 1 :
7656                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:478:20: tic= table_italcontent
7657                                {
7658                                pushFollow(FOLLOW_table_italcontent_in_table_formattedelement2574);
7659                                tic=table_italcontent();
7660                                _fsp--;
7661                                if (failed) return content;
7662                                if ( backtracking==0 ) {
7663                                   content = new ItalicTextNode(tic); 
7664                                }
7665    
7666                                }
7667                                break;
7668    
7669                        }
7670    
7671                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:478:94: ( ital_markup )?
7672                        int alt93=2;
7673                        int LA93_0 = input.LA(1);
7674    
7675                        if ( (LA93_0==ITAL) ) {
7676                            alt93=1;
7677                        }
7678                        switch (alt93) {
7679                            case 1 :
7680                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:478:96: ital_markup
7681                                {
7682                                pushFollow(FOLLOW_ital_markup_in_table_formattedelement2583);
7683                                ital_markup();
7684                                _fsp--;
7685                                if (failed) return content;
7686    
7687                                }
7688                                break;
7689    
7690                        }
7691    
7692    
7693                        }
7694                        break;
7695                    case 2 :
7696                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:479:4: bold_markup (tbc= table_boldcontent )? ( bold_markup )?
7697                        {
7698                        pushFollow(FOLLOW_bold_markup_in_table_formattedelement2591);
7699                        bold_markup();
7700                        _fsp--;
7701                        if (failed) return content;
7702                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:479:16: (tbc= table_boldcontent )?
7703                        int alt94=2;
7704                        switch ( input.LA(1) ) {
7705                            case STAR:
7706                                {
7707                                int LA94_1 = input.LA(2);
7708    
7709                                if ( ( input.LA(2) != STAR ) ) {
7710                                    alt94=1;
7711                                }
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_TEXT:
7733                            case DASH:
7734                            case CR:
7735                            case LF:
7736                            case SPACE:
7737                            case TABULATOR:
7738                            case BRACE_CLOSE:
7739                            case COLON_SLASH:
7740                            case SLASH:
7741                            case TABLE_OF_CONTENTS_OPEN_MARKUP:
7742                            case TABLE_OF_CONTENTS_CLOSE_MARKUP:
7743                            case INSIGNIFICANT_CHAR:
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                                {
7781                                alt94=1;
7782                                }
7783                                break;
7784                            case FORCED_LINEBREAK:
7785                                {
7786                                alt94=1;
7787                                }
7788                                break;
7789                            case ESCAPE:
7790                                {
7791                                alt94=1;
7792                                }
7793                                break;
7794                            case LINK_OPEN:
7795                                {
7796                                alt94=1;
7797                                }
7798                                break;
7799                            case IMAGE_OPEN:
7800                                {
7801                                alt94=1;
7802                                }
7803                                break;
7804                            case EXTENSION:
7805                                {
7806                                alt94=1;
7807                                }
7808                                break;
7809                            case NOWIKI_OPEN:
7810                                {
7811                                alt94=1;
7812                                }
7813                                break;
7814                            case ITAL:
7815                                {
7816                                alt94=1;
7817                                }
7818                                break;
7819                            case EOF:
7820                                {
7821                                alt94=1;
7822                                }
7823                                break;
7824                        }
7825    
7826                        switch (alt94) {
7827                            case 1 :
7828                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:479:18: tbc= table_boldcontent
7829                                {
7830                                pushFollow(FOLLOW_table_boldcontent_in_table_formattedelement2598);
7831                                tbc=table_boldcontent();
7832                                _fsp--;
7833                                if (failed) return content;
7834                                if ( backtracking==0 ) {
7835                                  content = new BoldTextNode(tbc);
7836                                }
7837    
7838                                }
7839                                break;
7840    
7841                        }
7842    
7843                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:479:88: ( bold_markup )?
7844                        int alt95=2;
7845                        int LA95_0 = input.LA(1);
7846    
7847                        if ( (LA95_0==STAR) ) {
7848                            int LA95_1 = input.LA(2);
7849    
7850                            if ( (LA95_1==STAR) ) {
7851                                alt95=1;
7852                            }
7853                        }
7854                        switch (alt95) {
7855                            case 1 :
7856                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:479:90: bold_markup
7857                                {
7858                                pushFollow(FOLLOW_bold_markup_in_table_formattedelement2608);
7859                                bold_markup();
7860                                _fsp--;
7861                                if (failed) return content;
7862    
7863                                }
7864                                break;
7865    
7866                        }
7867    
7868    
7869                        }
7870                        break;
7871    
7872                }
7873            }
7874            catch (RecognitionException re) {
7875                reportError(re);
7876                recover(input,re);
7877            }
7878            finally {
7879            }
7880            return content;
7881        }
7882        // $ANTLR end table_formattedelement
7883    
7884    
7885        // $ANTLR start table_boldcontent
7886        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:481:1: table_boldcontent returns [CollectionNode items = new CollectionNode()] : ( onestar (tb= table_boldcontentpart onestar )+ | EOF );
7887        public final CollectionNode table_boldcontent() throws RecognitionException {
7888            CollectionNode items =  new CollectionNode();
7889    
7890            ASTNode tb = null;
7891    
7892    
7893            try {
7894                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:482:2: ( onestar (tb= table_boldcontentpart onestar )+ | EOF )
7895                int alt98=2;
7896                int LA98_0 = input.LA(1);
7897    
7898                if ( ((LA98_0>=FORCED_END_OF_LINE && LA98_0<=WIKI)||(LA98_0>=POUND && LA98_0<=EQUAL)||(LA98_0>=ITAL && LA98_0<=79)) ) {
7899                    alt98=1;
7900                }
7901                else if ( (LA98_0==EOF) ) {
7902                    alt98=2;
7903                }
7904                else {
7905                    if (backtracking>0) {failed=true; return items;}
7906                    NoViableAltException nvae =
7907                        new NoViableAltException("481:1: table_boldcontent returns [CollectionNode items = new CollectionNode()] : ( onestar (tb= table_boldcontentpart onestar )+ | EOF );", 98, 0, input);
7908    
7909                    throw nvae;
7910                }
7911                switch (alt98) {
7912                    case 1 :
7913                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:482:4: onestar (tb= table_boldcontentpart onestar )+
7914                        {
7915                        pushFollow(FOLLOW_onestar_in_table_boldcontent2625);
7916                        onestar();
7917                        _fsp--;
7918                        if (failed) return items;
7919                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:482:13: (tb= table_boldcontentpart onestar )+
7920                        int cnt97=0;
7921                        loop97:
7922                        do {
7923                            int alt97=2;
7924                            switch ( input.LA(1) ) {
7925                            case ITAL:
7926                                {
7927                                alt97=1;
7928                                }
7929                                break;
7930                            case FORCED_END_OF_LINE:
7931                            case HEADING_SECTION:
7932                            case HORIZONTAL_SECTION:
7933                            case LIST_ITEM:
7934                            case LIST_ITEM_PART:
7935                            case NOWIKI_SECTION:
7936                            case SCAPE_NODE:
7937                            case TEXT_NODE:
7938                            case UNORDERED_LIST:
7939                            case UNFORMATTED_TEXT:
7940                            case WIKI:
7941                            case POUND:
7942                            case EQUAL:
7943                            case NOWIKI_BLOCK_CLOSE:
7944                            case NOWIKI_CLOSE:
7945                            case LINK_CLOSE:
7946                            case IMAGE_CLOSE:
7947                            case BLANKS:
7948                            case TABLE_OF_CONTENTS_TEXT:
7949                            case DASH:
7950                            case CR:
7951                            case LF:
7952                            case SPACE:
7953                            case TABULATOR:
7954                            case BRACE_CLOSE:
7955                            case COLON_SLASH:
7956                            case SLASH:
7957                            case TABLE_OF_CONTENTS_OPEN_MARKUP:
7958                            case TABLE_OF_CONTENTS_CLOSE_MARKUP:
7959                            case INSIGNIFICANT_CHAR:
7960                            case 44:
7961                            case 45:
7962                            case 46:
7963                            case 47:
7964                            case 48:
7965                            case 49:
7966                            case 50:
7967                            case 51:
7968                            case 52:
7969                            case 53:
7970                            case 54:
7971                            case 55:
7972                            case 56:
7973                            case 57:
7974                            case 58:
7975                            case 59:
7976                            case 60:
7977                            case 61:
7978                            case 62:
7979                            case 63:
7980                            case 64:
7981                            case 65:
7982                            case 66:
7983                            case 67:
7984                            case 68:
7985                            case 69:
7986                            case 70:
7987                            case 71:
7988                            case 72:
7989                            case 73:
7990                            case 74:
7991                            case 75:
7992                            case 76:
7993                            case 77:
7994                            case 78:
7995                            case 79:
7996                                {
7997                                alt97=1;
7998                                }
7999                                break;
8000                            case FORCED_LINEBREAK:
8001                                {
8002                                alt97=1;
8003                                }
8004                                break;
8005                            case ESCAPE:
8006                                {
8007                                alt97=1;
8008                                }
8009                                break;
8010                            case LINK_OPEN:
8011                                {
8012                                alt97=1;
8013                                }
8014                                break;
8015                            case IMAGE_OPEN:
8016                                {
8017                                alt97=1;
8018                                }
8019                                break;
8020                            case EXTENSION:
8021                                {
8022                                alt97=1;
8023                                }
8024                                break;
8025                            case NOWIKI_OPEN:
8026                                {
8027                                alt97=1;
8028                                }
8029                                break;
8030    
8031                            }
8032    
8033                            switch (alt97) {
8034                            case 1 :
8035                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:482:15: tb= table_boldcontentpart onestar
8036                                {
8037                                pushFollow(FOLLOW_table_boldcontentpart_in_table_boldcontent2634);
8038                                tb=table_boldcontentpart();
8039                                _fsp--;
8040                                if (failed) return items;
8041                                if ( backtracking==0 ) {
8042                                   items.add(tb); 
8043                                }
8044                                pushFollow(FOLLOW_onestar_in_table_boldcontent2639);
8045                                onestar();
8046                                _fsp--;
8047                                if (failed) return items;
8048    
8049                                }
8050                                break;
8051    
8052                            default :
8053                                if ( cnt97 >= 1 ) break loop97;
8054                                if (backtracking>0) {failed=true; return items;}
8055                                    EarlyExitException eee =
8056                                        new EarlyExitException(97, input);
8057                                    throw eee;
8058                            }
8059                            cnt97++;
8060                        } while (true);
8061    
8062    
8063                        }
8064                        break;
8065                    case 2 :
8066                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:483:4: EOF
8067                        {
8068                        match(input,EOF,FOLLOW_EOF_in_table_boldcontent2647); if (failed) return items;
8069    
8070                        }
8071                        break;
8072    
8073                }
8074            }
8075            catch (RecognitionException re) {
8076                reportError(re);
8077                recover(input,re);
8078            }
8079            finally {
8080            }
8081            return items;
8082        }
8083        // $ANTLR end table_boldcontent
8084    
8085    
8086        // $ANTLR start table_italcontent
8087        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:485:1: table_italcontent returns [CollectionNode items = new CollectionNode()] : ( onestar (ti= table_italcontentpart onestar )+ | EOF );
8088        public final CollectionNode table_italcontent() throws RecognitionException {
8089            CollectionNode items =  new CollectionNode();
8090    
8091            ASTNode ti = null;
8092    
8093    
8094            try {
8095                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:486:2: ( onestar (ti= table_italcontentpart onestar )+ | EOF )
8096                int alt100=2;
8097                int LA100_0 = input.LA(1);
8098    
8099                if ( ((LA100_0>=FORCED_END_OF_LINE && LA100_0<=WIKI)||(LA100_0>=POUND && LA100_0<=EQUAL)||(LA100_0>=LINK_OPEN && LA100_0<=79)) ) {
8100                    alt100=1;
8101                }
8102                else if ( (LA100_0==EOF) ) {
8103                    alt100=2;
8104                }
8105                else {
8106                    if (backtracking>0) {failed=true; return items;}
8107                    NoViableAltException nvae =
8108                        new NoViableAltException("485:1: table_italcontent returns [CollectionNode items = new CollectionNode()] : ( onestar (ti= table_italcontentpart onestar )+ | EOF );", 100, 0, input);
8109    
8110                    throw nvae;
8111                }
8112                switch (alt100) {
8113                    case 1 :
8114                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:486:4: onestar (ti= table_italcontentpart onestar )+
8115                        {
8116                        pushFollow(FOLLOW_onestar_in_table_italcontent2661);
8117                        onestar();
8118                        _fsp--;
8119                        if (failed) return items;
8120                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:486:13: (ti= table_italcontentpart onestar )+
8121                        int cnt99=0;
8122                        loop99:
8123                        do {
8124                            int alt99=2;
8125                            switch ( input.LA(1) ) {
8126                            case STAR:
8127                                {
8128                                alt99=1;
8129                                }
8130                                break;
8131                            case FORCED_END_OF_LINE:
8132                            case HEADING_SECTION:
8133                            case HORIZONTAL_SECTION:
8134                            case LIST_ITEM:
8135                            case LIST_ITEM_PART:
8136                            case NOWIKI_SECTION:
8137                            case SCAPE_NODE:
8138                            case TEXT_NODE:
8139                            case UNORDERED_LIST:
8140                            case UNFORMATTED_TEXT:
8141                            case WIKI:
8142                            case POUND:
8143                            case EQUAL:
8144                            case NOWIKI_BLOCK_CLOSE:
8145                            case NOWIKI_CLOSE:
8146                            case LINK_CLOSE:
8147                            case IMAGE_CLOSE:
8148                            case BLANKS:
8149                            case TABLE_OF_CONTENTS_TEXT:
8150                            case DASH:
8151                            case CR:
8152                            case LF:
8153                            case SPACE:
8154                            case TABULATOR:
8155                            case BRACE_CLOSE:
8156                            case COLON_SLASH:
8157                            case SLASH:
8158                            case TABLE_OF_CONTENTS_OPEN_MARKUP:
8159                            case TABLE_OF_CONTENTS_CLOSE_MARKUP:
8160                            case INSIGNIFICANT_CHAR:
8161                            case 44:
8162                            case 45:
8163                            case 46:
8164                            case 47:
8165                            case 48:
8166                            case 49:
8167                            case 50:
8168                            case 51:
8169                            case 52:
8170                            case 53:
8171                            case 54:
8172                            case 55:
8173                            case 56:
8174                            case 57:
8175                            case 58:
8176                            case 59:
8177                            case 60:
8178                            case 61:
8179                            case 62:
8180                            case 63:
8181                            case 64:
8182                            case 65:
8183                            case 66:
8184                            case 67:
8185                            case 68:
8186                            case 69:
8187                            case 70:
8188                            case 71:
8189                            case 72:
8190                            case 73:
8191                            case 74:
8192                            case 75:
8193                            case 76:
8194                            case 77:
8195                            case 78:
8196                            case 79:
8197                                {
8198                                alt99=1;
8199                                }
8200                                break;
8201                            case FORCED_LINEBREAK:
8202                                {
8203                                alt99=1;
8204                                }
8205                                break;
8206                            case ESCAPE:
8207                                {
8208                                alt99=1;
8209                                }
8210                                break;
8211                            case LINK_OPEN:
8212                                {
8213                                alt99=1;
8214                                }
8215                                break;
8216                            case IMAGE_OPEN:
8217                                {
8218                                alt99=1;
8219                                }
8220                                break;
8221                            case EXTENSION:
8222                                {
8223                                alt99=1;
8224                                }
8225                                break;
8226                            case NOWIKI_OPEN:
8227                                {
8228                                alt99=1;
8229                                }
8230                                break;
8231    
8232                            }
8233    
8234                            switch (alt99) {
8235                            case 1 :
8236                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:486:15: ti= table_italcontentpart onestar
8237                                {
8238                                pushFollow(FOLLOW_table_italcontentpart_in_table_italcontent2670);
8239                                ti=table_italcontentpart();
8240                                _fsp--;
8241                                if (failed) return items;
8242                                if ( backtracking==0 ) {
8243                                   items.add(ti); 
8244                                }
8245                                pushFollow(FOLLOW_onestar_in_table_italcontent2675);
8246                                onestar();
8247                                _fsp--;
8248                                if (failed) return items;
8249    
8250                                }
8251                                break;
8252    
8253                            default :
8254                                if ( cnt99 >= 1 ) break loop99;
8255                                if (backtracking>0) {failed=true; return items;}
8256                                    EarlyExitException eee =
8257                                        new EarlyExitException(99, input);
8258                                    throw eee;
8259                            }
8260                            cnt99++;
8261                        } while (true);
8262    
8263    
8264                        }
8265                        break;
8266                    case 2 :
8267                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:487:4: EOF
8268                        {
8269                        match(input,EOF,FOLLOW_EOF_in_table_italcontent2683); if (failed) return items;
8270    
8271                        }
8272                        break;
8273    
8274                }
8275            }
8276            catch (RecognitionException re) {
8277                reportError(re);
8278                recover(input,re);
8279            }
8280            finally {
8281            }
8282            return items;
8283        }
8284        // $ANTLR end table_italcontent
8285    
8286    
8287        // $ANTLR start table_boldcontentpart
8288        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:489:1: table_boldcontentpart returns [ASTNode node = null] : (tf= table_formattedcontent | ital_markup tb= table_bolditalcontent ( ital_markup )? );
8289        public final ASTNode table_boldcontentpart() throws RecognitionException {
8290            ASTNode node =  null;
8291    
8292            CollectionNode tf = null;
8293    
8294            CollectionNode tb = null;
8295    
8296    
8297            try {
8298                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:490:2: (tf= table_formattedcontent | ital_markup tb= table_bolditalcontent ( ital_markup )? )
8299                int alt102=2;
8300                int LA102_0 = input.LA(1);
8301    
8302                if ( ((LA102_0>=FORCED_END_OF_LINE && LA102_0<=WIKI)||LA102_0==POUND||LA102_0==EQUAL||(LA102_0>=LINK_OPEN && LA102_0<=79)) ) {
8303                    alt102=1;
8304                }
8305                else if ( (LA102_0==ITAL) ) {
8306                    alt102=2;
8307                }
8308                else {
8309                    if (backtracking>0) {failed=true; return node;}
8310                    NoViableAltException nvae =
8311                        new NoViableAltException("489:1: table_boldcontentpart returns [ASTNode node = null] : (tf= table_formattedcontent | ital_markup tb= table_bolditalcontent ( ital_markup )? );", 102, 0, input);
8312    
8313                    throw nvae;
8314                }
8315                switch (alt102) {
8316                    case 1 :
8317                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:490:4: tf= table_formattedcontent
8318                        {
8319                        pushFollow(FOLLOW_table_formattedcontent_in_table_boldcontentpart2701);
8320                        tf=table_formattedcontent();
8321                        _fsp--;
8322                        if (failed) return node;
8323                        if ( backtracking==0 ) {
8324                          node = tf; 
8325                        }
8326    
8327                        }
8328                        break;
8329                    case 2 :
8330                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:491:4: ital_markup tb= table_bolditalcontent ( ital_markup )?
8331                        {
8332                        pushFollow(FOLLOW_ital_markup_in_table_boldcontentpart2708);
8333                        ital_markup();
8334                        _fsp--;
8335                        if (failed) return node;
8336                        pushFollow(FOLLOW_table_bolditalcontent_in_table_boldcontentpart2715);
8337                        tb=table_bolditalcontent();
8338                        _fsp--;
8339                        if (failed) return node;
8340                        if ( backtracking==0 ) {
8341                           node = new ItalicTextNode(tb);  
8342                        }
8343                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:491:92: ( ital_markup )?
8344                        int alt101=2;
8345                        int LA101_0 = input.LA(1);
8346    
8347                        if ( (LA101_0==ITAL) ) {
8348                            alt101=1;
8349                        }
8350                        switch (alt101) {
8351                            case 1 :
8352                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:491:94: ital_markup
8353                                {
8354                                pushFollow(FOLLOW_ital_markup_in_table_boldcontentpart2722);
8355                                ital_markup();
8356                                _fsp--;
8357                                if (failed) return node;
8358    
8359                                }
8360                                break;
8361    
8362                        }
8363    
8364    
8365                        }
8366                        break;
8367    
8368                }
8369            }
8370            catch (RecognitionException re) {
8371                reportError(re);
8372                recover(input,re);
8373            }
8374            finally {
8375            }
8376            return node;
8377        }
8378        // $ANTLR end table_boldcontentpart
8379    
8380    
8381        // $ANTLR start table_italcontentpart
8382        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:493:1: table_italcontentpart returns [ASTNode node = null] : ( bold_markup tb= table_bolditalcontent ( bold_markup )? | tf= table_formattedcontent );
8383        public final ASTNode table_italcontentpart() throws RecognitionException {
8384            ASTNode node =  null;
8385    
8386            CollectionNode tb = null;
8387    
8388            CollectionNode tf = null;
8389    
8390    
8391            try {
8392                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:494:2: ( bold_markup tb= table_bolditalcontent ( bold_markup )? | tf= table_formattedcontent )
8393                int alt104=2;
8394                int LA104_0 = input.LA(1);
8395    
8396                if ( (LA104_0==STAR) ) {
8397                    alt104=1;
8398                }
8399                else if ( ((LA104_0>=FORCED_END_OF_LINE && LA104_0<=WIKI)||LA104_0==POUND||LA104_0==EQUAL||(LA104_0>=LINK_OPEN && LA104_0<=79)) ) {
8400                    alt104=2;
8401                }
8402                else {
8403                    if (backtracking>0) {failed=true; return node;}
8404                    NoViableAltException nvae =
8405                        new NoViableAltException("493:1: table_italcontentpart returns [ASTNode node = null] : ( bold_markup tb= table_bolditalcontent ( bold_markup )? | tf= table_formattedcontent );", 104, 0, input);
8406    
8407                    throw nvae;
8408                }
8409                switch (alt104) {
8410                    case 1 :
8411                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:494:4: bold_markup tb= table_bolditalcontent ( bold_markup )?
8412                        {
8413                        pushFollow(FOLLOW_bold_markup_in_table_italcontentpart2739);
8414                        bold_markup();
8415                        _fsp--;
8416                        if (failed) return node;
8417                        pushFollow(FOLLOW_table_bolditalcontent_in_table_italcontentpart2746);
8418                        tb=table_bolditalcontent();
8419                        _fsp--;
8420                        if (failed) return node;
8421                        if ( backtracking==0 ) {
8422                          node = new BoldTextNode(tb); 
8423                        }
8424                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:494:88: ( bold_markup )?
8425                        int alt103=2;
8426                        int LA103_0 = input.LA(1);
8427    
8428                        if ( (LA103_0==STAR) ) {
8429                            int LA103_1 = input.LA(2);
8430    
8431                            if ( (LA103_1==STAR) ) {
8432                                alt103=1;
8433                            }
8434                        }
8435                        switch (alt103) {
8436                            case 1 :
8437                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:494:90: bold_markup
8438                                {
8439                                pushFollow(FOLLOW_bold_markup_in_table_italcontentpart2753);
8440                                bold_markup();
8441                                _fsp--;
8442                                if (failed) return node;
8443    
8444                                }
8445                                break;
8446    
8447                        }
8448    
8449    
8450                        }
8451                        break;
8452                    case 2 :
8453                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:495:4: tf= table_formattedcontent
8454                        {
8455                        pushFollow(FOLLOW_table_formattedcontent_in_table_italcontentpart2765);
8456                        tf=table_formattedcontent();
8457                        _fsp--;
8458                        if (failed) return node;
8459                        if ( backtracking==0 ) {
8460                           node = tf; 
8461                        }
8462    
8463                        }
8464                        break;
8465    
8466                }
8467            }
8468            catch (RecognitionException re) {
8469                reportError(re);
8470                recover(input,re);
8471            }
8472            finally {
8473            }
8474            return node;
8475        }
8476        // $ANTLR end table_italcontentpart
8477    
8478    
8479        // $ANTLR start table_bolditalcontent
8480        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:497:1: table_bolditalcontent returns [CollectionNode elements = null] : ( onestar (tfc= table_formattedcontent onestar )? | EOF );
8481        public final CollectionNode table_bolditalcontent() throws RecognitionException {
8482            CollectionNode elements =  null;
8483    
8484            CollectionNode tfc = null;
8485    
8486    
8487            try {
8488                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:498:2: ( onestar (tfc= table_formattedcontent onestar )? | EOF )
8489                int alt106=2;
8490                int LA106_0 = input.LA(1);
8491    
8492                if ( ((LA106_0>=FORCED_END_OF_LINE && LA106_0<=EQUAL)||(LA106_0>=ITAL && LA106_0<=79)) ) {
8493                    alt106=1;
8494                }
8495                else if ( (LA106_0==EOF||LA106_0==PIPE) ) {
8496                    alt106=1;
8497                }
8498                else {
8499                    if (backtracking>0) {failed=true; return elements;}
8500                    NoViableAltException nvae =
8501                        new NoViableAltException("497:1: table_bolditalcontent returns [CollectionNode elements = null] : ( onestar (tfc= table_formattedcontent onestar )? | EOF );", 106, 0, input);
8502    
8503                    throw nvae;
8504                }
8505                switch (alt106) {
8506                    case 1 :
8507                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:498:4: onestar (tfc= table_formattedcontent onestar )?
8508                        {
8509                        pushFollow(FOLLOW_onestar_in_table_bolditalcontent2781);
8510                        onestar();
8511                        _fsp--;
8512                        if (failed) return elements;
8513                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:498:13: (tfc= table_formattedcontent onestar )?
8514                        int alt105=2;
8515                        switch ( input.LA(1) ) {
8516                            case FORCED_END_OF_LINE:
8517                            case HEADING_SECTION:
8518                            case HORIZONTAL_SECTION:
8519                            case LIST_ITEM:
8520                            case LIST_ITEM_PART:
8521                            case NOWIKI_SECTION:
8522                            case SCAPE_NODE:
8523                            case TEXT_NODE:
8524                            case UNORDERED_LIST:
8525                            case UNFORMATTED_TEXT:
8526                            case WIKI:
8527                            case POUND:
8528                            case EQUAL:
8529                            case NOWIKI_BLOCK_CLOSE:
8530                            case NOWIKI_CLOSE:
8531                            case LINK_CLOSE:
8532                            case IMAGE_CLOSE:
8533                            case BLANKS:
8534                            case TABLE_OF_CONTENTS_TEXT:
8535                            case DASH:
8536                            case CR:
8537                            case LF:
8538                            case SPACE:
8539                            case TABULATOR:
8540                            case BRACE_CLOSE:
8541                            case COLON_SLASH:
8542                            case SLASH:
8543                            case TABLE_OF_CONTENTS_OPEN_MARKUP:
8544                            case TABLE_OF_CONTENTS_CLOSE_MARKUP:
8545                            case INSIGNIFICANT_CHAR:
8546                            case 44:
8547                            case 45:
8548                            case 46:
8549                            case 47:
8550                            case 48:
8551                            case 49:
8552                            case 50:
8553                            case 51:
8554                            case 52:
8555                            case 53:
8556                            case 54:
8557                            case 55:
8558                            case 56:
8559                            case 57:
8560                            case 58:
8561                            case 59:
8562                            case 60:
8563                            case 61:
8564                            case 62:
8565                            case 63:
8566                            case 64:
8567                            case 65:
8568                            case 66:
8569                            case 67:
8570                            case 68:
8571                            case 69:
8572                            case 70:
8573                            case 71:
8574                            case 72:
8575                            case 73:
8576                            case 74:
8577                            case 75:
8578                            case 76:
8579                            case 77:
8580                            case 78:
8581                            case 79:
8582                                {
8583                                alt105=1;
8584                                }
8585                                break;
8586                            case FORCED_LINEBREAK:
8587                                {
8588                                alt105=1;
8589                                }
8590                                break;
8591                            case ESCAPE:
8592                                {
8593                                alt105=1;
8594                                }
8595                                break;
8596                            case LINK_OPEN:
8597                                {
8598                                alt105=1;
8599                                }
8600                                break;
8601                            case IMAGE_OPEN:
8602                                {
8603                                alt105=1;
8604                                }
8605                                break;
8606                            case EXTENSION:
8607                                {
8608                                alt105=1;
8609                                }
8610                                break;
8611                            case NOWIKI_OPEN:
8612                                {
8613                                alt105=1;
8614                                }
8615                                break;
8616                        }
8617    
8618                        switch (alt105) {
8619                            case 1 :
8620                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:498:15: tfc= table_formattedcontent onestar
8621                                {
8622                                pushFollow(FOLLOW_table_formattedcontent_in_table_bolditalcontent2790);
8623                                tfc=table_formattedcontent();
8624                                _fsp--;
8625                                if (failed) return elements;
8626                                if ( backtracking==0 ) {
8627                                   elements = tfc; 
8628                                }
8629                                pushFollow(FOLLOW_onestar_in_table_bolditalcontent2795);
8630                                onestar();
8631                                _fsp--;
8632                                if (failed) return elements;
8633    
8634                                }
8635                                break;
8636    
8637                        }
8638    
8639    
8640                        }
8641                        break;
8642                    case 2 :
8643                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:499:4: EOF
8644                        {
8645                        match(input,EOF,FOLLOW_EOF_in_table_bolditalcontent2803); if (failed) return elements;
8646    
8647                        }
8648                        break;
8649    
8650                }
8651            }
8652            catch (RecognitionException re) {
8653                reportError(re);
8654                recover(input,re);
8655            }
8656            finally {
8657            }
8658            return elements;
8659        }
8660        // $ANTLR end table_bolditalcontent
8661    
8662    
8663        // $ANTLR start table_formattedcontent
8664        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:501:1: table_formattedcontent returns [CollectionNode elements = new CollectionNode()] : (tu= table_unformattedelement )+ ;
8665        public final CollectionNode table_formattedcontent() throws RecognitionException {
8666            CollectionNode elements =  new CollectionNode();
8667    
8668            ASTNode tu = null;
8669    
8670    
8671            try {
8672                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:502:2: ( (tu= table_unformattedelement )+ )
8673                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:502:4: (tu= table_unformattedelement )+
8674                {
8675                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:502:4: (tu= table_unformattedelement )+
8676                int cnt107=0;
8677                loop107:
8678                do {
8679                    int alt107=2;
8680                    switch ( input.LA(1) ) {
8681                    case FORCED_END_OF_LINE:
8682                    case HEADING_SECTION:
8683                    case HORIZONTAL_SECTION:
8684                    case LIST_ITEM:
8685                    case LIST_ITEM_PART:
8686                    case NOWIKI_SECTION:
8687                    case SCAPE_NODE:
8688                    case TEXT_NODE:
8689                    case UNORDERED_LIST:
8690                    case UNFORMATTED_TEXT:
8691                    case WIKI:
8692                    case POUND:
8693                    case EQUAL:
8694                    case NOWIKI_BLOCK_CLOSE:
8695                    case NOWIKI_CLOSE:
8696                    case LINK_CLOSE:
8697                    case IMAGE_CLOSE:
8698                    case BLANKS:
8699                    case TABLE_OF_CONTENTS_TEXT:
8700                    case DASH:
8701                    case CR:
8702                    case LF:
8703                    case SPACE:
8704                    case TABULATOR:
8705                    case BRACE_CLOSE:
8706                    case COLON_SLASH:
8707                    case SLASH:
8708                    case TABLE_OF_CONTENTS_OPEN_MARKUP:
8709                    case TABLE_OF_CONTENTS_CLOSE_MARKUP:
8710                    case INSIGNIFICANT_CHAR:
8711                    case 44:
8712                    case 45:
8713                    case 46:
8714                    case 47:
8715                    case 48:
8716                    case 49:
8717                    case 50:
8718                    case 51:
8719                    case 52:
8720                    case 53:
8721                    case 54:
8722                    case 55:
8723                    case 56:
8724                    case 57:
8725                    case 58:
8726                    case 59:
8727                    case 60:
8728                    case 61:
8729                    case 62:
8730                    case 63:
8731                    case 64:
8732                    case 65:
8733                    case 66:
8734                    case 67:
8735                    case 68:
8736                    case 69:
8737                    case 70:
8738                    case 71:
8739                    case 72:
8740                    case 73:
8741                    case 74:
8742                    case 75:
8743                    case 76:
8744                    case 77:
8745                    case 78:
8746                    case 79:
8747                        {
8748                        alt107=1;
8749                        }
8750                        break;
8751                    case FORCED_LINEBREAK:
8752                        {
8753                        alt107=1;
8754                        }
8755                        break;
8756                    case ESCAPE:
8757                        {
8758                        alt107=1;
8759                        }
8760                        break;
8761                    case LINK_OPEN:
8762                        {
8763                        alt107=1;
8764                        }
8765                        break;
8766                    case IMAGE_OPEN:
8767                        {
8768                        alt107=1;
8769                        }
8770                        break;
8771                    case EXTENSION:
8772                        {
8773                        alt107=1;
8774                        }
8775                        break;
8776                    case NOWIKI_OPEN:
8777                        {
8778                        alt107=1;
8779                        }
8780                        break;
8781    
8782                    }
8783    
8784                    switch (alt107) {
8785                    case 1 :
8786                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:502:6: tu= table_unformattedelement
8787                        {
8788                        pushFollow(FOLLOW_table_unformattedelement_in_table_formattedcontent2823);
8789                        tu=table_unformattedelement();
8790                        _fsp--;
8791                        if (failed) return elements;
8792                        if ( backtracking==0 ) {
8793                           elements.add(tu); 
8794                        }
8795    
8796                        }
8797                        break;
8798    
8799                    default :
8800                        if ( cnt107 >= 1 ) break loop107;
8801                        if (backtracking>0) {failed=true; return elements;}
8802                            EarlyExitException eee =
8803                                new EarlyExitException(107, input);
8804                            throw eee;
8805                    }
8806                    cnt107++;
8807                } while (true);
8808    
8809    
8810                }
8811    
8812            }
8813            catch (RecognitionException re) {
8814                reportError(re);
8815                recover(input,re);
8816            }
8817            finally {
8818            }
8819            return elements;
8820        }
8821        // $ANTLR end table_formattedcontent
8822    
8823    
8824        // $ANTLR start table_unformattedelement
8825        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:504:1: table_unformattedelement returns [ASTNode content = null] : (tu= table_unformatted | ti= table_inlineelement );
8826        public final ASTNode table_unformattedelement() throws RecognitionException {
8827            ASTNode content =  null;
8828    
8829            CollectionNode tu = null;
8830    
8831            ASTNode ti = null;
8832    
8833    
8834            try {
8835                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:505:2: (tu= table_unformatted | ti= table_inlineelement )
8836                int alt108=2;
8837                int LA108_0 = input.LA(1);
8838    
8839                if ( ((LA108_0>=FORCED_END_OF_LINE && LA108_0<=WIKI)||LA108_0==POUND||LA108_0==EQUAL||(LA108_0>=FORCED_LINEBREAK && LA108_0<=79)) ) {
8840                    alt108=1;
8841                }
8842                else if ( ((LA108_0>=LINK_OPEN && LA108_0<=EXTENSION)) ) {
8843                    alt108=2;
8844                }
8845                else {
8846                    if (backtracking>0) {failed=true; return content;}
8847                    NoViableAltException nvae =
8848                        new NoViableAltException("504:1: table_unformattedelement returns [ASTNode content = null] : (tu= table_unformatted | ti= table_inlineelement );", 108, 0, input);
8849    
8850                    throw nvae;
8851                }
8852                switch (alt108) {
8853                    case 1 :
8854                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:505:4: tu= table_unformatted
8855                        {
8856                        pushFollow(FOLLOW_table_unformatted_in_table_unformattedelement2846);
8857                        tu=table_unformatted();
8858                        _fsp--;
8859                        if (failed) return content;
8860                        if ( backtracking==0 ) {
8861                          content = new UnformattedTextNode(tu);
8862                        }
8863    
8864                        }
8865                        break;
8866                    case 2 :
8867                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:506:4: ti= table_inlineelement
8868                        {
8869                        pushFollow(FOLLOW_table_inlineelement_in_table_unformattedelement2858);
8870                        ti=table_inlineelement();
8871                        _fsp--;
8872                        if (failed) return content;
8873                        if ( backtracking==0 ) {
8874                          content = ti;
8875                        }
8876    
8877                        }
8878                        break;
8879    
8880                }
8881            }
8882            catch (RecognitionException re) {
8883                reportError(re);
8884                recover(input,re);
8885            }
8886            finally {
8887            }
8888            return content;
8889        }
8890        // $ANTLR end table_unformattedelement
8891    
8892    
8893        // $ANTLR start table_inlineelement
8894        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:508:1: table_inlineelement returns [ASTNode element = null] : (l= link | i= image | e= extension | nw= nowiki_inline );
8895        public final ASTNode table_inlineelement() throws RecognitionException {
8896            ASTNode element =  null;
8897    
8898            LinkNode l = null;
8899    
8900            ImageNode i = null;
8901    
8902            ASTNode e = null;
8903    
8904            NoWikiSectionNode nw = null;
8905    
8906    
8907            try {
8908                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:509:2: (l= link | i= image | e= extension | nw= nowiki_inline )
8909                int alt109=4;
8910                switch ( input.LA(1) ) {
8911                case LINK_OPEN:
8912                    {
8913                    alt109=1;
8914                    }
8915                    break;
8916                case IMAGE_OPEN:
8917                    {
8918                    alt109=2;
8919                    }
8920                    break;
8921                case EXTENSION:
8922                    {
8923                    alt109=3;
8924                    }
8925                    break;
8926                case NOWIKI_OPEN:
8927                    {
8928                    alt109=4;
8929                    }
8930                    break;
8931                default:
8932                    if (backtracking>0) {failed=true; return element;}
8933                    NoViableAltException nvae =
8934                        new NoViableAltException("508:1: table_inlineelement returns [ASTNode element = null] : (l= link | i= image | e= extension | nw= nowiki_inline );", 109, 0, input);
8935    
8936                    throw nvae;
8937                }
8938    
8939                switch (alt109) {
8940                    case 1 :
8941                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:509:4: l= link
8942                        {
8943                        pushFollow(FOLLOW_link_in_table_inlineelement2878);
8944                        l=link();
8945                        _fsp--;
8946                        if (failed) return element;
8947                        if ( backtracking==0 ) {
8948                          element = l; 
8949                        }
8950    
8951                        }
8952                        break;
8953                    case 2 :
8954                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:510:4: i= image
8955                        {
8956                        pushFollow(FOLLOW_image_in_table_inlineelement2888);
8957                        i=image();
8958                        _fsp--;
8959                        if (failed) return element;
8960                        if ( backtracking==0 ) {
8961                          element = i; 
8962                        }
8963    
8964                        }
8965                        break;
8966                    case 3 :
8967                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:511:4: e= extension
8968                        {
8969                        pushFollow(FOLLOW_extension_in_table_inlineelement2899);
8970                        e=extension();
8971                        _fsp--;
8972                        if (failed) return element;
8973                        if ( backtracking==0 ) {
8974                          element = e; 
8975                        }
8976    
8977                        }
8978                        break;
8979                    case 4 :
8980                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:512:4: nw= nowiki_inline
8981                        {
8982                        pushFollow(FOLLOW_nowiki_inline_in_table_inlineelement2909);
8983                        nw=nowiki_inline();
8984                        _fsp--;
8985                        if (failed) return element;
8986                        if ( backtracking==0 ) {
8987                          element = nw; 
8988                        }
8989    
8990                        }
8991                        break;
8992    
8993                }
8994            }
8995            catch (RecognitionException re) {
8996                reportError(re);
8997                recover(input,re);
8998            }
8999            finally {
9000            }
9001            return element;
9002        }
9003        // $ANTLR end table_inlineelement
9004    
9005    
9006        // $ANTLR start table_unformatted
9007        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:514:1: table_unformatted returns [CollectionNode text = new CollectionNode()] : (t= table_unformatted_text | ( forced_linebreak | e= escaped )+ );
9008        public final CollectionNode table_unformatted() throws RecognitionException {
9009            CollectionNode text =  new CollectionNode();
9010    
9011            StringBundler t = null;
9012    
9013            ScapedNode e = null;
9014    
9015    
9016            try {
9017                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:515:2: (t= table_unformatted_text | ( forced_linebreak | e= escaped )+ )
9018                int alt111=2;
9019                int LA111_0 = input.LA(1);
9020    
9021                if ( ((LA111_0>=FORCED_END_OF_LINE && LA111_0<=WIKI)||LA111_0==POUND||LA111_0==EQUAL||(LA111_0>=NOWIKI_BLOCK_CLOSE && LA111_0<=79)) ) {
9022                    alt111=1;
9023                }
9024                else if ( ((LA111_0>=FORCED_LINEBREAK && LA111_0<=ESCAPE)) ) {
9025                    alt111=2;
9026                }
9027                else {
9028                    if (backtracking>0) {failed=true; return text;}
9029                    NoViableAltException nvae =
9030                        new NoViableAltException("514:1: table_unformatted returns [CollectionNode text = new CollectionNode()] : (t= table_unformatted_text | ( forced_linebreak | e= escaped )+ );", 111, 0, input);
9031    
9032                    throw nvae;
9033                }
9034                switch (alt111) {
9035                    case 1 :
9036                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:515:5: t= table_unformatted_text
9037                        {
9038                        pushFollow(FOLLOW_table_unformatted_text_in_table_unformatted2930);
9039                        t=table_unformatted_text();
9040                        _fsp--;
9041                        if (failed) return text;
9042                        if ( backtracking==0 ) {
9043                           text.add(new UnformattedTextNode(t.toString()));
9044                        }
9045    
9046                        }
9047                        break;
9048                    case 2 :
9049                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:516:5: ( forced_linebreak | e= escaped )+
9050                        {
9051                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:516:5: ( forced_linebreak | e= escaped )+
9052                        int cnt110=0;
9053                        loop110:
9054                        do {
9055                            int alt110=3;
9056                            int LA110_0 = input.LA(1);
9057    
9058                            if ( (LA110_0==FORCED_LINEBREAK) ) {
9059                                alt110=1;
9060                            }
9061                            else if ( (LA110_0==ESCAPE) ) {
9062                                alt110=2;
9063                            }
9064    
9065    
9066                            switch (alt110) {
9067                            case 1 :
9068                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:516:6: forced_linebreak
9069                                {
9070                                pushFollow(FOLLOW_forced_linebreak_in_table_unformatted2939);
9071                                forced_linebreak();
9072                                _fsp--;
9073                                if (failed) return text;
9074                                if ( backtracking==0 ) {
9075                                  text.add(new ForcedEndOfLineNode());
9076                                }
9077    
9078                                }
9079                                break;
9080                            case 2 :
9081                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:517:5: e= escaped
9082                                {
9083                                pushFollow(FOLLOW_escaped_in_table_unformatted2951);
9084                                e=escaped();
9085                                _fsp--;
9086                                if (failed) return text;
9087                                if ( backtracking==0 ) {
9088                                  text.add(e);
9089                                }
9090    
9091                                }
9092                                break;
9093    
9094                            default :
9095                                if ( cnt110 >= 1 ) break loop110;
9096                                if (backtracking>0) {failed=true; return text;}
9097                                    EarlyExitException eee =
9098                                        new EarlyExitException(110, input);
9099                                    throw eee;
9100                            }
9101                            cnt110++;
9102                        } while (true);
9103    
9104    
9105                        }
9106                        break;
9107    
9108                }
9109            }
9110            catch (RecognitionException re) {
9111                reportError(re);
9112                recover(input,re);
9113            }
9114            finally {
9115            }
9116            return text;
9117        }
9118        // $ANTLR end table_unformatted
9119    
9120    
9121        // $ANTLR start table_unformatted_text
9122        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:520: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 ) )+ ;
9123        public final StringBundler table_unformatted_text() throws RecognitionException {
9124            StringBundler text =  new StringBundler();
9125    
9126            Token c=null;
9127    
9128            try {
9129                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:521:2: ( (c=~ ( PIPE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+ )
9130                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:521:4: (c=~ ( PIPE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+
9131                {
9132                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:521:4: (c=~ ( PIPE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+
9133                int cnt112=0;
9134                loop112:
9135                do {
9136                    int alt112=2;
9137                    int LA112_0 = input.LA(1);
9138    
9139                    if ( ((LA112_0>=FORCED_END_OF_LINE && LA112_0<=WIKI)||LA112_0==POUND||LA112_0==EQUAL||(LA112_0>=NOWIKI_BLOCK_CLOSE && LA112_0<=79)) ) {
9140                        alt112=1;
9141                    }
9142    
9143    
9144                    switch (alt112) {
9145                    case 1 :
9146                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:521:6: c=~ ( PIPE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF )
9147                        {
9148                        c=(Token)input.LT(1);
9149                        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)<=79) ) {
9150                            input.consume();
9151                            errorRecovery=false;failed=false;
9152                        }
9153                        else {
9154                            if (backtracking>0) {failed=true; return text;}
9155                            MismatchedSetException mse =
9156                                new MismatchedSetException(null,input);
9157                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_table_unformatted_text2977);    throw mse;
9158                        }
9159    
9160                        if ( backtracking==0 ) {
9161                          text.append(c.getText());
9162                        }
9163    
9164                        }
9165                        break;
9166    
9167                    default :
9168                        if ( cnt112 >= 1 ) break loop112;
9169                        if (backtracking>0) {failed=true; return text;}
9170                            EarlyExitException eee =
9171                                new EarlyExitException(112, input);
9172                            throw eee;
9173                    }
9174                    cnt112++;
9175                } while (true);
9176    
9177    
9178                }
9179    
9180            }
9181            catch (RecognitionException re) {
9182                reportError(re);
9183                recover(input,re);
9184            }
9185            finally {
9186            }
9187            return text;
9188        }
9189        // $ANTLR end table_unformatted_text
9190    
9191    
9192        // $ANTLR start nowiki_block
9193        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:535:1: nowiki_block returns [NoWikiSectionNode nowikiNode] : nowikiblock_open_markup contents= nowiki_block_contents nowikiblock_close_markup paragraph_separator ;
9194        public final NoWikiSectionNode nowiki_block() throws RecognitionException {
9195            NoWikiSectionNode nowikiNode = null;
9196    
9197            nowiki_block_contents_return contents = null;
9198    
9199    
9200            try {
9201                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:536:2: ( nowikiblock_open_markup contents= nowiki_block_contents nowikiblock_close_markup paragraph_separator )
9202                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:536:4: nowikiblock_open_markup contents= nowiki_block_contents nowikiblock_close_markup paragraph_separator
9203                {
9204                pushFollow(FOLLOW_nowikiblock_open_markup_in_nowiki_block3074);
9205                nowikiblock_open_markup();
9206                _fsp--;
9207                if (failed) return nowikiNode;
9208                pushFollow(FOLLOW_nowiki_block_contents_in_nowiki_block3081);
9209                contents=nowiki_block_contents();
9210                _fsp--;
9211                if (failed) return nowikiNode;
9212                if ( backtracking==0 ) {
9213                  nowikiNode = new NoWikiSectionNode(input.toString(contents.start,contents.stop).toString());
9214                }
9215                pushFollow(FOLLOW_nowikiblock_close_markup_in_nowiki_block3087);
9216                nowikiblock_close_markup();
9217                _fsp--;
9218                if (failed) return nowikiNode;
9219                pushFollow(FOLLOW_paragraph_separator_in_nowiki_block3090);
9220                paragraph_separator();
9221                _fsp--;
9222                if (failed) return nowikiNode;
9223    
9224                }
9225    
9226            }
9227            catch (RecognitionException re) {
9228                reportError(re);
9229                recover(input,re);
9230            }
9231            finally {
9232            }
9233            return nowikiNode;
9234        }
9235        // $ANTLR end nowiki_block
9236    
9237    
9238        // $ANTLR start nowikiblock_open_markup
9239        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:540:1: nowikiblock_open_markup : nowiki_open_markup newline ;
9240        public final void nowikiblock_open_markup() throws RecognitionException {
9241            try {
9242                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:541:2: ( nowiki_open_markup newline )
9243                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:541:4: nowiki_open_markup newline
9244                {
9245                pushFollow(FOLLOW_nowiki_open_markup_in_nowikiblock_open_markup3101);
9246                nowiki_open_markup();
9247                _fsp--;
9248                if (failed) return ;
9249                pushFollow(FOLLOW_newline_in_nowikiblock_open_markup3104);
9250                newline();
9251                _fsp--;
9252                if (failed) return ;
9253    
9254                }
9255    
9256            }
9257            catch (RecognitionException re) {
9258                reportError(re);
9259                recover(input,re);
9260            }
9261            finally {
9262            }
9263            return ;
9264        }
9265        // $ANTLR end nowikiblock_open_markup
9266    
9267    
9268        // $ANTLR start nowikiblock_close_markup
9269        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:544:1: nowikiblock_close_markup : NOWIKI_BLOCK_CLOSE ;
9270        public final void nowikiblock_close_markup() throws RecognitionException {
9271            try {
9272                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:545:2: ( NOWIKI_BLOCK_CLOSE )
9273                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:545:4: NOWIKI_BLOCK_CLOSE
9274                {
9275                match(input,NOWIKI_BLOCK_CLOSE,FOLLOW_NOWIKI_BLOCK_CLOSE_in_nowikiblock_close_markup3115); if (failed) return ;
9276    
9277                }
9278    
9279            }
9280            catch (RecognitionException re) {
9281                reportError(re);
9282                recover(input,re);
9283            }
9284            finally {
9285            }
9286            return ;
9287        }
9288        // $ANTLR end nowikiblock_close_markup
9289    
9290    
9291        // $ANTLR start nowiki_inline
9292        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:548:1: nowiki_inline returns [NoWikiSectionNode nowiki = null] : nowiki_open_markup t= nowiki_inline_contents nowiki_close_markup ;
9293        public final NoWikiSectionNode nowiki_inline() throws RecognitionException {
9294            NoWikiSectionNode nowiki =  null;
9295    
9296            StringBundler t = null;
9297    
9298    
9299            try {
9300                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:549:2: ( nowiki_open_markup t= nowiki_inline_contents nowiki_close_markup )
9301                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:549:4: nowiki_open_markup t= nowiki_inline_contents nowiki_close_markup
9302                {
9303                pushFollow(FOLLOW_nowiki_open_markup_in_nowiki_inline3130);
9304                nowiki_open_markup();
9305                _fsp--;
9306                if (failed) return nowiki;
9307                pushFollow(FOLLOW_nowiki_inline_contents_in_nowiki_inline3137);
9308                t=nowiki_inline_contents();
9309                _fsp--;
9310                if (failed) return nowiki;
9311                pushFollow(FOLLOW_nowiki_close_markup_in_nowiki_inline3141);
9312                nowiki_close_markup();
9313                _fsp--;
9314                if (failed) return nowiki;
9315                if ( backtracking==0 ) {
9316                  nowiki = new NoWikiSectionNode(t.toString());
9317                }
9318    
9319                }
9320    
9321            }
9322            catch (RecognitionException re) {
9323                reportError(re);
9324                recover(input,re);
9325            }
9326            finally {
9327            }
9328            return nowiki;
9329        }
9330        // $ANTLR end nowiki_inline
9331    
9332        public static class nowiki_block_contents_return extends ParserRuleReturnScope {
9333            public StringBundler contents = new StringBundler();
9334        };
9335    
9336        // $ANTLR start nowiki_block_contents
9337        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:552:1: nowiki_block_contents returns [StringBundler contents = new StringBundler()] : (c=~ ( NOWIKI_BLOCK_CLOSE | EOF ) )* ;
9338        public final nowiki_block_contents_return nowiki_block_contents() throws RecognitionException {
9339            nowiki_block_contents_return retval = new nowiki_block_contents_return();
9340            retval.start = input.LT(1);
9341    
9342            Token c=null;
9343    
9344            try {
9345                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:553:2: ( (c=~ ( NOWIKI_BLOCK_CLOSE | EOF ) )* )
9346                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:553:3: (c=~ ( NOWIKI_BLOCK_CLOSE | EOF ) )*
9347                {
9348                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:553:3: (c=~ ( NOWIKI_BLOCK_CLOSE | EOF ) )*
9349                loop113:
9350                do {
9351                    int alt113=2;
9352                    int LA113_0 = input.LA(1);
9353    
9354                    if ( ((LA113_0>=FORCED_END_OF_LINE && LA113_0<=ESCAPE)||(LA113_0>=NOWIKI_CLOSE && LA113_0<=79)) ) {
9355                        alt113=1;
9356                    }
9357    
9358    
9359                    switch (alt113) {
9360                    case 1 :
9361                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:553:4: c=~ ( NOWIKI_BLOCK_CLOSE | EOF )
9362                        {
9363                        c=(Token)input.LT(1);
9364                        if ( (input.LA(1)>=FORCED_END_OF_LINE && input.LA(1)<=ESCAPE)||(input.LA(1)>=NOWIKI_CLOSE && input.LA(1)<=79) ) {
9365                            input.consume();
9366                            errorRecovery=false;failed=false;
9367                        }
9368                        else {
9369                            if (backtracking>0) {failed=true; return retval;}
9370                            MismatchedSetException mse =
9371                                new MismatchedSetException(null,input);
9372                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_nowiki_block_contents3159);    throw mse;
9373                        }
9374    
9375                        if ( backtracking==0 ) {
9376                          retval.contents.append(c.getText());
9377                        }
9378    
9379                        }
9380                        break;
9381    
9382                    default :
9383                        break loop113;
9384                    }
9385                } while (true);
9386    
9387    
9388                }
9389    
9390                retval.stop = input.LT(-1);
9391    
9392            }
9393            catch (RecognitionException re) {
9394                reportError(re);
9395                recover(input,re);
9396            }
9397            finally {
9398            }
9399            return retval;
9400        }
9401        // $ANTLR end nowiki_block_contents
9402    
9403    
9404        // $ANTLR start nowiki_inline_contents
9405        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:556:1: nowiki_inline_contents returns [StringBundler text = new StringBundler()] : (c=~ ( NOWIKI_CLOSE | NEWLINE | EOF ) )* ;
9406        public final StringBundler nowiki_inline_contents() throws RecognitionException {
9407            StringBundler text =  new StringBundler();
9408    
9409            Token c=null;
9410    
9411            try {
9412                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:557:2: ( (c=~ ( NOWIKI_CLOSE | NEWLINE | EOF ) )* )
9413                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:557:4: (c=~ ( NOWIKI_CLOSE | NEWLINE | EOF ) )*
9414                {
9415                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:557:4: (c=~ ( NOWIKI_CLOSE | NEWLINE | EOF ) )*
9416                loop114:
9417                do {
9418                    int alt114=2;
9419                    int LA114_0 = input.LA(1);
9420    
9421                    if ( ((LA114_0>=FORCED_END_OF_LINE && LA114_0<=WIKI)||(LA114_0>=POUND && LA114_0<=NOWIKI_BLOCK_CLOSE)||(LA114_0>=LINK_CLOSE && LA114_0<=79)) ) {
9422                        alt114=1;
9423                    }
9424    
9425    
9426                    switch (alt114) {
9427                    case 1 :
9428                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:557:5: c=~ ( NOWIKI_CLOSE | NEWLINE | EOF )
9429                        {
9430                        c=(Token)input.LT(1);
9431                        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)<=79) ) {
9432                            input.consume();
9433                            errorRecovery=false;failed=false;
9434                        }
9435                        else {
9436                            if (backtracking>0) {failed=true; return text;}
9437                            MismatchedSetException mse =
9438                                new MismatchedSetException(null,input);
9439                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_nowiki_inline_contents3192);    throw mse;
9440                        }
9441    
9442                        if ( backtracking==0 ) {
9443                           text.append(c.getText()); 
9444                        }
9445    
9446                        }
9447                        break;
9448    
9449                    default :
9450                        break loop114;
9451                    }
9452                } while (true);
9453    
9454    
9455                }
9456    
9457            }
9458            catch (RecognitionException re) {
9459                reportError(re);
9460                recover(input,re);
9461            }
9462            finally {
9463            }
9464            return text;
9465        }
9466        // $ANTLR end nowiki_inline_contents
9467    
9468    
9469        // $ANTLR start horizontalrule
9470        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:564:1: horizontalrule returns [ASTNode horizontal = null] : horizontalrule_markup ( blanks )? paragraph_separator ;
9471        public final ASTNode horizontalrule() throws RecognitionException {
9472            ASTNode horizontal =  null;
9473    
9474            try {
9475                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:565:2: ( horizontalrule_markup ( blanks )? paragraph_separator )
9476                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:565:4: horizontalrule_markup ( blanks )? paragraph_separator
9477                {
9478                pushFollow(FOLLOW_horizontalrule_markup_in_horizontalrule3228);
9479                horizontalrule_markup();
9480                _fsp--;
9481                if (failed) return horizontal;
9482                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:565:27: ( blanks )?
9483                int alt115=2;
9484                int LA115_0 = input.LA(1);
9485    
9486                if ( (LA115_0==BLANKS) ) {
9487                    alt115=1;
9488                }
9489                switch (alt115) {
9490                    case 1 :
9491                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:565:29: blanks
9492                        {
9493                        pushFollow(FOLLOW_blanks_in_horizontalrule3233);
9494                        blanks();
9495                        _fsp--;
9496                        if (failed) return horizontal;
9497    
9498                        }
9499                        break;
9500    
9501                }
9502    
9503                pushFollow(FOLLOW_paragraph_separator_in_horizontalrule3239);
9504                paragraph_separator();
9505                _fsp--;
9506                if (failed) return horizontal;
9507                if ( backtracking==0 ) {
9508                  horizontal = new HorizontalNode();
9509                }
9510    
9511                }
9512    
9513            }
9514            catch (RecognitionException re) {
9515                reportError(re);
9516                recover(input,re);
9517            }
9518            finally {
9519            }
9520            return horizontal;
9521        }
9522        // $ANTLR end horizontalrule
9523    
9524    
9525        // $ANTLR start link
9526        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:572:1: link returns [LinkNode link = null] : link_open_markup a= link_address ( link_description_markup d= link_description )? link_close_markup ;
9527        public final LinkNode link() throws RecognitionException {
9528            LinkNode link =  null;
9529    
9530            LinkNode a = null;
9531    
9532            CollectionNode d = null;
9533    
9534    
9535            try {
9536                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:573:2: ( link_open_markup a= link_address ( link_description_markup d= link_description )? link_close_markup )
9537                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:573:4: link_open_markup a= link_address ( link_description_markup d= link_description )? link_close_markup
9538                {
9539                pushFollow(FOLLOW_link_open_markup_in_link3260);
9540                link_open_markup();
9541                _fsp--;
9542                if (failed) return link;
9543                pushFollow(FOLLOW_link_address_in_link3266);
9544                a=link_address();
9545                _fsp--;
9546                if (failed) return link;
9547                if ( backtracking==0 ) {
9548                  link = a; 
9549                }
9550                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:573:59: ( link_description_markup d= link_description )?
9551                int alt116=2;
9552                int LA116_0 = input.LA(1);
9553    
9554                if ( (LA116_0==PIPE) ) {
9555                    alt116=1;
9556                }
9557                switch (alt116) {
9558                    case 1 :
9559                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:573:60: link_description_markup d= link_description
9560                        {
9561                        pushFollow(FOLLOW_link_description_markup_in_link3272);
9562                        link_description_markup();
9563                        _fsp--;
9564                        if (failed) return link;
9565                        pushFollow(FOLLOW_link_description_in_link3280);
9566                        d=link_description();
9567                        _fsp--;
9568                        if (failed) return link;
9569                        if ( backtracking==0 ) {
9570    
9571                                            if(link == null) { // recover from possible errors
9572                                                link = new LinkNode();
9573                                            }
9574                                            link.setAltCollectionNode(d);
9575    
9576                                            
9577                        }
9578    
9579                        }
9580                        break;
9581    
9582                }
9583    
9584                pushFollow(FOLLOW_link_close_markup_in_link3288);
9585                link_close_markup();
9586                _fsp--;
9587                if (failed) return link;
9588    
9589                }
9590    
9591            }
9592            catch (RecognitionException re) {
9593                reportError(re);
9594                recover(input,re);
9595            }
9596            finally {
9597            }
9598            return link;
9599        }
9600        // $ANTLR end link
9601    
9602    
9603        // $ANTLR start link_address
9604        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );
9605        public final LinkNode link_address() throws RecognitionException {
9606            LinkNode link = null;
9607    
9608            InterwikiLinkNode li = null;
9609    
9610            StringBundler p = null;
9611    
9612            StringBundler lu = null;
9613    
9614    
9615            try {
9616                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:584:2: (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri )
9617                int alt117=2;
9618                switch ( input.LA(1) ) {
9619                case 45:
9620                    {
9621                    int LA117_1 = input.LA(2);
9622    
9623                    if ( (LA117_1==46) ) {
9624                        int LA117_16 = input.LA(3);
9625    
9626                        if ( (LA117_16==44) ) {
9627                            int LA117_34 = input.LA(4);
9628    
9629                            if ( (LA117_34==PIPE||LA117_34==LINK_CLOSE) ) {
9630                                alt117=2;
9631                            }
9632                            else if ( ((LA117_34>=FORCED_END_OF_LINE && LA117_34<=WIKI)||(LA117_34>=POUND && LA117_34<=EQUAL)||(LA117_34>=ITAL && LA117_34<=NOWIKI_CLOSE)||(LA117_34>=IMAGE_CLOSE && LA117_34<=79)) ) {
9633                                alt117=1;
9634                            }
9635                            else {
9636                                if (backtracking>0) {failed=true; return link;}
9637                                NoViableAltException nvae =
9638                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 34, input);
9639    
9640                                throw nvae;
9641                            }
9642                        }
9643                        else if ( ((LA117_16>=FORCED_END_OF_LINE && LA117_16<=WIKI)||(LA117_16>=POUND && LA117_16<=INSIGNIFICANT_CHAR)||(LA117_16>=45 && LA117_16<=79)) ) {
9644                            alt117=2;
9645                        }
9646                        else {
9647                            if (backtracking>0) {failed=true; return link;}
9648                            NoViableAltException nvae =
9649                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 16, input);
9650    
9651                            throw nvae;
9652                        }
9653                    }
9654                    else if ( ((LA117_1>=FORCED_END_OF_LINE && LA117_1<=WIKI)||(LA117_1>=POUND && LA117_1<=45)||(LA117_1>=47 && LA117_1<=79)) ) {
9655                        alt117=2;
9656                    }
9657                    else {
9658                        if (backtracking>0) {failed=true; return link;}
9659                        NoViableAltException nvae =
9660                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 1, input);
9661    
9662                        throw nvae;
9663                    }
9664                    }
9665                    break;
9666                case 47:
9667                    {
9668                    int LA117_2 = input.LA(2);
9669    
9670                    if ( (LA117_2==48) ) {
9671                        int LA117_17 = input.LA(3);
9672    
9673                        if ( (LA117_17==49) ) {
9674                            int LA117_35 = input.LA(4);
9675    
9676                            if ( (LA117_35==50) ) {
9677                                int LA117_55 = input.LA(5);
9678    
9679                                if ( (LA117_55==51) ) {
9680                                    int LA117_74 = input.LA(6);
9681    
9682                                    if ( (LA117_74==52) ) {
9683                                        int LA117_93 = input.LA(7);
9684    
9685                                        if ( (LA117_93==49) ) {
9686                                            int LA117_109 = input.LA(8);
9687    
9688                                            if ( (LA117_109==52) ) {
9689                                                int LA117_120 = input.LA(9);
9690    
9691                                                if ( (LA117_120==44) ) {
9692                                                    int LA117_34 = input.LA(10);
9693    
9694                                                    if ( (LA117_34==PIPE||LA117_34==LINK_CLOSE) ) {
9695                                                        alt117=2;
9696                                                    }
9697                                                    else if ( ((LA117_34>=FORCED_END_OF_LINE && LA117_34<=WIKI)||(LA117_34>=POUND && LA117_34<=EQUAL)||(LA117_34>=ITAL && LA117_34<=NOWIKI_CLOSE)||(LA117_34>=IMAGE_CLOSE && LA117_34<=79)) ) {
9698                                                        alt117=1;
9699                                                    }
9700                                                    else {
9701                                                        if (backtracking>0) {failed=true; return link;}
9702                                                        NoViableAltException nvae =
9703                                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 34, input);
9704    
9705                                                        throw nvae;
9706                                                    }
9707                                                }
9708                                                else if ( ((LA117_120>=FORCED_END_OF_LINE && LA117_120<=WIKI)||(LA117_120>=POUND && LA117_120<=INSIGNIFICANT_CHAR)||(LA117_120>=45 && LA117_120<=79)) ) {
9709                                                    alt117=2;
9710                                                }
9711                                                else {
9712                                                    if (backtracking>0) {failed=true; return link;}
9713                                                    NoViableAltException nvae =
9714                                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 120, input);
9715    
9716                                                    throw nvae;
9717                                                }
9718                                            }
9719                                            else if ( ((LA117_109>=FORCED_END_OF_LINE && LA117_109<=WIKI)||(LA117_109>=POUND && LA117_109<=51)||(LA117_109>=53 && LA117_109<=79)) ) {
9720                                                alt117=2;
9721                                            }
9722                                            else {
9723                                                if (backtracking>0) {failed=true; return link;}
9724                                                NoViableAltException nvae =
9725                                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 109, input);
9726    
9727                                                throw nvae;
9728                                            }
9729                                        }
9730                                        else if ( ((LA117_93>=FORCED_END_OF_LINE && LA117_93<=WIKI)||(LA117_93>=POUND && LA117_93<=48)||(LA117_93>=50 && LA117_93<=79)) ) {
9731                                            alt117=2;
9732                                        }
9733                                        else {
9734                                            if (backtracking>0) {failed=true; return link;}
9735                                            NoViableAltException nvae =
9736                                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 93, input);
9737    
9738                                            throw nvae;
9739                                        }
9740                                    }
9741                                    else if ( ((LA117_74>=FORCED_END_OF_LINE && LA117_74<=WIKI)||(LA117_74>=POUND && LA117_74<=51)||(LA117_74>=53 && LA117_74<=79)) ) {
9742                                        alt117=2;
9743                                    }
9744                                    else {
9745                                        if (backtracking>0) {failed=true; return link;}
9746                                        NoViableAltException nvae =
9747                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 74, input);
9748    
9749                                        throw nvae;
9750                                    }
9751                                }
9752                                else if ( ((LA117_55>=FORCED_END_OF_LINE && LA117_55<=WIKI)||(LA117_55>=POUND && LA117_55<=50)||(LA117_55>=52 && LA117_55<=79)) ) {
9753                                    alt117=2;
9754                                }
9755                                else {
9756                                    if (backtracking>0) {failed=true; return link;}
9757                                    NoViableAltException nvae =
9758                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 55, input);
9759    
9760                                    throw nvae;
9761                                }
9762                            }
9763                            else if ( ((LA117_35>=FORCED_END_OF_LINE && LA117_35<=WIKI)||(LA117_35>=POUND && LA117_35<=49)||(LA117_35>=51 && LA117_35<=79)) ) {
9764                                alt117=2;
9765                            }
9766                            else {
9767                                if (backtracking>0) {failed=true; return link;}
9768                                NoViableAltException nvae =
9769                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 35, input);
9770    
9771                                throw nvae;
9772                            }
9773                        }
9774                        else if ( ((LA117_17>=FORCED_END_OF_LINE && LA117_17<=WIKI)||(LA117_17>=POUND && LA117_17<=48)||(LA117_17>=50 && LA117_17<=79)) ) {
9775                            alt117=2;
9776                        }
9777                        else {
9778                            if (backtracking>0) {failed=true; return link;}
9779                            NoViableAltException nvae =
9780                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 17, input);
9781    
9782                            throw nvae;
9783                        }
9784                    }
9785                    else if ( ((LA117_2>=FORCED_END_OF_LINE && LA117_2<=WIKI)||(LA117_2>=POUND && LA117_2<=47)||(LA117_2>=49 && LA117_2<=79)) ) {
9786                        alt117=2;
9787                    }
9788                    else {
9789                        if (backtracking>0) {failed=true; return link;}
9790                        NoViableAltException nvae =
9791                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 2, input);
9792    
9793                        throw nvae;
9794                    }
9795                    }
9796                    break;
9797                case 53:
9798                    {
9799                    int LA117_3 = input.LA(2);
9800    
9801                    if ( (LA117_3==54) ) {
9802                        int LA117_18 = input.LA(3);
9803    
9804                        if ( (LA117_18==52) ) {
9805                            int LA117_36 = input.LA(4);
9806    
9807                            if ( (LA117_36==55) ) {
9808                                int LA117_56 = input.LA(5);
9809    
9810                                if ( (LA117_56==49) ) {
9811                                    int LA117_75 = input.LA(6);
9812    
9813                                    if ( (LA117_75==56) ) {
9814                                        int LA117_94 = input.LA(7);
9815    
9816                                        if ( (LA117_94==44) ) {
9817                                            int LA117_34 = input.LA(8);
9818    
9819                                            if ( (LA117_34==PIPE||LA117_34==LINK_CLOSE) ) {
9820                                                alt117=2;
9821                                            }
9822                                            else if ( ((LA117_34>=FORCED_END_OF_LINE && LA117_34<=WIKI)||(LA117_34>=POUND && LA117_34<=EQUAL)||(LA117_34>=ITAL && LA117_34<=NOWIKI_CLOSE)||(LA117_34>=IMAGE_CLOSE && LA117_34<=79)) ) {
9823                                                alt117=1;
9824                                            }
9825                                            else {
9826                                                if (backtracking>0) {failed=true; return link;}
9827                                                NoViableAltException nvae =
9828                                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 34, input);
9829    
9830                                                throw nvae;
9831                                            }
9832                                        }
9833                                        else if ( ((LA117_94>=FORCED_END_OF_LINE && LA117_94<=WIKI)||(LA117_94>=POUND && LA117_94<=INSIGNIFICANT_CHAR)||(LA117_94>=45 && LA117_94<=79)) ) {
9834                                            alt117=2;
9835                                        }
9836                                        else {
9837                                            if (backtracking>0) {failed=true; return link;}
9838                                            NoViableAltException nvae =
9839                                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 94, input);
9840    
9841                                            throw nvae;
9842                                        }
9843                                    }
9844                                    else if ( ((LA117_75>=FORCED_END_OF_LINE && LA117_75<=WIKI)||(LA117_75>=POUND && LA117_75<=55)||(LA117_75>=57 && LA117_75<=79)) ) {
9845                                        alt117=2;
9846                                    }
9847                                    else {
9848                                        if (backtracking>0) {failed=true; return link;}
9849                                        NoViableAltException nvae =
9850                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 75, input);
9851    
9852                                        throw nvae;
9853                                    }
9854                                }
9855                                else if ( ((LA117_56>=FORCED_END_OF_LINE && LA117_56<=WIKI)||(LA117_56>=POUND && LA117_56<=48)||(LA117_56>=50 && LA117_56<=79)) ) {
9856                                    alt117=2;
9857                                }
9858                                else {
9859                                    if (backtracking>0) {failed=true; return link;}
9860                                    NoViableAltException nvae =
9861                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 56, input);
9862    
9863                                    throw nvae;
9864                                }
9865                            }
9866                            else if ( ((LA117_36>=FORCED_END_OF_LINE && LA117_36<=WIKI)||(LA117_36>=POUND && LA117_36<=54)||(LA117_36>=56 && LA117_36<=79)) ) {
9867                                alt117=2;
9868                            }
9869                            else {
9870                                if (backtracking>0) {failed=true; return link;}
9871                                NoViableAltException nvae =
9872                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 36, input);
9873    
9874                                throw nvae;
9875                            }
9876                        }
9877                        else if ( ((LA117_18>=FORCED_END_OF_LINE && LA117_18<=WIKI)||(LA117_18>=POUND && LA117_18<=51)||(LA117_18>=53 && LA117_18<=79)) ) {
9878                            alt117=2;
9879                        }
9880                        else {
9881                            if (backtracking>0) {failed=true; return link;}
9882                            NoViableAltException nvae =
9883                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 18, input);
9884    
9885                            throw nvae;
9886                        }
9887                    }
9888                    else if ( ((LA117_3>=FORCED_END_OF_LINE && LA117_3<=WIKI)||(LA117_3>=POUND && LA117_3<=53)||(LA117_3>=55 && LA117_3<=79)) ) {
9889                        alt117=2;
9890                    }
9891                    else {
9892                        if (backtracking>0) {failed=true; return link;}
9893                        NoViableAltException nvae =
9894                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 3, input);
9895    
9896                        throw nvae;
9897                    }
9898                    }
9899                    break;
9900                case 57:
9901                    {
9902                    int LA117_4 = input.LA(2);
9903    
9904                    if ( (LA117_4==48) ) {
9905                        int LA117_19 = input.LA(3);
9906    
9907                        if ( (LA117_19==48) ) {
9908                            int LA117_37 = input.LA(4);
9909    
9910                            if ( (LA117_37==58) ) {
9911                                int LA117_57 = input.LA(5);
9912    
9913                                if ( (LA117_57==54) ) {
9914                                    int LA117_76 = input.LA(6);
9915    
9916                                    if ( (LA117_76==59) ) {
9917                                        int LA117_95 = input.LA(7);
9918    
9919                                        if ( (LA117_95==44) ) {
9920                                            int LA117_34 = input.LA(8);
9921    
9922                                            if ( (LA117_34==PIPE||LA117_34==LINK_CLOSE) ) {
9923                                                alt117=2;
9924                                            }
9925                                            else if ( ((LA117_34>=FORCED_END_OF_LINE && LA117_34<=WIKI)||(LA117_34>=POUND && LA117_34<=EQUAL)||(LA117_34>=ITAL && LA117_34<=NOWIKI_CLOSE)||(LA117_34>=IMAGE_CLOSE && LA117_34<=79)) ) {
9926                                                alt117=1;
9927                                            }
9928                                            else {
9929                                                if (backtracking>0) {failed=true; return link;}
9930                                                NoViableAltException nvae =
9931                                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 34, input);
9932    
9933                                                throw nvae;
9934                                            }
9935                                        }
9936                                        else if ( ((LA117_95>=FORCED_END_OF_LINE && LA117_95<=WIKI)||(LA117_95>=POUND && LA117_95<=INSIGNIFICANT_CHAR)||(LA117_95>=45 && LA117_95<=79)) ) {
9937                                            alt117=2;
9938                                        }
9939                                        else {
9940                                            if (backtracking>0) {failed=true; return link;}
9941                                            NoViableAltException nvae =
9942                                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 95, input);
9943    
9944                                            throw nvae;
9945                                        }
9946                                    }
9947                                    else if ( ((LA117_76>=FORCED_END_OF_LINE && LA117_76<=WIKI)||(LA117_76>=POUND && LA117_76<=58)||(LA117_76>=60 && LA117_76<=79)) ) {
9948                                        alt117=2;
9949                                    }
9950                                    else {
9951                                        if (backtracking>0) {failed=true; return link;}
9952                                        NoViableAltException nvae =
9953                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 76, input);
9954    
9955                                        throw nvae;
9956                                    }
9957                                }
9958                                else if ( ((LA117_57>=FORCED_END_OF_LINE && LA117_57<=WIKI)||(LA117_57>=POUND && LA117_57<=53)||(LA117_57>=55 && LA117_57<=79)) ) {
9959                                    alt117=2;
9960                                }
9961                                else {
9962                                    if (backtracking>0) {failed=true; return link;}
9963                                    NoViableAltException nvae =
9964                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 57, input);
9965    
9966                                    throw nvae;
9967                                }
9968                            }
9969                            else if ( ((LA117_37>=FORCED_END_OF_LINE && LA117_37<=WIKI)||(LA117_37>=POUND && LA117_37<=57)||(LA117_37>=59 && LA117_37<=79)) ) {
9970                                alt117=2;
9971                            }
9972                            else {
9973                                if (backtracking>0) {failed=true; return link;}
9974                                NoViableAltException nvae =
9975                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 37, input);
9976    
9977                                throw nvae;
9978                            }
9979                        }
9980                        else if ( ((LA117_19>=FORCED_END_OF_LINE && LA117_19<=WIKI)||(LA117_19>=POUND && LA117_19<=47)||(LA117_19>=49 && LA117_19<=79)) ) {
9981                            alt117=2;
9982                        }
9983                        else {
9984                            if (backtracking>0) {failed=true; return link;}
9985                            NoViableAltException nvae =
9986                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 19, input);
9987    
9988                            throw nvae;
9989                        }
9990                    }
9991                    else if ( ((LA117_4>=FORCED_END_OF_LINE && LA117_4<=WIKI)||(LA117_4>=POUND && LA117_4<=47)||(LA117_4>=49 && LA117_4<=79)) ) {
9992                        alt117=2;
9993                    }
9994                    else {
9995                        if (backtracking>0) {failed=true; return link;}
9996                        NoViableAltException nvae =
9997                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 4, input);
9998    
9999                        throw nvae;
10000                    }
10001                    }
10002                    break;
10003                case 60:
10004                    {
10005                    int LA117_5 = input.LA(2);
10006    
10007                    if ( (LA117_5==61) ) {
10008                        int LA117_20 = input.LA(3);
10009    
10010                        if ( (LA117_20==62) ) {
10011                            int LA117_38 = input.LA(4);
10012    
10013                            if ( (LA117_38==51) ) {
10014                                int LA117_58 = input.LA(5);
10015    
10016                                if ( (LA117_58==52) ) {
10017                                    int LA117_77 = input.LA(6);
10018    
10019                                    if ( (LA117_77==49) ) {
10020                                        int LA117_96 = input.LA(7);
10021    
10022                                        if ( (LA117_96==52) ) {
10023                                            int LA117_110 = input.LA(8);
10024    
10025                                            if ( (LA117_110==44) ) {
10026                                                int LA117_34 = input.LA(9);
10027    
10028                                                if ( (LA117_34==PIPE||LA117_34==LINK_CLOSE) ) {
10029                                                    alt117=2;
10030                                                }
10031                                                else if ( ((LA117_34>=FORCED_END_OF_LINE && LA117_34<=WIKI)||(LA117_34>=POUND && LA117_34<=EQUAL)||(LA117_34>=ITAL && LA117_34<=NOWIKI_CLOSE)||(LA117_34>=IMAGE_CLOSE && LA117_34<=79)) ) {
10032                                                    alt117=1;
10033                                                }
10034                                                else {
10035                                                    if (backtracking>0) {failed=true; return link;}
10036                                                    NoViableAltException nvae =
10037                                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 34, input);
10038    
10039                                                    throw nvae;
10040                                                }
10041                                            }
10042                                            else if ( ((LA117_110>=FORCED_END_OF_LINE && LA117_110<=WIKI)||(LA117_110>=POUND && LA117_110<=INSIGNIFICANT_CHAR)||(LA117_110>=45 && LA117_110<=79)) ) {
10043                                                alt117=2;
10044                                            }
10045                                            else {
10046                                                if (backtracking>0) {failed=true; return link;}
10047                                                NoViableAltException nvae =
10048                                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 110, input);
10049    
10050                                                throw nvae;
10051                                            }
10052                                        }
10053                                        else if ( ((LA117_96>=FORCED_END_OF_LINE && LA117_96<=WIKI)||(LA117_96>=POUND && LA117_96<=51)||(LA117_96>=53 && LA117_96<=79)) ) {
10054                                            alt117=2;
10055                                        }
10056                                        else {
10057                                            if (backtracking>0) {failed=true; return link;}
10058                                            NoViableAltException nvae =
10059                                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 96, input);
10060    
10061                                            throw nvae;
10062                                        }
10063                                    }
10064                                    else if ( ((LA117_77>=FORCED_END_OF_LINE && LA117_77<=WIKI)||(LA117_77>=POUND && LA117_77<=48)||(LA117_77>=50 && LA117_77<=79)) ) {
10065                                        alt117=2;
10066                                    }
10067                                    else {
10068                                        if (backtracking>0) {failed=true; return link;}
10069                                        NoViableAltException nvae =
10070                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 77, input);
10071    
10072                                        throw nvae;
10073                                    }
10074                                }
10075                                else if ( ((LA117_58>=FORCED_END_OF_LINE && LA117_58<=WIKI)||(LA117_58>=POUND && LA117_58<=51)||(LA117_58>=53 && LA117_58<=79)) ) {
10076                                    alt117=2;
10077                                }
10078                                else {
10079                                    if (backtracking>0) {failed=true; return link;}
10080                                    NoViableAltException nvae =
10081                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 58, input);
10082    
10083                                    throw nvae;
10084                                }
10085                            }
10086                            else if ( ((LA117_38>=FORCED_END_OF_LINE && LA117_38<=WIKI)||(LA117_38>=POUND && LA117_38<=50)||(LA117_38>=52 && LA117_38<=79)) ) {
10087                                alt117=2;
10088                            }
10089                            else {
10090                                if (backtracking>0) {failed=true; return link;}
10091                                NoViableAltException nvae =
10092                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 38, input);
10093    
10094                                throw nvae;
10095                            }
10096                        }
10097                        else if ( ((LA117_20>=FORCED_END_OF_LINE && LA117_20<=WIKI)||(LA117_20>=POUND && LA117_20<=61)||(LA117_20>=63 && LA117_20<=79)) ) {
10098                            alt117=2;
10099                        }
10100                        else {
10101                            if (backtracking>0) {failed=true; return link;}
10102                            NoViableAltException nvae =
10103                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 20, input);
10104    
10105                            throw nvae;
10106                        }
10107                    }
10108                    else if ( ((LA117_5>=FORCED_END_OF_LINE && LA117_5<=WIKI)||(LA117_5>=POUND && LA117_5<=60)||(LA117_5>=62 && LA117_5<=79)) ) {
10109                        alt117=2;
10110                    }
10111                    else {
10112                        if (backtracking>0) {failed=true; return link;}
10113                        NoViableAltException nvae =
10114                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 5, input);
10115    
10116                        throw nvae;
10117                    }
10118                    }
10119                    break;
10120                case 63:
10121                    {
10122                    switch ( input.LA(2) ) {
10123                    case 59:
10124                        {
10125                        switch ( input.LA(3) ) {
10126                        case 64:
10127                            {
10128                            int LA117_39 = input.LA(4);
10129    
10130                            if ( (LA117_39==65) ) {
10131                                int LA117_59 = input.LA(5);
10132    
10133                                if ( (LA117_59==66) ) {
10134                                    int LA117_78 = input.LA(6);
10135    
10136                                    if ( (LA117_78==64) ) {
10137                                        int LA117_97 = input.LA(7);
10138    
10139                                        if ( (LA117_97==54) ) {
10140                                            int LA117_111 = input.LA(8);
10141    
10142                                            if ( (LA117_111==54) ) {
10143                                                int LA117_121 = input.LA(9);
10144    
10145                                                if ( (LA117_121==44) ) {
10146                                                    int LA117_34 = input.LA(10);
10147    
10148                                                    if ( (LA117_34==PIPE||LA117_34==LINK_CLOSE) ) {
10149                                                        alt117=2;
10150                                                    }
10151                                                    else if ( ((LA117_34>=FORCED_END_OF_LINE && LA117_34<=WIKI)||(LA117_34>=POUND && LA117_34<=EQUAL)||(LA117_34>=ITAL && LA117_34<=NOWIKI_CLOSE)||(LA117_34>=IMAGE_CLOSE && LA117_34<=79)) ) {
10152                                                        alt117=1;
10153                                                    }
10154                                                    else {
10155                                                        if (backtracking>0) {failed=true; return link;}
10156                                                        NoViableAltException nvae =
10157                                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 34, input);
10158    
10159                                                        throw nvae;
10160                                                    }
10161                                                }
10162                                                else if ( ((LA117_121>=FORCED_END_OF_LINE && LA117_121<=WIKI)||(LA117_121>=POUND && LA117_121<=INSIGNIFICANT_CHAR)||(LA117_121>=45 && LA117_121<=79)) ) {
10163                                                    alt117=2;
10164                                                }
10165                                                else {
10166                                                    if (backtracking>0) {failed=true; return link;}
10167                                                    NoViableAltException nvae =
10168                                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 121, input);
10169    
10170                                                    throw nvae;
10171                                                }
10172                                            }
10173                                            else if ( ((LA117_111>=FORCED_END_OF_LINE && LA117_111<=WIKI)||(LA117_111>=POUND && LA117_111<=53)||(LA117_111>=55 && LA117_111<=79)) ) {
10174                                                alt117=2;
10175                                            }
10176                                            else {
10177                                                if (backtracking>0) {failed=true; return link;}
10178                                                NoViableAltException nvae =
10179                                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 111, input);
10180    
10181                                                throw nvae;
10182                                            }
10183                                        }
10184                                        else if ( ((LA117_97>=FORCED_END_OF_LINE && LA117_97<=WIKI)||(LA117_97>=POUND && LA117_97<=53)||(LA117_97>=55 && LA117_97<=79)) ) {
10185                                            alt117=2;
10186                                        }
10187                                        else {
10188                                            if (backtracking>0) {failed=true; return link;}
10189                                            NoViableAltException nvae =
10190                                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 97, input);
10191    
10192                                            throw nvae;
10193                                        }
10194                                    }
10195                                    else if ( ((LA117_78>=FORCED_END_OF_LINE && LA117_78<=WIKI)||(LA117_78>=POUND && LA117_78<=63)||(LA117_78>=65 && LA117_78<=79)) ) {
10196                                        alt117=2;
10197                                    }
10198                                    else {
10199                                        if (backtracking>0) {failed=true; return link;}
10200                                        NoViableAltException nvae =
10201                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 78, input);
10202    
10203                                        throw nvae;
10204                                    }
10205                                }
10206                                else if ( ((LA117_59>=FORCED_END_OF_LINE && LA117_59<=WIKI)||(LA117_59>=POUND && LA117_59<=65)||(LA117_59>=67 && LA117_59<=79)) ) {
10207                                    alt117=2;
10208                                }
10209                                else {
10210                                    if (backtracking>0) {failed=true; return link;}
10211                                    NoViableAltException nvae =
10212                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 59, input);
10213    
10214                                    throw nvae;
10215                                }
10216                            }
10217                            else if ( ((LA117_39>=FORCED_END_OF_LINE && LA117_39<=WIKI)||(LA117_39>=POUND && LA117_39<=64)||(LA117_39>=66 && LA117_39<=79)) ) {
10218                                alt117=2;
10219                            }
10220                            else {
10221                                if (backtracking>0) {failed=true; return link;}
10222                                NoViableAltException nvae =
10223                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 39, input);
10224    
10225                                throw nvae;
10226                            }
10227                            }
10228                            break;
10229                        case 67:
10230                            {
10231                            int LA117_40 = input.LA(4);
10232    
10233                            if ( (LA117_40==52) ) {
10234                                int LA117_60 = input.LA(5);
10235    
10236                                if ( (LA117_60==64) ) {
10237                                    int LA117_79 = input.LA(6);
10238    
10239                                    if ( (LA117_79==51) ) {
10240                                        int LA117_98 = input.LA(7);
10241    
10242                                        if ( (LA117_98==52) ) {
10243                                            int LA117_112 = input.LA(8);
10244    
10245                                            if ( (LA117_112==49) ) {
10246                                                int LA117_122 = input.LA(9);
10247    
10248                                                if ( (LA117_122==52) ) {
10249                                                    int LA117_129 = input.LA(10);
10250    
10251                                                    if ( (LA117_129==44) ) {
10252                                                        int LA117_34 = input.LA(11);
10253    
10254                                                        if ( (LA117_34==PIPE||LA117_34==LINK_CLOSE) ) {
10255                                                            alt117=2;
10256                                                        }
10257                                                        else if ( ((LA117_34>=FORCED_END_OF_LINE && LA117_34<=WIKI)||(LA117_34>=POUND && LA117_34<=EQUAL)||(LA117_34>=ITAL && LA117_34<=NOWIKI_CLOSE)||(LA117_34>=IMAGE_CLOSE && LA117_34<=79)) ) {
10258                                                            alt117=1;
10259                                                        }
10260                                                        else {
10261                                                            if (backtracking>0) {failed=true; return link;}
10262                                                            NoViableAltException nvae =
10263                                                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 34, input);
10264    
10265                                                            throw nvae;
10266                                                        }
10267                                                    }
10268                                                    else if ( ((LA117_129>=FORCED_END_OF_LINE && LA117_129<=WIKI)||(LA117_129>=POUND && LA117_129<=INSIGNIFICANT_CHAR)||(LA117_129>=45 && LA117_129<=79)) ) {
10269                                                        alt117=2;
10270                                                    }
10271                                                    else {
10272                                                        if (backtracking>0) {failed=true; return link;}
10273                                                        NoViableAltException nvae =
10274                                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 129, input);
10275    
10276                                                        throw nvae;
10277                                                    }
10278                                                }
10279                                                else if ( ((LA117_122>=FORCED_END_OF_LINE && LA117_122<=WIKI)||(LA117_122>=POUND && LA117_122<=51)||(LA117_122>=53 && LA117_122<=79)) ) {
10280                                                    alt117=2;
10281                                                }
10282                                                else {
10283                                                    if (backtracking>0) {failed=true; return link;}
10284                                                    NoViableAltException nvae =
10285                                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 122, input);
10286    
10287                                                    throw nvae;
10288                                                }
10289                                            }
10290                                            else if ( ((LA117_112>=FORCED_END_OF_LINE && LA117_112<=WIKI)||(LA117_112>=POUND && LA117_112<=48)||(LA117_112>=50 && LA117_112<=79)) ) {
10291                                                alt117=2;
10292                                            }
10293                                            else {
10294                                                if (backtracking>0) {failed=true; return link;}
10295                                                NoViableAltException nvae =
10296                                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 112, input);
10297    
10298                                                throw nvae;
10299                                            }
10300                                        }
10301                                        else if ( ((LA117_98>=FORCED_END_OF_LINE && LA117_98<=WIKI)||(LA117_98>=POUND && LA117_98<=51)||(LA117_98>=53 && LA117_98<=79)) ) {
10302                                            alt117=2;
10303                                        }
10304                                        else {
10305                                            if (backtracking>0) {failed=true; return link;}
10306                                            NoViableAltException nvae =
10307                                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 98, input);
10308    
10309                                            throw nvae;
10310                                        }
10311                                    }
10312                                    else if ( ((LA117_79>=FORCED_END_OF_LINE && LA117_79<=WIKI)||(LA117_79>=POUND && LA117_79<=50)||(LA117_79>=52 && LA117_79<=79)) ) {
10313                                        alt117=2;
10314                                    }
10315                                    else {
10316                                        if (backtracking>0) {failed=true; return link;}
10317                                        NoViableAltException nvae =
10318                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 79, input);
10319    
10320                                        throw nvae;
10321                                    }
10322                                }
10323                                else if ( ((LA117_60>=FORCED_END_OF_LINE && LA117_60<=WIKI)||(LA117_60>=POUND && LA117_60<=63)||(LA117_60>=65 && LA117_60<=79)) ) {
10324                                    alt117=2;
10325                                }
10326                                else {
10327                                    if (backtracking>0) {failed=true; return link;}
10328                                    NoViableAltException nvae =
10329                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 60, input);
10330    
10331                                    throw nvae;
10332                                }
10333                            }
10334                            else if ( ((LA117_40>=FORCED_END_OF_LINE && LA117_40<=WIKI)||(LA117_40>=POUND && LA117_40<=51)||(LA117_40>=53 && LA117_40<=79)) ) {
10335                                alt117=2;
10336                            }
10337                            else {
10338                                if (backtracking>0) {failed=true; return link;}
10339                                NoViableAltException nvae =
10340                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 40, input);
10341    
10342                                throw nvae;
10343                            }
10344                            }
10345                            break;
10346                        case FORCED_END_OF_LINE:
10347                        case HEADING_SECTION:
10348                        case HORIZONTAL_SECTION:
10349                        case LIST_ITEM:
10350                        case LIST_ITEM_PART:
10351                        case NOWIKI_SECTION:
10352                        case SCAPE_NODE:
10353                        case TEXT_NODE:
10354                        case UNORDERED_LIST:
10355                        case UNFORMATTED_TEXT:
10356                        case WIKI:
10357                        case POUND:
10358                        case STAR:
10359                        case EQUAL:
10360                        case PIPE:
10361                        case ITAL:
10362                        case LINK_OPEN:
10363                        case IMAGE_OPEN:
10364                        case NOWIKI_OPEN:
10365                        case EXTENSION:
10366                        case FORCED_LINEBREAK:
10367                        case ESCAPE:
10368                        case NOWIKI_BLOCK_CLOSE:
10369                        case NOWIKI_CLOSE:
10370                        case LINK_CLOSE:
10371                        case IMAGE_CLOSE:
10372                        case BLANKS:
10373                        case TABLE_OF_CONTENTS_TEXT:
10374                        case DASH:
10375                        case CR:
10376                        case LF:
10377                        case SPACE:
10378                        case TABULATOR:
10379                        case BRACE_CLOSE:
10380                        case COLON_SLASH:
10381                        case SLASH:
10382                        case TABLE_OF_CONTENTS_OPEN_MARKUP:
10383                        case TABLE_OF_CONTENTS_CLOSE_MARKUP:
10384                        case INSIGNIFICANT_CHAR:
10385                        case 44:
10386                        case 45:
10387                        case 46:
10388                        case 47:
10389                        case 48:
10390                        case 49:
10391                        case 50:
10392                        case 51:
10393                        case 52:
10394                        case 53:
10395                        case 54:
10396                        case 55:
10397                        case 56:
10398                        case 57:
10399                        case 58:
10400                        case 59:
10401                        case 60:
10402                        case 61:
10403                        case 62:
10404                        case 63:
10405                        case 65:
10406                        case 66:
10407                        case 68:
10408                        case 69:
10409                        case 70:
10410                        case 71:
10411                        case 72:
10412                        case 73:
10413                        case 74:
10414                        case 75:
10415                        case 76:
10416                        case 77:
10417                        case 78:
10418                        case 79:
10419                            {
10420                            alt117=2;
10421                            }
10422                            break;
10423                        default:
10424                            if (backtracking>0) {failed=true; return link;}
10425                            NoViableAltException nvae =
10426                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 21, input);
10427    
10428                            throw nvae;
10429                        }
10430    
10431                        }
10432                        break;
10433                    case 48:
10434                        {
10435                        int LA117_22 = input.LA(3);
10436    
10437                        if ( (LA117_22==52) ) {
10438                            int LA117_41 = input.LA(4);
10439    
10440                            if ( (LA117_41==68) ) {
10441                                int LA117_61 = input.LA(5);
10442    
10443                                if ( (LA117_61==63) ) {
10444                                    int LA117_80 = input.LA(6);
10445    
10446                                    if ( (LA117_80==48) ) {
10447                                        int LA117_99 = input.LA(7);
10448    
10449                                        if ( (LA117_99==52) ) {
10450                                            int LA117_113 = input.LA(8);
10451    
10452                                            if ( (LA117_113==68) ) {
10453                                                int LA117_123 = input.LA(9);
10454    
10455                                                if ( (LA117_123==44) ) {
10456                                                    int LA117_34 = input.LA(10);
10457    
10458                                                    if ( (LA117_34==PIPE||LA117_34==LINK_CLOSE) ) {
10459                                                        alt117=2;
10460                                                    }
10461                                                    else if ( ((LA117_34>=FORCED_END_OF_LINE && LA117_34<=WIKI)||(LA117_34>=POUND && LA117_34<=EQUAL)||(LA117_34>=ITAL && LA117_34<=NOWIKI_CLOSE)||(LA117_34>=IMAGE_CLOSE && LA117_34<=79)) ) {
10462                                                        alt117=1;
10463                                                    }
10464                                                    else {
10465                                                        if (backtracking>0) {failed=true; return link;}
10466                                                        NoViableAltException nvae =
10467                                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 34, input);
10468    
10469                                                        throw nvae;
10470                                                    }
10471                                                }
10472                                                else if ( ((LA117_123>=FORCED_END_OF_LINE && LA117_123<=WIKI)||(LA117_123>=POUND && LA117_123<=INSIGNIFICANT_CHAR)||(LA117_123>=45 && LA117_123<=79)) ) {
10473                                                    alt117=2;
10474                                                }
10475                                                else {
10476                                                    if (backtracking>0) {failed=true; return link;}
10477                                                    NoViableAltException nvae =
10478                                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 123, input);
10479    
10480                                                    throw nvae;
10481                                                }
10482                                            }
10483                                            else if ( ((LA117_113>=FORCED_END_OF_LINE && LA117_113<=WIKI)||(LA117_113>=POUND && LA117_113<=67)||(LA117_113>=69 && LA117_113<=79)) ) {
10484                                                alt117=2;
10485                                            }
10486                                            else {
10487                                                if (backtracking>0) {failed=true; return link;}
10488                                                NoViableAltException nvae =
10489                                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 113, input);
10490    
10491                                                throw nvae;
10492                                            }
10493                                        }
10494                                        else if ( ((LA117_99>=FORCED_END_OF_LINE && LA117_99<=WIKI)||(LA117_99>=POUND && LA117_99<=51)||(LA117_99>=53 && LA117_99<=79)) ) {
10495                                            alt117=2;
10496                                        }
10497                                        else {
10498                                            if (backtracking>0) {failed=true; return link;}
10499                                            NoViableAltException nvae =
10500                                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 99, input);
10501    
10502                                            throw nvae;
10503                                        }
10504                                    }
10505                                    else if ( ((LA117_80>=FORCED_END_OF_LINE && LA117_80<=WIKI)||(LA117_80>=POUND && LA117_80<=47)||(LA117_80>=49 && LA117_80<=79)) ) {
10506                                        alt117=2;
10507                                    }
10508                                    else {
10509                                        if (backtracking>0) {failed=true; return link;}
10510                                        NoViableAltException nvae =
10511                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 80, input);
10512    
10513                                        throw nvae;
10514                                    }
10515                                }
10516                                else if ( ((LA117_61>=FORCED_END_OF_LINE && LA117_61<=WIKI)||(LA117_61>=POUND && LA117_61<=62)||(LA117_61>=64 && LA117_61<=79)) ) {
10517                                    alt117=2;
10518                                }
10519                                else {
10520                                    if (backtracking>0) {failed=true; return link;}
10521                                    NoViableAltException nvae =
10522                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 61, input);
10523    
10524                                    throw nvae;
10525                                }
10526                            }
10527                            else if ( ((LA117_41>=FORCED_END_OF_LINE && LA117_41<=WIKI)||(LA117_41>=POUND && LA117_41<=67)||(LA117_41>=69 && LA117_41<=79)) ) {
10528                                alt117=2;
10529                            }
10530                            else {
10531                                if (backtracking>0) {failed=true; return link;}
10532                                NoViableAltException nvae =
10533                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 41, input);
10534    
10535                                throw nvae;
10536                            }
10537                        }
10538                        else if ( ((LA117_22>=FORCED_END_OF_LINE && LA117_22<=WIKI)||(LA117_22>=POUND && LA117_22<=51)||(LA117_22>=53 && LA117_22<=79)) ) {
10539                            alt117=2;
10540                        }
10541                        else {
10542                            if (backtracking>0) {failed=true; return link;}
10543                            NoViableAltException nvae =
10544                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 22, input);
10545    
10546                            throw nvae;
10547                        }
10548                        }
10549                        break;
10550                    case FORCED_END_OF_LINE:
10551                    case HEADING_SECTION:
10552                    case HORIZONTAL_SECTION:
10553                    case LIST_ITEM:
10554                    case LIST_ITEM_PART:
10555                    case NOWIKI_SECTION:
10556                    case SCAPE_NODE:
10557                    case TEXT_NODE:
10558                    case UNORDERED_LIST:
10559                    case UNFORMATTED_TEXT:
10560                    case WIKI:
10561                    case POUND:
10562                    case STAR:
10563                    case EQUAL:
10564                    case PIPE:
10565                    case ITAL:
10566                    case LINK_OPEN:
10567                    case IMAGE_OPEN:
10568                    case NOWIKI_OPEN:
10569                    case EXTENSION:
10570                    case FORCED_LINEBREAK:
10571                    case ESCAPE:
10572                    case NOWIKI_BLOCK_CLOSE:
10573                    case NOWIKI_CLOSE:
10574                    case LINK_CLOSE:
10575                    case IMAGE_CLOSE:
10576                    case BLANKS:
10577                    case TABLE_OF_CONTENTS_TEXT:
10578                    case DASH:
10579                    case CR:
10580                    case LF:
10581                    case SPACE:
10582                    case TABULATOR:
10583                    case BRACE_CLOSE:
10584                    case COLON_SLASH:
10585                    case SLASH:
10586                    case TABLE_OF_CONTENTS_OPEN_MARKUP:
10587                    case TABLE_OF_CONTENTS_CLOSE_MARKUP:
10588                    case INSIGNIFICANT_CHAR:
10589                    case 44:
10590                    case 45:
10591                    case 46:
10592                    case 47:
10593                    case 49:
10594                    case 50:
10595                    case 51:
10596                    case 52:
10597                    case 53:
10598                    case 54:
10599                    case 55:
10600                    case 56:
10601                    case 57:
10602                    case 58:
10603                    case 60:
10604                    case 61:
10605                    case 62:
10606                    case 63:
10607                    case 64:
10608                    case 65:
10609                    case 66:
10610                    case 67:
10611                    case 68:
10612                    case 69:
10613                    case 70:
10614                    case 71:
10615                    case 72:
10616                    case 73:
10617                    case 74:
10618                    case 75:
10619                    case 76:
10620                    case 77:
10621                    case 78:
10622                    case 79:
10623                        {
10624                        alt117=2;
10625                        }
10626                        break;
10627                    default:
10628                        if (backtracking>0) {failed=true; return link;}
10629                        NoViableAltException nvae =
10630                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 6, input);
10631    
10632                        throw nvae;
10633                    }
10634    
10635                    }
10636                    break;
10637                case 69:
10638                    {
10639                    switch ( input.LA(2) ) {
10640                    case 72:
10641                        {
10642                        int LA117_23 = input.LA(3);
10643    
10644                        if ( (LA117_23==64) ) {
10645                            int LA117_42 = input.LA(4);
10646    
10647                            if ( (LA117_42==68) ) {
10648                                int LA117_62 = input.LA(5);
10649    
10650                                if ( (LA117_62==64) ) {
10651                                    int LA117_81 = input.LA(6);
10652    
10653                                    if ( (LA117_81==44) ) {
10654                                        int LA117_34 = input.LA(7);
10655    
10656                                        if ( (LA117_34==PIPE||LA117_34==LINK_CLOSE) ) {
10657                                            alt117=2;
10658                                        }
10659                                        else if ( ((LA117_34>=FORCED_END_OF_LINE && LA117_34<=WIKI)||(LA117_34>=POUND && LA117_34<=EQUAL)||(LA117_34>=ITAL && LA117_34<=NOWIKI_CLOSE)||(LA117_34>=IMAGE_CLOSE && LA117_34<=79)) ) {
10660                                            alt117=1;
10661                                        }
10662                                        else {
10663                                            if (backtracking>0) {failed=true; return link;}
10664                                            NoViableAltException nvae =
10665                                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 34, input);
10666    
10667                                            throw nvae;
10668                                        }
10669                                    }
10670                                    else if ( ((LA117_81>=FORCED_END_OF_LINE && LA117_81<=WIKI)||(LA117_81>=POUND && LA117_81<=INSIGNIFICANT_CHAR)||(LA117_81>=45 && LA117_81<=79)) ) {
10671                                        alt117=2;
10672                                    }
10673                                    else {
10674                                        if (backtracking>0) {failed=true; return link;}
10675                                        NoViableAltException nvae =
10676                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 81, input);
10677    
10678                                        throw nvae;
10679                                    }
10680                                }
10681                                else if ( ((LA117_62>=FORCED_END_OF_LINE && LA117_62<=WIKI)||(LA117_62>=POUND && LA117_62<=63)||(LA117_62>=65 && LA117_62<=79)) ) {
10682                                    alt117=2;
10683                                }
10684                                else {
10685                                    if (backtracking>0) {failed=true; return link;}
10686                                    NoViableAltException nvae =
10687                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 62, input);
10688    
10689                                    throw nvae;
10690                                }
10691                            }
10692                            else if ( ((LA117_42>=FORCED_END_OF_LINE && LA117_42<=WIKI)||(LA117_42>=POUND && LA117_42<=67)||(LA117_42>=69 && LA117_42<=79)) ) {
10693                                alt117=2;
10694                            }
10695                            else {
10696                                if (backtracking>0) {failed=true; return link;}
10697                                NoViableAltException nvae =
10698                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 42, input);
10699    
10700                                throw nvae;
10701                            }
10702                        }
10703                        else if ( ((LA117_23>=FORCED_END_OF_LINE && LA117_23<=WIKI)||(LA117_23>=POUND && LA117_23<=63)||(LA117_23>=65 && LA117_23<=79)) ) {
10704                            alt117=2;
10705                        }
10706                        else {
10707                            if (backtracking>0) {failed=true; return link;}
10708                            NoViableAltException nvae =
10709                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 23, input);
10710    
10711                            throw nvae;
10712                        }
10713                        }
10714                        break;
10715                    case 67:
10716                        {
10717                        int LA117_24 = input.LA(3);
10718    
10719                        if ( (LA117_24==67) ) {
10720                            int LA117_43 = input.LA(4);
10721    
10722                            if ( (LA117_43==70) ) {
10723                                int LA117_63 = input.LA(5);
10724    
10725                                if ( (LA117_63==50) ) {
10726                                    int LA117_82 = input.LA(6);
10727    
10728                                    if ( (LA117_82==71) ) {
10729                                        int LA117_100 = input.LA(7);
10730    
10731                                        if ( (LA117_100==59) ) {
10732                                            int LA117_114 = input.LA(8);
10733    
10734                                            if ( ((LA117_114>=FORCED_END_OF_LINE && LA117_114<=WIKI)||(LA117_114>=POUND && LA117_114<=INSIGNIFICANT_CHAR)||(LA117_114>=45 && LA117_114<=79)) ) {
10735                                                alt117=2;
10736                                            }
10737                                            else if ( (LA117_114==44) ) {
10738                                                int LA117_34 = input.LA(9);
10739    
10740                                                if ( (LA117_34==PIPE||LA117_34==LINK_CLOSE) ) {
10741                                                    alt117=2;
10742                                                }
10743                                                else if ( ((LA117_34>=FORCED_END_OF_LINE && LA117_34<=WIKI)||(LA117_34>=POUND && LA117_34<=EQUAL)||(LA117_34>=ITAL && LA117_34<=NOWIKI_CLOSE)||(LA117_34>=IMAGE_CLOSE && LA117_34<=79)) ) {
10744                                                    alt117=1;
10745                                                }
10746                                                else {
10747                                                    if (backtracking>0) {failed=true; return link;}
10748                                                    NoViableAltException nvae =
10749                                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 34, input);
10750    
10751                                                    throw nvae;
10752                                                }
10753                                            }
10754                                            else {
10755                                                if (backtracking>0) {failed=true; return link;}
10756                                                NoViableAltException nvae =
10757                                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 114, input);
10758    
10759                                                throw nvae;
10760                                            }
10761                                        }
10762                                        else if ( ((LA117_100>=FORCED_END_OF_LINE && LA117_100<=WIKI)||(LA117_100>=POUND && LA117_100<=58)||(LA117_100>=60 && LA117_100<=79)) ) {
10763                                            alt117=2;
10764                                        }
10765                                        else {
10766                                            if (backtracking>0) {failed=true; return link;}
10767                                            NoViableAltException nvae =
10768                                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 100, input);
10769    
10770                                            throw nvae;
10771                                        }
10772                                    }
10773                                    else if ( ((LA117_82>=FORCED_END_OF_LINE && LA117_82<=WIKI)||(LA117_82>=POUND && LA117_82<=70)||(LA117_82>=72 && LA117_82<=79)) ) {
10774                                        alt117=2;
10775                                    }
10776                                    else {
10777                                        if (backtracking>0) {failed=true; return link;}
10778                                        NoViableAltException nvae =
10779                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 82, input);
10780    
10781                                        throw nvae;
10782                                    }
10783                                }
10784                                else if ( ((LA117_63>=FORCED_END_OF_LINE && LA117_63<=WIKI)||(LA117_63>=POUND && LA117_63<=49)||(LA117_63>=51 && LA117_63<=79)) ) {
10785                                    alt117=2;
10786                                }
10787                                else {
10788                                    if (backtracking>0) {failed=true; return link;}
10789                                    NoViableAltException nvae =
10790                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 63, input);
10791    
10792                                    throw nvae;
10793                                }
10794                            }
10795                            else if ( ((LA117_43>=FORCED_END_OF_LINE && LA117_43<=WIKI)||(LA117_43>=POUND && LA117_43<=69)||(LA117_43>=71 && LA117_43<=79)) ) {
10796                                alt117=2;
10797                            }
10798                            else {
10799                                if (backtracking>0) {failed=true; return link;}
10800                                NoViableAltException nvae =
10801                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 43, input);
10802    
10803                                throw nvae;
10804                            }
10805                        }
10806                        else if ( ((LA117_24>=FORCED_END_OF_LINE && LA117_24<=WIKI)||(LA117_24>=POUND && LA117_24<=66)||(LA117_24>=68 && LA117_24<=79)) ) {
10807                            alt117=2;
10808                        }
10809                        else {
10810                            if (backtracking>0) {failed=true; return link;}
10811                            NoViableAltException nvae =
10812                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 24, input);
10813    
10814                            throw nvae;
10815                        }
10816                        }
10817                        break;
10818                    case FORCED_END_OF_LINE:
10819                    case HEADING_SECTION:
10820                    case HORIZONTAL_SECTION:
10821                    case LIST_ITEM:
10822                    case LIST_ITEM_PART:
10823                    case NOWIKI_SECTION:
10824                    case SCAPE_NODE:
10825                    case TEXT_NODE:
10826                    case UNORDERED_LIST:
10827                    case UNFORMATTED_TEXT:
10828                    case WIKI:
10829                    case POUND:
10830                    case STAR:
10831                    case EQUAL:
10832                    case PIPE:
10833                    case ITAL:
10834                    case LINK_OPEN:
10835                    case IMAGE_OPEN:
10836                    case NOWIKI_OPEN:
10837                    case EXTENSION:
10838                    case FORCED_LINEBREAK:
10839                    case ESCAPE:
10840                    case NOWIKI_BLOCK_CLOSE:
10841                    case NOWIKI_CLOSE:
10842                    case LINK_CLOSE:
10843                    case IMAGE_CLOSE:
10844                    case BLANKS:
10845                    case TABLE_OF_CONTENTS_TEXT:
10846                    case DASH:
10847                    case CR:
10848                    case LF:
10849                    case SPACE:
10850                    case TABULATOR:
10851                    case BRACE_CLOSE:
10852                    case COLON_SLASH:
10853                    case SLASH:
10854                    case TABLE_OF_CONTENTS_OPEN_MARKUP:
10855                    case TABLE_OF_CONTENTS_CLOSE_MARKUP:
10856                    case INSIGNIFICANT_CHAR:
10857                    case 44:
10858                    case 45:
10859                    case 46:
10860                    case 47:
10861                    case 48:
10862                    case 49:
10863                    case 50:
10864                    case 51:
10865                    case 52:
10866                    case 53:
10867                    case 54:
10868                    case 55:
10869                    case 56:
10870                    case 57:
10871                    case 58:
10872                    case 59:
10873                    case 60:
10874                    case 61:
10875                    case 62:
10876                    case 63:
10877                    case 64:
10878                    case 65:
10879                    case 66:
10880                    case 68:
10881                    case 69:
10882                    case 70:
10883                    case 71:
10884                    case 73:
10885                    case 74:
10886                    case 75:
10887                    case 76:
10888                    case 77:
10889                    case 78:
10890                    case 79:
10891                        {
10892                        alt117=2;
10893                        }
10894                        break;
10895                    default:
10896                        if (backtracking>0) {failed=true; return link;}
10897                        NoViableAltException nvae =
10898                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 7, input);
10899    
10900                        throw nvae;
10901                    }
10902    
10903                    }
10904                    break;
10905                case 62:
10906                    {
10907                    switch ( input.LA(2) ) {
10908                    case 70:
10909                        {
10910                        int LA117_25 = input.LA(3);
10911    
10912                        if ( (LA117_25==51) ) {
10913                            int LA117_44 = input.LA(4);
10914    
10915                            if ( (LA117_44==52) ) {
10916                                int LA117_64 = input.LA(5);
10917    
10918                                if ( (LA117_64==49) ) {
10919                                    int LA117_83 = input.LA(6);
10920    
10921                                    if ( (LA117_83==52) ) {
10922                                        int LA117_101 = input.LA(7);
10923    
10924                                        if ( (LA117_101==44) ) {
10925                                            int LA117_34 = input.LA(8);
10926    
10927                                            if ( (LA117_34==PIPE||LA117_34==LINK_CLOSE) ) {
10928                                                alt117=2;
10929                                            }
10930                                            else if ( ((LA117_34>=FORCED_END_OF_LINE && LA117_34<=WIKI)||(LA117_34>=POUND && LA117_34<=EQUAL)||(LA117_34>=ITAL && LA117_34<=NOWIKI_CLOSE)||(LA117_34>=IMAGE_CLOSE && LA117_34<=79)) ) {
10931                                                alt117=1;
10932                                            }
10933                                            else {
10934                                                if (backtracking>0) {failed=true; return link;}
10935                                                NoViableAltException nvae =
10936                                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 34, input);
10937    
10938                                                throw nvae;
10939                                            }
10940                                        }
10941                                        else if ( ((LA117_101>=FORCED_END_OF_LINE && LA117_101<=WIKI)||(LA117_101>=POUND && LA117_101<=INSIGNIFICANT_CHAR)||(LA117_101>=45 && LA117_101<=79)) ) {
10942                                            alt117=2;
10943                                        }
10944                                        else {
10945                                            if (backtracking>0) {failed=true; return link;}
10946                                            NoViableAltException nvae =
10947                                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 101, input);
10948    
10949                                            throw nvae;
10950                                        }
10951                                    }
10952                                    else if ( ((LA117_83>=FORCED_END_OF_LINE && LA117_83<=WIKI)||(LA117_83>=POUND && LA117_83<=51)||(LA117_83>=53 && LA117_83<=79)) ) {
10953                                        alt117=2;
10954                                    }
10955                                    else {
10956                                        if (backtracking>0) {failed=true; return link;}
10957                                        NoViableAltException nvae =
10958                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 83, input);
10959    
10960                                        throw nvae;
10961                                    }
10962                                }
10963                                else if ( ((LA117_64>=FORCED_END_OF_LINE && LA117_64<=WIKI)||(LA117_64>=POUND && LA117_64<=48)||(LA117_64>=50 && LA117_64<=79)) ) {
10964                                    alt117=2;
10965                                }
10966                                else {
10967                                    if (backtracking>0) {failed=true; return link;}
10968                                    NoViableAltException nvae =
10969                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 64, input);
10970    
10971                                    throw nvae;
10972                                }
10973                            }
10974                            else if ( ((LA117_44>=FORCED_END_OF_LINE && LA117_44<=WIKI)||(LA117_44>=POUND && LA117_44<=51)||(LA117_44>=53 && LA117_44<=79)) ) {
10975                                alt117=2;
10976                            }
10977                            else {
10978                                if (backtracking>0) {failed=true; return link;}
10979                                NoViableAltException nvae =
10980                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 44, input);
10981    
10982                                throw nvae;
10983                            }
10984                        }
10985                        else if ( ((LA117_25>=FORCED_END_OF_LINE && LA117_25<=WIKI)||(LA117_25>=POUND && LA117_25<=50)||(LA117_25>=52 && LA117_25<=79)) ) {
10986                            alt117=2;
10987                        }
10988                        else {
10989                            if (backtracking>0) {failed=true; return link;}
10990                            NoViableAltException nvae =
10991                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 25, input);
10992    
10993                            throw nvae;
10994                        }
10995                        }
10996                        break;
10997                    case 50:
10998                        {
10999                        switch ( input.LA(3) ) {
11000                        case 56:
11001                            {
11002                            int LA117_45 = input.LA(4);
11003    
11004                            if ( (LA117_45==73) ) {
11005                                int LA117_65 = input.LA(5);
11006    
11007                                if ( (LA117_65==54) ) {
11008                                    int LA117_84 = input.LA(6);
11009    
11010                                    if ( (LA117_84==59) ) {
11011                                        int LA117_102 = input.LA(7);
11012    
11013                                        if ( (LA117_102==51) ) {
11014                                            int LA117_115 = input.LA(8);
11015    
11016                                            if ( (LA117_115==52) ) {
11017                                                int LA117_124 = input.LA(9);
11018    
11019                                                if ( (LA117_124==49) ) {
11020                                                    int LA117_130 = input.LA(10);
11021    
11022                                                    if ( (LA117_130==52) ) {
11023                                                        int LA117_133 = input.LA(11);
11024    
11025                                                        if ( (LA117_133==44) ) {
11026                                                            int LA117_34 = input.LA(12);
11027    
11028                                                            if ( (LA117_34==PIPE||LA117_34==LINK_CLOSE) ) {
11029                                                                alt117=2;
11030                                                            }
11031                                                            else if ( ((LA117_34>=FORCED_END_OF_LINE && LA117_34<=WIKI)||(LA117_34>=POUND && LA117_34<=EQUAL)||(LA117_34>=ITAL && LA117_34<=NOWIKI_CLOSE)||(LA117_34>=IMAGE_CLOSE && LA117_34<=79)) ) {
11032                                                                alt117=1;
11033                                                            }
11034                                                            else {
11035                                                                if (backtracking>0) {failed=true; return link;}
11036                                                                NoViableAltException nvae =
11037                                                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 34, input);
11038    
11039                                                                throw nvae;
11040                                                            }
11041                                                        }
11042                                                        else if ( ((LA117_133>=FORCED_END_OF_LINE && LA117_133<=WIKI)||(LA117_133>=POUND && LA117_133<=INSIGNIFICANT_CHAR)||(LA117_133>=45 && LA117_133<=79)) ) {
11043                                                            alt117=2;
11044                                                        }
11045                                                        else {
11046                                                            if (backtracking>0) {failed=true; return link;}
11047                                                            NoViableAltException nvae =
11048                                                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 133, input);
11049    
11050                                                            throw nvae;
11051                                                        }
11052                                                    }
11053                                                    else if ( ((LA117_130>=FORCED_END_OF_LINE && LA117_130<=WIKI)||(LA117_130>=POUND && LA117_130<=51)||(LA117_130>=53 && LA117_130<=79)) ) {
11054                                                        alt117=2;
11055                                                    }
11056                                                    else {
11057                                                        if (backtracking>0) {failed=true; return link;}
11058                                                        NoViableAltException nvae =
11059                                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 130, input);
11060    
11061                                                        throw nvae;
11062                                                    }
11063                                                }
11064                                                else if ( ((LA117_124>=FORCED_END_OF_LINE && LA117_124<=WIKI)||(LA117_124>=POUND && LA117_124<=48)||(LA117_124>=50 && LA117_124<=79)) ) {
11065                                                    alt117=2;
11066                                                }
11067                                                else {
11068                                                    if (backtracking>0) {failed=true; return link;}
11069                                                    NoViableAltException nvae =
11070                                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 124, input);
11071    
11072                                                    throw nvae;
11073                                                }
11074                                            }
11075                                            else if ( ((LA117_115>=FORCED_END_OF_LINE && LA117_115<=WIKI)||(LA117_115>=POUND && LA117_115<=51)||(LA117_115>=53 && LA117_115<=79)) ) {
11076                                                alt117=2;
11077                                            }
11078                                            else {
11079                                                if (backtracking>0) {failed=true; return link;}
11080                                                NoViableAltException nvae =
11081                                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 115, input);
11082    
11083                                                throw nvae;
11084                                            }
11085                                        }
11086                                        else if ( ((LA117_102>=FORCED_END_OF_LINE && LA117_102<=WIKI)||(LA117_102>=POUND && LA117_102<=50)||(LA117_102>=52 && LA117_102<=79)) ) {
11087                                            alt117=2;
11088                                        }
11089                                        else {
11090                                            if (backtracking>0) {failed=true; return link;}
11091                                            NoViableAltException nvae =
11092                                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 102, input);
11093    
11094                                            throw nvae;
11095                                        }
11096                                    }
11097                                    else if ( ((LA117_84>=FORCED_END_OF_LINE && LA117_84<=WIKI)||(LA117_84>=POUND && LA117_84<=58)||(LA117_84>=60 && LA117_84<=79)) ) {
11098                                        alt117=2;
11099                                    }
11100                                    else {
11101                                        if (backtracking>0) {failed=true; return link;}
11102                                        NoViableAltException nvae =
11103                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 84, input);
11104    
11105                                        throw nvae;
11106                                    }
11107                                }
11108                                else if ( ((LA117_65>=FORCED_END_OF_LINE && LA117_65<=WIKI)||(LA117_65>=POUND && LA117_65<=53)||(LA117_65>=55 && LA117_65<=79)) ) {
11109                                    alt117=2;
11110                                }
11111                                else {
11112                                    if (backtracking>0) {failed=true; return link;}
11113                                    NoViableAltException nvae =
11114                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 65, input);
11115    
11116                                    throw nvae;
11117                                }
11118                            }
11119                            else if ( ((LA117_45>=FORCED_END_OF_LINE && LA117_45<=WIKI)||(LA117_45>=POUND && LA117_45<=72)||(LA117_45>=74 && LA117_45<=79)) ) {
11120                                alt117=2;
11121                            }
11122                            else {
11123                                if (backtracking>0) {failed=true; return link;}
11124                                NoViableAltException nvae =
11125                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 45, input);
11126    
11127                                throw nvae;
11128                            }
11129                            }
11130                            break;
11131                        case 49:
11132                            {
11133                            int LA117_46 = input.LA(4);
11134    
11135                            if ( (LA117_46==52) ) {
11136                                int LA117_66 = input.LA(5);
11137    
11138                                if ( (LA117_66==51) ) {
11139                                    int LA117_85 = input.LA(6);
11140    
11141                                    if ( (LA117_85==52) ) {
11142                                        int LA117_103 = input.LA(7);
11143    
11144                                        if ( (LA117_103==49) ) {
11145                                            int LA117_116 = input.LA(8);
11146    
11147                                            if ( (LA117_116==52) ) {
11148                                                int LA117_125 = input.LA(9);
11149    
11150                                                if ( (LA117_125==44) ) {
11151                                                    int LA117_34 = input.LA(10);
11152    
11153                                                    if ( (LA117_34==PIPE||LA117_34==LINK_CLOSE) ) {
11154                                                        alt117=2;
11155                                                    }
11156                                                    else if ( ((LA117_34>=FORCED_END_OF_LINE && LA117_34<=WIKI)||(LA117_34>=POUND && LA117_34<=EQUAL)||(LA117_34>=ITAL && LA117_34<=NOWIKI_CLOSE)||(LA117_34>=IMAGE_CLOSE && LA117_34<=79)) ) {
11157                                                        alt117=1;
11158                                                    }
11159                                                    else {
11160                                                        if (backtracking>0) {failed=true; return link;}
11161                                                        NoViableAltException nvae =
11162                                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 34, input);
11163    
11164                                                        throw nvae;
11165                                                    }
11166                                                }
11167                                                else if ( ((LA117_125>=FORCED_END_OF_LINE && LA117_125<=WIKI)||(LA117_125>=POUND && LA117_125<=INSIGNIFICANT_CHAR)||(LA117_125>=45 && LA117_125<=79)) ) {
11168                                                    alt117=2;
11169                                                }
11170                                                else {
11171                                                    if (backtracking>0) {failed=true; return link;}
11172                                                    NoViableAltException nvae =
11173                                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 125, input);
11174    
11175                                                    throw nvae;
11176                                                }
11177                                            }
11178                                            else if ( ((LA117_116>=FORCED_END_OF_LINE && LA117_116<=WIKI)||(LA117_116>=POUND && LA117_116<=51)||(LA117_116>=53 && LA117_116<=79)) ) {
11179                                                alt117=2;
11180                                            }
11181                                            else {
11182                                                if (backtracking>0) {failed=true; return link;}
11183                                                NoViableAltException nvae =
11184                                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 116, input);
11185    
11186                                                throw nvae;
11187                                            }
11188                                        }
11189                                        else if ( ((LA117_103>=FORCED_END_OF_LINE && LA117_103<=WIKI)||(LA117_103>=POUND && LA117_103<=48)||(LA117_103>=50 && LA117_103<=79)) ) {
11190                                            alt117=2;
11191                                        }
11192                                        else {
11193                                            if (backtracking>0) {failed=true; return link;}
11194                                            NoViableAltException nvae =
11195                                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 103, input);
11196    
11197                                            throw nvae;
11198                                        }
11199                                    }
11200                                    else if ( ((LA117_85>=FORCED_END_OF_LINE && LA117_85<=WIKI)||(LA117_85>=POUND && LA117_85<=51)||(LA117_85>=53 && LA117_85<=79)) ) {
11201                                        alt117=2;
11202                                    }
11203                                    else {
11204                                        if (backtracking>0) {failed=true; return link;}
11205                                        NoViableAltException nvae =
11206                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 85, input);
11207    
11208                                        throw nvae;
11209                                    }
11210                                }
11211                                else if ( ((LA117_66>=FORCED_END_OF_LINE && LA117_66<=WIKI)||(LA117_66>=POUND && LA117_66<=50)||(LA117_66>=52 && LA117_66<=79)) ) {
11212                                    alt117=2;
11213                                }
11214                                else {
11215                                    if (backtracking>0) {failed=true; return link;}
11216                                    NoViableAltException nvae =
11217                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 66, input);
11218    
11219                                    throw nvae;
11220                                }
11221                            }
11222                            else if ( ((LA117_46>=FORCED_END_OF_LINE && LA117_46<=WIKI)||(LA117_46>=POUND && LA117_46<=51)||(LA117_46>=53 && LA117_46<=79)) ) {
11223                                alt117=2;
11224                            }
11225                            else {
11226                                if (backtracking>0) {failed=true; return link;}
11227                                NoViableAltException nvae =
11228                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 46, input);
11229    
11230                                throw nvae;
11231                            }
11232                            }
11233                            break;
11234                        case FORCED_END_OF_LINE:
11235                        case HEADING_SECTION:
11236                        case HORIZONTAL_SECTION:
11237                        case LIST_ITEM:
11238                        case LIST_ITEM_PART:
11239                        case NOWIKI_SECTION:
11240                        case SCAPE_NODE:
11241                        case TEXT_NODE:
11242                        case UNORDERED_LIST:
11243                        case UNFORMATTED_TEXT:
11244                        case WIKI:
11245                        case POUND:
11246                        case STAR:
11247                        case EQUAL:
11248                        case PIPE:
11249                        case ITAL:
11250                        case LINK_OPEN:
11251                        case IMAGE_OPEN:
11252                        case NOWIKI_OPEN:
11253                        case EXTENSION:
11254                        case FORCED_LINEBREAK:
11255                        case ESCAPE:
11256                        case NOWIKI_BLOCK_CLOSE:
11257                        case NOWIKI_CLOSE:
11258                        case LINK_CLOSE:
11259                        case IMAGE_CLOSE:
11260                        case BLANKS:
11261                        case TABLE_OF_CONTENTS_TEXT:
11262                        case DASH:
11263                        case CR:
11264                        case LF:
11265                        case SPACE:
11266                        case TABULATOR:
11267                        case BRACE_CLOSE:
11268                        case COLON_SLASH:
11269                        case SLASH:
11270                        case TABLE_OF_CONTENTS_OPEN_MARKUP:
11271                        case TABLE_OF_CONTENTS_CLOSE_MARKUP:
11272                        case INSIGNIFICANT_CHAR:
11273                        case 44:
11274                        case 45:
11275                        case 46:
11276                        case 47:
11277                        case 48:
11278                        case 50:
11279                        case 51:
11280                        case 52:
11281                        case 53:
11282                        case 54:
11283                        case 55:
11284                        case 57:
11285                        case 58:
11286                        case 59:
11287                        case 60:
11288                        case 61:
11289                        case 62:
11290                        case 63:
11291                        case 64:
11292                        case 65:
11293                        case 66:
11294                        case 67:
11295                        case 68:
11296                        case 69:
11297                        case 70:
11298                        case 71:
11299                        case 72:
11300                        case 73:
11301                        case 74:
11302                        case 75:
11303                        case 76:
11304                        case 77:
11305                        case 78:
11306                        case 79:
11307                            {
11308                            alt117=2;
11309                            }
11310                            break;
11311                        default:
11312                            if (backtracking>0) {failed=true; return link;}
11313                            NoViableAltException nvae =
11314                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 26, input);
11315    
11316                            throw nvae;
11317                        }
11318    
11319                        }
11320                        break;
11321                    case FORCED_END_OF_LINE:
11322                    case HEADING_SECTION:
11323                    case HORIZONTAL_SECTION:
11324                    case LIST_ITEM:
11325                    case LIST_ITEM_PART:
11326                    case NOWIKI_SECTION:
11327                    case SCAPE_NODE:
11328                    case TEXT_NODE:
11329                    case UNORDERED_LIST:
11330                    case UNFORMATTED_TEXT:
11331                    case WIKI:
11332                    case POUND:
11333                    case STAR:
11334                    case EQUAL:
11335                    case PIPE:
11336                    case ITAL:
11337                    case LINK_OPEN:
11338                    case IMAGE_OPEN:
11339                    case NOWIKI_OPEN:
11340                    case EXTENSION:
11341                    case FORCED_LINEBREAK:
11342                    case ESCAPE:
11343                    case NOWIKI_BLOCK_CLOSE:
11344                    case NOWIKI_CLOSE:
11345                    case LINK_CLOSE:
11346                    case IMAGE_CLOSE:
11347                    case BLANKS:
11348                    case TABLE_OF_CONTENTS_TEXT:
11349                    case DASH:
11350                    case CR:
11351                    case LF:
11352                    case SPACE:
11353                    case TABULATOR:
11354                    case BRACE_CLOSE:
11355                    case COLON_SLASH:
11356                    case SLASH:
11357                    case TABLE_OF_CONTENTS_OPEN_MARKUP:
11358                    case TABLE_OF_CONTENTS_CLOSE_MARKUP:
11359                    case INSIGNIFICANT_CHAR:
11360                    case 44:
11361                    case 45:
11362                    case 46:
11363                    case 47:
11364                    case 48:
11365                    case 49:
11366                    case 51:
11367                    case 52:
11368                    case 53:
11369                    case 54:
11370                    case 55:
11371                    case 56:
11372                    case 57:
11373                    case 58:
11374                    case 59:
11375                    case 60:
11376                    case 61:
11377                    case 62:
11378                    case 63:
11379                    case 64:
11380                    case 65:
11381                    case 66:
11382                    case 67:
11383                    case 68:
11384                    case 69:
11385                    case 71:
11386                    case 72:
11387                    case 73:
11388                    case 74:
11389                    case 75:
11390                    case 76:
11391                    case 77:
11392                    case 78:
11393                    case 79:
11394                        {
11395                        alt117=2;
11396                        }
11397                        break;
11398                    default:
11399                        if (backtracking>0) {failed=true; return link;}
11400                        NoViableAltException nvae =
11401                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 8, input);
11402    
11403                        throw nvae;
11404                    }
11405    
11406                    }
11407                    break;
11408                case 74:
11409                    {
11410                    int LA117_9 = input.LA(2);
11411    
11412                    if ( (LA117_9==64) ) {
11413                        int LA117_27 = input.LA(3);
11414    
11415                        if ( (LA117_27==67) ) {
11416                            int LA117_47 = input.LA(4);
11417    
11418                            if ( (LA117_47==59) ) {
11419                                int LA117_67 = input.LA(5);
11420    
11421                                if ( (LA117_67==48) ) {
11422                                    int LA117_86 = input.LA(6);
11423    
11424                                    if ( (LA117_86==75) ) {
11425                                        int LA117_104 = input.LA(7);
11426    
11427                                        if ( (LA117_104==44) ) {
11428                                            int LA117_34 = input.LA(8);
11429    
11430                                            if ( (LA117_34==PIPE||LA117_34==LINK_CLOSE) ) {
11431                                                alt117=2;
11432                                            }
11433                                            else if ( ((LA117_34>=FORCED_END_OF_LINE && LA117_34<=WIKI)||(LA117_34>=POUND && LA117_34<=EQUAL)||(LA117_34>=ITAL && LA117_34<=NOWIKI_CLOSE)||(LA117_34>=IMAGE_CLOSE && LA117_34<=79)) ) {
11434                                                alt117=1;
11435                                            }
11436                                            else {
11437                                                if (backtracking>0) {failed=true; return link;}
11438                                                NoViableAltException nvae =
11439                                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 34, input);
11440    
11441                                                throw nvae;
11442                                            }
11443                                        }
11444                                        else if ( ((LA117_104>=FORCED_END_OF_LINE && LA117_104<=WIKI)||(LA117_104>=POUND && LA117_104<=INSIGNIFICANT_CHAR)||(LA117_104>=45 && LA117_104<=79)) ) {
11445                                            alt117=2;
11446                                        }
11447                                        else {
11448                                            if (backtracking>0) {failed=true; return link;}
11449                                            NoViableAltException nvae =
11450                                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 104, input);
11451    
11452                                            throw nvae;
11453                                        }
11454                                    }
11455                                    else if ( ((LA117_86>=FORCED_END_OF_LINE && LA117_86<=WIKI)||(LA117_86>=POUND && LA117_86<=74)||(LA117_86>=76 && LA117_86<=79)) ) {
11456                                        alt117=2;
11457                                    }
11458                                    else {
11459                                        if (backtracking>0) {failed=true; return link;}
11460                                        NoViableAltException nvae =
11461                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 86, input);
11462    
11463                                        throw nvae;
11464                                    }
11465                                }
11466                                else if ( ((LA117_67>=FORCED_END_OF_LINE && LA117_67<=WIKI)||(LA117_67>=POUND && LA117_67<=47)||(LA117_67>=49 && LA117_67<=79)) ) {
11467                                    alt117=2;
11468                                }
11469                                else {
11470                                    if (backtracking>0) {failed=true; return link;}
11471                                    NoViableAltException nvae =
11472                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 67, input);
11473    
11474                                    throw nvae;
11475                                }
11476                            }
11477                            else if ( ((LA117_47>=FORCED_END_OF_LINE && LA117_47<=WIKI)||(LA117_47>=POUND && LA117_47<=58)||(LA117_47>=60 && LA117_47<=79)) ) {
11478                                alt117=2;
11479                            }
11480                            else {
11481                                if (backtracking>0) {failed=true; return link;}
11482                                NoViableAltException nvae =
11483                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 47, input);
11484    
11485                                throw nvae;
11486                            }
11487                        }
11488                        else if ( ((LA117_27>=FORCED_END_OF_LINE && LA117_27<=WIKI)||(LA117_27>=POUND && LA117_27<=66)||(LA117_27>=68 && LA117_27<=79)) ) {
11489                            alt117=2;
11490                        }
11491                        else {
11492                            if (backtracking>0) {failed=true; return link;}
11493                            NoViableAltException nvae =
11494                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 27, input);
11495    
11496                            throw nvae;
11497                        }
11498                    }
11499                    else if ( ((LA117_9>=FORCED_END_OF_LINE && LA117_9<=WIKI)||(LA117_9>=POUND && LA117_9<=63)||(LA117_9>=65 && LA117_9<=79)) ) {
11500                        alt117=2;
11501                    }
11502                    else {
11503                        if (backtracking>0) {failed=true; return link;}
11504                        NoViableAltException nvae =
11505                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 9, input);
11506    
11507                        throw nvae;
11508                    }
11509                    }
11510                    break;
11511                case 61:
11512                    {
11513                    int LA117_10 = input.LA(2);
11514    
11515                    if ( (LA117_10==68) ) {
11516                        int LA117_28 = input.LA(3);
11517    
11518                        if ( (LA117_28==52) ) {
11519                            int LA117_48 = input.LA(4);
11520    
11521                            if ( (LA117_48==73) ) {
11522                                int LA117_68 = input.LA(5);
11523    
11524                                if ( (LA117_68==61) ) {
11525                                    int LA117_87 = input.LA(6);
11526    
11527                                    if ( (LA117_87==68) ) {
11528                                        int LA117_105 = input.LA(7);
11529    
11530                                        if ( (LA117_105==64) ) {
11531                                            int LA117_117 = input.LA(8);
11532    
11533                                            if ( (LA117_117==73) ) {
11534                                                int LA117_126 = input.LA(9);
11535    
11536                                                if ( (LA117_126==44) ) {
11537                                                    int LA117_34 = input.LA(10);
11538    
11539                                                    if ( (LA117_34==PIPE||LA117_34==LINK_CLOSE) ) {
11540                                                        alt117=2;
11541                                                    }
11542                                                    else if ( ((LA117_34>=FORCED_END_OF_LINE && LA117_34<=WIKI)||(LA117_34>=POUND && LA117_34<=EQUAL)||(LA117_34>=ITAL && LA117_34<=NOWIKI_CLOSE)||(LA117_34>=IMAGE_CLOSE && LA117_34<=79)) ) {
11543                                                        alt117=1;
11544                                                    }
11545                                                    else {
11546                                                        if (backtracking>0) {failed=true; return link;}
11547                                                        NoViableAltException nvae =
11548                                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 34, input);
11549    
11550                                                        throw nvae;
11551                                                    }
11552                                                }
11553                                                else if ( ((LA117_126>=FORCED_END_OF_LINE && LA117_126<=WIKI)||(LA117_126>=POUND && LA117_126<=INSIGNIFICANT_CHAR)||(LA117_126>=45 && LA117_126<=79)) ) {
11554                                                    alt117=2;
11555                                                }
11556                                                else {
11557                                                    if (backtracking>0) {failed=true; return link;}
11558                                                    NoViableAltException nvae =
11559                                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 126, input);
11560    
11561                                                    throw nvae;
11562                                                }
11563                                            }
11564                                            else if ( ((LA117_117>=FORCED_END_OF_LINE && LA117_117<=WIKI)||(LA117_117>=POUND && LA117_117<=72)||(LA117_117>=74 && LA117_117<=79)) ) {
11565                                                alt117=2;
11566                                            }
11567                                            else {
11568                                                if (backtracking>0) {failed=true; return link;}
11569                                                NoViableAltException nvae =
11570                                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 117, input);
11571    
11572                                                throw nvae;
11573                                            }
11574                                        }
11575                                        else if ( ((LA117_105>=FORCED_END_OF_LINE && LA117_105<=WIKI)||(LA117_105>=POUND && LA117_105<=63)||(LA117_105>=65 && LA117_105<=79)) ) {
11576                                            alt117=2;
11577                                        }
11578                                        else {
11579                                            if (backtracking>0) {failed=true; return link;}
11580                                            NoViableAltException nvae =
11581                                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 105, input);
11582    
11583                                            throw nvae;
11584                                        }
11585                                    }
11586                                    else if ( ((LA117_87>=FORCED_END_OF_LINE && LA117_87<=WIKI)||(LA117_87>=POUND && LA117_87<=67)||(LA117_87>=69 && LA117_87<=79)) ) {
11587                                        alt117=2;
11588                                    }
11589                                    else {
11590                                        if (backtracking>0) {failed=true; return link;}
11591                                        NoViableAltException nvae =
11592                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 87, input);
11593    
11594                                        throw nvae;
11595                                    }
11596                                }
11597                                else if ( ((LA117_68>=FORCED_END_OF_LINE && LA117_68<=WIKI)||(LA117_68>=POUND && LA117_68<=60)||(LA117_68>=62 && LA117_68<=79)) ) {
11598                                    alt117=2;
11599                                }
11600                                else {
11601                                    if (backtracking>0) {failed=true; return link;}
11602                                    NoViableAltException nvae =
11603                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 68, input);
11604    
11605                                    throw nvae;
11606                                }
11607                            }
11608                            else if ( ((LA117_48>=FORCED_END_OF_LINE && LA117_48<=WIKI)||(LA117_48>=POUND && LA117_48<=72)||(LA117_48>=74 && LA117_48<=79)) ) {
11609                                alt117=2;
11610                            }
11611                            else {
11612                                if (backtracking>0) {failed=true; return link;}
11613                                NoViableAltException nvae =
11614                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 48, input);
11615    
11616                                throw nvae;
11617                            }
11618                        }
11619                        else if ( ((LA117_28>=FORCED_END_OF_LINE && LA117_28<=WIKI)||(LA117_28>=POUND && LA117_28<=51)||(LA117_28>=53 && LA117_28<=79)) ) {
11620                            alt117=2;
11621                        }
11622                        else {
11623                            if (backtracking>0) {failed=true; return link;}
11624                            NoViableAltException nvae =
11625                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 28, input);
11626    
11627                            throw nvae;
11628                        }
11629                    }
11630                    else if ( ((LA117_10>=FORCED_END_OF_LINE && LA117_10<=WIKI)||(LA117_10>=POUND && LA117_10<=67)||(LA117_10>=69 && LA117_10<=79)) ) {
11631                        alt117=2;
11632                    }
11633                    else {
11634                        if (backtracking>0) {failed=true; return link;}
11635                        NoViableAltException nvae =
11636                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 10, input);
11637    
11638                        throw nvae;
11639                    }
11640                    }
11641                    break;
11642                case 76:
11643                    {
11644                    switch ( input.LA(2) ) {
11645                    case 51:
11646                        {
11647                        int LA117_29 = input.LA(3);
11648    
11649                        if ( (LA117_29==52) ) {
11650                            int LA117_49 = input.LA(4);
11651    
11652                            if ( (LA117_49==49) ) {
11653                                int LA117_69 = input.LA(5);
11654    
11655                                if ( (LA117_69==52) ) {
11656                                    int LA117_88 = input.LA(6);
11657    
11658                                    if ( (LA117_88==44) ) {
11659                                        int LA117_34 = input.LA(7);
11660    
11661                                        if ( (LA117_34==PIPE||LA117_34==LINK_CLOSE) ) {
11662                                            alt117=2;
11663                                        }
11664                                        else if ( ((LA117_34>=FORCED_END_OF_LINE && LA117_34<=WIKI)||(LA117_34>=POUND && LA117_34<=EQUAL)||(LA117_34>=ITAL && LA117_34<=NOWIKI_CLOSE)||(LA117_34>=IMAGE_CLOSE && LA117_34<=79)) ) {
11665                                            alt117=1;
11666                                        }
11667                                        else {
11668                                            if (backtracking>0) {failed=true; return link;}
11669                                            NoViableAltException nvae =
11670                                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 34, input);
11671    
11672                                            throw nvae;
11673                                        }
11674                                    }
11675                                    else if ( ((LA117_88>=FORCED_END_OF_LINE && LA117_88<=WIKI)||(LA117_88>=POUND && LA117_88<=INSIGNIFICANT_CHAR)||(LA117_88>=45 && LA117_88<=79)) ) {
11676                                        alt117=2;
11677                                    }
11678                                    else {
11679                                        if (backtracking>0) {failed=true; return link;}
11680                                        NoViableAltException nvae =
11681                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 88, input);
11682    
11683                                        throw nvae;
11684                                    }
11685                                }
11686                                else if ( ((LA117_69>=FORCED_END_OF_LINE && LA117_69<=WIKI)||(LA117_69>=POUND && LA117_69<=51)||(LA117_69>=53 && LA117_69<=79)) ) {
11687                                    alt117=2;
11688                                }
11689                                else {
11690                                    if (backtracking>0) {failed=true; return link;}
11691                                    NoViableAltException nvae =
11692                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 69, input);
11693    
11694                                    throw nvae;
11695                                }
11696                            }
11697                            else if ( ((LA117_49>=FORCED_END_OF_LINE && LA117_49<=WIKI)||(LA117_49>=POUND && LA117_49<=48)||(LA117_49>=50 && LA117_49<=79)) ) {
11698                                alt117=2;
11699                            }
11700                            else {
11701                                if (backtracking>0) {failed=true; return link;}
11702                                NoViableAltException nvae =
11703                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 49, input);
11704    
11705                                throw nvae;
11706                            }
11707                        }
11708                        else if ( ((LA117_29>=FORCED_END_OF_LINE && LA117_29<=WIKI)||(LA117_29>=POUND && LA117_29<=51)||(LA117_29>=53 && LA117_29<=79)) ) {
11709                            alt117=2;
11710                        }
11711                        else {
11712                            if (backtracking>0) {failed=true; return link;}
11713                            NoViableAltException nvae =
11714                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 29, input);
11715    
11716                            throw nvae;
11717                        }
11718                        }
11719                        break;
11720                    case 52:
11721                        {
11722                        int LA117_30 = input.LA(3);
11723    
11724                        if ( (LA117_30==67) ) {
11725                            int LA117_50 = input.LA(4);
11726    
11727                            if ( (LA117_50==67) ) {
11728                                int LA117_70 = input.LA(5);
11729    
11730                                if ( (LA117_70==54) ) {
11731                                    int LA117_89 = input.LA(6);
11732    
11733                                    if ( (LA117_89==77) ) {
11734                                        int LA117_106 = input.LA(7);
11735    
11736                                        if ( (LA117_106==51) ) {
11737                                            int LA117_118 = input.LA(8);
11738    
11739                                            if ( (LA117_118==52) ) {
11740                                                int LA117_127 = input.LA(9);
11741    
11742                                                if ( (LA117_127==49) ) {
11743                                                    int LA117_131 = input.LA(10);
11744    
11745                                                    if ( (LA117_131==52) ) {
11746                                                        int LA117_134 = input.LA(11);
11747    
11748                                                        if ( (LA117_134==44) ) {
11749                                                            int LA117_34 = input.LA(12);
11750    
11751                                                            if ( (LA117_34==PIPE||LA117_34==LINK_CLOSE) ) {
11752                                                                alt117=2;
11753                                                            }
11754                                                            else if ( ((LA117_34>=FORCED_END_OF_LINE && LA117_34<=WIKI)||(LA117_34>=POUND && LA117_34<=EQUAL)||(LA117_34>=ITAL && LA117_34<=NOWIKI_CLOSE)||(LA117_34>=IMAGE_CLOSE && LA117_34<=79)) ) {
11755                                                                alt117=1;
11756                                                            }
11757                                                            else {
11758                                                                if (backtracking>0) {failed=true; return link;}
11759                                                                NoViableAltException nvae =
11760                                                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 34, input);
11761    
11762                                                                throw nvae;
11763                                                            }
11764                                                        }
11765                                                        else if ( ((LA117_134>=FORCED_END_OF_LINE && LA117_134<=WIKI)||(LA117_134>=POUND && LA117_134<=INSIGNIFICANT_CHAR)||(LA117_134>=45 && LA117_134<=79)) ) {
11766                                                            alt117=2;
11767                                                        }
11768                                                        else {
11769                                                            if (backtracking>0) {failed=true; return link;}
11770                                                            NoViableAltException nvae =
11771                                                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 134, input);
11772    
11773                                                            throw nvae;
11774                                                        }
11775                                                    }
11776                                                    else if ( ((LA117_131>=FORCED_END_OF_LINE && LA117_131<=WIKI)||(LA117_131>=POUND && LA117_131<=51)||(LA117_131>=53 && LA117_131<=79)) ) {
11777                                                        alt117=2;
11778                                                    }
11779                                                    else {
11780                                                        if (backtracking>0) {failed=true; return link;}
11781                                                        NoViableAltException nvae =
11782                                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 131, input);
11783    
11784                                                        throw nvae;
11785                                                    }
11786                                                }
11787                                                else if ( ((LA117_127>=FORCED_END_OF_LINE && LA117_127<=WIKI)||(LA117_127>=POUND && LA117_127<=48)||(LA117_127>=50 && LA117_127<=79)) ) {
11788                                                    alt117=2;
11789                                                }
11790                                                else {
11791                                                    if (backtracking>0) {failed=true; return link;}
11792                                                    NoViableAltException nvae =
11793                                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 127, input);
11794    
11795                                                    throw nvae;
11796                                                }
11797                                            }
11798                                            else if ( ((LA117_118>=FORCED_END_OF_LINE && LA117_118<=WIKI)||(LA117_118>=POUND && LA117_118<=51)||(LA117_118>=53 && LA117_118<=79)) ) {
11799                                                alt117=2;
11800                                            }
11801                                            else {
11802                                                if (backtracking>0) {failed=true; return link;}
11803                                                NoViableAltException nvae =
11804                                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 118, input);
11805    
11806                                                throw nvae;
11807                                            }
11808                                        }
11809                                        else if ( ((LA117_106>=FORCED_END_OF_LINE && LA117_106<=WIKI)||(LA117_106>=POUND && LA117_106<=50)||(LA117_106>=52 && LA117_106<=79)) ) {
11810                                            alt117=2;
11811                                        }
11812                                        else {
11813                                            if (backtracking>0) {failed=true; return link;}
11814                                            NoViableAltException nvae =
11815                                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 106, input);
11816    
11817                                            throw nvae;
11818                                        }
11819                                    }
11820                                    else if ( ((LA117_89>=FORCED_END_OF_LINE && LA117_89<=WIKI)||(LA117_89>=POUND && LA117_89<=76)||(LA117_89>=78 && LA117_89<=79)) ) {
11821                                        alt117=2;
11822                                    }
11823                                    else {
11824                                        if (backtracking>0) {failed=true; return link;}
11825                                        NoViableAltException nvae =
11826                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 89, input);
11827    
11828                                        throw nvae;
11829                                    }
11830                                }
11831                                else if ( ((LA117_70>=FORCED_END_OF_LINE && LA117_70<=WIKI)||(LA117_70>=POUND && LA117_70<=53)||(LA117_70>=55 && LA117_70<=79)) ) {
11832                                    alt117=2;
11833                                }
11834                                else {
11835                                    if (backtracking>0) {failed=true; return link;}
11836                                    NoViableAltException nvae =
11837                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 70, input);
11838    
11839                                    throw nvae;
11840                                }
11841                            }
11842                            else if ( ((LA117_50>=FORCED_END_OF_LINE && LA117_50<=WIKI)||(LA117_50>=POUND && LA117_50<=66)||(LA117_50>=68 && LA117_50<=79)) ) {
11843                                alt117=2;
11844                            }
11845                            else {
11846                                if (backtracking>0) {failed=true; return link;}
11847                                NoViableAltException nvae =
11848                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 50, input);
11849    
11850                                throw nvae;
11851                            }
11852                        }
11853                        else if ( ((LA117_30>=FORCED_END_OF_LINE && LA117_30<=WIKI)||(LA117_30>=POUND && LA117_30<=66)||(LA117_30>=68 && LA117_30<=79)) ) {
11854                            alt117=2;
11855                        }
11856                        else {
11857                            if (backtracking>0) {failed=true; return link;}
11858                            NoViableAltException nvae =
11859                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 30, input);
11860    
11861                            throw nvae;
11862                        }
11863                        }
11864                        break;
11865                    case FORCED_END_OF_LINE:
11866                    case HEADING_SECTION:
11867                    case HORIZONTAL_SECTION:
11868                    case LIST_ITEM:
11869                    case LIST_ITEM_PART:
11870                    case NOWIKI_SECTION:
11871                    case SCAPE_NODE:
11872                    case TEXT_NODE:
11873                    case UNORDERED_LIST:
11874                    case UNFORMATTED_TEXT:
11875                    case WIKI:
11876                    case POUND:
11877                    case STAR:
11878                    case EQUAL:
11879                    case PIPE:
11880                    case ITAL:
11881                    case LINK_OPEN:
11882                    case IMAGE_OPEN:
11883                    case NOWIKI_OPEN:
11884                    case EXTENSION:
11885                    case FORCED_LINEBREAK:
11886                    case ESCAPE:
11887                    case NOWIKI_BLOCK_CLOSE:
11888                    case NOWIKI_CLOSE:
11889                    case LINK_CLOSE:
11890                    case IMAGE_CLOSE:
11891                    case BLANKS:
11892                    case TABLE_OF_CONTENTS_TEXT:
11893                    case DASH:
11894                    case CR:
11895                    case LF:
11896                    case SPACE:
11897                    case TABULATOR:
11898                    case BRACE_CLOSE:
11899                    case COLON_SLASH:
11900                    case SLASH:
11901                    case TABLE_OF_CONTENTS_OPEN_MARKUP:
11902                    case TABLE_OF_CONTENTS_CLOSE_MARKUP:
11903                    case INSIGNIFICANT_CHAR:
11904                    case 44:
11905                    case 45:
11906                    case 46:
11907                    case 47:
11908                    case 48:
11909                    case 49:
11910                    case 50:
11911                    case 53:
11912                    case 54:
11913                    case 55:
11914                    case 56:
11915                    case 57:
11916                    case 58:
11917                    case 59:
11918                    case 60:
11919                    case 61:
11920                    case 62:
11921                    case 63:
11922                    case 64:
11923                    case 65:
11924                    case 66:
11925                    case 67:
11926                    case 68:
11927                    case 69:
11928                    case 70:
11929                    case 71:
11930                    case 72:
11931                    case 73:
11932                    case 74:
11933                    case 75:
11934                    case 76:
11935                    case 77:
11936                    case 78:
11937                    case 79:
11938                        {
11939                        alt117=2;
11940                        }
11941                        break;
11942                    default:
11943                        if (backtracking>0) {failed=true; return link;}
11944                        NoViableAltException nvae =
11945                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 11, input);
11946    
11947                        throw nvae;
11948                    }
11949    
11950                    }
11951                    break;
11952                case 78:
11953                    {
11954                    int LA117_12 = input.LA(2);
11955    
11956                    if ( (LA117_12==71) ) {
11957                        int LA117_31 = input.LA(3);
11958    
11959                        if ( (LA117_31==59) ) {
11960                            int LA117_51 = input.LA(4);
11961    
11962                            if ( (LA117_51==70) ) {
11963                                int LA117_71 = input.LA(5);
11964    
11965                                if ( (LA117_71==48) ) {
11966                                    int LA117_90 = input.LA(6);
11967    
11968                                    if ( (LA117_90==67) ) {
11969                                        int LA117_107 = input.LA(7);
11970    
11971                                        if ( (LA117_107==44) ) {
11972                                            int LA117_34 = input.LA(8);
11973    
11974                                            if ( (LA117_34==PIPE||LA117_34==LINK_CLOSE) ) {
11975                                                alt117=2;
11976                                            }
11977                                            else if ( ((LA117_34>=FORCED_END_OF_LINE && LA117_34<=WIKI)||(LA117_34>=POUND && LA117_34<=EQUAL)||(LA117_34>=ITAL && LA117_34<=NOWIKI_CLOSE)||(LA117_34>=IMAGE_CLOSE && LA117_34<=79)) ) {
11978                                                alt117=1;
11979                                            }
11980                                            else {
11981                                                if (backtracking>0) {failed=true; return link;}
11982                                                NoViableAltException nvae =
11983                                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 34, input);
11984    
11985                                                throw nvae;
11986                                            }
11987                                        }
11988                                        else if ( ((LA117_107>=FORCED_END_OF_LINE && LA117_107<=WIKI)||(LA117_107>=POUND && LA117_107<=INSIGNIFICANT_CHAR)||(LA117_107>=45 && LA117_107<=79)) ) {
11989                                            alt117=2;
11990                                        }
11991                                        else {
11992                                            if (backtracking>0) {failed=true; return link;}
11993                                            NoViableAltException nvae =
11994                                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 107, input);
11995    
11996                                            throw nvae;
11997                                        }
11998                                    }
11999                                    else if ( ((LA117_90>=FORCED_END_OF_LINE && LA117_90<=WIKI)||(LA117_90>=POUND && LA117_90<=66)||(LA117_90>=68 && LA117_90<=79)) ) {
12000                                        alt117=2;
12001                                    }
12002                                    else {
12003                                        if (backtracking>0) {failed=true; return link;}
12004                                        NoViableAltException nvae =
12005                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 90, input);
12006    
12007                                        throw nvae;
12008                                    }
12009                                }
12010                                else if ( ((LA117_71>=FORCED_END_OF_LINE && LA117_71<=WIKI)||(LA117_71>=POUND && LA117_71<=47)||(LA117_71>=49 && LA117_71<=79)) ) {
12011                                    alt117=2;
12012                                }
12013                                else {
12014                                    if (backtracking>0) {failed=true; return link;}
12015                                    NoViableAltException nvae =
12016                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 71, input);
12017    
12018                                    throw nvae;
12019                                }
12020                            }
12021                            else if ( ((LA117_51>=FORCED_END_OF_LINE && LA117_51<=WIKI)||(LA117_51>=POUND && LA117_51<=69)||(LA117_51>=71 && LA117_51<=79)) ) {
12022                                alt117=2;
12023                            }
12024                            else {
12025                                if (backtracking>0) {failed=true; return link;}
12026                                NoViableAltException nvae =
12027                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 51, input);
12028    
12029                                throw nvae;
12030                            }
12031                        }
12032                        else if ( ((LA117_31>=FORCED_END_OF_LINE && LA117_31<=WIKI)||(LA117_31>=POUND && LA117_31<=58)||(LA117_31>=60 && LA117_31<=79)) ) {
12033                            alt117=2;
12034                        }
12035                        else {
12036                            if (backtracking>0) {failed=true; return link;}
12037                            NoViableAltException nvae =
12038                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 31, input);
12039    
12040                            throw nvae;
12041                        }
12042                    }
12043                    else if ( ((LA117_12>=FORCED_END_OF_LINE && LA117_12<=WIKI)||(LA117_12>=POUND && LA117_12<=70)||(LA117_12>=72 && LA117_12<=79)) ) {
12044                        alt117=2;
12045                    }
12046                    else {
12047                        if (backtracking>0) {failed=true; return link;}
12048                        NoViableAltException nvae =
12049                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 12, input);
12050    
12051                        throw nvae;
12052                    }
12053                    }
12054                    break;
12055                case 51:
12056                    {
12057                    int LA117_13 = input.LA(2);
12058    
12059                    if ( (LA117_13==52) ) {
12060                        int LA117_32 = input.LA(3);
12061    
12062                        if ( (LA117_32==49) ) {
12063                            int LA117_52 = input.LA(4);
12064    
12065                            if ( (LA117_52==52) ) {
12066                                int LA117_72 = input.LA(5);
12067    
12068                                if ( (LA117_72==73) ) {
12069                                    int LA117_91 = input.LA(6);
12070    
12071                                    if ( (LA117_91==59) ) {
12072                                        int LA117_108 = input.LA(7);
12073    
12074                                        if ( (LA117_108==67) ) {
12075                                            int LA117_119 = input.LA(8);
12076    
12077                                            if ( (LA117_119==52) ) {
12078                                                int LA117_128 = input.LA(9);
12079    
12080                                                if ( (LA117_128==64) ) {
12081                                                    int LA117_132 = input.LA(10);
12082    
12083                                                    if ( (LA117_132==44) ) {
12084                                                        int LA117_34 = input.LA(11);
12085    
12086                                                        if ( (LA117_34==PIPE||LA117_34==LINK_CLOSE) ) {
12087                                                            alt117=2;
12088                                                        }
12089                                                        else if ( ((LA117_34>=FORCED_END_OF_LINE && LA117_34<=WIKI)||(LA117_34>=POUND && LA117_34<=EQUAL)||(LA117_34>=ITAL && LA117_34<=NOWIKI_CLOSE)||(LA117_34>=IMAGE_CLOSE && LA117_34<=79)) ) {
12090                                                            alt117=1;
12091                                                        }
12092                                                        else {
12093                                                            if (backtracking>0) {failed=true; return link;}
12094                                                            NoViableAltException nvae =
12095                                                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 34, input);
12096    
12097                                                            throw nvae;
12098                                                        }
12099                                                    }
12100                                                    else if ( ((LA117_132>=FORCED_END_OF_LINE && LA117_132<=WIKI)||(LA117_132>=POUND && LA117_132<=INSIGNIFICANT_CHAR)||(LA117_132>=45 && LA117_132<=79)) ) {
12101                                                        alt117=2;
12102                                                    }
12103                                                    else {
12104                                                        if (backtracking>0) {failed=true; return link;}
12105                                                        NoViableAltException nvae =
12106                                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 132, input);
12107    
12108                                                        throw nvae;
12109                                                    }
12110                                                }
12111                                                else if ( ((LA117_128>=FORCED_END_OF_LINE && LA117_128<=WIKI)||(LA117_128>=POUND && LA117_128<=63)||(LA117_128>=65 && LA117_128<=79)) ) {
12112                                                    alt117=2;
12113                                                }
12114                                                else {
12115                                                    if (backtracking>0) {failed=true; return link;}
12116                                                    NoViableAltException nvae =
12117                                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 128, input);
12118    
12119                                                    throw nvae;
12120                                                }
12121                                            }
12122                                            else if ( ((LA117_119>=FORCED_END_OF_LINE && LA117_119<=WIKI)||(LA117_119>=POUND && LA117_119<=51)||(LA117_119>=53 && LA117_119<=79)) ) {
12123                                                alt117=2;
12124                                            }
12125                                            else {
12126                                                if (backtracking>0) {failed=true; return link;}
12127                                                NoViableAltException nvae =
12128                                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 119, input);
12129    
12130                                                throw nvae;
12131                                            }
12132                                        }
12133                                        else if ( ((LA117_108>=FORCED_END_OF_LINE && LA117_108<=WIKI)||(LA117_108>=POUND && LA117_108<=66)||(LA117_108>=68 && LA117_108<=79)) ) {
12134                                            alt117=2;
12135                                        }
12136                                        else {
12137                                            if (backtracking>0) {failed=true; return link;}
12138                                            NoViableAltException nvae =
12139                                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 108, input);
12140    
12141                                            throw nvae;
12142                                        }
12143                                    }
12144                                    else if ( ((LA117_91>=FORCED_END_OF_LINE && LA117_91<=WIKI)||(LA117_91>=POUND && LA117_91<=58)||(LA117_91>=60 && LA117_91<=79)) ) {
12145                                        alt117=2;
12146                                    }
12147                                    else {
12148                                        if (backtracking>0) {failed=true; return link;}
12149                                        NoViableAltException nvae =
12150                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 91, input);
12151    
12152                                        throw nvae;
12153                                    }
12154                                }
12155                                else if ( ((LA117_72>=FORCED_END_OF_LINE && LA117_72<=WIKI)||(LA117_72>=POUND && LA117_72<=72)||(LA117_72>=74 && LA117_72<=79)) ) {
12156                                    alt117=2;
12157                                }
12158                                else {
12159                                    if (backtracking>0) {failed=true; return link;}
12160                                    NoViableAltException nvae =
12161                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 72, input);
12162    
12163                                    throw nvae;
12164                                }
12165                            }
12166                            else if ( ((LA117_52>=FORCED_END_OF_LINE && LA117_52<=WIKI)||(LA117_52>=POUND && LA117_52<=51)||(LA117_52>=53 && LA117_52<=79)) ) {
12167                                alt117=2;
12168                            }
12169                            else {
12170                                if (backtracking>0) {failed=true; return link;}
12171                                NoViableAltException nvae =
12172                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 52, input);
12173    
12174                                throw nvae;
12175                            }
12176                        }
12177                        else if ( ((LA117_32>=FORCED_END_OF_LINE && LA117_32<=WIKI)||(LA117_32>=POUND && LA117_32<=48)||(LA117_32>=50 && LA117_32<=79)) ) {
12178                            alt117=2;
12179                        }
12180                        else {
12181                            if (backtracking>0) {failed=true; return link;}
12182                            NoViableAltException nvae =
12183                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 32, input);
12184    
12185                            throw nvae;
12186                        }
12187                    }
12188                    else if ( ((LA117_13>=FORCED_END_OF_LINE && LA117_13<=WIKI)||(LA117_13>=POUND && LA117_13<=51)||(LA117_13>=53 && LA117_13<=79)) ) {
12189                        alt117=2;
12190                    }
12191                    else {
12192                        if (backtracking>0) {failed=true; return link;}
12193                        NoViableAltException nvae =
12194                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 13, input);
12195    
12196                        throw nvae;
12197                    }
12198                    }
12199                    break;
12200                case 79:
12201                    {
12202                    int LA117_14 = input.LA(2);
12203    
12204                    if ( (LA117_14==51) ) {
12205                        int LA117_33 = input.LA(3);
12206    
12207                        if ( (LA117_33==52) ) {
12208                            int LA117_53 = input.LA(4);
12209    
12210                            if ( (LA117_53==49) ) {
12211                                int LA117_73 = input.LA(5);
12212    
12213                                if ( (LA117_73==52) ) {
12214                                    int LA117_92 = input.LA(6);
12215    
12216                                    if ( (LA117_92==44) ) {
12217                                        int LA117_34 = input.LA(7);
12218    
12219                                        if ( (LA117_34==PIPE||LA117_34==LINK_CLOSE) ) {
12220                                            alt117=2;
12221                                        }
12222                                        else if ( ((LA117_34>=FORCED_END_OF_LINE && LA117_34<=WIKI)||(LA117_34>=POUND && LA117_34<=EQUAL)||(LA117_34>=ITAL && LA117_34<=NOWIKI_CLOSE)||(LA117_34>=IMAGE_CLOSE && LA117_34<=79)) ) {
12223                                            alt117=1;
12224                                        }
12225                                        else {
12226                                            if (backtracking>0) {failed=true; return link;}
12227                                            NoViableAltException nvae =
12228                                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 34, input);
12229    
12230                                            throw nvae;
12231                                        }
12232                                    }
12233                                    else if ( ((LA117_92>=FORCED_END_OF_LINE && LA117_92<=WIKI)||(LA117_92>=POUND && LA117_92<=INSIGNIFICANT_CHAR)||(LA117_92>=45 && LA117_92<=79)) ) {
12234                                        alt117=2;
12235                                    }
12236                                    else {
12237                                        if (backtracking>0) {failed=true; return link;}
12238                                        NoViableAltException nvae =
12239                                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 92, input);
12240    
12241                                        throw nvae;
12242                                    }
12243                                }
12244                                else if ( ((LA117_73>=FORCED_END_OF_LINE && LA117_73<=WIKI)||(LA117_73>=POUND && LA117_73<=51)||(LA117_73>=53 && LA117_73<=79)) ) {
12245                                    alt117=2;
12246                                }
12247                                else {
12248                                    if (backtracking>0) {failed=true; return link;}
12249                                    NoViableAltException nvae =
12250                                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 73, input);
12251    
12252                                    throw nvae;
12253                                }
12254                            }
12255                            else if ( ((LA117_53>=FORCED_END_OF_LINE && LA117_53<=WIKI)||(LA117_53>=POUND && LA117_53<=48)||(LA117_53>=50 && LA117_53<=79)) ) {
12256                                alt117=2;
12257                            }
12258                            else {
12259                                if (backtracking>0) {failed=true; return link;}
12260                                NoViableAltException nvae =
12261                                    new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 53, input);
12262    
12263                                throw nvae;
12264                            }
12265                        }
12266                        else if ( ((LA117_33>=FORCED_END_OF_LINE && LA117_33<=WIKI)||(LA117_33>=POUND && LA117_33<=51)||(LA117_33>=53 && LA117_33<=79)) ) {
12267                            alt117=2;
12268                        }
12269                        else {
12270                            if (backtracking>0) {failed=true; return link;}
12271                            NoViableAltException nvae =
12272                                new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 33, input);
12273    
12274                            throw nvae;
12275                        }
12276                    }
12277                    else if ( ((LA117_14>=FORCED_END_OF_LINE && LA117_14<=WIKI)||(LA117_14>=POUND && LA117_14<=50)||(LA117_14>=52 && LA117_14<=79)) ) {
12278                        alt117=2;
12279                    }
12280                    else {
12281                        if (backtracking>0) {failed=true; return link;}
12282                        NoViableAltException nvae =
12283                            new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 14, input);
12284    
12285                        throw nvae;
12286                    }
12287                    }
12288                    break;
12289                case FORCED_END_OF_LINE:
12290                case HEADING_SECTION:
12291                case HORIZONTAL_SECTION:
12292                case LIST_ITEM:
12293                case LIST_ITEM_PART:
12294                case NOWIKI_SECTION:
12295                case SCAPE_NODE:
12296                case TEXT_NODE:
12297                case UNORDERED_LIST:
12298                case UNFORMATTED_TEXT:
12299                case WIKI:
12300                case POUND:
12301                case STAR:
12302                case EQUAL:
12303                case ITAL:
12304                case LINK_OPEN:
12305                case IMAGE_OPEN:
12306                case NOWIKI_OPEN:
12307                case EXTENSION:
12308                case FORCED_LINEBREAK:
12309                case ESCAPE:
12310                case NOWIKI_BLOCK_CLOSE:
12311                case NOWIKI_CLOSE:
12312                case IMAGE_CLOSE:
12313                case BLANKS:
12314                case TABLE_OF_CONTENTS_TEXT:
12315                case DASH:
12316                case CR:
12317                case LF:
12318                case SPACE:
12319                case TABULATOR:
12320                case BRACE_CLOSE:
12321                case COLON_SLASH:
12322                case SLASH:
12323                case TABLE_OF_CONTENTS_OPEN_MARKUP:
12324                case TABLE_OF_CONTENTS_CLOSE_MARKUP:
12325                case INSIGNIFICANT_CHAR:
12326                case 44:
12327                case 46:
12328                case 48:
12329                case 49:
12330                case 50:
12331                case 52:
12332                case 54:
12333                case 55:
12334                case 56:
12335                case 58:
12336                case 59:
12337                case 64:
12338                case 65:
12339                case 66:
12340                case 67:
12341                case 68:
12342                case 70:
12343                case 71:
12344                case 72:
12345                case 73:
12346                case 75:
12347                case 77:
12348                    {
12349                    alt117=2;
12350                    }
12351                    break;
12352                default:
12353                    if (backtracking>0) {failed=true; return link;}
12354                    NoViableAltException nvae =
12355                        new NoViableAltException("583:1: link_address returns [LinkNode link =null] : (li= link_interwiki_uri ':' p= link_interwiki_pagename | lu= link_uri );", 117, 0, input);
12356    
12357                    throw nvae;
12358                }
12359    
12360                switch (alt117) {
12361                    case 1 :
12362                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:584:4: li= link_interwiki_uri ':' p= link_interwiki_pagename
12363                        {
12364                        pushFollow(FOLLOW_link_interwiki_uri_in_link_address3307);
12365                        li=link_interwiki_uri();
12366                        _fsp--;
12367                        if (failed) return link;
12368                        match(input,44,FOLLOW_44_in_link_address3310); if (failed) return link;
12369                        pushFollow(FOLLOW_link_interwiki_pagename_in_link_address3317);
12370                        p=link_interwiki_pagename();
12371                        _fsp--;
12372                        if (failed) return link;
12373                        if ( backtracking==0 ) {
12374    
12375                                                                    li.setUri(p.toString());
12376                                                                    link = li;
12377                                                            
12378                        }
12379    
12380                        }
12381                        break;
12382                    case 2 :
12383                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:588:4: lu= link_uri
12384                        {
12385                        pushFollow(FOLLOW_link_uri_in_link_address3328);
12386                        lu=link_uri();
12387                        _fsp--;
12388                        if (failed) return link;
12389                        if ( backtracking==0 ) {
12390                          link = new LinkNode(lu.toString()); 
12391                        }
12392    
12393                        }
12394                        break;
12395    
12396                }
12397            }
12398            catch (RecognitionException re) {
12399                reportError(re);
12400                recover(input,re);
12401            }
12402            finally {
12403            }
12404            return link;
12405        }
12406        // $ANTLR end link_address
12407    
12408    
12409        // $ANTLR start link_interwiki_uri
12410        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:590: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' );
12411        public final InterwikiLinkNode link_interwiki_uri() throws RecognitionException {
12412            InterwikiLinkNode interwiki =  null;
12413    
12414            try {
12415                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:591: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' )
12416                int alt118=20;
12417                switch ( input.LA(1) ) {
12418                case 45:
12419                    {
12420                    alt118=1;
12421                    }
12422                    break;
12423                case 47:
12424                    {
12425                    alt118=2;
12426                    }
12427                    break;
12428                case 53:
12429                    {
12430                    alt118=3;
12431                    }
12432                    break;
12433                case 57:
12434                    {
12435                    alt118=4;
12436                    }
12437                    break;
12438                case 60:
12439                    {
12440                    alt118=5;
12441                    }
12442                    break;
12443                case 63:
12444                    {
12445                    int LA118_6 = input.LA(2);
12446    
12447                    if ( (LA118_6==59) ) {
12448                        int LA118_15 = input.LA(3);
12449    
12450                        if ( (LA118_15==67) ) {
12451                            alt118=7;
12452                        }
12453                        else if ( (LA118_15==64) ) {
12454                            alt118=6;
12455                        }
12456                        else {
12457                            if (backtracking>0) {failed=true; return interwiki;}
12458                            NoViableAltException nvae =
12459                                new NoViableAltException("590: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' );", 118, 15, input);
12460    
12461                            throw nvae;
12462                        }
12463                    }
12464                    else if ( (LA118_6==48) ) {
12465                        alt118=8;
12466                    }
12467                    else {
12468                        if (backtracking>0) {failed=true; return interwiki;}
12469                        NoViableAltException nvae =
12470                            new NoViableAltException("590: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' );", 118, 6, input);
12471    
12472                        throw nvae;
12473                    }
12474                    }
12475                    break;
12476                case 69:
12477                    {
12478                    int LA118_7 = input.LA(2);
12479    
12480                    if ( (LA118_7==67) ) {
12481                        alt118=9;
12482                    }
12483                    else if ( (LA118_7==72) ) {
12484                        alt118=10;
12485                    }
12486                    else {
12487                        if (backtracking>0) {failed=true; return interwiki;}
12488                        NoViableAltException nvae =
12489                            new NoViableAltException("590: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' );", 118, 7, input);
12490    
12491                        throw nvae;
12492                    }
12493                    }
12494                    break;
12495                case 62:
12496                    {
12497                    int LA118_8 = input.LA(2);
12498    
12499                    if ( (LA118_8==50) ) {
12500                        int LA118_19 = input.LA(3);
12501    
12502                        if ( (LA118_19==56) ) {
12503                            alt118=13;
12504                        }
12505                        else if ( (LA118_19==49) ) {
12506                            alt118=12;
12507                        }
12508                        else {
12509                            if (backtracking>0) {failed=true; return interwiki;}
12510                            NoViableAltException nvae =
12511                                new NoViableAltException("590: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' );", 118, 19, input);
12512    
12513                            throw nvae;
12514                        }
12515                    }
12516                    else if ( (LA118_8==70) ) {
12517                        alt118=11;
12518                    }
12519                    else {
12520                        if (backtracking>0) {failed=true; return interwiki;}
12521                        NoViableAltException nvae =
12522                            new NoViableAltException("590: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' );", 118, 8, input);
12523    
12524                        throw nvae;
12525                    }
12526                    }
12527                    break;
12528                case 74:
12529                    {
12530                    alt118=14;
12531                    }
12532                    break;
12533                case 61:
12534                    {
12535                    alt118=15;
12536                    }
12537                    break;
12538                case 76:
12539                    {
12540                    int LA118_11 = input.LA(2);
12541    
12542                    if ( (LA118_11==51) ) {
12543                        alt118=17;
12544                    }
12545                    else if ( (LA118_11==52) ) {
12546                        alt118=16;
12547                    }
12548                    else {
12549                        if (backtracking>0) {failed=true; return interwiki;}
12550                        NoViableAltException nvae =
12551                            new NoViableAltException("590: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' );", 118, 11, input);
12552    
12553                        throw nvae;
12554                    }
12555                    }
12556                    break;
12557                case 78:
12558                    {
12559                    alt118=18;
12560                    }
12561                    break;
12562                case 51:
12563                    {
12564                    alt118=19;
12565                    }
12566                    break;
12567                case 79:
12568                    {
12569                    alt118=20;
12570                    }
12571                    break;
12572                default:
12573                    if (backtracking>0) {failed=true; return interwiki;}
12574                    NoViableAltException nvae =
12575                        new NoViableAltException("590: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' );", 118, 0, input);
12576    
12577                    throw nvae;
12578                }
12579    
12580                switch (alt118) {
12581                    case 1 :
12582                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:591:4: 'C' '2'
12583                        {
12584                        match(input,45,FOLLOW_45_in_link_interwiki_uri3344); if (failed) return interwiki;
12585                        match(input,46,FOLLOW_46_in_link_interwiki_uri3346); if (failed) return interwiki;
12586    
12587                        }
12588                        break;
12589                    case 2 :
12590                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:592:4: 'D' 'o' 'k' 'u' 'W' 'i' 'k' 'i'
12591                        {
12592                        match(input,47,FOLLOW_47_in_link_interwiki_uri3351); if (failed) return interwiki;
12593                        match(input,48,FOLLOW_48_in_link_interwiki_uri3353); if (failed) return interwiki;
12594                        match(input,49,FOLLOW_49_in_link_interwiki_uri3355); if (failed) return interwiki;
12595                        match(input,50,FOLLOW_50_in_link_interwiki_uri3357); if (failed) return interwiki;
12596                        match(input,51,FOLLOW_51_in_link_interwiki_uri3359); if (failed) return interwiki;
12597                        match(input,52,FOLLOW_52_in_link_interwiki_uri3361); if (failed) return interwiki;
12598                        match(input,49,FOLLOW_49_in_link_interwiki_uri3363); if (failed) return interwiki;
12599                        match(input,52,FOLLOW_52_in_link_interwiki_uri3365); if (failed) return interwiki;
12600    
12601                        }
12602                        break;
12603                    case 3 :
12604                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:593:4: 'F' 'l' 'i' 'c' 'k' 'r'
12605                        {
12606                        match(input,53,FOLLOW_53_in_link_interwiki_uri3370); if (failed) return interwiki;
12607                        match(input,54,FOLLOW_54_in_link_interwiki_uri3372); if (failed) return interwiki;
12608                        match(input,52,FOLLOW_52_in_link_interwiki_uri3374); if (failed) return interwiki;
12609                        match(input,55,FOLLOW_55_in_link_interwiki_uri3376); if (failed) return interwiki;
12610                        match(input,49,FOLLOW_49_in_link_interwiki_uri3378); if (failed) return interwiki;
12611                        match(input,56,FOLLOW_56_in_link_interwiki_uri3380); if (failed) return interwiki;
12612    
12613                        }
12614                        break;
12615                    case 4 :
12616                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:594:4: 'G' 'o' 'o' 'g' 'l' 'e'
12617                        {
12618                        match(input,57,FOLLOW_57_in_link_interwiki_uri3385); if (failed) return interwiki;
12619                        match(input,48,FOLLOW_48_in_link_interwiki_uri3387); if (failed) return interwiki;
12620                        match(input,48,FOLLOW_48_in_link_interwiki_uri3389); if (failed) return interwiki;
12621                        match(input,58,FOLLOW_58_in_link_interwiki_uri3391); if (failed) return interwiki;
12622                        match(input,54,FOLLOW_54_in_link_interwiki_uri3393); if (failed) return interwiki;
12623                        match(input,59,FOLLOW_59_in_link_interwiki_uri3395); if (failed) return interwiki;
12624    
12625                        }
12626                        break;
12627                    case 5 :
12628                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:595:4: 'J' 'S' 'P' 'W' 'i' 'k' 'i'
12629                        {
12630                        match(input,60,FOLLOW_60_in_link_interwiki_uri3400); if (failed) return interwiki;
12631                        match(input,61,FOLLOW_61_in_link_interwiki_uri3402); if (failed) return interwiki;
12632                        match(input,62,FOLLOW_62_in_link_interwiki_uri3404); if (failed) return interwiki;
12633                        match(input,51,FOLLOW_51_in_link_interwiki_uri3406); if (failed) return interwiki;
12634                        match(input,52,FOLLOW_52_in_link_interwiki_uri3408); if (failed) return interwiki;
12635                        match(input,49,FOLLOW_49_in_link_interwiki_uri3410); if (failed) return interwiki;
12636                        match(input,52,FOLLOW_52_in_link_interwiki_uri3412); if (failed) return interwiki;
12637    
12638                        }
12639                        break;
12640                    case 6 :
12641                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:596:4: 'M' 'e' 'a' 't' 'b' 'a' 'l' 'l'
12642                        {
12643                        match(input,63,FOLLOW_63_in_link_interwiki_uri3417); if (failed) return interwiki;
12644                        match(input,59,FOLLOW_59_in_link_interwiki_uri3419); if (failed) return interwiki;
12645                        match(input,64,FOLLOW_64_in_link_interwiki_uri3421); if (failed) return interwiki;
12646                        match(input,65,FOLLOW_65_in_link_interwiki_uri3423); if (failed) return interwiki;
12647                        match(input,66,FOLLOW_66_in_link_interwiki_uri3425); if (failed) return interwiki;
12648                        match(input,64,FOLLOW_64_in_link_interwiki_uri3427); if (failed) return interwiki;
12649                        match(input,54,FOLLOW_54_in_link_interwiki_uri3429); if (failed) return interwiki;
12650                        match(input,54,FOLLOW_54_in_link_interwiki_uri3431); if (failed) return interwiki;
12651    
12652                        }
12653                        break;
12654                    case 7 :
12655                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:597:4: 'M' 'e' 'd' 'i' 'a' 'W' 'i' 'k' 'i'
12656                        {
12657                        match(input,63,FOLLOW_63_in_link_interwiki_uri3436); if (failed) return interwiki;
12658                        match(input,59,FOLLOW_59_in_link_interwiki_uri3438); if (failed) return interwiki;
12659                        match(input,67,FOLLOW_67_in_link_interwiki_uri3440); if (failed) return interwiki;
12660                        match(input,52,FOLLOW_52_in_link_interwiki_uri3442); if (failed) return interwiki;
12661                        match(input,64,FOLLOW_64_in_link_interwiki_uri3444); if (failed) return interwiki;
12662                        match(input,51,FOLLOW_51_in_link_interwiki_uri3446); if (failed) return interwiki;
12663                        match(input,52,FOLLOW_52_in_link_interwiki_uri3448); if (failed) return interwiki;
12664                        match(input,49,FOLLOW_49_in_link_interwiki_uri3450); if (failed) return interwiki;
12665                        match(input,52,FOLLOW_52_in_link_interwiki_uri3452); if (failed) return interwiki;
12666    
12667                        }
12668                        break;
12669                    case 8 :
12670                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:598:4: 'M' 'o' 'i' 'n' 'M' 'o' 'i' 'n'
12671                        {
12672                        match(input,63,FOLLOW_63_in_link_interwiki_uri3457); if (failed) return interwiki;
12673                        match(input,48,FOLLOW_48_in_link_interwiki_uri3459); if (failed) return interwiki;
12674                        match(input,52,FOLLOW_52_in_link_interwiki_uri3461); if (failed) return interwiki;
12675                        match(input,68,FOLLOW_68_in_link_interwiki_uri3463); if (failed) return interwiki;
12676                        match(input,63,FOLLOW_63_in_link_interwiki_uri3465); if (failed) return interwiki;
12677                        match(input,48,FOLLOW_48_in_link_interwiki_uri3467); if (failed) return interwiki;
12678                        match(input,52,FOLLOW_52_in_link_interwiki_uri3469); if (failed) return interwiki;
12679                        match(input,68,FOLLOW_68_in_link_interwiki_uri3471); if (failed) return interwiki;
12680    
12681                        }
12682                        break;
12683                    case 9 :
12684                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:599:4: 'O' 'd' 'd' 'm' 'u' 's' 'e'
12685                        {
12686                        match(input,69,FOLLOW_69_in_link_interwiki_uri3476); if (failed) return interwiki;
12687                        match(input,67,FOLLOW_67_in_link_interwiki_uri3478); if (failed) return interwiki;
12688                        match(input,67,FOLLOW_67_in_link_interwiki_uri3480); if (failed) return interwiki;
12689                        match(input,70,FOLLOW_70_in_link_interwiki_uri3482); if (failed) return interwiki;
12690                        match(input,50,FOLLOW_50_in_link_interwiki_uri3484); if (failed) return interwiki;
12691                        match(input,71,FOLLOW_71_in_link_interwiki_uri3486); if (failed) return interwiki;
12692                        match(input,59,FOLLOW_59_in_link_interwiki_uri3488); if (failed) return interwiki;
12693    
12694                        }
12695                        break;
12696                    case 10 :
12697                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:600:4: 'O' 'h' 'a' 'n' 'a'
12698                        {
12699                        match(input,69,FOLLOW_69_in_link_interwiki_uri3493); if (failed) return interwiki;
12700                        match(input,72,FOLLOW_72_in_link_interwiki_uri3495); if (failed) return interwiki;
12701                        match(input,64,FOLLOW_64_in_link_interwiki_uri3497); if (failed) return interwiki;
12702                        match(input,68,FOLLOW_68_in_link_interwiki_uri3499); if (failed) return interwiki;
12703                        match(input,64,FOLLOW_64_in_link_interwiki_uri3501); if (failed) return interwiki;
12704    
12705                        }
12706                        break;
12707                    case 11 :
12708                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:601:4: 'P' 'm' 'W' 'i' 'k' 'i'
12709                        {
12710                        match(input,62,FOLLOW_62_in_link_interwiki_uri3506); if (failed) return interwiki;
12711                        match(input,70,FOLLOW_70_in_link_interwiki_uri3508); if (failed) return interwiki;
12712                        match(input,51,FOLLOW_51_in_link_interwiki_uri3510); if (failed) return interwiki;
12713                        match(input,52,FOLLOW_52_in_link_interwiki_uri3512); if (failed) return interwiki;
12714                        match(input,49,FOLLOW_49_in_link_interwiki_uri3514); if (failed) return interwiki;
12715                        match(input,52,FOLLOW_52_in_link_interwiki_uri3516); if (failed) return interwiki;
12716    
12717                        }
12718                        break;
12719                    case 12 :
12720                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:602:4: 'P' 'u' 'k' 'i' 'W' 'i' 'k' 'i'
12721                        {
12722                        match(input,62,FOLLOW_62_in_link_interwiki_uri3521); if (failed) return interwiki;
12723                        match(input,50,FOLLOW_50_in_link_interwiki_uri3523); if (failed) return interwiki;
12724                        match(input,49,FOLLOW_49_in_link_interwiki_uri3525); if (failed) return interwiki;
12725                        match(input,52,FOLLOW_52_in_link_interwiki_uri3527); if (failed) return interwiki;
12726                        match(input,51,FOLLOW_51_in_link_interwiki_uri3529); if (failed) return interwiki;
12727                        match(input,52,FOLLOW_52_in_link_interwiki_uri3531); if (failed) return interwiki;
12728                        match(input,49,FOLLOW_49_in_link_interwiki_uri3533); if (failed) return interwiki;
12729                        match(input,52,FOLLOW_52_in_link_interwiki_uri3535); if (failed) return interwiki;
12730    
12731                        }
12732                        break;
12733                    case 13 :
12734                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:603:4: 'P' 'u' 'r' 'p' 'l' 'e' 'W' 'i' 'k' 'i'
12735                        {
12736                        match(input,62,FOLLOW_62_in_link_interwiki_uri3540); if (failed) return interwiki;
12737                        match(input,50,FOLLOW_50_in_link_interwiki_uri3542); if (failed) return interwiki;
12738                        match(input,56,FOLLOW_56_in_link_interwiki_uri3544); if (failed) return interwiki;
12739                        match(input,73,FOLLOW_73_in_link_interwiki_uri3546); if (failed) return interwiki;
12740                        match(input,54,FOLLOW_54_in_link_interwiki_uri3548); if (failed) return interwiki;
12741                        match(input,59,FOLLOW_59_in_link_interwiki_uri3550); if (failed) return interwiki;
12742                        match(input,51,FOLLOW_51_in_link_interwiki_uri3552); if (failed) return interwiki;
12743                        match(input,52,FOLLOW_52_in_link_interwiki_uri3554); if (failed) return interwiki;
12744                        match(input,49,FOLLOW_49_in_link_interwiki_uri3556); if (failed) return interwiki;
12745                        match(input,52,FOLLOW_52_in_link_interwiki_uri3558); if (failed) return interwiki;
12746    
12747                        }
12748                        break;
12749                    case 14 :
12750                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:604:4: 'R' 'a' 'd' 'e' 'o' 'x'
12751                        {
12752                        match(input,74,FOLLOW_74_in_link_interwiki_uri3563); if (failed) return interwiki;
12753                        match(input,64,FOLLOW_64_in_link_interwiki_uri3565); if (failed) return interwiki;
12754                        match(input,67,FOLLOW_67_in_link_interwiki_uri3567); if (failed) return interwiki;
12755                        match(input,59,FOLLOW_59_in_link_interwiki_uri3569); if (failed) return interwiki;
12756                        match(input,48,FOLLOW_48_in_link_interwiki_uri3571); if (failed) return interwiki;
12757                        match(input,75,FOLLOW_75_in_link_interwiki_uri3573); if (failed) return interwiki;
12758    
12759                        }
12760                        break;
12761                    case 15 :
12762                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:605:4: 'S' 'n' 'i' 'p' 'S' 'n' 'a' 'p'
12763                        {
12764                        match(input,61,FOLLOW_61_in_link_interwiki_uri3578); if (failed) return interwiki;
12765                        match(input,68,FOLLOW_68_in_link_interwiki_uri3580); if (failed) return interwiki;
12766                        match(input,52,FOLLOW_52_in_link_interwiki_uri3582); if (failed) return interwiki;
12767                        match(input,73,FOLLOW_73_in_link_interwiki_uri3584); if (failed) return interwiki;
12768                        match(input,61,FOLLOW_61_in_link_interwiki_uri3586); if (failed) return interwiki;
12769                        match(input,68,FOLLOW_68_in_link_interwiki_uri3588); if (failed) return interwiki;
12770                        match(input,64,FOLLOW_64_in_link_interwiki_uri3590); if (failed) return interwiki;
12771                        match(input,73,FOLLOW_73_in_link_interwiki_uri3592); if (failed) return interwiki;
12772    
12773                        }
12774                        break;
12775                    case 16 :
12776                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:606:4: 'T' 'i' 'd' 'd' 'l' 'y' 'W' 'i' 'k' 'i'
12777                        {
12778                        match(input,76,FOLLOW_76_in_link_interwiki_uri3597); if (failed) return interwiki;
12779                        match(input,52,FOLLOW_52_in_link_interwiki_uri3599); if (failed) return interwiki;
12780                        match(input,67,FOLLOW_67_in_link_interwiki_uri3601); if (failed) return interwiki;
12781                        match(input,67,FOLLOW_67_in_link_interwiki_uri3603); if (failed) return interwiki;
12782                        match(input,54,FOLLOW_54_in_link_interwiki_uri3605); if (failed) return interwiki;
12783                        match(input,77,FOLLOW_77_in_link_interwiki_uri3607); if (failed) return interwiki;
12784                        match(input,51,FOLLOW_51_in_link_interwiki_uri3609); if (failed) return interwiki;
12785                        match(input,52,FOLLOW_52_in_link_interwiki_uri3611); if (failed) return interwiki;
12786                        match(input,49,FOLLOW_49_in_link_interwiki_uri3613); if (failed) return interwiki;
12787                        match(input,52,FOLLOW_52_in_link_interwiki_uri3615); if (failed) return interwiki;
12788    
12789                        }
12790                        break;
12791                    case 17 :
12792                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:607:4: 'T' 'W' 'i' 'k' 'i'
12793                        {
12794                        match(input,76,FOLLOW_76_in_link_interwiki_uri3620); if (failed) return interwiki;
12795                        match(input,51,FOLLOW_51_in_link_interwiki_uri3622); if (failed) return interwiki;
12796                        match(input,52,FOLLOW_52_in_link_interwiki_uri3624); if (failed) return interwiki;
12797                        match(input,49,FOLLOW_49_in_link_interwiki_uri3626); if (failed) return interwiki;
12798                        match(input,52,FOLLOW_52_in_link_interwiki_uri3628); if (failed) return interwiki;
12799    
12800                        }
12801                        break;
12802                    case 18 :
12803                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:608:4: 'U' 's' 'e' 'm' 'o' 'd'
12804                        {
12805                        match(input,78,FOLLOW_78_in_link_interwiki_uri3633); if (failed) return interwiki;
12806                        match(input,71,FOLLOW_71_in_link_interwiki_uri3635); if (failed) return interwiki;
12807                        match(input,59,FOLLOW_59_in_link_interwiki_uri3637); if (failed) return interwiki;
12808                        match(input,70,FOLLOW_70_in_link_interwiki_uri3639); if (failed) return interwiki;
12809                        match(input,48,FOLLOW_48_in_link_interwiki_uri3641); if (failed) return interwiki;
12810                        match(input,67,FOLLOW_67_in_link_interwiki_uri3643); if (failed) return interwiki;
12811    
12812                        }
12813                        break;
12814                    case 19 :
12815                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:609:4: 'W' 'i' 'k' 'i' 'p' 'e' 'd' 'i' 'a'
12816                        {
12817                        match(input,51,FOLLOW_51_in_link_interwiki_uri3648); if (failed) return interwiki;
12818                        match(input,52,FOLLOW_52_in_link_interwiki_uri3650); if (failed) return interwiki;
12819                        match(input,49,FOLLOW_49_in_link_interwiki_uri3652); if (failed) return interwiki;
12820                        match(input,52,FOLLOW_52_in_link_interwiki_uri3654); if (failed) return interwiki;
12821                        match(input,73,FOLLOW_73_in_link_interwiki_uri3656); if (failed) return interwiki;
12822                        match(input,59,FOLLOW_59_in_link_interwiki_uri3658); if (failed) return interwiki;
12823                        match(input,67,FOLLOW_67_in_link_interwiki_uri3660); if (failed) return interwiki;
12824                        match(input,52,FOLLOW_52_in_link_interwiki_uri3662); if (failed) return interwiki;
12825                        match(input,64,FOLLOW_64_in_link_interwiki_uri3664); if (failed) return interwiki;
12826    
12827                        }
12828                        break;
12829                    case 20 :
12830                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:610:4: 'X' 'W' 'i' 'k' 'i'
12831                        {
12832                        match(input,79,FOLLOW_79_in_link_interwiki_uri3669); if (failed) return interwiki;
12833                        match(input,51,FOLLOW_51_in_link_interwiki_uri3671); if (failed) return interwiki;
12834                        match(input,52,FOLLOW_52_in_link_interwiki_uri3673); if (failed) return interwiki;
12835                        match(input,49,FOLLOW_49_in_link_interwiki_uri3675); if (failed) return interwiki;
12836                        match(input,52,FOLLOW_52_in_link_interwiki_uri3677); if (failed) return interwiki;
12837    
12838                        }
12839                        break;
12840    
12841                }
12842            }
12843            catch (RecognitionException re) {
12844                reportError(re);
12845                recover(input,re);
12846            }
12847            finally {
12848            }
12849            return interwiki;
12850        }
12851        // $ANTLR end link_interwiki_uri
12852    
12853    
12854        // $ANTLR start link_interwiki_pagename
12855        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:612:1: link_interwiki_pagename returns [StringBundler text = new StringBundler()] : (c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF ) )+ ;
12856        public final StringBundler link_interwiki_pagename() throws RecognitionException {
12857            StringBundler text =  new StringBundler();
12858    
12859            Token c=null;
12860    
12861            try {
12862                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:613:2: ( (c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF ) )+ )
12863                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:613:4: (c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF ) )+
12864                {
12865                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:613:4: (c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF ) )+
12866                int cnt119=0;
12867                loop119:
12868                do {
12869                    int alt119=2;
12870                    int LA119_0 = input.LA(1);
12871    
12872                    if ( ((LA119_0>=FORCED_END_OF_LINE && LA119_0<=WIKI)||(LA119_0>=POUND && LA119_0<=EQUAL)||(LA119_0>=ITAL && LA119_0<=NOWIKI_CLOSE)||(LA119_0>=IMAGE_CLOSE && LA119_0<=79)) ) {
12873                        alt119=1;
12874                    }
12875    
12876    
12877                    switch (alt119) {
12878                    case 1 :
12879                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:613:6: c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF )
12880                        {
12881                        c=(Token)input.LT(1);
12882                        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)<=79) ) {
12883                            input.consume();
12884                            errorRecovery=false;failed=false;
12885                        }
12886                        else {
12887                            if (backtracking>0) {failed=true; return text;}
12888                            MismatchedSetException mse =
12889                                new MismatchedSetException(null,input);
12890                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_link_interwiki_pagename3697);    throw mse;
12891                        }
12892    
12893                        if ( backtracking==0 ) {
12894                           text.append(c.getText()); 
12895                        }
12896    
12897                        }
12898                        break;
12899    
12900                    default :
12901                        if ( cnt119 >= 1 ) break loop119;
12902                        if (backtracking>0) {failed=true; return text;}
12903                            EarlyExitException eee =
12904                                new EarlyExitException(119, input);
12905                            throw eee;
12906                    }
12907                    cnt119++;
12908                } while (true);
12909    
12910    
12911                }
12912    
12913            }
12914            catch (RecognitionException re) {
12915                reportError(re);
12916                recover(input,re);
12917            }
12918            finally {
12919            }
12920            return text;
12921        }
12922        // $ANTLR end link_interwiki_pagename
12923    
12924    
12925        // $ANTLR start link_description
12926        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:615:1: link_description returns [CollectionNode node = new CollectionNode()] : (l= link_descriptionpart | i= image )+ ;
12927        public final CollectionNode link_description() throws RecognitionException {
12928            CollectionNode node =  new CollectionNode();
12929    
12930            ASTNode l = null;
12931    
12932            ImageNode i = null;
12933    
12934    
12935            try {
12936                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:616:2: ( (l= link_descriptionpart | i= image )+ )
12937                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:616:4: (l= link_descriptionpart | i= image )+
12938                {
12939                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:616:4: (l= link_descriptionpart | i= image )+
12940                int cnt120=0;
12941                loop120:
12942                do {
12943                    int alt120=3;
12944                    int LA120_0 = input.LA(1);
12945    
12946                    if ( ((LA120_0>=FORCED_END_OF_LINE && LA120_0<=WIKI)||(LA120_0>=POUND && LA120_0<=ITAL)||(LA120_0>=FORCED_LINEBREAK && LA120_0<=NOWIKI_CLOSE)||(LA120_0>=IMAGE_CLOSE && LA120_0<=79)) ) {
12947                        alt120=1;
12948                    }
12949                    else if ( (LA120_0==IMAGE_OPEN) ) {
12950                        alt120=2;
12951                    }
12952    
12953    
12954                    switch (alt120) {
12955                    case 1 :
12956                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:616:6: l= link_descriptionpart
12957                        {
12958                        pushFollow(FOLLOW_link_descriptionpart_in_link_description3740);
12959                        l=link_descriptionpart();
12960                        _fsp--;
12961                        if (failed) return node;
12962                        if ( backtracking==0 ) {
12963    
12964                                                            // Recover code: some bad syntax could include null elements in the collection
12965                                                            if(l != null) {
12966                                                                    node.add(l);
12967                                                            }
12968                                                    
12969                        }
12970    
12971                        }
12972                        break;
12973                    case 2 :
12974                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:622:5: i= image
12975                        {
12976                        pushFollow(FOLLOW_image_in_link_description3752);
12977                        i=image();
12978                        _fsp--;
12979                        if (failed) return node;
12980                        if ( backtracking==0 ) {
12981                          node.add(i);
12982                        }
12983    
12984                        }
12985                        break;
12986    
12987                    default :
12988                        if ( cnt120 >= 1 ) break loop120;
12989                        if (backtracking>0) {failed=true; return node;}
12990                            EarlyExitException eee =
12991                                new EarlyExitException(120, input);
12992                            throw eee;
12993                    }
12994                    cnt120++;
12995                } while (true);
12996    
12997    
12998                }
12999    
13000            }
13001            catch (RecognitionException re) {
13002                reportError(re);
13003                recover(input,re);
13004            }
13005            finally {
13006            }
13007            return node;
13008        }
13009        // $ANTLR end link_description
13010    
13011        protected static class link_descriptionpart_scope {
13012            CollectionNode element;
13013        }
13014        protected Stack link_descriptionpart_stack = new Stack();
13015    
13016    
13017        // $ANTLR start link_descriptionpart
13018        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:624: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 )+ );
13019        public final ASTNode link_descriptionpart() throws RecognitionException {
13020            link_descriptionpart_stack.push(new link_descriptionpart_scope());
13021            ASTNode text =  null;
13022    
13023            ASTNode lb = null;
13024    
13025            ASTNode li = null;
13026    
13027            CollectionNode t = null;
13028    
13029    
13030    
13031                    ((link_descriptionpart_scope)link_descriptionpart_stack.peek()).element = new CollectionNode();
13032    
13033            try {
13034                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:631: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 )+ )
13035                int alt124=3;
13036                switch ( input.LA(1) ) {
13037                case STAR:
13038                    {
13039                    int LA124_1 = input.LA(2);
13040    
13041                    if ( (LA124_1==STAR) ) {
13042                        alt124=1;
13043                    }
13044                    else if ( ((LA124_1>=FORCED_END_OF_LINE && LA124_1<=WIKI)||LA124_1==POUND||(LA124_1>=EQUAL && LA124_1<=PIPE)||(LA124_1>=FORCED_LINEBREAK && LA124_1<=NOWIKI_CLOSE)||(LA124_1>=IMAGE_CLOSE && LA124_1<=79)) ) {
13045                        alt124=3;
13046                    }
13047                    else {
13048                        if (backtracking>0) {failed=true; return text;}
13049                        NoViableAltException nvae =
13050                            new NoViableAltException("624: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 )+ );", 124, 1, input);
13051    
13052                        throw nvae;
13053                    }
13054                    }
13055                    break;
13056                case ITAL:
13057                    {
13058                    alt124=2;
13059                    }
13060                    break;
13061                case FORCED_END_OF_LINE:
13062                case HEADING_SECTION:
13063                case HORIZONTAL_SECTION:
13064                case LIST_ITEM:
13065                case LIST_ITEM_PART:
13066                case NOWIKI_SECTION:
13067                case SCAPE_NODE:
13068                case TEXT_NODE:
13069                case UNORDERED_LIST:
13070                case UNFORMATTED_TEXT:
13071                case WIKI:
13072                case POUND:
13073                case EQUAL:
13074                case PIPE:
13075                case FORCED_LINEBREAK:
13076                case ESCAPE:
13077                case NOWIKI_BLOCK_CLOSE:
13078                case NOWIKI_CLOSE:
13079                case IMAGE_CLOSE:
13080                case BLANKS:
13081                case TABLE_OF_CONTENTS_TEXT:
13082                case DASH:
13083                case CR:
13084                case LF:
13085                case SPACE:
13086                case TABULATOR:
13087                case BRACE_CLOSE:
13088                case COLON_SLASH:
13089                case SLASH:
13090                case TABLE_OF_CONTENTS_OPEN_MARKUP:
13091                case TABLE_OF_CONTENTS_CLOSE_MARKUP:
13092                case INSIGNIFICANT_CHAR:
13093                case 44:
13094                case 45:
13095                case 46:
13096                case 47:
13097                case 48:
13098                case 49:
13099                case 50:
13100                case 51:
13101                case 52:
13102                case 53:
13103                case 54:
13104                case 55:
13105                case 56:
13106                case 57:
13107                case 58:
13108                case 59:
13109                case 60:
13110                case 61:
13111                case 62:
13112                case 63:
13113                case 64:
13114                case 65:
13115                case 66:
13116                case 67:
13117                case 68:
13118                case 69:
13119                case 70:
13120                case 71:
13121                case 72:
13122                case 73:
13123                case 74:
13124                case 75:
13125                case 76:
13126                case 77:
13127                case 78:
13128                case 79:
13129                    {
13130                    alt124=3;
13131                    }
13132                    break;
13133                default:
13134                    if (backtracking>0) {failed=true; return text;}
13135                    NoViableAltException nvae =
13136                        new NoViableAltException("624: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 )+ );", 124, 0, input);
13137    
13138                    throw nvae;
13139                }
13140    
13141                switch (alt124) {
13142                    case 1 :
13143                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:631:4: bold_markup onestar (lb= link_bold_descriptionpart onestar )+ bold_markup
13144                        {
13145                        pushFollow(FOLLOW_bold_markup_in_link_descriptionpart3777);
13146                        bold_markup();
13147                        _fsp--;
13148                        if (failed) return text;
13149                        pushFollow(FOLLOW_onestar_in_link_descriptionpart3780);
13150                        onestar();
13151                        _fsp--;
13152                        if (failed) return text;
13153                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:631:25: (lb= link_bold_descriptionpart onestar )+
13154                        int cnt121=0;
13155                        loop121:
13156                        do {
13157                            int alt121=2;
13158                            int LA121_0 = input.LA(1);
13159    
13160                            if ( ((LA121_0>=FORCED_END_OF_LINE && LA121_0<=WIKI)||LA121_0==POUND||(LA121_0>=EQUAL && LA121_0<=ITAL)||(LA121_0>=FORCED_LINEBREAK && LA121_0<=NOWIKI_CLOSE)||(LA121_0>=IMAGE_CLOSE && LA121_0<=79)) ) {
13161                                alt121=1;
13162                            }
13163    
13164    
13165                            switch (alt121) {
13166                            case 1 :
13167                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:631:27: lb= link_bold_descriptionpart onestar
13168                                {
13169                                pushFollow(FOLLOW_link_bold_descriptionpart_in_link_descriptionpart3788);
13170                                lb=link_bold_descriptionpart();
13171                                _fsp--;
13172                                if (failed) return text;
13173                                if ( backtracking==0 ) {
13174                                  ((link_descriptionpart_scope)link_descriptionpart_stack.peek()).element.add(lb);
13175                                }
13176                                pushFollow(FOLLOW_onestar_in_link_descriptionpart3793);
13177                                onestar();
13178                                _fsp--;
13179                                if (failed) return text;
13180    
13181                                }
13182                                break;
13183    
13184                            default :
13185                                if ( cnt121 >= 1 ) break loop121;
13186                                if (backtracking>0) {failed=true; return text;}
13187                                    EarlyExitException eee =
13188                                        new EarlyExitException(121, input);
13189                                    throw eee;
13190                            }
13191                            cnt121++;
13192                        } while (true);
13193    
13194                        if ( backtracking==0 ) {
13195                          text = new BoldTextNode(((link_descriptionpart_scope)link_descriptionpart_stack.peek()).element);
13196                        }
13197                        pushFollow(FOLLOW_bold_markup_in_link_descriptionpart3803);
13198                        bold_markup();
13199                        _fsp--;
13200                        if (failed) return text;
13201    
13202                        }
13203                        break;
13204                    case 2 :
13205                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:633:4: ital_markup onestar (li= link_ital_descriptionpart onestar )+ ital_markup
13206                        {
13207                        pushFollow(FOLLOW_ital_markup_in_link_descriptionpart3808);
13208                        ital_markup();
13209                        _fsp--;
13210                        if (failed) return text;
13211                        pushFollow(FOLLOW_onestar_in_link_descriptionpart3811);
13212                        onestar();
13213                        _fsp--;
13214                        if (failed) return text;
13215                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:633:26: (li= link_ital_descriptionpart onestar )+
13216                        int cnt122=0;
13217                        loop122:
13218                        do {
13219                            int alt122=2;
13220                            int LA122_0 = input.LA(1);
13221    
13222                            if ( ((LA122_0>=FORCED_END_OF_LINE && LA122_0<=WIKI)||(LA122_0>=POUND && LA122_0<=PIPE)||(LA122_0>=FORCED_LINEBREAK && LA122_0<=NOWIKI_CLOSE)||(LA122_0>=IMAGE_CLOSE && LA122_0<=79)) ) {
13223                                alt122=1;
13224                            }
13225    
13226    
13227                            switch (alt122) {
13228                            case 1 :
13229                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:633:28: li= link_ital_descriptionpart onestar
13230                                {
13231                                pushFollow(FOLLOW_link_ital_descriptionpart_in_link_descriptionpart3820);
13232                                li=link_ital_descriptionpart();
13233                                _fsp--;
13234                                if (failed) return text;
13235                                if ( backtracking==0 ) {
13236                                  ((link_descriptionpart_scope)link_descriptionpart_stack.peek()).element.add(li);
13237                                }
13238                                pushFollow(FOLLOW_onestar_in_link_descriptionpart3825);
13239                                onestar();
13240                                _fsp--;
13241                                if (failed) return text;
13242    
13243                                }
13244                                break;
13245    
13246                            default :
13247                                if ( cnt122 >= 1 ) break loop122;
13248                                if (backtracking>0) {failed=true; return text;}
13249                                    EarlyExitException eee =
13250                                        new EarlyExitException(122, input);
13251                                    throw eee;
13252                            }
13253                            cnt122++;
13254                        } while (true);
13255    
13256                        if ( backtracking==0 ) {
13257                          text = new ItalicTextNode(((link_descriptionpart_scope)link_descriptionpart_stack.peek()).element);
13258                        }
13259                        pushFollow(FOLLOW_ital_markup_in_link_descriptionpart3834);
13260                        ital_markup();
13261                        _fsp--;
13262                        if (failed) return text;
13263    
13264                        }
13265                        break;
13266                    case 3 :
13267                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:635:4: onestar (t= link_descriptiontext onestar )+
13268                        {
13269                        pushFollow(FOLLOW_onestar_in_link_descriptionpart3839);
13270                        onestar();
13271                        _fsp--;
13272                        if (failed) return text;
13273                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:635:13: (t= link_descriptiontext onestar )+
13274                        int cnt123=0;
13275                        loop123:
13276                        do {
13277                            int alt123=2;
13278                            switch ( input.LA(1) ) {
13279                            case FORCED_END_OF_LINE:
13280                            case HEADING_SECTION:
13281                            case HORIZONTAL_SECTION:
13282                            case LIST_ITEM:
13283                            case LIST_ITEM_PART:
13284                            case NOWIKI_SECTION:
13285                            case SCAPE_NODE:
13286                            case TEXT_NODE:
13287                            case UNORDERED_LIST:
13288                            case UNFORMATTED_TEXT:
13289                            case WIKI:
13290                            case POUND:
13291                            case EQUAL:
13292                            case PIPE:
13293                            case NOWIKI_BLOCK_CLOSE:
13294                            case NOWIKI_CLOSE:
13295                            case IMAGE_CLOSE:
13296                            case BLANKS:
13297                            case TABLE_OF_CONTENTS_TEXT:
13298                            case DASH:
13299                            case CR:
13300                            case LF:
13301                            case SPACE:
13302                            case TABULATOR:
13303                            case BRACE_CLOSE:
13304                            case COLON_SLASH:
13305                            case SLASH:
13306                            case TABLE_OF_CONTENTS_OPEN_MARKUP:
13307                            case TABLE_OF_CONTENTS_CLOSE_MARKUP:
13308                            case INSIGNIFICANT_CHAR:
13309                            case 44:
13310                            case 45:
13311                            case 46:
13312                            case 47:
13313                            case 48:
13314                            case 49:
13315                            case 50:
13316                            case 51:
13317                            case 52:
13318                            case 53:
13319                            case 54:
13320                            case 55:
13321                            case 56:
13322                            case 57:
13323                            case 58:
13324                            case 59:
13325                            case 60:
13326                            case 61:
13327                            case 62:
13328                            case 63:
13329                            case 64:
13330                            case 65:
13331                            case 66:
13332                            case 67:
13333                            case 68:
13334                            case 69:
13335                            case 70:
13336                            case 71:
13337                            case 72:
13338                            case 73:
13339                            case 74:
13340                            case 75:
13341                            case 76:
13342                            case 77:
13343                            case 78:
13344                            case 79:
13345                                {
13346                                alt123=1;
13347                                }
13348                                break;
13349                            case FORCED_LINEBREAK:
13350                                {
13351                                alt123=1;
13352                                }
13353                                break;
13354                            case ESCAPE:
13355                                {
13356                                alt123=1;
13357                                }
13358                                break;
13359    
13360                            }
13361    
13362                            switch (alt123) {
13363                            case 1 :
13364                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:635:15: t= link_descriptiontext onestar
13365                                {
13366                                pushFollow(FOLLOW_link_descriptiontext_in_link_descriptionpart3848);
13367                                t=link_descriptiontext();
13368                                _fsp--;
13369                                if (failed) return text;
13370                                pushFollow(FOLLOW_onestar_in_link_descriptionpart3851);
13371                                onestar();
13372                                _fsp--;
13373                                if (failed) return text;
13374                                if ( backtracking==0 ) {
13375                                  ((link_descriptionpart_scope)link_descriptionpart_stack.peek()).element.add(t);
13376                                }
13377    
13378                                }
13379                                break;
13380    
13381                            default :
13382                                if ( cnt123 >= 1 ) break loop123;
13383                                if (backtracking>0) {failed=true; return text;}
13384                                    EarlyExitException eee =
13385                                        new EarlyExitException(123, input);
13386                                    throw eee;
13387                            }
13388                            cnt123++;
13389                        } while (true);
13390    
13391                        if ( backtracking==0 ) {
13392                          text = new UnformattedTextNode(((link_descriptionpart_scope)link_descriptionpart_stack.peek()).element);
13393                        }
13394    
13395                        }
13396                        break;
13397    
13398                }
13399            }
13400            catch (RecognitionException re) {
13401                reportError(re);
13402                recover(input,re);
13403            }
13404            finally {
13405                link_descriptionpart_stack.pop();
13406            }
13407            return text;
13408        }
13409        // $ANTLR end link_descriptionpart
13410    
13411    
13412        // $ANTLR start link_bold_descriptionpart
13413        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:637:1: link_bold_descriptionpart returns [ASTNode text = null] : ( ital_markup t= link_boldital_description ital_markup | ld= link_descriptiontext );
13414        public final ASTNode link_bold_descriptionpart() throws RecognitionException {
13415            ASTNode text =  null;
13416    
13417            CollectionNode t = null;
13418    
13419            CollectionNode ld = null;
13420    
13421    
13422            try {
13423                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:638:2: ( ital_markup t= link_boldital_description ital_markup | ld= link_descriptiontext )
13424                int alt125=2;
13425                int LA125_0 = input.LA(1);
13426    
13427                if ( (LA125_0==ITAL) ) {
13428                    alt125=1;
13429                }
13430                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<=79)) ) {
13431                    alt125=2;
13432                }
13433                else {
13434                    if (backtracking>0) {failed=true; return text;}
13435                    NoViableAltException nvae =
13436                        new NoViableAltException("637:1: link_bold_descriptionpart returns [ASTNode text = null] : ( ital_markup t= link_boldital_description ital_markup | ld= link_descriptiontext );", 125, 0, input);
13437    
13438                    throw nvae;
13439                }
13440                switch (alt125) {
13441                    case 1 :
13442                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:638:4: ital_markup t= link_boldital_description ital_markup
13443                        {
13444                        pushFollow(FOLLOW_ital_markup_in_link_bold_descriptionpart3871);
13445                        ital_markup();
13446                        _fsp--;
13447                        if (failed) return text;
13448                        pushFollow(FOLLOW_link_boldital_description_in_link_bold_descriptionpart3878);
13449                        t=link_boldital_description();
13450                        _fsp--;
13451                        if (failed) return text;
13452                        if ( backtracking==0 ) {
13453                          text = new ItalicTextNode(t);
13454                        }
13455                        pushFollow(FOLLOW_ital_markup_in_link_bold_descriptionpart3883);
13456                        ital_markup();
13457                        _fsp--;
13458                        if (failed) return text;
13459    
13460                        }
13461                        break;
13462                    case 2 :
13463                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:639:4: ld= link_descriptiontext
13464                        {
13465                        pushFollow(FOLLOW_link_descriptiontext_in_link_bold_descriptionpart3892);
13466                        ld=link_descriptiontext();
13467                        _fsp--;
13468                        if (failed) return text;
13469                        if ( backtracking==0 ) {
13470                          text =ld;
13471                        }
13472    
13473                        }
13474                        break;
13475    
13476                }
13477            }
13478            catch (RecognitionException re) {
13479                reportError(re);
13480                recover(input,re);
13481            }
13482            finally {
13483            }
13484            return text;
13485        }
13486        // $ANTLR end link_bold_descriptionpart
13487    
13488    
13489        // $ANTLR start link_ital_descriptionpart
13490        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:641:1: link_ital_descriptionpart returns [ASTNode text = null] : ( bold_markup td= link_boldital_description bold_markup | t= link_descriptiontext );
13491        public final ASTNode link_ital_descriptionpart() throws RecognitionException {
13492            ASTNode text =  null;
13493    
13494            CollectionNode td = null;
13495    
13496            CollectionNode t = null;
13497    
13498    
13499            try {
13500                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:642:2: ( bold_markup td= link_boldital_description bold_markup | t= link_descriptiontext )
13501                int alt126=2;
13502                int LA126_0 = input.LA(1);
13503    
13504                if ( (LA126_0==STAR) ) {
13505                    alt126=1;
13506                }
13507                else 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<=79)) ) {
13508                    alt126=2;
13509                }
13510                else {
13511                    if (backtracking>0) {failed=true; return text;}
13512                    NoViableAltException nvae =
13513                        new NoViableAltException("641:1: link_ital_descriptionpart returns [ASTNode text = null] : ( bold_markup td= link_boldital_description bold_markup | t= link_descriptiontext );", 126, 0, input);
13514    
13515                    throw nvae;
13516                }
13517                switch (alt126) {
13518                    case 1 :
13519                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:642:4: bold_markup td= link_boldital_description bold_markup
13520                        {
13521                        pushFollow(FOLLOW_bold_markup_in_link_ital_descriptionpart3908);
13522                        bold_markup();
13523                        _fsp--;
13524                        if (failed) return text;
13525                        pushFollow(FOLLOW_link_boldital_description_in_link_ital_descriptionpart3915);
13526                        td=link_boldital_description();
13527                        _fsp--;
13528                        if (failed) return text;
13529                        pushFollow(FOLLOW_bold_markup_in_link_ital_descriptionpart3918);
13530                        bold_markup();
13531                        _fsp--;
13532                        if (failed) return text;
13533                        if ( backtracking==0 ) {
13534                          text = new BoldTextNode(td);
13535                        }
13536    
13537                        }
13538                        break;
13539                    case 2 :
13540                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:643:4: t= link_descriptiontext
13541                        {
13542                        pushFollow(FOLLOW_link_descriptiontext_in_link_ital_descriptionpart3929);
13543                        t=link_descriptiontext();
13544                        _fsp--;
13545                        if (failed) return text;
13546                        if ( backtracking==0 ) {
13547                          text = t; 
13548                        }
13549    
13550                        }
13551                        break;
13552    
13553                }
13554            }
13555            catch (RecognitionException re) {
13556                reportError(re);
13557                recover(input,re);
13558            }
13559            finally {
13560            }
13561            return text;
13562        }
13563        // $ANTLR end link_ital_descriptionpart
13564    
13565    
13566        // $ANTLR start link_boldital_description
13567        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:645:1: link_boldital_description returns [CollectionNode text = new CollectionNode()] : onestar (t= link_descriptiontext onestar )+ ;
13568        public final CollectionNode link_boldital_description() throws RecognitionException {
13569            CollectionNode text =  new CollectionNode();
13570    
13571            CollectionNode t = null;
13572    
13573    
13574            try {
13575                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:646:2: ( onestar (t= link_descriptiontext onestar )+ )
13576                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:646:4: onestar (t= link_descriptiontext onestar )+
13577                {
13578                pushFollow(FOLLOW_onestar_in_link_boldital_description3945);
13579                onestar();
13580                _fsp--;
13581                if (failed) return text;
13582                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:646:13: (t= link_descriptiontext onestar )+
13583                int cnt127=0;
13584                loop127:
13585                do {
13586                    int alt127=2;
13587                    int LA127_0 = input.LA(1);
13588    
13589                    if ( ((LA127_0>=FORCED_END_OF_LINE && LA127_0<=WIKI)||LA127_0==POUND||(LA127_0>=EQUAL && LA127_0<=PIPE)||(LA127_0>=FORCED_LINEBREAK && LA127_0<=NOWIKI_CLOSE)||(LA127_0>=IMAGE_CLOSE && LA127_0<=79)) ) {
13590                        alt127=1;
13591                    }
13592    
13593    
13594                    switch (alt127) {
13595                    case 1 :
13596                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:646:15: t= link_descriptiontext onestar
13597                        {
13598                        pushFollow(FOLLOW_link_descriptiontext_in_link_boldital_description3954);
13599                        t=link_descriptiontext();
13600                        _fsp--;
13601                        if (failed) return text;
13602                        pushFollow(FOLLOW_onestar_in_link_boldital_description3957);
13603                        onestar();
13604                        _fsp--;
13605                        if (failed) return text;
13606                        if ( backtracking==0 ) {
13607    
13608                                                            for (ASTNode item:t.getASTNodes()) {
13609                                                                    text.add(item);
13610                                                            }
13611                                                    
13612                        }
13613    
13614                        }
13615                        break;
13616    
13617                    default :
13618                        if ( cnt127 >= 1 ) break loop127;
13619                        if (backtracking>0) {failed=true; return text;}
13620                            EarlyExitException eee =
13621                                new EarlyExitException(127, input);
13622                            throw eee;
13623                    }
13624                    cnt127++;
13625                } while (true);
13626    
13627    
13628                }
13629    
13630            }
13631            catch (RecognitionException re) {
13632                reportError(re);
13633                recover(input,re);
13634            }
13635            finally {
13636            }
13637            return text;
13638        }
13639        // $ANTLR end link_boldital_description
13640    
13641    
13642        // $ANTLR start link_descriptiontext
13643        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:652:1: link_descriptiontext returns [CollectionNode text = new CollectionNode()] : (t= link_descriptiontext_simple | ( forced_linebreak | e= escaped )+ );
13644        public final CollectionNode link_descriptiontext() throws RecognitionException {
13645            CollectionNode text =  new CollectionNode();
13646    
13647            StringBundler t = null;
13648    
13649            ScapedNode e = null;
13650    
13651    
13652            try {
13653                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:653:2: (t= link_descriptiontext_simple | ( forced_linebreak | e= escaped )+ )
13654                int alt129=2;
13655                int LA129_0 = input.LA(1);
13656    
13657                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<=79)) ) {
13658                    alt129=1;
13659                }
13660                else if ( ((LA129_0>=FORCED_LINEBREAK && LA129_0<=ESCAPE)) ) {
13661                    alt129=2;
13662                }
13663                else {
13664                    if (backtracking>0) {failed=true; return text;}
13665                    NoViableAltException nvae =
13666                        new NoViableAltException("652:1: link_descriptiontext returns [CollectionNode text = new CollectionNode()] : (t= link_descriptiontext_simple | ( forced_linebreak | e= escaped )+ );", 129, 0, input);
13667    
13668                    throw nvae;
13669                }
13670                switch (alt129) {
13671                    case 1 :
13672                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:653:5: t= link_descriptiontext_simple
13673                        {
13674                        pushFollow(FOLLOW_link_descriptiontext_simple_in_link_descriptiontext3980);
13675                        t=link_descriptiontext_simple();
13676                        _fsp--;
13677                        if (failed) return text;
13678                        if ( backtracking==0 ) {
13679                           text.add(new UnformattedTextNode(t.toString()));
13680                        }
13681    
13682                        }
13683                        break;
13684                    case 2 :
13685                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:654:5: ( forced_linebreak | e= escaped )+
13686                        {
13687                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:654:5: ( forced_linebreak | e= escaped )+
13688                        int cnt128=0;
13689                        loop128:
13690                        do {
13691                            int alt128=3;
13692                            int LA128_0 = input.LA(1);
13693    
13694                            if ( (LA128_0==FORCED_LINEBREAK) ) {
13695                                alt128=1;
13696                            }
13697                            else if ( (LA128_0==ESCAPE) ) {
13698                                alt128=2;
13699                            }
13700    
13701    
13702                            switch (alt128) {
13703                            case 1 :
13704                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:654:7: forced_linebreak
13705                                {
13706                                pushFollow(FOLLOW_forced_linebreak_in_link_descriptiontext3990);
13707                                forced_linebreak();
13708                                _fsp--;
13709                                if (failed) return text;
13710                                if ( backtracking==0 ) {
13711                                  text.add(new ForcedEndOfLineNode());
13712                                }
13713    
13714                                }
13715                                break;
13716                            case 2 :
13717                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:655:5: e= escaped
13718                                {
13719                                pushFollow(FOLLOW_escaped_in_link_descriptiontext4002);
13720                                e=escaped();
13721                                _fsp--;
13722                                if (failed) return text;
13723                                if ( backtracking==0 ) {
13724                                  text.add(e);
13725                                }
13726    
13727                                }
13728                                break;
13729    
13730                            default :
13731                                if ( cnt128 >= 1 ) break loop128;
13732                                if (backtracking>0) {failed=true; return text;}
13733                                    EarlyExitException eee =
13734                                        new EarlyExitException(128, input);
13735                                    throw eee;
13736                            }
13737                            cnt128++;
13738                        } while (true);
13739    
13740    
13741                        }
13742                        break;
13743    
13744                }
13745            }
13746            catch (RecognitionException re) {
13747                reportError(re);
13748                recover(input,re);
13749            }
13750            finally {
13751            }
13752            return text;
13753        }
13754        // $ANTLR end link_descriptiontext
13755    
13756    
13757        // $ANTLR start link_descriptiontext_simple
13758        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:657: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 ) )+ ;
13759        public final StringBundler link_descriptiontext_simple() throws RecognitionException {
13760            StringBundler text =  new StringBundler();
13761    
13762            Token c=null;
13763    
13764            try {
13765                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:658:2: ( (c=~ ( LINK_CLOSE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+ )
13766                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:658:4: (c=~ ( LINK_CLOSE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+
13767                {
13768                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:658:4: (c=~ ( LINK_CLOSE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF ) )+
13769                int cnt130=0;
13770                loop130:
13771                do {
13772                    int alt130=2;
13773                    int LA130_0 = input.LA(1);
13774    
13775                    if ( ((LA130_0>=FORCED_END_OF_LINE && LA130_0<=WIKI)||LA130_0==POUND||(LA130_0>=EQUAL && LA130_0<=PIPE)||(LA130_0>=NOWIKI_BLOCK_CLOSE && LA130_0<=NOWIKI_CLOSE)||(LA130_0>=IMAGE_CLOSE && LA130_0<=79)) ) {
13776                        alt130=1;
13777                    }
13778    
13779    
13780                    switch (alt130) {
13781                    case 1 :
13782                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:658:6: c=~ ( LINK_CLOSE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | ESCAPE | NEWLINE | EOF )
13783                        {
13784                        c=(Token)input.LT(1);
13785                        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)<=79) ) {
13786                            input.consume();
13787                            errorRecovery=false;failed=false;
13788                        }
13789                        else {
13790                            if (backtracking>0) {failed=true; return text;}
13791                            MismatchedSetException mse =
13792                                new MismatchedSetException(null,input);
13793                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_link_descriptiontext_simple4027);    throw mse;
13794                        }
13795    
13796                        if ( backtracking==0 ) {
13797                           text.append(c.getText()); 
13798                        }
13799    
13800                        }
13801                        break;
13802    
13803                    default :
13804                        if ( cnt130 >= 1 ) break loop130;
13805                        if (backtracking>0) {failed=true; return text;}
13806                            EarlyExitException eee =
13807                                new EarlyExitException(130, input);
13808                            throw eee;
13809                    }
13810                    cnt130++;
13811                } while (true);
13812    
13813    
13814                }
13815    
13816            }
13817            catch (RecognitionException re) {
13818                reportError(re);
13819                recover(input,re);
13820            }
13821            finally {
13822            }
13823            return text;
13824        }
13825        // $ANTLR end link_descriptiontext_simple
13826    
13827    
13828        // $ANTLR start link_uri
13829        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:670:1: link_uri returns [StringBundler text = new StringBundler()] : (c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF ) )+ ;
13830        public final StringBundler link_uri() throws RecognitionException {
13831            StringBundler text =  new StringBundler();
13832    
13833            Token c=null;
13834    
13835            try {
13836                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:671:2: ( (c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF ) )+ )
13837                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:671:4: (c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF ) )+
13838                {
13839                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:671:4: (c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF ) )+
13840                int cnt131=0;
13841                loop131:
13842                do {
13843                    int alt131=2;
13844                    int LA131_0 = input.LA(1);
13845    
13846                    if ( ((LA131_0>=FORCED_END_OF_LINE && LA131_0<=WIKI)||(LA131_0>=POUND && LA131_0<=EQUAL)||(LA131_0>=ITAL && LA131_0<=NOWIKI_CLOSE)||(LA131_0>=IMAGE_CLOSE && LA131_0<=79)) ) {
13847                        alt131=1;
13848                    }
13849    
13850    
13851                    switch (alt131) {
13852                    case 1 :
13853                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:671:6: c=~ ( PIPE | LINK_CLOSE | NEWLINE | EOF )
13854                        {
13855                        c=(Token)input.LT(1);
13856                        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)<=79) ) {
13857                            input.consume();
13858                            errorRecovery=false;failed=false;
13859                        }
13860                        else {
13861                            if (backtracking>0) {failed=true; return text;}
13862                            MismatchedSetException mse =
13863                                new MismatchedSetException(null,input);
13864                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_link_uri4126);    throw mse;
13865                        }
13866    
13867                        if ( backtracking==0 ) {
13868                          text.append(c.getText()); 
13869                        }
13870    
13871                        }
13872                        break;
13873    
13874                    default :
13875                        if ( cnt131 >= 1 ) break loop131;
13876                        if (backtracking>0) {failed=true; return text;}
13877                            EarlyExitException eee =
13878                                new EarlyExitException(131, input);
13879                            throw eee;
13880                    }
13881                    cnt131++;
13882                } while (true);
13883    
13884    
13885                }
13886    
13887            }
13888            catch (RecognitionException re) {
13889                reportError(re);
13890                recover(input,re);
13891            }
13892            finally {
13893            }
13894            return text;
13895        }
13896        // $ANTLR end link_uri
13897    
13898    
13899        // $ANTLR start image
13900        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:678:1: image returns [ImageNode image = new ImageNode()] : image_open_markup uri= image_uri (alt= image_alternative )? image_close_markup ;
13901        public final ImageNode image() throws RecognitionException {
13902            ImageNode image =  new ImageNode();
13903    
13904            StringBundler uri = null;
13905    
13906            CollectionNode alt = null;
13907    
13908    
13909            try {
13910                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:679:2: ( image_open_markup uri= image_uri (alt= image_alternative )? image_close_markup )
13911                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:679:4: image_open_markup uri= image_uri (alt= image_alternative )? image_close_markup
13912                {
13913                pushFollow(FOLLOW_image_open_markup_in_image4167);
13914                image_open_markup();
13915                _fsp--;
13916                if (failed) return image;
13917                pushFollow(FOLLOW_image_uri_in_image4173);
13918                uri=image_uri();
13919                _fsp--;
13920                if (failed) return image;
13921                if ( backtracking==0 ) {
13922                  image.setLink(uri.toString());
13923                }
13924                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:679:79: (alt= image_alternative )?
13925                int alt132=2;
13926                int LA132_0 = input.LA(1);
13927    
13928                if ( (LA132_0==PIPE) ) {
13929                    alt132=1;
13930                }
13931                switch (alt132) {
13932                    case 1 :
13933                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:679:81: alt= image_alternative
13934                        {
13935                        pushFollow(FOLLOW_image_alternative_in_image4183);
13936                        alt=image_alternative();
13937                        _fsp--;
13938                        if (failed) return image;
13939                        if ( backtracking==0 ) {
13940                          image.setAltCollectionNode(alt);
13941                        }
13942    
13943                        }
13944                        break;
13945    
13946                }
13947    
13948                pushFollow(FOLLOW_image_close_markup_in_image4192);
13949                image_close_markup();
13950                _fsp--;
13951                if (failed) return image;
13952    
13953                }
13954    
13955            }
13956            catch (RecognitionException re) {
13957                reportError(re);
13958                recover(input,re);
13959            }
13960            finally {
13961            }
13962            return image;
13963        }
13964        // $ANTLR end image
13965    
13966    
13967        // $ANTLR start image_uri
13968        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:682:1: image_uri returns [StringBundler link = new StringBundler()] : (c=~ ( PIPE | IMAGE_CLOSE | NEWLINE | EOF ) )+ ;
13969        public final StringBundler image_uri() throws RecognitionException {
13970            StringBundler link =  new StringBundler();
13971    
13972            Token c=null;
13973    
13974            try {
13975                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:683:2: ( (c=~ ( PIPE | IMAGE_CLOSE | NEWLINE | EOF ) )+ )
13976                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:683:4: (c=~ ( PIPE | IMAGE_CLOSE | NEWLINE | EOF ) )+
13977                {
13978                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:683:4: (c=~ ( PIPE | IMAGE_CLOSE | NEWLINE | EOF ) )+
13979                int cnt133=0;
13980                loop133:
13981                do {
13982                    int alt133=2;
13983                    int LA133_0 = input.LA(1);
13984    
13985                    if ( ((LA133_0>=FORCED_END_OF_LINE && LA133_0<=WIKI)||(LA133_0>=POUND && LA133_0<=EQUAL)||(LA133_0>=ITAL && LA133_0<=LINK_CLOSE)||(LA133_0>=BLANKS && LA133_0<=79)) ) {
13986                        alt133=1;
13987                    }
13988    
13989    
13990                    switch (alt133) {
13991                    case 1 :
13992                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:683:5: c=~ ( PIPE | IMAGE_CLOSE | NEWLINE | EOF )
13993                        {
13994                        c=(Token)input.LT(1);
13995                        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)<=79) ) {
13996                            input.consume();
13997                            errorRecovery=false;failed=false;
13998                        }
13999                        else {
14000                            if (backtracking>0) {failed=true; return link;}
14001                            MismatchedSetException mse =
14002                                new MismatchedSetException(null,input);
14003                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_image_uri4211);    throw mse;
14004                        }
14005    
14006                        if ( backtracking==0 ) {
14007                          link.append(c.getText()); 
14008                        }
14009    
14010                        }
14011                        break;
14012    
14013                    default :
14014                        if ( cnt133 >= 1 ) break loop133;
14015                        if (backtracking>0) {failed=true; return link;}
14016                            EarlyExitException eee =
14017                                new EarlyExitException(133, input);
14018                            throw eee;
14019                    }
14020                    cnt133++;
14021                } while (true);
14022    
14023    
14024                }
14025    
14026            }
14027            catch (RecognitionException re) {
14028                reportError(re);
14029                recover(input,re);
14030            }
14031            finally {
14032            }
14033            return link;
14034        }
14035        // $ANTLR end image_uri
14036    
14037    
14038        // $ANTLR start image_alternative
14039        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:685:1: image_alternative returns [CollectionNode alternative = new CollectionNode()] : image_alternative_markup (p= image_alternativepart )+ ;
14040        public final CollectionNode image_alternative() throws RecognitionException {
14041            CollectionNode alternative =  new CollectionNode();
14042    
14043            ASTNode p = null;
14044    
14045    
14046            try {
14047                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:686:2: ( image_alternative_markup (p= image_alternativepart )+ )
14048                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:686:4: image_alternative_markup (p= image_alternativepart )+
14049                {
14050                pushFollow(FOLLOW_image_alternative_markup_in_image_alternative4246);
14051                image_alternative_markup();
14052                _fsp--;
14053                if (failed) return alternative;
14054                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:686:30: (p= image_alternativepart )+
14055                int cnt134=0;
14056                loop134:
14057                do {
14058                    int alt134=2;
14059                    int LA134_0 = input.LA(1);
14060    
14061                    if ( ((LA134_0>=FORCED_END_OF_LINE && LA134_0<=WIKI)||(LA134_0>=POUND && LA134_0<=ITAL)||(LA134_0>=FORCED_LINEBREAK && LA134_0<=LINK_CLOSE)||(LA134_0>=BLANKS && LA134_0<=79)) ) {
14062                        alt134=1;
14063                    }
14064    
14065    
14066                    switch (alt134) {
14067                    case 1 :
14068                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:686:32: p= image_alternativepart
14069                        {
14070                        pushFollow(FOLLOW_image_alternativepart_in_image_alternative4255);
14071                        p=image_alternativepart();
14072                        _fsp--;
14073                        if (failed) return alternative;
14074                        if ( backtracking==0 ) {
14075                          alternative.add(p); 
14076                        }
14077    
14078                        }
14079                        break;
14080    
14081                    default :
14082                        if ( cnt134 >= 1 ) break loop134;
14083                        if (backtracking>0) {failed=true; return alternative;}
14084                            EarlyExitException eee =
14085                                new EarlyExitException(134, input);
14086                            throw eee;
14087                    }
14088                    cnt134++;
14089                } while (true);
14090    
14091    
14092                }
14093    
14094            }
14095            catch (RecognitionException re) {
14096                reportError(re);
14097                recover(input,re);
14098            }
14099            finally {
14100            }
14101            return alternative;
14102        }
14103        // $ANTLR end image_alternative
14104    
14105        protected static class image_alternativepart_scope {
14106            CollectionNode elements;
14107        }
14108        protected Stack image_alternativepart_stack = new Stack();
14109    
14110    
14111        // $ANTLR start image_alternativepart
14112        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:688: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 )+ );
14113        public final ASTNode image_alternativepart() throws RecognitionException {
14114            image_alternativepart_stack.push(new image_alternativepart_scope());
14115            ASTNode item =  null;
14116    
14117            ASTNode t1 = null;
14118    
14119            ASTNode t2 = null;
14120    
14121            CollectionNode t3 = null;
14122    
14123    
14124    
14125               ((image_alternativepart_scope)image_alternativepart_stack.peek()).elements = new CollectionNode();
14126    
14127            try {
14128                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:695: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 )+ )
14129                int alt138=3;
14130                switch ( input.LA(1) ) {
14131                case STAR:
14132                    {
14133                    int LA138_1 = input.LA(2);
14134    
14135                    if ( (LA138_1==STAR) ) {
14136                        alt138=1;
14137                    }
14138                    else if ( ((LA138_1>=FORCED_END_OF_LINE && LA138_1<=WIKI)||LA138_1==POUND||(LA138_1>=EQUAL && LA138_1<=PIPE)||(LA138_1>=FORCED_LINEBREAK && LA138_1<=LINK_CLOSE)||(LA138_1>=BLANKS && LA138_1<=79)) ) {
14139                        alt138=3;
14140                    }
14141                    else {
14142                        if (backtracking>0) {failed=true; return item;}
14143                        NoViableAltException nvae =
14144                            new NoViableAltException("688: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 )+ );", 138, 1, input);
14145    
14146                        throw nvae;
14147                    }
14148                    }
14149                    break;
14150                case ITAL:
14151                    {
14152                    alt138=2;
14153                    }
14154                    break;
14155                case FORCED_END_OF_LINE:
14156                case HEADING_SECTION:
14157                case HORIZONTAL_SECTION:
14158                case LIST_ITEM:
14159                case LIST_ITEM_PART:
14160                case NOWIKI_SECTION:
14161                case SCAPE_NODE:
14162                case TEXT_NODE:
14163                case UNORDERED_LIST:
14164                case UNFORMATTED_TEXT:
14165                case WIKI:
14166                case POUND:
14167                case EQUAL:
14168                case PIPE:
14169                case FORCED_LINEBREAK:
14170                case ESCAPE:
14171                case NOWIKI_BLOCK_CLOSE:
14172                case NOWIKI_CLOSE:
14173                case LINK_CLOSE:
14174                case BLANKS:
14175                case TABLE_OF_CONTENTS_TEXT:
14176                case DASH:
14177                case CR:
14178                case LF:
14179                case SPACE:
14180                case TABULATOR:
14181                case BRACE_CLOSE:
14182                case COLON_SLASH:
14183                case SLASH:
14184                case TABLE_OF_CONTENTS_OPEN_MARKUP:
14185                case TABLE_OF_CONTENTS_CLOSE_MARKUP:
14186                case INSIGNIFICANT_CHAR:
14187                case 44:
14188                case 45:
14189                case 46:
14190                case 47:
14191                case 48:
14192                case 49:
14193                case 50:
14194                case 51:
14195                case 52:
14196                case 53:
14197                case 54:
14198                case 55:
14199                case 56:
14200                case 57:
14201                case 58:
14202                case 59:
14203                case 60:
14204                case 61:
14205                case 62:
14206                case 63:
14207                case 64:
14208                case 65:
14209                case 66:
14210                case 67:
14211                case 68:
14212                case 69:
14213                case 70:
14214                case 71:
14215                case 72:
14216                case 73:
14217                case 74:
14218                case 75:
14219                case 76:
14220                case 77:
14221                case 78:
14222                case 79:
14223                    {
14224                    alt138=3;
14225                    }
14226                    break;
14227                default:
14228                    if (backtracking>0) {failed=true; return item;}
14229                    NoViableAltException nvae =
14230                        new NoViableAltException("688: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 )+ );", 138, 0, input);
14231    
14232                    throw nvae;
14233                }
14234    
14235                switch (alt138) {
14236                    case 1 :
14237                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:695:4: bold_markup onestar (t1= image_bold_alternativepart onestar )+ bold_markup
14238                        {
14239                        pushFollow(FOLLOW_bold_markup_in_image_alternativepart4281);
14240                        bold_markup();
14241                        _fsp--;
14242                        if (failed) return item;
14243                        pushFollow(FOLLOW_onestar_in_image_alternativepart4284);
14244                        onestar();
14245                        _fsp--;
14246                        if (failed) return item;
14247                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:695:26: (t1= image_bold_alternativepart onestar )+
14248                        int cnt135=0;
14249                        loop135:
14250                        do {
14251                            int alt135=2;
14252                            int LA135_0 = input.LA(1);
14253    
14254                            if ( (LA135_0==STAR) ) {
14255                                int LA135_1 = input.LA(2);
14256    
14257                                if ( ((LA135_1>=FORCED_END_OF_LINE && LA135_1<=WIKI)||LA135_1==POUND||(LA135_1>=EQUAL && LA135_1<=PIPE)||(LA135_1>=FORCED_LINEBREAK && LA135_1<=LINK_CLOSE)||(LA135_1>=BLANKS && LA135_1<=79)) ) {
14258                                    alt135=1;
14259                                }
14260    
14261    
14262                            }
14263                            else if ( ((LA135_0>=FORCED_END_OF_LINE && LA135_0<=WIKI)||LA135_0==POUND||(LA135_0>=EQUAL && LA135_0<=ITAL)||(LA135_0>=FORCED_LINEBREAK && LA135_0<=LINK_CLOSE)||(LA135_0>=BLANKS && LA135_0<=79)) ) {
14264                                alt135=1;
14265                            }
14266    
14267    
14268                            switch (alt135) {
14269                            case 1 :
14270                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:695:28: t1= image_bold_alternativepart onestar
14271                                {
14272                                pushFollow(FOLLOW_image_bold_alternativepart_in_image_alternativepart4293);
14273                                t1=image_bold_alternativepart();
14274                                _fsp--;
14275                                if (failed) return item;
14276                                if ( backtracking==0 ) {
14277                                  ((image_alternativepart_scope)image_alternativepart_stack.peek()).elements.add(t1);
14278                                }
14279                                pushFollow(FOLLOW_onestar_in_image_alternativepart4298);
14280                                onestar();
14281                                _fsp--;
14282                                if (failed) return item;
14283    
14284                                }
14285                                break;
14286    
14287                            default :
14288                                if ( cnt135 >= 1 ) break loop135;
14289                                if (backtracking>0) {failed=true; return item;}
14290                                    EarlyExitException eee =
14291                                        new EarlyExitException(135, input);
14292                                    throw eee;
14293                            }
14294                            cnt135++;
14295                        } while (true);
14296    
14297                        pushFollow(FOLLOW_bold_markup_in_image_alternativepart4305);
14298                        bold_markup();
14299                        _fsp--;
14300                        if (failed) return item;
14301                        if ( backtracking==0 ) {
14302                          item = new BoldTextNode(((image_alternativepart_scope)image_alternativepart_stack.peek()).elements);
14303                        }
14304    
14305                        }
14306                        break;
14307                    case 2 :
14308                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:697:4: ital_markup onestar (t2= image_ital_alternativepart onestar )+ ital_markup
14309                        {
14310                        pushFollow(FOLLOW_ital_markup_in_image_alternativepart4312);
14311                        ital_markup();
14312                        _fsp--;
14313                        if (failed) return item;
14314                        pushFollow(FOLLOW_onestar_in_image_alternativepart4315);
14315                        onestar();
14316                        _fsp--;
14317                        if (failed) return item;
14318                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:697:26: (t2= image_ital_alternativepart onestar )+
14319                        int cnt136=0;
14320                        loop136:
14321                        do {
14322                            int alt136=2;
14323                            int LA136_0 = input.LA(1);
14324    
14325                            if ( ((LA136_0>=FORCED_END_OF_LINE && LA136_0<=WIKI)||(LA136_0>=POUND && LA136_0<=PIPE)||(LA136_0>=FORCED_LINEBREAK && LA136_0<=LINK_CLOSE)||(LA136_0>=BLANKS && LA136_0<=79)) ) {
14326                                alt136=1;
14327                            }
14328    
14329    
14330                            switch (alt136) {
14331                            case 1 :
14332                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:697:29: t2= image_ital_alternativepart onestar
14333                                {
14334                                pushFollow(FOLLOW_image_ital_alternativepart_in_image_alternativepart4325);
14335                                t2=image_ital_alternativepart();
14336                                _fsp--;
14337                                if (failed) return item;
14338                                if ( backtracking==0 ) {
14339                                  ((image_alternativepart_scope)image_alternativepart_stack.peek()).elements.add(t2);
14340                                }
14341                                pushFollow(FOLLOW_onestar_in_image_alternativepart4330);
14342                                onestar();
14343                                _fsp--;
14344                                if (failed) return item;
14345    
14346                                }
14347                                break;
14348    
14349                            default :
14350                                if ( cnt136 >= 1 ) break loop136;
14351                                if (backtracking>0) {failed=true; return item;}
14352                                    EarlyExitException eee =
14353                                        new EarlyExitException(136, input);
14354                                    throw eee;
14355                            }
14356                            cnt136++;
14357                        } while (true);
14358    
14359                        pushFollow(FOLLOW_ital_markup_in_image_alternativepart4337);
14360                        ital_markup();
14361                        _fsp--;
14362                        if (failed) return item;
14363                        if ( backtracking==0 ) {
14364                          item = new ItalicTextNode(((image_alternativepart_scope)image_alternativepart_stack.peek()).elements);
14365                        }
14366    
14367                        }
14368                        break;
14369                    case 3 :
14370                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:699:4: onestar (t3= image_alternativetext onestar )+
14371                        {
14372                        pushFollow(FOLLOW_onestar_in_image_alternativepart4344);
14373                        onestar();
14374                        _fsp--;
14375                        if (failed) return item;
14376                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:699:13: (t3= image_alternativetext onestar )+
14377                        int cnt137=0;
14378                        loop137:
14379                        do {
14380                            int alt137=2;
14381                            int LA137_0 = input.LA(1);
14382    
14383                            if ( ((LA137_0>=FORCED_END_OF_LINE && LA137_0<=WIKI)||LA137_0==POUND||(LA137_0>=EQUAL && LA137_0<=PIPE)||(LA137_0>=ESCAPE && LA137_0<=LINK_CLOSE)||(LA137_0>=BLANKS && LA137_0<=79)) ) {
14384                                alt137=1;
14385                            }
14386                            else if ( (LA137_0==FORCED_LINEBREAK) ) {
14387                                alt137=1;
14388                            }
14389    
14390    
14391                            switch (alt137) {
14392                            case 1 :
14393                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:699:15: t3= image_alternativetext onestar
14394                                {
14395                                pushFollow(FOLLOW_image_alternativetext_in_image_alternativepart4351);
14396                                t3=image_alternativetext();
14397                                _fsp--;
14398                                if (failed) return item;
14399                                if ( backtracking==0 ) {
14400    
14401                                                                    for (ASTNode n: t3.getASTNodes()) {
14402                                                                       ((image_alternativepart_scope)image_alternativepart_stack.peek()).elements.add(n);
14403                                                                     }
14404                                                                          
14405                                }
14406                                pushFollow(FOLLOW_onestar_in_image_alternativepart4356);
14407                                onestar();
14408                                _fsp--;
14409                                if (failed) return item;
14410    
14411                                }
14412                                break;
14413    
14414                            default :
14415                                if ( cnt137 >= 1 ) break loop137;
14416                                if (backtracking>0) {failed=true; return item;}
14417                                    EarlyExitException eee =
14418                                        new EarlyExitException(137, input);
14419                                    throw eee;
14420                            }
14421                            cnt137++;
14422                        } while (true);
14423    
14424                        if ( backtracking==0 ) {
14425                          item =new UnformattedTextNode(((image_alternativepart_scope)image_alternativepart_stack.peek()).elements);
14426                        }
14427    
14428                        }
14429                        break;
14430    
14431                }
14432            }
14433            catch (RecognitionException re) {
14434                reportError(re);
14435                recover(input,re);
14436            }
14437            finally {
14438                image_alternativepart_stack.pop();
14439            }
14440            return item;
14441        }
14442        // $ANTLR end image_alternativepart
14443    
14444        protected static class image_bold_alternativepart_scope {
14445            CollectionNode elements;
14446        }
14447        protected Stack image_bold_alternativepart_stack = new Stack();
14448    
14449    
14450        // $ANTLR start image_bold_alternativepart
14451        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:705:1: image_bold_alternativepart returns [ASTNode text = null] : ( ital_markup t= link_boldital_description ital_markup | onestar (i= image_alternativetext onestar )+ );
14452        public final ASTNode image_bold_alternativepart() throws RecognitionException {
14453            image_bold_alternativepart_stack.push(new image_bold_alternativepart_scope());
14454            ASTNode text =  null;
14455    
14456            CollectionNode t = null;
14457    
14458            CollectionNode i = null;
14459    
14460    
14461    
14462               ((image_bold_alternativepart_scope)image_bold_alternativepart_stack.peek()).elements = new CollectionNode();
14463    
14464            try {
14465                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:712:2: ( ital_markup t= link_boldital_description ital_markup | onestar (i= image_alternativetext onestar )+ )
14466                int alt140=2;
14467                int LA140_0 = input.LA(1);
14468    
14469                if ( (LA140_0==ITAL) ) {
14470                    alt140=1;
14471                }
14472                else if ( ((LA140_0>=FORCED_END_OF_LINE && LA140_0<=WIKI)||(LA140_0>=POUND && LA140_0<=PIPE)||(LA140_0>=FORCED_LINEBREAK && LA140_0<=LINK_CLOSE)||(LA140_0>=BLANKS && LA140_0<=79)) ) {
14473                    alt140=2;
14474                }
14475                else {
14476                    if (backtracking>0) {failed=true; return text;}
14477                    NoViableAltException nvae =
14478                        new NoViableAltException("705:1: image_bold_alternativepart returns [ASTNode text = null] : ( ital_markup t= link_boldital_description ital_markup | onestar (i= image_alternativetext onestar )+ );", 140, 0, input);
14479    
14480                    throw nvae;
14481                }
14482                switch (alt140) {
14483                    case 1 :
14484                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:712:4: ital_markup t= link_boldital_description ital_markup
14485                        {
14486                        pushFollow(FOLLOW_ital_markup_in_image_bold_alternativepart4382);
14487                        ital_markup();
14488                        _fsp--;
14489                        if (failed) return text;
14490                        pushFollow(FOLLOW_link_boldital_description_in_image_bold_alternativepart4389);
14491                        t=link_boldital_description();
14492                        _fsp--;
14493                        if (failed) return text;
14494                        if ( backtracking==0 ) {
14495                          text = new ItalicTextNode(t); 
14496                        }
14497                        pushFollow(FOLLOW_ital_markup_in_image_bold_alternativepart4394);
14498                        ital_markup();
14499                        _fsp--;
14500                        if (failed) return text;
14501    
14502                        }
14503                        break;
14504                    case 2 :
14505                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:713:4: onestar (i= image_alternativetext onestar )+
14506                        {
14507                        pushFollow(FOLLOW_onestar_in_image_bold_alternativepart4399);
14508                        onestar();
14509                        _fsp--;
14510                        if (failed) return text;
14511                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:713:13: (i= image_alternativetext onestar )+
14512                        int cnt139=0;
14513                        loop139:
14514                        do {
14515                            int alt139=2;
14516                            int LA139_0 = input.LA(1);
14517    
14518                            if ( ((LA139_0>=FORCED_END_OF_LINE && LA139_0<=WIKI)||LA139_0==POUND||(LA139_0>=EQUAL && LA139_0<=PIPE)||(LA139_0>=ESCAPE && LA139_0<=LINK_CLOSE)||(LA139_0>=BLANKS && LA139_0<=79)) ) {
14519                                alt139=1;
14520                            }
14521                            else if ( (LA139_0==FORCED_LINEBREAK) ) {
14522                                alt139=1;
14523                            }
14524    
14525    
14526                            switch (alt139) {
14527                            case 1 :
14528                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:713:15: i= image_alternativetext onestar
14529                                {
14530                                pushFollow(FOLLOW_image_alternativetext_in_image_bold_alternativepart4408);
14531                                i=image_alternativetext();
14532                                _fsp--;
14533                                if (failed) return text;
14534                                pushFollow(FOLLOW_onestar_in_image_bold_alternativepart4411);
14535                                onestar();
14536                                _fsp--;
14537                                if (failed) return text;
14538                                if ( backtracking==0 ) {
14539    
14540                                                                    for (ASTNode item:i.getASTNodes()) {
14541                                                                        ((image_ital_alternativepart_scope)image_ital_alternativepart_stack.peek()).elements.add(item);
14542                                                                    }
14543                                                                    
14544                                }
14545    
14546                                }
14547                                break;
14548    
14549                            default :
14550                                if ( cnt139 >= 1 ) break loop139;
14551                                if (backtracking>0) {failed=true; return text;}
14552                                    EarlyExitException eee =
14553                                        new EarlyExitException(139, input);
14554                                    throw eee;
14555                            }
14556                            cnt139++;
14557                        } while (true);
14558    
14559                        if ( backtracking==0 ) {
14560                          text = new UnformattedTextNode(((image_bold_alternativepart_scope)image_bold_alternativepart_stack.peek()).elements);
14561                        }
14562    
14563                        }
14564                        break;
14565    
14566                }
14567            }
14568            catch (RecognitionException re) {
14569                reportError(re);
14570                recover(input,re);
14571            }
14572            finally {
14573                image_bold_alternativepart_stack.pop();
14574            }
14575            return text;
14576        }
14577        // $ANTLR end image_bold_alternativepart
14578    
14579        protected static class image_ital_alternativepart_scope {
14580            CollectionNode elements;
14581        }
14582        protected Stack image_ital_alternativepart_stack = new Stack();
14583    
14584    
14585        // $ANTLR start image_ital_alternativepart
14586        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:720:1: image_ital_alternativepart returns [ASTNode text = null] : ( bold_markup t= link_boldital_description bold_markup | onestar (i= image_alternativetext onestar )+ );
14587        public final ASTNode image_ital_alternativepart() throws RecognitionException {
14588            image_ital_alternativepart_stack.push(new image_ital_alternativepart_scope());
14589            ASTNode text =  null;
14590    
14591            CollectionNode t = null;
14592    
14593            CollectionNode i = null;
14594    
14595    
14596    
14597               ((image_ital_alternativepart_scope)image_ital_alternativepart_stack.peek()).elements = new CollectionNode();
14598    
14599            try {
14600                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:727:2: ( bold_markup t= link_boldital_description bold_markup | onestar (i= image_alternativetext onestar )+ )
14601                int alt142=2;
14602                int LA142_0 = input.LA(1);
14603    
14604                if ( (LA142_0==STAR) ) {
14605                    int LA142_1 = input.LA(2);
14606    
14607                    if ( (LA142_1==STAR) ) {
14608                        alt142=1;
14609                    }
14610                    else if ( ((LA142_1>=FORCED_END_OF_LINE && LA142_1<=WIKI)||LA142_1==POUND||(LA142_1>=EQUAL && LA142_1<=PIPE)||(LA142_1>=FORCED_LINEBREAK && LA142_1<=LINK_CLOSE)||(LA142_1>=BLANKS && LA142_1<=79)) ) {
14611                        alt142=2;
14612                    }
14613                    else {
14614                        if (backtracking>0) {failed=true; return text;}
14615                        NoViableAltException nvae =
14616                            new NoViableAltException("720:1: image_ital_alternativepart returns [ASTNode text = null] : ( bold_markup t= link_boldital_description bold_markup | onestar (i= image_alternativetext onestar )+ );", 142, 1, input);
14617    
14618                        throw nvae;
14619                    }
14620                }
14621                else 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<=79)) ) {
14622                    alt142=2;
14623                }
14624                else {
14625                    if (backtracking>0) {failed=true; return text;}
14626                    NoViableAltException nvae =
14627                        new NoViableAltException("720:1: image_ital_alternativepart returns [ASTNode text = null] : ( bold_markup t= link_boldital_description bold_markup | onestar (i= image_alternativetext onestar )+ );", 142, 0, input);
14628    
14629                    throw nvae;
14630                }
14631                switch (alt142) {
14632                    case 1 :
14633                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:727:4: bold_markup t= link_boldital_description bold_markup
14634                        {
14635                        pushFollow(FOLLOW_bold_markup_in_image_ital_alternativepart4439);
14636                        bold_markup();
14637                        _fsp--;
14638                        if (failed) return text;
14639                        pushFollow(FOLLOW_link_boldital_description_in_image_ital_alternativepart4446);
14640                        t=link_boldital_description();
14641                        _fsp--;
14642                        if (failed) return text;
14643                        if ( backtracking==0 ) {
14644                          text = new BoldTextNode(t); 
14645                        }
14646                        pushFollow(FOLLOW_bold_markup_in_image_ital_alternativepart4451);
14647                        bold_markup();
14648                        _fsp--;
14649                        if (failed) return text;
14650    
14651                        }
14652                        break;
14653                    case 2 :
14654                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:728:4: onestar (i= image_alternativetext onestar )+
14655                        {
14656                        pushFollow(FOLLOW_onestar_in_image_ital_alternativepart4456);
14657                        onestar();
14658                        _fsp--;
14659                        if (failed) return text;
14660                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:728:13: (i= image_alternativetext onestar )+
14661                        int cnt141=0;
14662                        loop141:
14663                        do {
14664                            int alt141=2;
14665                            int LA141_0 = input.LA(1);
14666    
14667                            if ( ((LA141_0>=FORCED_END_OF_LINE && LA141_0<=WIKI)||LA141_0==POUND||(LA141_0>=EQUAL && LA141_0<=PIPE)||(LA141_0>=ESCAPE && LA141_0<=LINK_CLOSE)||(LA141_0>=BLANKS && LA141_0<=79)) ) {
14668                                alt141=1;
14669                            }
14670                            else if ( (LA141_0==FORCED_LINEBREAK) ) {
14671                                alt141=1;
14672                            }
14673    
14674    
14675                            switch (alt141) {
14676                            case 1 :
14677                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:728:14: i= image_alternativetext onestar
14678                                {
14679                                pushFollow(FOLLOW_image_alternativetext_in_image_ital_alternativepart4465);
14680                                i=image_alternativetext();
14681                                _fsp--;
14682                                if (failed) return text;
14683                                pushFollow(FOLLOW_onestar_in_image_ital_alternativepart4468);
14684                                onestar();
14685                                _fsp--;
14686                                if (failed) return text;
14687                                if ( backtracking==0 ) {
14688    
14689                                                                    for (ASTNode item:i.getASTNodes()) {
14690                                                                        ((image_ital_alternativepart_scope)image_ital_alternativepart_stack.peek()).elements.add(item);
14691                                                                    }
14692                                                                    
14693                                }
14694    
14695                                }
14696                                break;
14697    
14698                            default :
14699                                if ( cnt141 >= 1 ) break loop141;
14700                                if (backtracking>0) {failed=true; return text;}
14701                                    EarlyExitException eee =
14702                                        new EarlyExitException(141, input);
14703                                    throw eee;
14704                            }
14705                            cnt141++;
14706                        } while (true);
14707    
14708                        if ( backtracking==0 ) {
14709                          text = new UnformattedTextNode(((image_ital_alternativepart_scope)image_ital_alternativepart_stack.peek()).elements);
14710                        }
14711    
14712                        }
14713                        break;
14714    
14715                }
14716            }
14717            catch (RecognitionException re) {
14718                reportError(re);
14719                recover(input,re);
14720            }
14721            finally {
14722                image_ital_alternativepart_stack.pop();
14723            }
14724            return text;
14725        }
14726        // $ANTLR end image_ital_alternativepart
14727    
14728    
14729        // $ANTLR start image_boldital_alternative
14730        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:734:1: image_boldital_alternative returns [CollectionNode text = new CollectionNode()] : onestar (i= image_alternativetext onestar )+ ;
14731        public final CollectionNode image_boldital_alternative() throws RecognitionException {
14732            CollectionNode text =  new CollectionNode();
14733    
14734            CollectionNode i = null;
14735    
14736    
14737            try {
14738                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:735:2: ( onestar (i= image_alternativetext onestar )+ )
14739                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:735:4: onestar (i= image_alternativetext onestar )+
14740                {
14741                pushFollow(FOLLOW_onestar_in_image_boldital_alternative4489);
14742                onestar();
14743                _fsp--;
14744                if (failed) return text;
14745                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:735:13: (i= image_alternativetext onestar )+
14746                int cnt143=0;
14747                loop143:
14748                do {
14749                    int alt143=2;
14750                    int LA143_0 = input.LA(1);
14751    
14752                    if ( ((LA143_0>=FORCED_END_OF_LINE && LA143_0<=WIKI)||LA143_0==POUND||(LA143_0>=EQUAL && LA143_0<=PIPE)||(LA143_0>=FORCED_LINEBREAK && LA143_0<=LINK_CLOSE)||(LA143_0>=BLANKS && LA143_0<=79)) ) {
14753                        alt143=1;
14754                    }
14755    
14756    
14757                    switch (alt143) {
14758                    case 1 :
14759                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:735:15: i= image_alternativetext onestar
14760                        {
14761                        pushFollow(FOLLOW_image_alternativetext_in_image_boldital_alternative4498);
14762                        i=image_alternativetext();
14763                        _fsp--;
14764                        if (failed) return text;
14765                        pushFollow(FOLLOW_onestar_in_image_boldital_alternative4501);
14766                        onestar();
14767                        _fsp--;
14768                        if (failed) return text;
14769                        if ( backtracking==0 ) {
14770    
14771                                                            for (ASTNode item:i.getASTNodes()) {
14772                                                                text.add(item);
14773                                                            }
14774                                                            
14775                        }
14776    
14777                        }
14778                        break;
14779    
14780                    default :
14781                        if ( cnt143 >= 1 ) break loop143;
14782                        if (backtracking>0) {failed=true; return text;}
14783                            EarlyExitException eee =
14784                                new EarlyExitException(143, input);
14785                            throw eee;
14786                    }
14787                    cnt143++;
14788                } while (true);
14789    
14790    
14791                }
14792    
14793            }
14794            catch (RecognitionException re) {
14795                reportError(re);
14796                recover(input,re);
14797            }
14798            finally {
14799            }
14800            return text;
14801        }
14802        // $ANTLR end image_boldital_alternative
14803    
14804    
14805        // $ANTLR start image_alternativetext
14806        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:741:1: image_alternativetext returns [CollectionNode items = new CollectionNode()] : (contents= image_alternative_simple_text | ( forced_linebreak )+ );
14807        public final CollectionNode image_alternativetext() throws RecognitionException {
14808            CollectionNode items =  new CollectionNode();
14809    
14810            StringBundler contents = null;
14811    
14812    
14813            try {
14814                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:742:2: (contents= image_alternative_simple_text | ( forced_linebreak )+ )
14815                int alt145=2;
14816                int LA145_0 = input.LA(1);
14817    
14818                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<=79)) ) {
14819                    alt145=1;
14820                }
14821                else if ( (LA145_0==FORCED_LINEBREAK) ) {
14822                    alt145=2;
14823                }
14824                else {
14825                    if (backtracking>0) {failed=true; return items;}
14826                    NoViableAltException nvae =
14827                        new NoViableAltException("741:1: image_alternativetext returns [CollectionNode items = new CollectionNode()] : (contents= image_alternative_simple_text | ( forced_linebreak )+ );", 145, 0, input);
14828    
14829                    throw nvae;
14830                }
14831                switch (alt145) {
14832                    case 1 :
14833                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:742:4: contents= image_alternative_simple_text
14834                        {
14835                        pushFollow(FOLLOW_image_alternative_simple_text_in_image_alternativetext4523);
14836                        contents=image_alternative_simple_text();
14837                        _fsp--;
14838                        if (failed) return items;
14839                        if ( backtracking==0 ) {
14840                          items.add(new UnformattedTextNode(contents.toString())); 
14841                        }
14842    
14843                        }
14844                        break;
14845                    case 2 :
14846                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:743:4: ( forced_linebreak )+
14847                        {
14848                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:743:4: ( forced_linebreak )+
14849                        int cnt144=0;
14850                        loop144:
14851                        do {
14852                            int alt144=2;
14853                            int LA144_0 = input.LA(1);
14854    
14855                            if ( (LA144_0==FORCED_LINEBREAK) ) {
14856                                alt144=1;
14857                            }
14858    
14859    
14860                            switch (alt144) {
14861                            case 1 :
14862                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:743:5: forced_linebreak
14863                                {
14864                                pushFollow(FOLLOW_forced_linebreak_in_image_alternativetext4531);
14865                                forced_linebreak();
14866                                _fsp--;
14867                                if (failed) return items;
14868                                if ( backtracking==0 ) {
14869                                  items.add(new ForcedEndOfLineNode());
14870                                }
14871    
14872                                }
14873                                break;
14874    
14875                            default :
14876                                if ( cnt144 >= 1 ) break loop144;
14877                                if (backtracking>0) {failed=true; return items;}
14878                                    EarlyExitException eee =
14879                                        new EarlyExitException(144, input);
14880                                    throw eee;
14881                            }
14882                            cnt144++;
14883                        } while (true);
14884    
14885    
14886                        }
14887                        break;
14888    
14889                }
14890            }
14891            catch (RecognitionException re) {
14892                reportError(re);
14893                recover(input,re);
14894            }
14895            finally {
14896            }
14897            return items;
14898        }
14899        // $ANTLR end image_alternativetext
14900    
14901    
14902        // $ANTLR start image_alternative_simple_text
14903        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:746: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 ) )+ ;
14904        public final StringBundler image_alternative_simple_text() throws RecognitionException {
14905            StringBundler text =  new StringBundler();
14906    
14907            Token c=null;
14908    
14909            try {
14910                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:747:2: ( (c=~ ( IMAGE_CLOSE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | NEWLINE | EOF ) )+ )
14911                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:748:2: (c=~ ( IMAGE_CLOSE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | NEWLINE | EOF ) )+
14912                {
14913                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:748:2: (c=~ ( IMAGE_CLOSE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | NEWLINE | EOF ) )+
14914                int cnt146=0;
14915                loop146:
14916                do {
14917                    int alt146=2;
14918                    int LA146_0 = input.LA(1);
14919    
14920                    if ( ((LA146_0>=FORCED_END_OF_LINE && LA146_0<=WIKI)||LA146_0==POUND||(LA146_0>=EQUAL && LA146_0<=PIPE)||(LA146_0>=ESCAPE && LA146_0<=LINK_CLOSE)||(LA146_0>=BLANKS && LA146_0<=79)) ) {
14921                        alt146=1;
14922                    }
14923    
14924    
14925                    switch (alt146) {
14926                    case 1 :
14927                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:748:4: c=~ ( IMAGE_CLOSE | ITAL | STAR | LINK_OPEN | IMAGE_OPEN | NOWIKI_OPEN | EXTENSION | FORCED_LINEBREAK | NEWLINE | EOF )
14928                        {
14929                        c=(Token)input.LT(1);
14930                        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)<=79) ) {
14931                            input.consume();
14932                            errorRecovery=false;failed=false;
14933                        }
14934                        else {
14935                            if (backtracking>0) {failed=true; return text;}
14936                            MismatchedSetException mse =
14937                                new MismatchedSetException(null,input);
14938                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_image_alternative_simple_text4557);    throw mse;
14939                        }
14940    
14941                        if ( backtracking==0 ) {
14942                          text.append(c.getText()); 
14943                        }
14944    
14945                        }
14946                        break;
14947    
14948                    default :
14949                        if ( cnt146 >= 1 ) break loop146;
14950                        if (backtracking>0) {failed=true; return text;}
14951                            EarlyExitException eee =
14952                                new EarlyExitException(146, input);
14953                            throw eee;
14954                    }
14955                    cnt146++;
14956                } while (true);
14957    
14958    
14959                }
14960    
14961            }
14962            catch (RecognitionException re) {
14963                reportError(re);
14964                recover(input,re);
14965            }
14966            finally {
14967            }
14968            return text;
14969        }
14970        // $ANTLR end image_alternative_simple_text
14971    
14972    
14973        // $ANTLR start extension
14974        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:762:1: extension returns [ASTNode node = null] : extension_markup extension_handler blanks extension_statement extension_markup ;
14975        public final ASTNode extension() throws RecognitionException {
14976            ASTNode node =  null;
14977    
14978            try {
14979                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:763:2: ( extension_markup extension_handler blanks extension_statement extension_markup )
14980                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:763:4: extension_markup extension_handler blanks extension_statement extension_markup
14981                {
14982                pushFollow(FOLLOW_extension_markup_in_extension4649);
14983                extension_markup();
14984                _fsp--;
14985                if (failed) return node;
14986                pushFollow(FOLLOW_extension_handler_in_extension4652);
14987                extension_handler();
14988                _fsp--;
14989                if (failed) return node;
14990                pushFollow(FOLLOW_blanks_in_extension4655);
14991                blanks();
14992                _fsp--;
14993                if (failed) return node;
14994                pushFollow(FOLLOW_extension_statement_in_extension4658);
14995                extension_statement();
14996                _fsp--;
14997                if (failed) return node;
14998                pushFollow(FOLLOW_extension_markup_in_extension4662);
14999                extension_markup();
15000                _fsp--;
15001                if (failed) return node;
15002    
15003                }
15004    
15005            }
15006            catch (RecognitionException re) {
15007                reportError(re);
15008                recover(input,re);
15009            }
15010            finally {
15011            }
15012            return node;
15013        }
15014        // $ANTLR end extension
15015    
15016    
15017        // $ANTLR start extension_handler
15018        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:766:1: extension_handler : (~ ( EXTENSION | BLANKS | ESCAPE | NEWLINE | EOF ) | escaped )+ ;
15019        public final void extension_handler() throws RecognitionException {
15020            try {
15021                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:767:2: ( (~ ( EXTENSION | BLANKS | ESCAPE | NEWLINE | EOF ) | escaped )+ )
15022                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:767:4: (~ ( EXTENSION | BLANKS | ESCAPE | NEWLINE | EOF ) | escaped )+
15023                {
15024                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:767:4: (~ ( EXTENSION | BLANKS | ESCAPE | NEWLINE | EOF ) | escaped )+
15025                int cnt147=0;
15026                loop147:
15027                do {
15028                    int alt147=3;
15029                    int LA147_0 = input.LA(1);
15030    
15031                    if ( ((LA147_0>=FORCED_END_OF_LINE && LA147_0<=WIKI)||(LA147_0>=POUND && LA147_0<=NOWIKI_OPEN)||LA147_0==FORCED_LINEBREAK||(LA147_0>=NOWIKI_BLOCK_CLOSE && LA147_0<=IMAGE_CLOSE)||(LA147_0>=TABLE_OF_CONTENTS_TEXT && LA147_0<=79)) ) {
15032                        alt147=1;
15033                    }
15034                    else if ( (LA147_0==ESCAPE) ) {
15035                        alt147=2;
15036                    }
15037    
15038    
15039                    switch (alt147) {
15040                    case 1 :
15041                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:767:5: ~ ( EXTENSION | BLANKS | ESCAPE | NEWLINE | EOF )
15042                        {
15043                        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_TEXT && input.LA(1)<=79) ) {
15044                            input.consume();
15045                            errorRecovery=false;failed=false;
15046                        }
15047                        else {
15048                            if (backtracking>0) {failed=true; return ;}
15049                            MismatchedSetException mse =
15050                                new MismatchedSetException(null,input);
15051                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_extension_handler4673);    throw mse;
15052                        }
15053    
15054    
15055                        }
15056                        break;
15057                    case 2 :
15058                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:767:64: escaped
15059                        {
15060                        pushFollow(FOLLOW_escaped_in_extension_handler4706);
15061                        escaped();
15062                        _fsp--;
15063                        if (failed) return ;
15064    
15065                        }
15066                        break;
15067    
15068                    default :
15069                        if ( cnt147 >= 1 ) break loop147;
15070                        if (backtracking>0) {failed=true; return ;}
15071                            EarlyExitException eee =
15072                                new EarlyExitException(147, input);
15073                            throw eee;
15074                    }
15075                    cnt147++;
15076                } while (true);
15077    
15078    
15079                }
15080    
15081            }
15082            catch (RecognitionException re) {
15083                reportError(re);
15084                recover(input,re);
15085            }
15086            finally {
15087            }
15088            return ;
15089        }
15090        // $ANTLR end extension_handler
15091    
15092    
15093        // $ANTLR start extension_statement
15094        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:769:1: extension_statement : (~ ( EXTENSION | ESCAPE | EOF ) | escaped )* ;
15095        public final void extension_statement() throws RecognitionException {
15096            try {
15097                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:770:2: ( (~ ( EXTENSION | ESCAPE | EOF ) | escaped )* )
15098                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:770:4: (~ ( EXTENSION | ESCAPE | EOF ) | escaped )*
15099                {
15100                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:770:4: (~ ( EXTENSION | ESCAPE | EOF ) | escaped )*
15101                loop148:
15102                do {
15103                    int alt148=3;
15104                    int LA148_0 = input.LA(1);
15105    
15106                    if ( ((LA148_0>=FORCED_END_OF_LINE && LA148_0<=NOWIKI_OPEN)||LA148_0==FORCED_LINEBREAK||(LA148_0>=NOWIKI_BLOCK_CLOSE && LA148_0<=79)) ) {
15107                        alt148=1;
15108                    }
15109                    else if ( (LA148_0==ESCAPE) ) {
15110                        alt148=2;
15111                    }
15112    
15113    
15114                    switch (alt148) {
15115                    case 1 :
15116                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:770:5: ~ ( EXTENSION | ESCAPE | EOF )
15117                        {
15118                        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)<=79) ) {
15119                            input.consume();
15120                            errorRecovery=false;failed=false;
15121                        }
15122                        else {
15123                            if (backtracking>0) {failed=true; return ;}
15124                            MismatchedSetException mse =
15125                                new MismatchedSetException(null,input);
15126                            recoverFromMismatchedSet(input,mse,FOLLOW_set_in_extension_statement4720);    throw mse;
15127                        }
15128    
15129    
15130                        }
15131                        break;
15132                    case 2 :
15133                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:770:41: escaped
15134                        {
15135                        pushFollow(FOLLOW_escaped_in_extension_statement4741);
15136                        escaped();
15137                        _fsp--;
15138                        if (failed) return ;
15139    
15140                        }
15141                        break;
15142    
15143                    default :
15144                        break loop148;
15145                    }
15146                } while (true);
15147    
15148    
15149                }
15150    
15151            }
15152            catch (RecognitionException re) {
15153                reportError(re);
15154                recover(input,re);
15155            }
15156            finally {
15157            }
15158            return ;
15159        }
15160        // $ANTLR end extension_statement
15161    
15162    
15163        // $ANTLR start table_of_contents
15164        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:776:1: table_of_contents returns [ASTNode tableOfContents = new TableOfContentsNode()] : TABLE_OF_CONTENTS_TEXT ;
15165        public final ASTNode table_of_contents() throws RecognitionException {
15166            ASTNode tableOfContents =  new TableOfContentsNode();
15167    
15168            try {
15169                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:777:2: ( TABLE_OF_CONTENTS_TEXT )
15170                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:777:38: TABLE_OF_CONTENTS_TEXT
15171                {
15172                match(input,TABLE_OF_CONTENTS_TEXT,FOLLOW_TABLE_OF_CONTENTS_TEXT_in_table_of_contents4764); if (failed) return tableOfContents;
15173    
15174                }
15175    
15176            }
15177            catch (RecognitionException re) {
15178                reportError(re);
15179                recover(input,re);
15180            }
15181            finally {
15182            }
15183            return tableOfContents;
15184        }
15185        // $ANTLR end table_of_contents
15186    
15187    
15188        // $ANTLR start onestar
15189        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:781:1: onestar : ( ({...}? ( STAR )? ) | );
15190        public final void onestar() throws RecognitionException {
15191            try {
15192                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:782:2: ( ({...}? ( STAR )? ) | )
15193                int alt150=2;
15194                switch ( input.LA(1) ) {
15195                case STAR:
15196                    {
15197                    int LA150_1 = input.LA(2);
15198    
15199                    if ( ( input.LA(2) != STAR ) ) {
15200                        alt150=1;
15201                    }
15202                    else if ( (true) ) {
15203                        alt150=2;
15204                    }
15205                    else {
15206                        if (backtracking>0) {failed=true; return ;}
15207                        NoViableAltException nvae =
15208                            new NoViableAltException("781:1: onestar : ( ({...}? ( STAR )? ) | );", 150, 1, input);
15209    
15210                        throw nvae;
15211                    }
15212                    }
15213                    break;
15214                case BLANKS:
15215                    {
15216                    int LA150_2 = input.LA(2);
15217    
15218                    if ( ( input.LA(2) != STAR ) ) {
15219                        alt150=1;
15220                    }
15221                    else if ( (true) ) {
15222                        alt150=2;
15223                    }
15224                    else {
15225                        if (backtracking>0) {failed=true; return ;}
15226                        NoViableAltException nvae =
15227                            new NoViableAltException("781:1: onestar : ( ({...}? ( STAR )? ) | );", 150, 2, input);
15228    
15229                        throw nvae;
15230                    }
15231                    }
15232                    break;
15233                case FORCED_LINEBREAK:
15234                    {
15235                    int LA150_3 = input.LA(2);
15236    
15237                    if ( ( input.LA(2) != STAR ) ) {
15238                        alt150=1;
15239                    }
15240                    else if ( (true) ) {
15241                        alt150=2;
15242                    }
15243                    else {
15244                        if (backtracking>0) {failed=true; return ;}
15245                        NoViableAltException nvae =
15246                            new NoViableAltException("781:1: onestar : ( ({...}? ( STAR )? ) | );", 150, 3, input);
15247    
15248                        throw nvae;
15249                    }
15250                    }
15251                    break;
15252                case ESCAPE:
15253                    {
15254                    int LA150_4 = input.LA(2);
15255    
15256                    if ( ( input.LA(2) != STAR ) ) {
15257                        alt150=1;
15258                    }
15259                    else if ( (true) ) {
15260                        alt150=2;
15261                    }
15262                    else {
15263                        if (backtracking>0) {failed=true; return ;}
15264                        NoViableAltException nvae =
15265                            new NoViableAltException("781:1: onestar : ( ({...}? ( STAR )? ) | );", 150, 4, input);
15266    
15267                        throw nvae;
15268                    }
15269                    }
15270                    break;
15271                case LINK_OPEN:
15272                    {
15273                    int LA150_5 = input.LA(2);
15274    
15275                    if ( ( input.LA(2) != STAR ) ) {
15276                        alt150=1;
15277                    }
15278                    else if ( (true) ) {
15279                        alt150=2;
15280                    }
15281                    else {
15282                        if (backtracking>0) {failed=true; return ;}
15283                        NoViableAltException nvae =
15284                            new NoViableAltException("781:1: onestar : ( ({...}? ( STAR )? ) | );", 150, 5, input);
15285    
15286                        throw nvae;
15287                    }
15288                    }
15289                    break;
15290                case IMAGE_OPEN:
15291                    {
15292                    int LA150_6 = input.LA(2);
15293    
15294                    if ( ( input.LA(2) != STAR ) ) {
15295                        alt150=1;
15296                    }
15297                    else if ( (true) ) {
15298                        alt150=2;
15299                    }
15300                    else {
15301                        if (backtracking>0) {failed=true; return ;}
15302                        NoViableAltException nvae =
15303                            new NoViableAltException("781:1: onestar : ( ({...}? ( STAR )? ) | );", 150, 6, input);
15304    
15305                        throw nvae;
15306                    }
15307                    }
15308                    break;
15309                case EXTENSION:
15310                    {
15311                    int LA150_7 = input.LA(2);
15312    
15313                    if ( ( input.LA(2) != STAR ) ) {
15314                        alt150=1;
15315                    }
15316                    else if ( (true) ) {
15317                        alt150=2;
15318                    }
15319                    else {
15320                        if (backtracking>0) {failed=true; return ;}
15321                        NoViableAltException nvae =
15322                            new NoViableAltException("781:1: onestar : ( ({...}? ( STAR )? ) | );", 150, 7, input);
15323    
15324                        throw nvae;
15325                    }
15326                    }
15327                    break;
15328                case NOWIKI_OPEN:
15329                    {
15330                    int LA150_8 = input.LA(2);
15331    
15332                    if ( ( input.LA(2) != STAR ) ) {
15333                        alt150=1;
15334                    }
15335                    else if ( (true) ) {
15336                        alt150=2;
15337                    }
15338                    else {
15339                        if (backtracking>0) {failed=true; return ;}
15340                        NoViableAltException nvae =
15341                            new NoViableAltException("781:1: onestar : ( ({...}? ( STAR )? ) | );", 150, 8, input);
15342    
15343                        throw nvae;
15344                    }
15345                    }
15346                    break;
15347                case NEWLINE:
15348                    {
15349                    int LA150_9 = input.LA(2);
15350    
15351                    if ( (( input.LA(2) != STAR ||( input.LA(2) != STAR && input.LA(2) != DASH && input.LA(2) != POUND &&
15352                                    input.LA(2) != EQUAL && input.LA(2) != NEWLINE ))) ) {
15353                        alt150=1;
15354                    }
15355                    else if ( (true) ) {
15356                        alt150=2;
15357                    }
15358                    else {
15359                        if (backtracking>0) {failed=true; return ;}
15360                        NoViableAltException nvae =
15361                            new NoViableAltException("781:1: onestar : ( ({...}? ( STAR )? ) | );", 150, 9, input);
15362    
15363                        throw nvae;
15364                    }
15365                    }
15366                    break;
15367                case EOF:
15368                    {
15369                    int LA150_10 = input.LA(2);
15370    
15371                    if ( (( input.LA(2) != STAR ||( input.LA(2) != STAR && input.LA(2) != DASH && input.LA(2) != POUND &&
15372                                    input.LA(2) != EQUAL && input.LA(2) != NEWLINE ))) ) {
15373                        alt150=1;
15374                    }
15375                    else if ( (true) ) {
15376                        alt150=2;
15377                    }
15378                    else {
15379                        if (backtracking>0) {failed=true; return ;}
15380                        NoViableAltException nvae =
15381                            new NoViableAltException("781:1: onestar : ( ({...}? ( STAR )? ) | );", 150, 10, input);
15382    
15383                        throw nvae;
15384                    }
15385                    }
15386                    break;
15387                case ITAL:
15388                    {
15389                    int LA150_11 = input.LA(2);
15390    
15391                    if ( ( input.LA(2) != STAR ) ) {
15392                        alt150=1;
15393                    }
15394                    else if ( (true) ) {
15395                        alt150=2;
15396                    }
15397                    else {
15398                        if (backtracking>0) {failed=true; return ;}
15399                        NoViableAltException nvae =
15400                            new NoViableAltException("781:1: onestar : ( ({...}? ( STAR )? ) | );", 150, 11, input);
15401    
15402                        throw nvae;
15403                    }
15404                    }
15405                    break;
15406                case EQUAL:
15407                    {
15408                    int LA150_12 = input.LA(2);
15409    
15410                    if ( ( input.LA(2) != STAR ) ) {
15411                        alt150=1;
15412                    }
15413                    else if ( (true) ) {
15414                        alt150=2;
15415                    }
15416                    else {
15417                        if (backtracking>0) {failed=true; return ;}
15418                        NoViableAltException nvae =
15419                            new NoViableAltException("781:1: onestar : ( ({...}? ( STAR )? ) | );", 150, 12, input);
15420    
15421                        throw nvae;
15422                    }
15423                    }
15424                    break;
15425                case FORCED_END_OF_LINE:
15426                case HEADING_SECTION:
15427                case HORIZONTAL_SECTION:
15428                case LIST_ITEM:
15429                case LIST_ITEM_PART:
15430                case NOWIKI_SECTION:
15431                case SCAPE_NODE:
15432                case TEXT_NODE:
15433                case UNORDERED_LIST:
15434                case UNFORMATTED_TEXT:
15435                case WIKI:
15436                case POUND:
15437                case NOWIKI_BLOCK_CLOSE:
15438                case NOWIKI_CLOSE:
15439                case TABLE_OF_CONTENTS_TEXT:
15440                case DASH:
15441                case CR:
15442                case LF:
15443                case SPACE:
15444                case TABULATOR:
15445                case BRACE_CLOSE:
15446                case COLON_SLASH:
15447                case SLASH:
15448                case TABLE_OF_CONTENTS_OPEN_MARKUP:
15449                case TABLE_OF_CONTENTS_CLOSE_MARKUP:
15450                case INSIGNIFICANT_CHAR:
15451                case 44:
15452                case 45:
15453                case 46:
15454                case 47:
15455                case 48:
15456                case 49:
15457                case 50:
15458                case 51:
15459                case 52:
15460                case 53:
15461                case 54:
15462                case 55:
15463                case 56:
15464                case 57:
15465                case 58:
15466                case 59:
15467                case 60:
15468                case 61:
15469                case 62:
15470                case 63:
15471                case 64:
15472                case 65:
15473                case 66:
15474                case 67:
15475                case 68:
15476                case 69:
15477                case 70:
15478                case 71:
15479                case 72:
15480                case 73:
15481                case 74:
15482                case 75:
15483                case 76:
15484                case 77:
15485                case 78:
15486                case 79:
15487                    {
15488                    int LA150_13 = input.LA(2);
15489    
15490                    if ( ( input.LA(2) != STAR ) ) {
15491                        alt150=1;
15492                    }
15493                    else if ( (true) ) {
15494                        alt150=2;
15495                    }
15496                    else {
15497                        if (backtracking>0) {failed=true; return ;}
15498                        NoViableAltException nvae =
15499                            new NoViableAltException("781:1: onestar : ( ({...}? ( STAR )? ) | );", 150, 13, input);
15500    
15501                        throw nvae;
15502                    }
15503                    }
15504                    break;
15505                case PIPE:
15506                    {
15507                    int LA150_14 = input.LA(2);
15508    
15509                    if ( (( input.LA(2) != STAR ||( input.LA(2) != STAR && input.LA(2) == EQUAL ))) ) {
15510                        alt150=1;
15511                    }
15512                    else if ( (true) ) {
15513                        alt150=2;
15514                    }
15515                    else {
15516                        if (backtracking>0) {failed=true; return ;}
15517                        NoViableAltException nvae =
15518                            new NoViableAltException("781:1: onestar : ( ({...}? ( STAR )? ) | );", 150, 14, input);
15519    
15520                        throw nvae;
15521                    }
15522                    }
15523                    break;
15524                case LINK_CLOSE:
15525                    {
15526                    int LA150_15 = input.LA(2);
15527    
15528                    if ( ( input.LA(2) != STAR ) ) {
15529                        alt150=1;
15530                    }
15531                    else if ( (true) ) {
15532                        alt150=2;
15533                    }
15534                    else {
15535                        if (backtracking>0) {failed=true; return ;}
15536                        NoViableAltException nvae =
15537                            new NoViableAltException("781:1: onestar : ( ({...}? ( STAR )? ) | );", 150, 15, input);
15538    
15539                        throw nvae;
15540                    }
15541                    }
15542                    break;
15543                case IMAGE_CLOSE:
15544                    {
15545                    int LA150_16 = input.LA(2);
15546    
15547                    if ( ( input.LA(2) != STAR ) ) {
15548                        alt150=1;
15549                    }
15550                    else if ( (true) ) {
15551                        alt150=2;
15552                    }
15553                    else {
15554                        if (backtracking>0) {failed=true; return ;}
15555                        NoViableAltException nvae =
15556                            new NoViableAltException("781:1: onestar : ( ({...}? ( STAR )? ) | );", 150, 16, input);
15557    
15558                        throw nvae;
15559                    }
15560                    }
15561                    break;
15562                default:
15563                    if (backtracking>0) {failed=true; return ;}
15564                    NoViableAltException nvae =
15565                        new NoViableAltException("781:1: onestar : ( ({...}? ( STAR )? ) | );", 150, 0, input);
15566    
15567                    throw nvae;
15568                }
15569    
15570                switch (alt150) {
15571                    case 1 :
15572                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:782:4: ({...}? ( STAR )? )
15573                        {
15574                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:782:4: ({...}? ( STAR )? )
15575                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:782:6: {...}? ( STAR )?
15576                        {
15577                        if ( !( input.LA(2) != STAR ) ) {
15578                            if (backtracking>0) {failed=true; return ;}
15579                            throw new FailedPredicateException(input, "onestar", " input.LA(2) != STAR ");
15580                        }
15581                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:782:32: ( STAR )?
15582                        int alt149=2;
15583                        int LA149_0 = input.LA(1);
15584    
15585                        if ( (LA149_0==STAR) ) {
15586                            alt149=1;
15587                        }
15588                        switch (alt149) {
15589                            case 1 :
15590                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:782:34: STAR
15591                                {
15592                                match(input,STAR,FOLLOW_STAR_in_onestar4786); if (failed) return ;
15593    
15594                                }
15595                                break;
15596    
15597                        }
15598    
15599    
15600                        }
15601    
15602    
15603                        }
15604                        break;
15605                    case 2 :
15606                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:784:2: 
15607                        {
15608                        }
15609                        break;
15610    
15611                }
15612            }
15613            catch (RecognitionException re) {
15614                reportError(re);
15615                recover(input,re);
15616            }
15617            finally {
15618            }
15619            return ;
15620        }
15621        // $ANTLR end onestar
15622    
15623    
15624        // $ANTLR start escaped
15625        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:785:1: escaped returns [ScapedNode scaped = new ScapedNode()] : ESCAPE c= . ;
15626        public final ScapedNode escaped() throws RecognitionException {
15627            ScapedNode scaped =  new ScapedNode();
15628    
15629            Token c=null;
15630    
15631            try {
15632                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:786:2: ( ESCAPE c= . )
15633                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:786:4: ESCAPE c= .
15634                {
15635                match(input,ESCAPE,FOLLOW_ESCAPE_in_escaped4807); if (failed) return scaped;
15636                c=(Token)input.LT(1);
15637                matchAny(input); if (failed) return scaped;
15638                if ( backtracking==0 ) {
15639                   scaped.setContent(c.getText()) ; 
15640                }
15641    
15642                }
15643    
15644            }
15645            catch (RecognitionException re) {
15646                reportError(re);
15647                recover(input,re);
15648            }
15649            finally {
15650            }
15651            return scaped;
15652        }
15653        // $ANTLR end escaped
15654    
15655    
15656        // $ANTLR start paragraph_separator
15657        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:789:1: paragraph_separator : ( ( newline )+ | EOF );
15658        public final void paragraph_separator() throws RecognitionException {
15659            try {
15660                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:790:2: ( ( newline )+ | EOF )
15661                int alt152=2;
15662                int LA152_0 = input.LA(1);
15663    
15664                if ( (LA152_0==NEWLINE) ) {
15665                    alt152=1;
15666                }
15667                else if ( (LA152_0==EOF) ) {
15668                    alt152=2;
15669                }
15670                else {
15671                    if (backtracking>0) {failed=true; return ;}
15672                    NoViableAltException nvae =
15673                        new NoViableAltException("789:1: paragraph_separator : ( ( newline )+ | EOF );", 152, 0, input);
15674    
15675                    throw nvae;
15676                }
15677                switch (alt152) {
15678                    case 1 :
15679                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:790:4: ( newline )+
15680                        {
15681                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:790:4: ( newline )+
15682                        int cnt151=0;
15683                        loop151:
15684                        do {
15685                            int alt151=2;
15686                            int LA151_0 = input.LA(1);
15687    
15688                            if ( (LA151_0==NEWLINE) ) {
15689                                alt151=1;
15690                            }
15691    
15692    
15693                            switch (alt151) {
15694                            case 1 :
15695                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:790:6: newline
15696                                {
15697                                pushFollow(FOLLOW_newline_in_paragraph_separator4831);
15698                                newline();
15699                                _fsp--;
15700                                if (failed) return ;
15701    
15702                                }
15703                                break;
15704    
15705                            default :
15706                                if ( cnt151 >= 1 ) break loop151;
15707                                if (backtracking>0) {failed=true; return ;}
15708                                    EarlyExitException eee =
15709                                        new EarlyExitException(151, input);
15710                                    throw eee;
15711                            }
15712                            cnt151++;
15713                        } while (true);
15714    
15715    
15716                        }
15717                        break;
15718                    case 2 :
15719                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:791:4: EOF
15720                        {
15721                        match(input,EOF,FOLLOW_EOF_in_paragraph_separator4839); if (failed) return ;
15722    
15723                        }
15724                        break;
15725    
15726                }
15727            }
15728            catch (RecognitionException re) {
15729                reportError(re);
15730                recover(input,re);
15731            }
15732            finally {
15733            }
15734            return ;
15735        }
15736        // $ANTLR end paragraph_separator
15737    
15738    
15739        // $ANTLR start whitespaces
15740        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:793:1: whitespaces : ( blanks | newline )+ ;
15741        public final void whitespaces() throws RecognitionException {
15742            try {
15743                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:794:2: ( ( blanks | newline )+ )
15744                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:794:4: ( blanks | newline )+
15745                {
15746                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:794:4: ( blanks | newline )+
15747                int cnt153=0;
15748                loop153:
15749                do {
15750                    int alt153=3;
15751                    int LA153_0 = input.LA(1);
15752    
15753                    if ( (LA153_0==BLANKS) ) {
15754                        alt153=1;
15755                    }
15756                    else if ( (LA153_0==NEWLINE) ) {
15757                        alt153=2;
15758                    }
15759    
15760    
15761                    switch (alt153) {
15762                    case 1 :
15763                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:794:6: blanks
15764                        {
15765                        pushFollow(FOLLOW_blanks_in_whitespaces4851);
15766                        blanks();
15767                        _fsp--;
15768                        if (failed) return ;
15769    
15770                        }
15771                        break;
15772                    case 2 :
15773                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:794:15: newline
15774                        {
15775                        pushFollow(FOLLOW_newline_in_whitespaces4855);
15776                        newline();
15777                        _fsp--;
15778                        if (failed) return ;
15779    
15780                        }
15781                        break;
15782    
15783                    default :
15784                        if ( cnt153 >= 1 ) break loop153;
15785                        if (backtracking>0) {failed=true; return ;}
15786                            EarlyExitException eee =
15787                                new EarlyExitException(153, input);
15788                            throw eee;
15789                    }
15790                    cnt153++;
15791                } while (true);
15792    
15793    
15794                }
15795    
15796            }
15797            catch (RecognitionException re) {
15798                reportError(re);
15799                recover(input,re);
15800            }
15801            finally {
15802            }
15803            return ;
15804        }
15805        // $ANTLR end whitespaces
15806    
15807    
15808        // $ANTLR start blanks
15809        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:796:1: blanks : BLANKS ;
15810        public final void blanks() throws RecognitionException {
15811            try {
15812                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:797:2: ( BLANKS )
15813                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:797:4: BLANKS
15814                {
15815                match(input,BLANKS,FOLLOW_BLANKS_in_blanks4868); if (failed) return ;
15816    
15817                }
15818    
15819            }
15820            catch (RecognitionException re) {
15821                reportError(re);
15822                recover(input,re);
15823            }
15824            finally {
15825            }
15826            return ;
15827        }
15828        // $ANTLR end blanks
15829    
15830    
15831        // $ANTLR start text_lineseparator
15832        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:799:1: text_lineseparator : ( newline ( blanks )? | EOF );
15833        public final void text_lineseparator() throws RecognitionException {
15834            try {
15835                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:800:2: ( newline ( blanks )? | EOF )
15836                int alt155=2;
15837                int LA155_0 = input.LA(1);
15838    
15839                if ( (LA155_0==NEWLINE) ) {
15840                    alt155=1;
15841                }
15842                else if ( (LA155_0==EOF) ) {
15843                    alt155=2;
15844                }
15845                else {
15846                    if (backtracking>0) {failed=true; return ;}
15847                    NoViableAltException nvae =
15848                        new NoViableAltException("799:1: text_lineseparator : ( newline ( blanks )? | EOF );", 155, 0, input);
15849    
15850                    throw nvae;
15851                }
15852                switch (alt155) {
15853                    case 1 :
15854                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:800:4: newline ( blanks )?
15855                        {
15856                        pushFollow(FOLLOW_newline_in_text_lineseparator4878);
15857                        newline();
15858                        _fsp--;
15859                        if (failed) return ;
15860                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:800:13: ( blanks )?
15861                        int alt154=2;
15862                        int LA154_0 = input.LA(1);
15863    
15864                        if ( (LA154_0==BLANKS) ) {
15865                            alt154=1;
15866                        }
15867                        switch (alt154) {
15868                            case 1 :
15869                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:800:15: blanks
15870                                {
15871                                pushFollow(FOLLOW_blanks_in_text_lineseparator4883);
15872                                blanks();
15873                                _fsp--;
15874                                if (failed) return ;
15875    
15876                                }
15877                                break;
15878    
15879                        }
15880    
15881    
15882                        }
15883                        break;
15884                    case 2 :
15885                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:801:4: EOF
15886                        {
15887                        match(input,EOF,FOLLOW_EOF_in_text_lineseparator4891); if (failed) return ;
15888    
15889                        }
15890                        break;
15891    
15892                }
15893            }
15894            catch (RecognitionException re) {
15895                reportError(re);
15896                recover(input,re);
15897            }
15898            finally {
15899            }
15900            return ;
15901        }
15902        // $ANTLR end text_lineseparator
15903    
15904    
15905        // $ANTLR start newline
15906        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:803:1: newline : NEWLINE ;
15907        public final void newline() throws RecognitionException {
15908            try {
15909                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:804:2: ( NEWLINE )
15910                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:804:4: NEWLINE
15911                {
15912                match(input,NEWLINE,FOLLOW_NEWLINE_in_newline4901); if (failed) return ;
15913    
15914                }
15915    
15916            }
15917            catch (RecognitionException re) {
15918                reportError(re);
15919                recover(input,re);
15920            }
15921            finally {
15922            }
15923            return ;
15924        }
15925        // $ANTLR end newline
15926    
15927    
15928        // $ANTLR start bold_markup
15929        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:806:1: bold_markup : STAR STAR ;
15930        public final void bold_markup() throws RecognitionException {
15931            try {
15932                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:807:2: ( STAR STAR )
15933                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:807:4: STAR STAR
15934                {
15935                match(input,STAR,FOLLOW_STAR_in_bold_markup4911); if (failed) return ;
15936                match(input,STAR,FOLLOW_STAR_in_bold_markup4914); if (failed) return ;
15937    
15938                }
15939    
15940            }
15941            catch (RecognitionException re) {
15942                reportError(re);
15943                recover(input,re);
15944            }
15945            finally {
15946            }
15947            return ;
15948        }
15949        // $ANTLR end bold_markup
15950    
15951    
15952        // $ANTLR start ital_markup
15953        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:809:1: ital_markup : ITAL ;
15954        public final void ital_markup() throws RecognitionException {
15955            try {
15956                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:810:2: ( ITAL )
15957                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:810:4: ITAL
15958                {
15959                match(input,ITAL,FOLLOW_ITAL_in_ital_markup4924); if (failed) return ;
15960    
15961                }
15962    
15963            }
15964            catch (RecognitionException re) {
15965                reportError(re);
15966                recover(input,re);
15967            }
15968            finally {
15969            }
15970            return ;
15971        }
15972        // $ANTLR end ital_markup
15973    
15974    
15975        // $ANTLR start heading_markup
15976        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:812:1: heading_markup : EQUAL ;
15977        public final void heading_markup() throws RecognitionException {
15978            try {
15979                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:813:2: ( EQUAL )
15980                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:813:4: EQUAL
15981                {
15982                match(input,EQUAL,FOLLOW_EQUAL_in_heading_markup4934); if (failed) return ;
15983    
15984                }
15985    
15986            }
15987            catch (RecognitionException re) {
15988                reportError(re);
15989                recover(input,re);
15990            }
15991            finally {
15992            }
15993            return ;
15994        }
15995        // $ANTLR end heading_markup
15996    
15997        public static class list_ordelem_markup_return extends ParserRuleReturnScope {
15998        };
15999    
16000        // $ANTLR start list_ordelem_markup
16001        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:815:1: list_ordelem_markup : POUND ;
16002        public final list_ordelem_markup_return list_ordelem_markup() throws RecognitionException {
16003            list_ordelem_markup_return retval = new list_ordelem_markup_return();
16004            retval.start = input.LT(1);
16005    
16006            try {
16007                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:816:2: ( POUND )
16008                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:816:4: POUND
16009                {
16010                match(input,POUND,FOLLOW_POUND_in_list_ordelem_markup4944); if (failed) return retval;
16011    
16012                }
16013    
16014                retval.stop = input.LT(-1);
16015    
16016            }
16017            catch (RecognitionException re) {
16018                reportError(re);
16019                recover(input,re);
16020            }
16021            finally {
16022            }
16023            return retval;
16024        }
16025        // $ANTLR end list_ordelem_markup
16026    
16027        public static class list_unordelem_markup_return extends ParserRuleReturnScope {
16028        };
16029    
16030        // $ANTLR start list_unordelem_markup
16031        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:818:1: list_unordelem_markup : STAR ;
16032        public final list_unordelem_markup_return list_unordelem_markup() throws RecognitionException {
16033            list_unordelem_markup_return retval = new list_unordelem_markup_return();
16034            retval.start = input.LT(1);
16035    
16036            try {
16037                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:819:2: ( STAR )
16038                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:819:4: STAR
16039                {
16040                match(input,STAR,FOLLOW_STAR_in_list_unordelem_markup4954); if (failed) return retval;
16041    
16042                }
16043    
16044                retval.stop = input.LT(-1);
16045    
16046            }
16047            catch (RecognitionException re) {
16048                reportError(re);
16049                recover(input,re);
16050            }
16051            finally {
16052            }
16053            return retval;
16054        }
16055        // $ANTLR end list_unordelem_markup
16056    
16057    
16058        // $ANTLR start list_elemseparator
16059        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:821:1: list_elemseparator : ( newline ( blanks )? | EOF );
16060        public final void list_elemseparator() throws RecognitionException {
16061            try {
16062                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:822:2: ( newline ( blanks )? | EOF )
16063                int alt157=2;
16064                int LA157_0 = input.LA(1);
16065    
16066                if ( (LA157_0==NEWLINE) ) {
16067                    alt157=1;
16068                }
16069                else if ( (LA157_0==EOF) ) {
16070                    alt157=2;
16071                }
16072                else {
16073                    if (backtracking>0) {failed=true; return ;}
16074                    NoViableAltException nvae =
16075                        new NoViableAltException("821:1: list_elemseparator : ( newline ( blanks )? | EOF );", 157, 0, input);
16076    
16077                    throw nvae;
16078                }
16079                switch (alt157) {
16080                    case 1 :
16081                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:822:4: newline ( blanks )?
16082                        {
16083                        pushFollow(FOLLOW_newline_in_list_elemseparator4964);
16084                        newline();
16085                        _fsp--;
16086                        if (failed) return ;
16087                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:822:13: ( blanks )?
16088                        int alt156=2;
16089                        int LA156_0 = input.LA(1);
16090    
16091                        if ( (LA156_0==BLANKS) ) {
16092                            alt156=1;
16093                        }
16094                        switch (alt156) {
16095                            case 1 :
16096                                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:822:15: blanks
16097                                {
16098                                pushFollow(FOLLOW_blanks_in_list_elemseparator4969);
16099                                blanks();
16100                                _fsp--;
16101                                if (failed) return ;
16102    
16103                                }
16104                                break;
16105    
16106                        }
16107    
16108    
16109                        }
16110                        break;
16111                    case 2 :
16112                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:823:4: EOF
16113                        {
16114                        match(input,EOF,FOLLOW_EOF_in_list_elemseparator4977); if (failed) return ;
16115    
16116                        }
16117                        break;
16118    
16119                }
16120            }
16121            catch (RecognitionException re) {
16122                reportError(re);
16123                recover(input,re);
16124            }
16125            finally {
16126            }
16127            return ;
16128        }
16129        // $ANTLR end list_elemseparator
16130    
16131    
16132        // $ANTLR start end_of_list
16133        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:825:1: end_of_list : ( newline | EOF );
16134        public final void end_of_list() throws RecognitionException {
16135            try {
16136                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:826:2: ( newline | EOF )
16137                int alt158=2;
16138                int LA158_0 = input.LA(1);
16139    
16140                if ( (LA158_0==NEWLINE) ) {
16141                    alt158=1;
16142                }
16143                else if ( (LA158_0==EOF) ) {
16144                    alt158=2;
16145                }
16146                else {
16147                    if (backtracking>0) {failed=true; return ;}
16148                    NoViableAltException nvae =
16149                        new NoViableAltException("825:1: end_of_list : ( newline | EOF );", 158, 0, input);
16150    
16151                    throw nvae;
16152                }
16153                switch (alt158) {
16154                    case 1 :
16155                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:826:4: newline
16156                        {
16157                        pushFollow(FOLLOW_newline_in_end_of_list4987);
16158                        newline();
16159                        _fsp--;
16160                        if (failed) return ;
16161    
16162                        }
16163                        break;
16164                    case 2 :
16165                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:827:4: EOF
16166                        {
16167                        match(input,EOF,FOLLOW_EOF_in_end_of_list4992); if (failed) return ;
16168    
16169                        }
16170                        break;
16171    
16172                }
16173            }
16174            catch (RecognitionException re) {
16175                reportError(re);
16176                recover(input,re);
16177            }
16178            finally {
16179            }
16180            return ;
16181        }
16182        // $ANTLR end end_of_list
16183    
16184    
16185        // $ANTLR start table_cell_markup
16186        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:829:1: table_cell_markup : PIPE ;
16187        public final void table_cell_markup() throws RecognitionException {
16188            try {
16189                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:830:2: ( PIPE )
16190                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:830:4: PIPE
16191                {
16192                match(input,PIPE,FOLLOW_PIPE_in_table_cell_markup5002); if (failed) return ;
16193    
16194                }
16195    
16196            }
16197            catch (RecognitionException re) {
16198                reportError(re);
16199                recover(input,re);
16200            }
16201            finally {
16202            }
16203            return ;
16204        }
16205        // $ANTLR end table_cell_markup
16206    
16207    
16208        // $ANTLR start table_headercell_markup
16209        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:832:1: table_headercell_markup : PIPE EQUAL ;
16210        public final void table_headercell_markup() throws RecognitionException {
16211            try {
16212                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:833:2: ( PIPE EQUAL )
16213                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:833:4: PIPE EQUAL
16214                {
16215                match(input,PIPE,FOLLOW_PIPE_in_table_headercell_markup5012); if (failed) return ;
16216                match(input,EQUAL,FOLLOW_EQUAL_in_table_headercell_markup5015); if (failed) return ;
16217    
16218                }
16219    
16220            }
16221            catch (RecognitionException re) {
16222                reportError(re);
16223                recover(input,re);
16224            }
16225            finally {
16226            }
16227            return ;
16228        }
16229        // $ANTLR end table_headercell_markup
16230    
16231    
16232        // $ANTLR start table_rowseparator
16233        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:835:1: table_rowseparator : ( newline | EOF );
16234        public final void table_rowseparator() throws RecognitionException {
16235            try {
16236                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:836:2: ( newline | EOF )
16237                int alt159=2;
16238                int LA159_0 = input.LA(1);
16239    
16240                if ( (LA159_0==NEWLINE) ) {
16241                    alt159=1;
16242                }
16243                else if ( (LA159_0==EOF) ) {
16244                    alt159=2;
16245                }
16246                else {
16247                    if (backtracking>0) {failed=true; return ;}
16248                    NoViableAltException nvae =
16249                        new NoViableAltException("835:1: table_rowseparator : ( newline | EOF );", 159, 0, input);
16250    
16251                    throw nvae;
16252                }
16253                switch (alt159) {
16254                    case 1 :
16255                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:836:4: newline
16256                        {
16257                        pushFollow(FOLLOW_newline_in_table_rowseparator5025);
16258                        newline();
16259                        _fsp--;
16260                        if (failed) return ;
16261    
16262                        }
16263                        break;
16264                    case 2 :
16265                        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:837:4: EOF
16266                        {
16267                        match(input,EOF,FOLLOW_EOF_in_table_rowseparator5030); if (failed) return ;
16268    
16269                        }
16270                        break;
16271    
16272                }
16273            }
16274            catch (RecognitionException re) {
16275                reportError(re);
16276                recover(input,re);
16277            }
16278            finally {
16279            }
16280            return ;
16281        }
16282        // $ANTLR end table_rowseparator
16283    
16284    
16285        // $ANTLR start nowiki_open_markup
16286        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:839:1: nowiki_open_markup : NOWIKI_OPEN ;
16287        public final void nowiki_open_markup() throws RecognitionException {
16288            try {
16289                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:840:2: ( NOWIKI_OPEN )
16290                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:840:4: NOWIKI_OPEN
16291                {
16292                match(input,NOWIKI_OPEN,FOLLOW_NOWIKI_OPEN_in_nowiki_open_markup5040); if (failed) return ;
16293    
16294                }
16295    
16296            }
16297            catch (RecognitionException re) {
16298                reportError(re);
16299                recover(input,re);
16300            }
16301            finally {
16302            }
16303            return ;
16304        }
16305        // $ANTLR end nowiki_open_markup
16306    
16307    
16308        // $ANTLR start nowiki_close_markup
16309        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:842:1: nowiki_close_markup : NOWIKI_CLOSE ;
16310        public final void nowiki_close_markup() throws RecognitionException {
16311            try {
16312                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:843:2: ( NOWIKI_CLOSE )
16313                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:843:4: NOWIKI_CLOSE
16314                {
16315                match(input,NOWIKI_CLOSE,FOLLOW_NOWIKI_CLOSE_in_nowiki_close_markup5050); if (failed) return ;
16316    
16317                }
16318    
16319            }
16320            catch (RecognitionException re) {
16321                reportError(re);
16322                recover(input,re);
16323            }
16324            finally {
16325            }
16326            return ;
16327        }
16328        // $ANTLR end nowiki_close_markup
16329    
16330    
16331        // $ANTLR start horizontalrule_markup
16332        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:845:1: horizontalrule_markup : DASH DASH DASH DASH ;
16333        public final void horizontalrule_markup() throws RecognitionException {
16334            try {
16335                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:846:2: ( DASH DASH DASH DASH )
16336                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:846:4: DASH DASH DASH DASH
16337                {
16338                match(input,DASH,FOLLOW_DASH_in_horizontalrule_markup5060); if (failed) return ;
16339                match(input,DASH,FOLLOW_DASH_in_horizontalrule_markup5063); if (failed) return ;
16340                match(input,DASH,FOLLOW_DASH_in_horizontalrule_markup5066); if (failed) return ;
16341                match(input,DASH,FOLLOW_DASH_in_horizontalrule_markup5069); if (failed) return ;
16342    
16343                }
16344    
16345            }
16346            catch (RecognitionException re) {
16347                reportError(re);
16348                recover(input,re);
16349            }
16350            finally {
16351            }
16352            return ;
16353        }
16354        // $ANTLR end horizontalrule_markup
16355    
16356    
16357        // $ANTLR start link_open_markup
16358        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:848:1: link_open_markup : LINK_OPEN ;
16359        public final void link_open_markup() throws RecognitionException {
16360            try {
16361                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:849:2: ( LINK_OPEN )
16362                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:849:4: LINK_OPEN
16363                {
16364                match(input,LINK_OPEN,FOLLOW_LINK_OPEN_in_link_open_markup5079); if (failed) return ;
16365    
16366                }
16367    
16368            }
16369            catch (RecognitionException re) {
16370                reportError(re);
16371                recover(input,re);
16372            }
16373            finally {
16374            }
16375            return ;
16376        }
16377        // $ANTLR end link_open_markup
16378    
16379    
16380        // $ANTLR start link_close_markup
16381        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:851:1: link_close_markup : LINK_CLOSE ;
16382        public final void link_close_markup() throws RecognitionException {
16383            try {
16384                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:852:2: ( LINK_CLOSE )
16385                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:852:4: LINK_CLOSE
16386                {
16387                match(input,LINK_CLOSE,FOLLOW_LINK_CLOSE_in_link_close_markup5089); if (failed) return ;
16388    
16389                }
16390    
16391            }
16392            catch (RecognitionException re) {
16393                reportError(re);
16394                recover(input,re);
16395            }
16396            finally {
16397            }
16398            return ;
16399        }
16400        // $ANTLR end link_close_markup
16401    
16402    
16403        // $ANTLR start link_description_markup
16404        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:854:1: link_description_markup : PIPE ;
16405        public final void link_description_markup() throws RecognitionException {
16406            try {
16407                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:855:2: ( PIPE )
16408                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:855:4: PIPE
16409                {
16410                match(input,PIPE,FOLLOW_PIPE_in_link_description_markup5099); if (failed) return ;
16411    
16412                }
16413    
16414            }
16415            catch (RecognitionException re) {
16416                reportError(re);
16417                recover(input,re);
16418            }
16419            finally {
16420            }
16421            return ;
16422        }
16423        // $ANTLR end link_description_markup
16424    
16425    
16426        // $ANTLR start image_open_markup
16427        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:857:1: image_open_markup : IMAGE_OPEN ;
16428        public final void image_open_markup() throws RecognitionException {
16429            try {
16430                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:858:2: ( IMAGE_OPEN )
16431                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:858:4: IMAGE_OPEN
16432                {
16433                match(input,IMAGE_OPEN,FOLLOW_IMAGE_OPEN_in_image_open_markup5109); if (failed) return ;
16434    
16435                }
16436    
16437            }
16438            catch (RecognitionException re) {
16439                reportError(re);
16440                recover(input,re);
16441            }
16442            finally {
16443            }
16444            return ;
16445        }
16446        // $ANTLR end image_open_markup
16447    
16448    
16449        // $ANTLR start image_close_markup
16450        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:860:1: image_close_markup : IMAGE_CLOSE ;
16451        public final void image_close_markup() throws RecognitionException {
16452            try {
16453                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:861:2: ( IMAGE_CLOSE )
16454                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:861:4: IMAGE_CLOSE
16455                {
16456                match(input,IMAGE_CLOSE,FOLLOW_IMAGE_CLOSE_in_image_close_markup5119); if (failed) return ;
16457    
16458                }
16459    
16460            }
16461            catch (RecognitionException re) {
16462                reportError(re);
16463                recover(input,re);
16464            }
16465            finally {
16466            }
16467            return ;
16468        }
16469        // $ANTLR end image_close_markup
16470    
16471    
16472        // $ANTLR start image_alternative_markup
16473        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:863:1: image_alternative_markup : PIPE ;
16474        public final void image_alternative_markup() throws RecognitionException {
16475            try {
16476                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:864:2: ( PIPE )
16477                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:864:4: PIPE
16478                {
16479                match(input,PIPE,FOLLOW_PIPE_in_image_alternative_markup5129); if (failed) return ;
16480    
16481                }
16482    
16483            }
16484            catch (RecognitionException re) {
16485                reportError(re);
16486                recover(input,re);
16487            }
16488            finally {
16489            }
16490            return ;
16491        }
16492        // $ANTLR end image_alternative_markup
16493    
16494    
16495        // $ANTLR start extension_markup
16496        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:866:1: extension_markup : EXTENSION ;
16497        public final void extension_markup() throws RecognitionException {
16498            try {
16499                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:867:2: ( EXTENSION )
16500                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:867:4: EXTENSION
16501                {
16502                match(input,EXTENSION,FOLLOW_EXTENSION_in_extension_markup5139); if (failed) return ;
16503    
16504                }
16505    
16506            }
16507            catch (RecognitionException re) {
16508                reportError(re);
16509                recover(input,re);
16510            }
16511            finally {
16512            }
16513            return ;
16514        }
16515        // $ANTLR end extension_markup
16516    
16517    
16518        // $ANTLR start forced_linebreak
16519        // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:869:1: forced_linebreak : FORCED_LINEBREAK ;
16520        public final void forced_linebreak() throws RecognitionException {
16521            try {
16522                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:870:2: ( FORCED_LINEBREAK )
16523                // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:870:4: FORCED_LINEBREAK
16524                {
16525                match(input,FORCED_LINEBREAK,FOLLOW_FORCED_LINEBREAK_in_forced_linebreak5149); if (failed) return ;
16526    
16527                }
16528    
16529            }
16530            catch (RecognitionException re) {
16531                reportError(re);
16532                recover(input,re);
16533            }
16534            finally {
16535            }
16536            return ;
16537        }
16538        // $ANTLR end forced_linebreak
16539    
16540        // $ANTLR start synpred1
16541        public final void synpred1_fragment() throws RecognitionException {   
16542            // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:143:5: ( NOWIKI_OPEN ~ ( NEWLINE ) )
16543            // /home/dougwong/liferay/github/tr-portal/portal-impl/src/com/liferay/portal/parsers/creole/grammar/Creole10.g:143:7: NOWIKI_OPEN ~ ( NEWLINE )
16544            {
16545            match(input,NOWIKI_OPEN,FOLLOW_NOWIKI_OPEN_in_synpred1330); if (failed) return ;
16546            if ( (input.LA(1)>=FORCED_END_OF_LINE && input.LA(1)<=WIKI)||(input.LA(1)>=POUND && input.LA(1)<=79) ) {
16547                input.consume();
16548                errorRecovery=false;failed=false;
16549            }
16550            else {
16551                if (backtracking>0) {failed=true; return ;}
16552                MismatchedSetException mse =
16553                    new MismatchedSetException(null,input);
16554                recoverFromMismatchedSet(input,mse,FOLLOW_set_in_synpred1333);    throw mse;
16555            }
16556    
16557    
16558            }
16559        }
16560        // $ANTLR end synpred1
16561    
16562        public final boolean synpred1() {
16563            backtracking++;
16564            int start = input.mark();
16565            try {
16566                synpred1_fragment(); // can never throw exception
16567            } catch (RecognitionException re) {
16568                System.err.println("impossible: "+re);
16569            }
16570            boolean success = !failed;
16571            input.rewind(start);
16572            backtracking--;
16573            failed=false;
16574            return success;
16575        }
16576    
16577    
16578     
16579    
16580        public static final BitSet FOLLOW_whitespaces_in_wikipage112 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF0L,0x000000000000FFFFL});
16581        public static final BitSet FOLLOW_paragraphs_in_wikipage120 = new BitSet(new long[]{0x0000000000000000L});
16582        public static final BitSet FOLLOW_EOF_in_wikipage125 = new BitSet(new long[]{0x0000000000000002L});
16583        public static final BitSet FOLLOW_paragraph_in_paragraphs143 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000000FFFFL});
16584        public static final BitSet FOLLOW_nowiki_block_in_paragraph164 = new BitSet(new long[]{0x0000000000000002L});
16585        public static final BitSet FOLLOW_blanks_in_paragraph171 = new BitSet(new long[]{0x0000000000008000L});
16586        public static final BitSet FOLLOW_paragraph_separator_in_paragraph174 = new BitSet(new long[]{0x0000000000000002L});
16587        public static final BitSet FOLLOW_blanks_in_paragraph181 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF0L,0x000000000000FFFFL});
16588        public static final BitSet FOLLOW_table_of_contents_in_paragraph195 = new BitSet(new long[]{0x0000000000008002L});
16589        public static final BitSet FOLLOW_heading_in_paragraph209 = new BitSet(new long[]{0x0000000000008002L});
16590        public static final BitSet FOLLOW_horizontalrule_in_paragraph228 = new BitSet(new long[]{0x0000000000008002L});
16591        public static final BitSet FOLLOW_list_unord_in_paragraph240 = new BitSet(new long[]{0x0000000000008002L});
16592        public static final BitSet FOLLOW_list_ord_in_paragraph253 = new BitSet(new long[]{0x0000000000008002L});
16593        public static final BitSet FOLLOW_table_in_paragraph266 = new BitSet(new long[]{0x0000000000008002L});
16594        public static final BitSet FOLLOW_text_paragraph_in_paragraph279 = new BitSet(new long[]{0x0000000000008002L});
16595        public static final BitSet FOLLOW_paragraph_separator_in_paragraph292 = new BitSet(new long[]{0x0000000000000002L});
16596        public static final BitSet FOLLOW_text_line_in_text_paragraph320 = new BitSet(new long[]{0xFFFFFFFFFFF27FF2L,0x000000000000FFFFL});
16597        public static final BitSet FOLLOW_nowiki_inline_in_text_paragraph352 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000000FFFFL});
16598        public static final BitSet FOLLOW_text_element_in_text_paragraph363 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000000FFFFL});
16599        public static final BitSet FOLLOW_text_lineseparator_in_text_paragraph372 = new BitSet(new long[]{0xFFFFFFFFFFF27FF2L,0x000000000000FFFFL});
16600        public static final BitSet FOLLOW_text_firstelement_in_text_line395 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000000FFFFL});
16601        public static final BitSet FOLLOW_text_element_in_text_line414 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000000FFFFL});
16602        public static final BitSet FOLLOW_text_lineseparator_in_text_line428 = new BitSet(new long[]{0x0000000000000002L});
16603        public static final BitSet FOLLOW_text_formattedelement_in_text_firstelement450 = new BitSet(new long[]{0x0000000000000002L});
16604        public static final BitSet FOLLOW_text_first_unformattedelement_in_text_firstelement461 = new BitSet(new long[]{0x0000000000000002L});
16605        public static final BitSet FOLLOW_ital_markup_in_text_formattedelement477 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF2L,0x000000000000FFFFL});
16606        public static final BitSet FOLLOW_text_italcontent_in_text_formattedelement483 = new BitSet(new long[]{0x0000000000108002L});
16607        public static final BitSet FOLLOW_NEWLINE_in_text_formattedelement492 = new BitSet(new long[]{0x0000000000100000L});
16608        public static final BitSet FOLLOW_ital_markup_in_text_formattedelement498 = new BitSet(new long[]{0x0000000000000002L});
16609        public static final BitSet FOLLOW_bold_markup_in_text_formattedelement506 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF2L,0x000000000000FFFFL});
16610        public static final BitSet FOLLOW_text_boldcontent_in_text_formattedelement513 = new BitSet(new long[]{0x0000000000028002L});
16611        public static final BitSet FOLLOW_NEWLINE_in_text_formattedelement522 = new BitSet(new long[]{0x0000000000020000L});
16612        public static final BitSet FOLLOW_bold_markup_in_text_formattedelement528 = new BitSet(new long[]{0x0000000000000002L});
16613        public static final BitSet FOLLOW_NEWLINE_in_text_boldcontent547 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000000FFFFL});
16614        public static final BitSet FOLLOW_text_boldcontentpart_in_text_boldcontent559 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000000FFFFL});
16615        public static final BitSet FOLLOW_EOF_in_text_boldcontent570 = new BitSet(new long[]{0x0000000000000002L});
16616        public static final BitSet FOLLOW_NEWLINE_in_text_italcontent586 = new BitSet(new long[]{0xFFFFFFFFFFEF7FF2L,0x000000000000FFFFL});
16617        public static final BitSet FOLLOW_text_italcontentpart_in_text_italcontent598 = new BitSet(new long[]{0xFFFFFFFFFFEF7FF2L,0x000000000000FFFFL});
16618        public static final BitSet FOLLOW_EOF_in_text_italcontent609 = new BitSet(new long[]{0x0000000000000002L});
16619        public static final BitSet FOLLOW_onestar_in_text_element623 = new BitSet(new long[]{0xFFFFFFFFFFED7FF0L,0x000000000000FFFFL});
16620        public static final BitSet FOLLOW_text_unformattedelement_in_text_element630 = new BitSet(new long[]{0x0000000000000002L});
16621        public static final BitSet FOLLOW_text_unformattedelement_in_text_element641 = new BitSet(new long[]{0x0000000000020002L});
16622        public static final BitSet FOLLOW_onestar_in_text_element644 = new BitSet(new long[]{0x0000000000000002L});
16623        public static final BitSet FOLLOW_text_formattedelement_in_text_element655 = new BitSet(new long[]{0x0000000000000002L});
16624        public static final BitSet FOLLOW_ital_markup_in_text_boldcontentpart672 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF2L,0x000000000000FFFFL});
16625        public static final BitSet FOLLOW_text_bolditalcontent_in_text_boldcontentpart679 = new BitSet(new long[]{0x0000000000100002L});
16626        public static final BitSet FOLLOW_ital_markup_in_text_boldcontentpart686 = new BitSet(new long[]{0x0000000000000002L});
16627        public static final BitSet FOLLOW_text_formattedcontent_in_text_boldcontentpart698 = new BitSet(new long[]{0x0000000000000002L});
16628        public static final BitSet FOLLOW_bold_markup_in_text_italcontentpart714 = new BitSet(new long[]{0xFFFFFFFFFFEFFFF2L,0x000000000000FFFFL});
16629        public static final BitSet FOLLOW_text_bolditalcontent_in_text_italcontentpart721 = new BitSet(new long[]{0x0000000000020002L});
16630        public static final BitSet FOLLOW_bold_markup_in_text_italcontentpart727 = new BitSet(new long[]{0x0000000000000002L});
16631        public static final BitSet FOLLOW_text_formattedcontent_in_text_italcontentpart738 = new BitSet(new long[]{0x0000000000000002L});
16632        public static final BitSet FOLLOW_NEWLINE_in_text_bolditalcontent756 = new BitSet(new long[]{0xFFFFFFFFFFEF7FF2L,0x000000000000FFFFL});
16633        public static final BitSet FOLLOW_text_formattedcontent_in_text_bolditalcontent767 = new BitSet(new long[]{0x0000000000000002L});
16634        public static final BitSet FOLLOW_EOF_in_text_bolditalcontent777 = new BitSet(new long[]{0x0000000000000002L});
16635        public static final BitSet FOLLOW_onestar_in_text_formattedcontent791 = new BitSet(new long[]{0xFFFFFFFFFFED7FF0L,0x000000000000FFFFL});
16636        public static final BitSet FOLLOW_text_unformattedelement_in_text_formattedcontent800 = new BitSet(new long[]{0xFFFFFFFFFFEFFFF2L,0x000000000000FFFFL});
16637        public static final BitSet FOLLOW_onestar_in_text_formattedcontent805 = new BitSet(new long[]{0xFFFFFFFFFFEDFFF2L,0x000000000000FFFFL});
16638        public static final BitSet FOLLOW_text_linebreak_in_text_formattedcontent810 = new BitSet(new long[]{0xFFFFFFFFFFED7FF2L,0x000000000000FFFFL});
16639        public static final BitSet FOLLOW_text_lineseparator_in_text_linebreak830 = new BitSet(new long[]{0x0000000000000002L});
16640        public static final BitSet FOLLOW_text_first_inlineelement_in_text_inlineelement848 = new BitSet(new long[]{0x0000000000000002L});
16641        public static final BitSet FOLLOW_nowiki_inline_in_text_inlineelement859 = new BitSet(new long[]{0x0000000000000002L});
16642        public static final BitSet FOLLOW_link_in_text_first_inlineelement880 = new BitSet(new long[]{0x0000000000000002L});
16643        public static final BitSet FOLLOW_image_in_text_first_inlineelement891 = new BitSet(new long[]{0x0000000000000002L});
16644        public static final BitSet FOLLOW_extension_in_text_first_inlineelement901 = new BitSet(new long[]{0x0000000000000002L});
16645        public static final BitSet FOLLOW_text_first_unformatted_in_text_first_unformattedelement921 = new BitSet(new long[]{0x0000000000000002L});
16646        public static final BitSet FOLLOW_text_first_inlineelement_in_text_first_unformattedelement932 = new BitSet(new long[]{0x0000000000000002L});
16647        public static final BitSet FOLLOW_text_first_unformmatted_text_in_text_first_unformatted954 = new BitSet(new long[]{0x0000000000000002L});
16648        public static final BitSet FOLLOW_forced_linebreak_in_text_first_unformatted963 = new BitSet(new long[]{0x0000000006000002L});
16649        public static final BitSet FOLLOW_escaped_in_text_first_unformatted975 = new BitSet(new long[]{0x0000000006000002L});
16650        public static final BitSet FOLLOW_set_in_text_first_unformmatted_text1003 = new BitSet(new long[]{0xFFFFFFFFF8007FF2L,0x000000000000FFFFL});
16651        public static final BitSet FOLLOW_text_unformatted_in_text_unformattedelement1117 = new BitSet(new long[]{0x0000000000000002L});
16652        public static final BitSet FOLLOW_text_inlineelement_in_text_unformattedelement1128 = new BitSet(new long[]{0x0000000000000002L});
16653        public static final BitSet FOLLOW_text_unformated_text_in_text_unformatted1150 = new BitSet(new long[]{0x0000000000000002L});
16654        public static final BitSet FOLLOW_forced_linebreak_in_text_unformatted1159 = new BitSet(new long[]{0x0000000006000002L});
16655        public static final BitSet FOLLOW_escaped_in_text_unformatted1171 = new BitSet(new long[]{0x0000000006000002L});
16656        public static final BitSet FOLLOW_set_in_text_unformated_text1196 = new BitSet(new long[]{0xFFFFFFFFF80D7FF2L,0x000000000000FFFFL});
16657        public static final BitSet FOLLOW_heading_markup_in_heading1298 = new BitSet(new long[]{0xFFFFFFFFFBFFFFF0L,0x000000000000FFFFL});
16658        public static final BitSet FOLLOW_heading_content_in_heading1303 = new BitSet(new long[]{0x0000000080048000L});
16659        public static final BitSet FOLLOW_heading_markup_in_heading1310 = new BitSet(new long[]{0x0000000080008000L});
16660        public static final BitSet FOLLOW_blanks_in_heading1318 = new BitSet(new long[]{0x0000000000008000L});
16661        public static final BitSet FOLLOW_paragraph_separator_in_heading1325 = new BitSet(new long[]{0x0000000000000002L});
16662        public static final BitSet FOLLOW_heading_markup_in_heading_content1335 = new BitSet(new long[]{0xFFFFFFFFFBFF7FF0L,0x000000000000FFFFL});
16663        public static final BitSet FOLLOW_heading_content_in_heading_content1340 = new BitSet(new long[]{0x0000000000040002L});
16664        public static final BitSet FOLLOW_heading_markup_in_heading_content1345 = new BitSet(new long[]{0x0000000000000002L});
16665        public static final BitSet FOLLOW_heading_text_in_heading_content1357 = new BitSet(new long[]{0x0000000000000002L});
16666        public static final BitSet FOLLOW_heading_cellcontent_in_heading_text1378 = new BitSet(new long[]{0x0000000000000002L});
16667        public static final BitSet FOLLOW_onestar_in_heading_cellcontent1395 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000000FFFFL});
16668        public static final BitSet FOLLOW_heading_cellcontentpart_in_heading_cellcontent1404 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000000FFFFL});
16669        public static final BitSet FOLLOW_onestar_in_heading_cellcontent1415 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000000FFFFL});
16670        public static final BitSet FOLLOW_heading_formattedelement_in_heading_cellcontentpart1436 = new BitSet(new long[]{0x0000000000000002L});
16671        public static final BitSet FOLLOW_heading_unformattedelement_in_heading_cellcontentpart1447 = new BitSet(new long[]{0x0000000000000002L});
16672        public static final BitSet FOLLOW_ital_markup_in_heading_formattedelement1463 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000000FFFFL});
16673        public static final BitSet FOLLOW_heading_italcontent_in_heading_formattedelement1473 = new BitSet(new long[]{0x0000000000100002L});
16674        public static final BitSet FOLLOW_ital_markup_in_heading_formattedelement1482 = new BitSet(new long[]{0x0000000000000002L});
16675        public static final BitSet FOLLOW_bold_markup_in_heading_formattedelement1490 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000000FFFFL});
16676        public static final BitSet FOLLOW_heading_boldcontent_in_heading_formattedelement1497 = new BitSet(new long[]{0x0000000000020002L});
16677        public static final BitSet FOLLOW_bold_markup_in_heading_formattedelement1507 = new BitSet(new long[]{0x0000000000000002L});
16678        public static final BitSet FOLLOW_onestar_in_heading_boldcontent1524 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF0L,0x000000000000FFFFL});
16679        public static final BitSet FOLLOW_heading_boldcontentpart_in_heading_boldcontent1533 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000000FFFFL});
16680        public static final BitSet FOLLOW_onestar_in_heading_boldcontent1538 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000000FFFFL});
16681        public static final BitSet FOLLOW_EOF_in_heading_boldcontent1546 = new BitSet(new long[]{0x0000000000000002L});
16682        public static final BitSet FOLLOW_onestar_in_heading_italcontent1560 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF0L,0x000000000000FFFFL});
16683        public static final BitSet FOLLOW_heading_italcontentpart_in_heading_italcontent1569 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000000FFFFL});
16684        public static final BitSet FOLLOW_onestar_in_heading_italcontent1574 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000000FFFFL});
16685        public static final BitSet FOLLOW_EOF_in_heading_italcontent1582 = new BitSet(new long[]{0x0000000000000002L});
16686        public static final BitSet FOLLOW_heading_formattedcontent_in_heading_boldcontentpart1600 = new BitSet(new long[]{0x0000000000000002L});
16687        public static final BitSet FOLLOW_ital_markup_in_heading_boldcontentpart1607 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000000FFFFL});
16688        public static final BitSet FOLLOW_heading_bolditalcontent_in_heading_boldcontentpart1614 = new BitSet(new long[]{0x0000000000100002L});
16689        public static final BitSet FOLLOW_ital_markup_in_heading_boldcontentpart1621 = new BitSet(new long[]{0x0000000000000002L});
16690        public static final BitSet FOLLOW_bold_markup_in_heading_italcontentpart1638 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000000FFFFL});
16691        public static final BitSet FOLLOW_heading_bolditalcontent_in_heading_italcontentpart1645 = new BitSet(new long[]{0x0000000000020002L});
16692        public static final BitSet FOLLOW_bold_markup_in_heading_italcontentpart1652 = new BitSet(new long[]{0x0000000000000002L});
16693        public static final BitSet FOLLOW_heading_formattedcontent_in_heading_italcontentpart1664 = new BitSet(new long[]{0x0000000000000002L});
16694        public static final BitSet FOLLOW_onestar_in_heading_bolditalcontent1680 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000000FFFFL});
16695        public static final BitSet FOLLOW_heading_formattedcontent_in_heading_bolditalcontent1689 = new BitSet(new long[]{0x0000000000020002L});
16696        public static final BitSet FOLLOW_onestar_in_heading_bolditalcontent1694 = new BitSet(new long[]{0x0000000000000002L});
16697        public static final BitSet FOLLOW_EOF_in_heading_bolditalcontent1702 = new BitSet(new long[]{0x0000000000000002L});
16698        public static final BitSet FOLLOW_heading_unformattedelement_in_heading_formattedcontent1722 = new BitSet(new long[]{0xFFFFFFFFFBFB7FF2L,0x000000000000FFFFL});
16699        public static final BitSet FOLLOW_heading_unformatted_text_in_heading_unformattedelement1745 = new BitSet(new long[]{0x0000000000000002L});
16700        public static final BitSet FOLLOW_heading_inlineelement_in_heading_unformattedelement1757 = new BitSet(new long[]{0x0000000000000002L});
16701        public static final BitSet FOLLOW_link_in_heading_inlineelement1777 = new BitSet(new long[]{0x0000000000000002L});
16702        public static final BitSet FOLLOW_image_in_heading_inlineelement1787 = new BitSet(new long[]{0x0000000000000002L});
16703        public static final BitSet FOLLOW_nowiki_inline_in_heading_inlineelement1798 = new BitSet(new long[]{0x0000000000000002L});
16704        public static final BitSet FOLLOW_set_in_heading_unformatted_text1821 = new BitSet(new long[]{0xFFFFFFFFFB1B7FF2L,0x000000000000FFFFL});
16705        public static final BitSet FOLLOW_list_ordelem_in_list_ord1879 = new BitSet(new long[]{0x0000000000018002L});
16706        public static final BitSet FOLLOW_end_of_list_in_list_ord1889 = new BitSet(new long[]{0x0000000000000002L});
16707        public static final BitSet FOLLOW_list_ordelem_markup_in_list_ordelem1922 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000000FFFFL});
16708        public static final BitSet FOLLOW_list_elem_in_list_ordelem1930 = new BitSet(new long[]{0x0000000000000002L});
16709        public static final BitSet FOLLOW_list_unordelem_in_list_unord1953 = new BitSet(new long[]{0x0000000000028002L});
16710        public static final BitSet FOLLOW_end_of_list_in_list_unord1963 = new BitSet(new long[]{0x0000000000000002L});
16711        public static final BitSet FOLLOW_list_unordelem_markup_in_list_unordelem1996 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000000FFFFL});
16712        public static final BitSet FOLLOW_list_elem_in_list_unordelem2003 = new BitSet(new long[]{0x0000000000000002L});
16713        public static final BitSet FOLLOW_list_elem_markup_in_list_elem2026 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000000FFFFL});
16714        public static final BitSet FOLLOW_list_elemcontent_in_list_elem2037 = new BitSet(new long[]{0x0000000000008000L});
16715        public static final BitSet FOLLOW_list_elemseparator_in_list_elem2042 = new BitSet(new long[]{0x0000000000000002L});
16716        public static final BitSet FOLLOW_list_ordelem_markup_in_list_elem_markup2052 = new BitSet(new long[]{0x0000000000000002L});
16717        public static final BitSet FOLLOW_list_unordelem_markup_in_list_elem_markup2057 = new BitSet(new long[]{0x0000000000000002L});
16718        public static final BitSet FOLLOW_onestar_in_list_elemcontent2071 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000000FFFFL});
16719        public static final BitSet FOLLOW_list_elemcontentpart_in_list_elemcontent2080 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000000FFFFL});
16720        public static final BitSet FOLLOW_onestar_in_list_elemcontent2085 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000000FFFFL});
16721        public static final BitSet FOLLOW_text_unformattedelement_in_list_elemcontentpart2106 = new BitSet(new long[]{0x0000000000000002L});
16722        public static final BitSet FOLLOW_list_formatted_elem_in_list_elemcontentpart2117 = new BitSet(new long[]{0x0000000000000002L});
16723        public static final BitSet FOLLOW_bold_markup_in_list_formatted_elem2133 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000000FFFFL});
16724        public static final BitSet FOLLOW_onestar_in_list_formatted_elem2136 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000000FFFFL});
16725        public static final BitSet FOLLOW_list_boldcontentpart_in_list_formatted_elem2145 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000000FFFFL});
16726        public static final BitSet FOLLOW_onestar_in_list_formatted_elem2154 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000000FFFFL});
16727        public static final BitSet FOLLOW_bold_markup_in_list_formatted_elem2163 = new BitSet(new long[]{0x0000000000000002L});
16728        public static final BitSet FOLLOW_ital_markup_in_list_formatted_elem2171 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000000FFFFL});
16729        public static final BitSet FOLLOW_onestar_in_list_formatted_elem2176 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000000FFFFL});
16730        public static final BitSet FOLLOW_list_italcontentpart_in_list_formatted_elem2185 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000000FFFFL});
16731        public static final BitSet FOLLOW_onestar_in_list_formatted_elem2194 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF2L,0x000000000000FFFFL});
16732        public static final BitSet FOLLOW_ital_markup_in_list_formatted_elem2203 = new BitSet(new long[]{0x0000000000000002L});
16733        public static final BitSet FOLLOW_ital_markup_in_list_boldcontentpart2229 = new BitSet(new long[]{0xFFFFFFFFFFED7FF0L,0x000000000000FFFFL});
16734        public static final BitSet FOLLOW_list_bolditalcontent_in_list_boldcontentpart2236 = new BitSet(new long[]{0x0000000000100002L});
16735        public static final BitSet FOLLOW_ital_markup_in_list_boldcontentpart2243 = new BitSet(new long[]{0x0000000000000002L});
16736        public static final BitSet FOLLOW_text_unformattedelement_in_list_boldcontentpart2257 = new BitSet(new long[]{0xFFFFFFFFFFED7FF2L,0x000000000000FFFFL});
16737        public static final BitSet FOLLOW_text_unformattedelement_in_list_bolditalcontent2288 = new BitSet(new long[]{0xFFFFFFFFFFED7FF2L,0x000000000000FFFFL});
16738        public static final BitSet FOLLOW_bold_markup_in_list_italcontentpart2316 = new BitSet(new long[]{0xFFFFFFFFFFED7FF0L,0x000000000000FFFFL});
16739        public static final BitSet FOLLOW_list_bolditalcontent_in_list_italcontentpart2323 = new BitSet(new long[]{0x0000000000020002L});
16740        public static final BitSet FOLLOW_bold_markup_in_list_italcontentpart2330 = new BitSet(new long[]{0x0000000000000002L});
16741        public static final BitSet FOLLOW_text_unformattedelement_in_list_italcontentpart2344 = new BitSet(new long[]{0xFFFFFFFFFFED7FF2L,0x000000000000FFFFL});
16742        public static final BitSet FOLLOW_table_row_in_table2372 = new BitSet(new long[]{0x0000000000080002L});
16743        public static final BitSet FOLLOW_table_cell_in_table_row2398 = new BitSet(new long[]{0x0000000000088000L});
16744        public static final BitSet FOLLOW_table_rowseparator_in_table_row2406 = new BitSet(new long[]{0x0000000000000002L});
16745        public static final BitSet FOLLOW_table_headercell_in_table_cell2427 = new BitSet(new long[]{0x0000000000000002L});
16746        public static final BitSet FOLLOW_table_normalcell_in_table_cell2438 = new BitSet(new long[]{0x0000000000000002L});
16747        public static final BitSet FOLLOW_table_headercell_markup_in_table_headercell2454 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000000FFFFL});
16748        public static final BitSet FOLLOW_table_cellcontent_in_table_headercell2461 = new BitSet(new long[]{0x0000000000000002L});
16749        public static final BitSet FOLLOW_table_cell_markup_in_table_normalcell2477 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000000FFFFL});
16750        public static final BitSet FOLLOW_table_cellcontent_in_table_normalcell2484 = new BitSet(new long[]{0x0000000000000002L});
16751        public static final BitSet FOLLOW_onestar_in_table_cellcontent2500 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000000FFFFL});
16752        public static final BitSet FOLLOW_table_cellcontentpart_in_table_cellcontent2509 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000000FFFFL});
16753        public static final BitSet FOLLOW_onestar_in_table_cellcontent2516 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000000FFFFL});
16754        public static final BitSet FOLLOW_table_formattedelement_in_table_cellcontentpart2537 = new BitSet(new long[]{0x0000000000000002L});
16755        public static final BitSet FOLLOW_table_unformattedelement_in_table_cellcontentpart2548 = new BitSet(new long[]{0x0000000000000002L});
16756        public static final BitSet FOLLOW_ital_markup_in_table_formattedelement2564 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000000FFFFL});
16757        public static final BitSet FOLLOW_table_italcontent_in_table_formattedelement2574 = new BitSet(new long[]{0x0000000000100002L});
16758        public static final BitSet FOLLOW_ital_markup_in_table_formattedelement2583 = new BitSet(new long[]{0x0000000000000002L});
16759        public static final BitSet FOLLOW_bold_markup_in_table_formattedelement2591 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000000FFFFL});
16760        public static final BitSet FOLLOW_table_boldcontent_in_table_formattedelement2598 = new BitSet(new long[]{0x0000000000020002L});
16761        public static final BitSet FOLLOW_bold_markup_in_table_formattedelement2608 = new BitSet(new long[]{0x0000000000000002L});
16762        public static final BitSet FOLLOW_onestar_in_table_boldcontent2625 = new BitSet(new long[]{0xFFFFFFFFFFF57FF0L,0x000000000000FFFFL});
16763        public static final BitSet FOLLOW_table_boldcontentpart_in_table_boldcontent2634 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000000FFFFL});
16764        public static final BitSet FOLLOW_onestar_in_table_boldcontent2639 = new BitSet(new long[]{0xFFFFFFFFFFF57FF2L,0x000000000000FFFFL});
16765        public static final BitSet FOLLOW_EOF_in_table_boldcontent2647 = new BitSet(new long[]{0x0000000000000002L});
16766        public static final BitSet FOLLOW_onestar_in_table_italcontent2661 = new BitSet(new long[]{0xFFFFFFFFFFE77FF0L,0x000000000000FFFFL});
16767        public static final BitSet FOLLOW_table_italcontentpart_in_table_italcontent2670 = new BitSet(new long[]{0xFFFFFFFFFFE77FF2L,0x000000000000FFFFL});
16768        public static final BitSet FOLLOW_onestar_in_table_italcontent2675 = new BitSet(new long[]{0xFFFFFFFFFFE77FF2L,0x000000000000FFFFL});
16769        public static final BitSet FOLLOW_EOF_in_table_italcontent2683 = new BitSet(new long[]{0x0000000000000002L});
16770        public static final BitSet FOLLOW_table_formattedcontent_in_table_boldcontentpart2701 = new BitSet(new long[]{0x0000000000000002L});
16771        public static final BitSet FOLLOW_ital_markup_in_table_boldcontentpart2708 = new BitSet(new long[]{0xFFFFFFFFFFF77FF2L,0x000000000000FFFFL});
16772        public static final BitSet FOLLOW_table_bolditalcontent_in_table_boldcontentpart2715 = new BitSet(new long[]{0x0000000000100002L});
16773        public static final BitSet FOLLOW_ital_markup_in_table_boldcontentpart2722 = new BitSet(new long[]{0x0000000000000002L});
16774        public static final BitSet FOLLOW_bold_markup_in_table_italcontentpart2739 = new BitSet(new long[]{0xFFFFFFFFFFE77FF2L,0x000000000000FFFFL});
16775        public static final BitSet FOLLOW_table_bolditalcontent_in_table_italcontentpart2746 = new BitSet(new long[]{0x0000000000020002L});
16776        public static final BitSet FOLLOW_bold_markup_in_table_italcontentpart2753 = new BitSet(new long[]{0x0000000000000002L});
16777        public static final BitSet FOLLOW_table_formattedcontent_in_table_italcontentpart2765 = new BitSet(new long[]{0x0000000000000002L});
16778        public static final BitSet FOLLOW_onestar_in_table_bolditalcontent2781 = new BitSet(new long[]{0xFFFFFFFFFFE57FF2L,0x000000000000FFFFL});
16779        public static final BitSet FOLLOW_table_formattedcontent_in_table_bolditalcontent2790 = new BitSet(new long[]{0x0000000000020002L});
16780        public static final BitSet FOLLOW_onestar_in_table_bolditalcontent2795 = new BitSet(new long[]{0x0000000000000002L});
16781        public static final BitSet FOLLOW_EOF_in_table_bolditalcontent2803 = new BitSet(new long[]{0x0000000000000002L});
16782        public static final BitSet FOLLOW_table_unformattedelement_in_table_formattedcontent2823 = new BitSet(new long[]{0xFFFFFFFFFFE57FF2L,0x000000000000FFFFL});
16783        public static final BitSet FOLLOW_table_unformatted_in_table_unformattedelement2846 = new BitSet(new long[]{0x0000000000000002L});
16784        public static final BitSet FOLLOW_table_inlineelement_in_table_unformattedelement2858 = new BitSet(new long[]{0x0000000000000002L});
16785        public static final BitSet FOLLOW_link_in_table_inlineelement2878 = new BitSet(new long[]{0x0000000000000002L});
16786        public static final BitSet FOLLOW_image_in_table_inlineelement2888 = new BitSet(new long[]{0x0000000000000002L});
16787        public static final BitSet FOLLOW_extension_in_table_inlineelement2899 = new BitSet(new long[]{0x0000000000000002L});
16788        public static final BitSet FOLLOW_nowiki_inline_in_table_inlineelement2909 = new BitSet(new long[]{0x0000000000000002L});
16789        public static final BitSet FOLLOW_table_unformatted_text_in_table_unformatted2930 = new BitSet(new long[]{0x0000000000000002L});
16790        public static final BitSet FOLLOW_forced_linebreak_in_table_unformatted2939 = new BitSet(new long[]{0x0000000006000002L});
16791        public static final BitSet FOLLOW_escaped_in_table_unformatted2951 = new BitSet(new long[]{0x0000000006000002L});
16792        public static final BitSet FOLLOW_set_in_table_unformatted_text2977 = new BitSet(new long[]{0xFFFFFFFFF8057FF2L,0x000000000000FFFFL});
16793        public static final BitSet FOLLOW_nowikiblock_open_markup_in_nowiki_block3074 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000000FFFFL});
16794        public static final BitSet FOLLOW_nowiki_block_contents_in_nowiki_block3081 = new BitSet(new long[]{0x0000000008000000L});
16795        public static final BitSet FOLLOW_nowikiblock_close_markup_in_nowiki_block3087 = new BitSet(new long[]{0x0000000000008000L});
16796        public static final BitSet FOLLOW_paragraph_separator_in_nowiki_block3090 = new BitSet(new long[]{0x0000000000000002L});
16797        public static final BitSet FOLLOW_nowiki_open_markup_in_nowikiblock_open_markup3101 = new BitSet(new long[]{0x0000000000008000L});
16798        public static final BitSet FOLLOW_newline_in_nowikiblock_open_markup3104 = new BitSet(new long[]{0x0000000000000002L});
16799        public static final BitSet FOLLOW_NOWIKI_BLOCK_CLOSE_in_nowikiblock_close_markup3115 = new BitSet(new long[]{0x0000000000000002L});
16800        public static final BitSet FOLLOW_nowiki_open_markup_in_nowiki_inline3130 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF0L,0x000000000000FFFFL});
16801        public static final BitSet FOLLOW_nowiki_inline_contents_in_nowiki_inline3137 = new BitSet(new long[]{0x0000000010000000L});
16802        public static final BitSet FOLLOW_nowiki_close_markup_in_nowiki_inline3141 = new BitSet(new long[]{0x0000000000000002L});
16803        public static final BitSet FOLLOW_set_in_nowiki_block_contents3159 = new BitSet(new long[]{0xFFFFFFFFF7FFFFF2L,0x000000000000FFFFL});
16804        public static final BitSet FOLLOW_set_in_nowiki_inline_contents3192 = new BitSet(new long[]{0xFFFFFFFFEFFF7FF2L,0x000000000000FFFFL});
16805        public static final BitSet FOLLOW_horizontalrule_markup_in_horizontalrule3228 = new BitSet(new long[]{0x0000000080008000L});
16806        public static final BitSet FOLLOW_blanks_in_horizontalrule3233 = new BitSet(new long[]{0x0000000000008000L});
16807        public static final BitSet FOLLOW_paragraph_separator_in_horizontalrule3239 = new BitSet(new long[]{0x0000000000000002L});
16808        public static final BitSet FOLLOW_link_open_markup_in_link3260 = new BitSet(new long[]{0xFFFFFFFFDFF77FF0L,0x000000000000FFFFL});
16809        public static final BitSet FOLLOW_link_address_in_link3266 = new BitSet(new long[]{0x0000000020080000L});
16810        public static final BitSet FOLLOW_link_description_markup_in_link3272 = new BitSet(new long[]{0xFFFFFFFFDE5F7FF0L,0x000000000000FFFFL});
16811        public static final BitSet FOLLOW_link_description_in_link3280 = new BitSet(new long[]{0x0000000020000000L});
16812        public static final BitSet FOLLOW_link_close_markup_in_link3288 = new BitSet(new long[]{0x0000000000000002L});
16813        public static final BitSet FOLLOW_link_interwiki_uri_in_link_address3307 = new BitSet(new long[]{0x0000100000000000L});
16814        public static final BitSet FOLLOW_44_in_link_address3310 = new BitSet(new long[]{0xFFFFFFFFDFF77FF0L,0x000000000000FFFFL});
16815        public static final BitSet FOLLOW_link_interwiki_pagename_in_link_address3317 = new BitSet(new long[]{0x0000000000000002L});
16816        public static final BitSet FOLLOW_link_uri_in_link_address3328 = new BitSet(new long[]{0x0000000000000002L});
16817        public static final BitSet FOLLOW_45_in_link_interwiki_uri3344 = new BitSet(new long[]{0x0000400000000000L});
16818        public static final BitSet FOLLOW_46_in_link_interwiki_uri3346 = new BitSet(new long[]{0x0000000000000002L});
16819        public static final BitSet FOLLOW_47_in_link_interwiki_uri3351 = new BitSet(new long[]{0x0001000000000000L});
16820        public static final BitSet FOLLOW_48_in_link_interwiki_uri3353 = new BitSet(new long[]{0x0002000000000000L});
16821        public static final BitSet FOLLOW_49_in_link_interwiki_uri3355 = new BitSet(new long[]{0x0004000000000000L});
16822        public static final BitSet FOLLOW_50_in_link_interwiki_uri3357 = new BitSet(new long[]{0x0008000000000000L});
16823        public static final BitSet FOLLOW_51_in_link_interwiki_uri3359 = new BitSet(new long[]{0x0010000000000000L});
16824        public static final BitSet FOLLOW_52_in_link_interwiki_uri3361 = new BitSet(new long[]{0x0002000000000000L});
16825        public static final BitSet FOLLOW_49_in_link_interwiki_uri3363 = new BitSet(new long[]{0x0010000000000000L});
16826        public static final BitSet FOLLOW_52_in_link_interwiki_uri3365 = new BitSet(new long[]{0x0000000000000002L});
16827        public static final BitSet FOLLOW_53_in_link_interwiki_uri3370 = new BitSet(new long[]{0x0040000000000000L});
16828        public static final BitSet FOLLOW_54_in_link_interwiki_uri3372 = new BitSet(new long[]{0x0010000000000000L});
16829        public static final BitSet FOLLOW_52_in_link_interwiki_uri3374 = new BitSet(new long[]{0x0080000000000000L});
16830        public static final BitSet FOLLOW_55_in_link_interwiki_uri3376 = new BitSet(new long[]{0x0002000000000000L});
16831        public static final BitSet FOLLOW_49_in_link_interwiki_uri3378 = new BitSet(new long[]{0x0100000000000000L});
16832        public static final BitSet FOLLOW_56_in_link_interwiki_uri3380 = new BitSet(new long[]{0x0000000000000002L});
16833        public static final BitSet FOLLOW_57_in_link_interwiki_uri3385 = new BitSet(new long[]{0x0001000000000000L});
16834        public static final BitSet FOLLOW_48_in_link_interwiki_uri3387 = new BitSet(new long[]{0x0001000000000000L});
16835        public static final BitSet FOLLOW_48_in_link_interwiki_uri3389 = new BitSet(new long[]{0x0400000000000000L});
16836        public static final BitSet FOLLOW_58_in_link_interwiki_uri3391 = new BitSet(new long[]{0x0040000000000000L});
16837        public static final BitSet FOLLOW_54_in_link_interwiki_uri3393 = new BitSet(new long[]{0x0800000000000000L});
16838        public static final BitSet FOLLOW_59_in_link_interwiki_uri3395 = new BitSet(new long[]{0x0000000000000002L});
16839        public static final BitSet FOLLOW_60_in_link_interwiki_uri3400 = new BitSet(new long[]{0x2000000000000000L});
16840        public static final BitSet FOLLOW_61_in_link_interwiki_uri3402 = new BitSet(new long[]{0x4000000000000000L});
16841        public static final BitSet FOLLOW_62_in_link_interwiki_uri3404 = new BitSet(new long[]{0x0008000000000000L});
16842        public static final BitSet FOLLOW_51_in_link_interwiki_uri3406 = new BitSet(new long[]{0x0010000000000000L});
16843        public static final BitSet FOLLOW_52_in_link_interwiki_uri3408 = new BitSet(new long[]{0x0002000000000000L});
16844        public static final BitSet FOLLOW_49_in_link_interwiki_uri3410 = new BitSet(new long[]{0x0010000000000000L});
16845        public static final BitSet FOLLOW_52_in_link_interwiki_uri3412 = new BitSet(new long[]{0x0000000000000002L});
16846        public static final BitSet FOLLOW_63_in_link_interwiki_uri3417 = new BitSet(new long[]{0x0800000000000000L});
16847        public static final BitSet FOLLOW_59_in_link_interwiki_uri3419 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
16848        public static final BitSet FOLLOW_64_in_link_interwiki_uri3421 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
16849        public static final BitSet FOLLOW_65_in_link_interwiki_uri3423 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
16850        public static final BitSet FOLLOW_66_in_link_interwiki_uri3425 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
16851        public static final BitSet FOLLOW_64_in_link_interwiki_uri3427 = new BitSet(new long[]{0x0040000000000000L});
16852        public static final BitSet FOLLOW_54_in_link_interwiki_uri3429 = new BitSet(new long[]{0x0040000000000000L});
16853        public static final BitSet FOLLOW_54_in_link_interwiki_uri3431 = new BitSet(new long[]{0x0000000000000002L});
16854        public static final BitSet FOLLOW_63_in_link_interwiki_uri3436 = new BitSet(new long[]{0x0800000000000000L});
16855        public static final BitSet FOLLOW_59_in_link_interwiki_uri3438 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
16856        public static final BitSet FOLLOW_67_in_link_interwiki_uri3440 = new BitSet(new long[]{0x0010000000000000L});
16857        public static final BitSet FOLLOW_52_in_link_interwiki_uri3442 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
16858        public static final BitSet FOLLOW_64_in_link_interwiki_uri3444 = new BitSet(new long[]{0x0008000000000000L});
16859        public static final BitSet FOLLOW_51_in_link_interwiki_uri3446 = new BitSet(new long[]{0x0010000000000000L});
16860        public static final BitSet FOLLOW_52_in_link_interwiki_uri3448 = new BitSet(new long[]{0x0002000000000000L});
16861        public static final BitSet FOLLOW_49_in_link_interwiki_uri3450 = new BitSet(new long[]{0x0010000000000000L});
16862        public static final BitSet FOLLOW_52_in_link_interwiki_uri3452 = new BitSet(new long[]{0x0000000000000002L});
16863        public static final BitSet FOLLOW_63_in_link_interwiki_uri3457 = new BitSet(new long[]{0x0001000000000000L});
16864        public static final BitSet FOLLOW_48_in_link_interwiki_uri3459 = new BitSet(new long[]{0x0010000000000000L});
16865        public static final BitSet FOLLOW_52_in_link_interwiki_uri3461 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
16866        public static final BitSet FOLLOW_68_in_link_interwiki_uri3463 = new BitSet(new long[]{0x8000000000000000L});
16867        public static final BitSet FOLLOW_63_in_link_interwiki_uri3465 = new BitSet(new long[]{0x0001000000000000L});
16868        public static final BitSet FOLLOW_48_in_link_interwiki_uri3467 = new BitSet(new long[]{0x0010000000000000L});
16869        public static final BitSet FOLLOW_52_in_link_interwiki_uri3469 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
16870        public static final BitSet FOLLOW_68_in_link_interwiki_uri3471 = new BitSet(new long[]{0x0000000000000002L});
16871        public static final BitSet FOLLOW_69_in_link_interwiki_uri3476 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
16872        public static final BitSet FOLLOW_67_in_link_interwiki_uri3478 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
16873        public static final BitSet FOLLOW_67_in_link_interwiki_uri3480 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
16874        public static final BitSet FOLLOW_70_in_link_interwiki_uri3482 = new BitSet(new long[]{0x0004000000000000L});
16875        public static final BitSet FOLLOW_50_in_link_interwiki_uri3484 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
16876        public static final BitSet FOLLOW_71_in_link_interwiki_uri3486 = new BitSet(new long[]{0x0800000000000000L});
16877        public static final BitSet FOLLOW_59_in_link_interwiki_uri3488 = new BitSet(new long[]{0x0000000000000002L});
16878        public static final BitSet FOLLOW_69_in_link_interwiki_uri3493 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
16879        public static final BitSet FOLLOW_72_in_link_interwiki_uri3495 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
16880        public static final BitSet FOLLOW_64_in_link_interwiki_uri3497 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
16881        public static final BitSet FOLLOW_68_in_link_interwiki_uri3499 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
16882        public static final BitSet FOLLOW_64_in_link_interwiki_uri3501 = new BitSet(new long[]{0x0000000000000002L});
16883        public static final BitSet FOLLOW_62_in_link_interwiki_uri3506 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
16884        public static final BitSet FOLLOW_70_in_link_interwiki_uri3508 = new BitSet(new long[]{0x0008000000000000L});
16885        public static final BitSet FOLLOW_51_in_link_interwiki_uri3510 = new BitSet(new long[]{0x0010000000000000L});
16886        public static final BitSet FOLLOW_52_in_link_interwiki_uri3512 = new BitSet(new long[]{0x0002000000000000L});
16887        public static final BitSet FOLLOW_49_in_link_interwiki_uri3514 = new BitSet(new long[]{0x0010000000000000L});
16888        public static final BitSet FOLLOW_52_in_link_interwiki_uri3516 = new BitSet(new long[]{0x0000000000000002L});
16889        public static final BitSet FOLLOW_62_in_link_interwiki_uri3521 = new BitSet(new long[]{0x0004000000000000L});
16890        public static final BitSet FOLLOW_50_in_link_interwiki_uri3523 = new BitSet(new long[]{0x0002000000000000L});
16891        public static final BitSet FOLLOW_49_in_link_interwiki_uri3525 = new BitSet(new long[]{0x0010000000000000L});
16892        public static final BitSet FOLLOW_52_in_link_interwiki_uri3527 = new BitSet(new long[]{0x0008000000000000L});
16893        public static final BitSet FOLLOW_51_in_link_interwiki_uri3529 = new BitSet(new long[]{0x0010000000000000L});
16894        public static final BitSet FOLLOW_52_in_link_interwiki_uri3531 = new BitSet(new long[]{0x0002000000000000L});
16895        public static final BitSet FOLLOW_49_in_link_interwiki_uri3533 = new BitSet(new long[]{0x0010000000000000L});
16896        public static final BitSet FOLLOW_52_in_link_interwiki_uri3535 = new BitSet(new long[]{0x0000000000000002L});
16897        public static final BitSet FOLLOW_62_in_link_interwiki_uri3540 = new BitSet(new long[]{0x0004000000000000L});
16898        public static final BitSet FOLLOW_50_in_link_interwiki_uri3542 = new BitSet(new long[]{0x0100000000000000L});
16899        public static final BitSet FOLLOW_56_in_link_interwiki_uri3544 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
16900        public static final BitSet FOLLOW_73_in_link_interwiki_uri3546 = new BitSet(new long[]{0x0040000000000000L});
16901        public static final BitSet FOLLOW_54_in_link_interwiki_uri3548 = new BitSet(new long[]{0x0800000000000000L});
16902        public static final BitSet FOLLOW_59_in_link_interwiki_uri3550 = new BitSet(new long[]{0x0008000000000000L});
16903        public static final BitSet FOLLOW_51_in_link_interwiki_uri3552 = new BitSet(new long[]{0x0010000000000000L});
16904        public static final BitSet FOLLOW_52_in_link_interwiki_uri3554 = new BitSet(new long[]{0x0002000000000000L});
16905        public static final BitSet FOLLOW_49_in_link_interwiki_uri3556 = new BitSet(new long[]{0x0010000000000000L});
16906        public static final BitSet FOLLOW_52_in_link_interwiki_uri3558 = new BitSet(new long[]{0x0000000000000002L});
16907        public static final BitSet FOLLOW_74_in_link_interwiki_uri3563 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
16908        public static final BitSet FOLLOW_64_in_link_interwiki_uri3565 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
16909        public static final BitSet FOLLOW_67_in_link_interwiki_uri3567 = new BitSet(new long[]{0x0800000000000000L});
16910        public static final BitSet FOLLOW_59_in_link_interwiki_uri3569 = new BitSet(new long[]{0x0001000000000000L});
16911        public static final BitSet FOLLOW_48_in_link_interwiki_uri3571 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L});
16912        public static final BitSet FOLLOW_75_in_link_interwiki_uri3573 = new BitSet(new long[]{0x0000000000000002L});
16913        public static final BitSet FOLLOW_61_in_link_interwiki_uri3578 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
16914        public static final BitSet FOLLOW_68_in_link_interwiki_uri3580 = new BitSet(new long[]{0x0010000000000000L});
16915        public static final BitSet FOLLOW_52_in_link_interwiki_uri3582 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
16916        public static final BitSet FOLLOW_73_in_link_interwiki_uri3584 = new BitSet(new long[]{0x2000000000000000L});
16917        public static final BitSet FOLLOW_61_in_link_interwiki_uri3586 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
16918        public static final BitSet FOLLOW_68_in_link_interwiki_uri3588 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
16919        public static final BitSet FOLLOW_64_in_link_interwiki_uri3590 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
16920        public static final BitSet FOLLOW_73_in_link_interwiki_uri3592 = new BitSet(new long[]{0x0000000000000002L});
16921        public static final BitSet FOLLOW_76_in_link_interwiki_uri3597 = new BitSet(new long[]{0x0010000000000000L});
16922        public static final BitSet FOLLOW_52_in_link_interwiki_uri3599 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
16923        public static final BitSet FOLLOW_67_in_link_interwiki_uri3601 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
16924        public static final BitSet FOLLOW_67_in_link_interwiki_uri3603 = new BitSet(new long[]{0x0040000000000000L});
16925        public static final BitSet FOLLOW_54_in_link_interwiki_uri3605 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002000L});
16926        public static final BitSet FOLLOW_77_in_link_interwiki_uri3607 = new BitSet(new long[]{0x0008000000000000L});
16927        public static final BitSet FOLLOW_51_in_link_interwiki_uri3609 = new BitSet(new long[]{0x0010000000000000L});
16928        public static final BitSet FOLLOW_52_in_link_interwiki_uri3611 = new BitSet(new long[]{0x0002000000000000L});
16929        public static final BitSet FOLLOW_49_in_link_interwiki_uri3613 = new BitSet(new long[]{0x0010000000000000L});
16930        public static final BitSet FOLLOW_52_in_link_interwiki_uri3615 = new BitSet(new long[]{0x0000000000000002L});
16931        public static final BitSet FOLLOW_76_in_link_interwiki_uri3620 = new BitSet(new long[]{0x0008000000000000L});
16932        public static final BitSet FOLLOW_51_in_link_interwiki_uri3622 = new BitSet(new long[]{0x0010000000000000L});
16933        public static final BitSet FOLLOW_52_in_link_interwiki_uri3624 = new BitSet(new long[]{0x0002000000000000L});
16934        public static final BitSet FOLLOW_49_in_link_interwiki_uri3626 = new BitSet(new long[]{0x0010000000000000L});
16935        public static final BitSet FOLLOW_52_in_link_interwiki_uri3628 = new BitSet(new long[]{0x0000000000000002L});
16936        public static final BitSet FOLLOW_78_in_link_interwiki_uri3633 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
16937        public static final BitSet FOLLOW_71_in_link_interwiki_uri3635 = new BitSet(new long[]{0x0800000000000000L});
16938        public static final BitSet FOLLOW_59_in_link_interwiki_uri3637 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
16939        public static final BitSet FOLLOW_70_in_link_interwiki_uri3639 = new BitSet(new long[]{0x0001000000000000L});
16940        public static final BitSet FOLLOW_48_in_link_interwiki_uri3641 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
16941        public static final BitSet FOLLOW_67_in_link_interwiki_uri3643 = new BitSet(new long[]{0x0000000000000002L});
16942        public static final BitSet FOLLOW_51_in_link_interwiki_uri3648 = new BitSet(new long[]{0x0010000000000000L});
16943        public static final BitSet FOLLOW_52_in_link_interwiki_uri3650 = new BitSet(new long[]{0x0002000000000000L});
16944        public static final BitSet FOLLOW_49_in_link_interwiki_uri3652 = new BitSet(new long[]{0x0010000000000000L});
16945        public static final BitSet FOLLOW_52_in_link_interwiki_uri3654 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
16946        public static final BitSet FOLLOW_73_in_link_interwiki_uri3656 = new BitSet(new long[]{0x0800000000000000L});
16947        public static final BitSet FOLLOW_59_in_link_interwiki_uri3658 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
16948        public static final BitSet FOLLOW_67_in_link_interwiki_uri3660 = new BitSet(new long[]{0x0010000000000000L});
16949        public static final BitSet FOLLOW_52_in_link_interwiki_uri3662 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
16950        public static final BitSet FOLLOW_64_in_link_interwiki_uri3664 = new BitSet(new long[]{0x0000000000000002L});
16951        public static final BitSet FOLLOW_79_in_link_interwiki_uri3669 = new BitSet(new long[]{0x0008000000000000L});
16952        public static final BitSet FOLLOW_51_in_link_interwiki_uri3671 = new BitSet(new long[]{0x0010000000000000L});
16953        public static final BitSet FOLLOW_52_in_link_interwiki_uri3673 = new BitSet(new long[]{0x0002000000000000L});
16954        public static final BitSet FOLLOW_49_in_link_interwiki_uri3675 = new BitSet(new long[]{0x0010000000000000L});
16955        public static final BitSet FOLLOW_52_in_link_interwiki_uri3677 = new BitSet(new long[]{0x0000000000000002L});
16956        public static final BitSet FOLLOW_set_in_link_interwiki_pagename3697 = new BitSet(new long[]{0xFFFFFFFFDFF77FF2L,0x000000000000FFFFL});
16957        public static final BitSet FOLLOW_link_descriptionpart_in_link_description3740 = new BitSet(new long[]{0xFFFFFFFFDE5F7FF2L,0x000000000000FFFFL});
16958        public static final BitSet FOLLOW_image_in_link_description3752 = new BitSet(new long[]{0xFFFFFFFFDE5F7FF2L,0x000000000000FFFFL});
16959        public static final BitSet FOLLOW_bold_markup_in_link_descriptionpart3777 = new BitSet(new long[]{0xFFFFFFFFDE1F7FF0L,0x000000000000FFFFL});
16960        public static final BitSet FOLLOW_onestar_in_link_descriptionpart3780 = new BitSet(new long[]{0xFFFFFFFFDE1D7FF0L,0x000000000000FFFFL});
16961        public static final BitSet FOLLOW_link_bold_descriptionpart_in_link_descriptionpart3788 = new BitSet(new long[]{0xFFFFFFFFDE1F7FF0L,0x000000000000FFFFL});
16962        public static final BitSet FOLLOW_onestar_in_link_descriptionpart3793 = new BitSet(new long[]{0xFFFFFFFFDE1F7FF0L,0x000000000000FFFFL});
16963        public static final BitSet FOLLOW_bold_markup_in_link_descriptionpart3803 = new BitSet(new long[]{0x0000000000000002L});
16964        public static final BitSet FOLLOW_ital_markup_in_link_descriptionpart3808 = new BitSet(new long[]{0xFFFFFFFFDE0F7FF0L,0x000000000000FFFFL});
16965        public static final BitSet FOLLOW_onestar_in_link_descriptionpart3811 = new BitSet(new long[]{0xFFFFFFFFDE0F7FF0L,0x000000000000FFFFL});
16966        public static final BitSet FOLLOW_link_ital_descriptionpart_in_link_descriptionpart3820 = new BitSet(new long[]{0xFFFFFFFFDE1F7FF0L,0x000000000000FFFFL});
16967        public static final BitSet FOLLOW_onestar_in_link_descriptionpart3825 = new BitSet(new long[]{0xFFFFFFFFDE1F7FF0L,0x000000000000FFFFL});
16968        public static final BitSet FOLLOW_ital_markup_in_link_descriptionpart3834 = new BitSet(new long[]{0x0000000000000002L});
16969        public static final BitSet FOLLOW_onestar_in_link_descriptionpart3839 = new BitSet(new long[]{0xFFFFFFFFDE0D7FF0L,0x000000000000FFFFL});
16970        public static final BitSet FOLLOW_link_descriptiontext_in_link_descriptionpart3848 = new BitSet(new long[]{0xFFFFFFFFDE0F7FF2L,0x000000000000FFFFL});
16971        public static final BitSet FOLLOW_onestar_in_link_descriptionpart3851 = new BitSet(new long[]{0xFFFFFFFFDE0D7FF2L,0x000000000000FFFFL});
16972        public static final BitSet FOLLOW_ital_markup_in_link_bold_descriptionpart3871 = new BitSet(new long[]{0xFFFFFFFFDE0F7FF0L,0x000000000000FFFFL});
16973        public static final BitSet FOLLOW_link_boldital_description_in_link_bold_descriptionpart3878 = new BitSet(new long[]{0x0000000000100000L});
16974        public static final BitSet FOLLOW_ital_markup_in_link_bold_descriptionpart3883 = new BitSet(new long[]{0x0000000000000002L});
16975        public static final BitSet FOLLOW_link_descriptiontext_in_link_bold_descriptionpart3892 = new BitSet(new long[]{0x0000000000000002L});
16976        public static final BitSet FOLLOW_bold_markup_in_link_ital_descriptionpart3908 = new BitSet(new long[]{0xFFFFFFFFDE0F7FF0L,0x000000000000FFFFL});
16977        public static final BitSet FOLLOW_link_boldital_description_in_link_ital_descriptionpart3915 = new BitSet(new long[]{0x0000000000020000L});
16978        public static final BitSet FOLLOW_bold_markup_in_link_ital_descriptionpart3918 = new BitSet(new long[]{0x0000000000000002L});
16979        public static final BitSet FOLLOW_link_descriptiontext_in_link_ital_descriptionpart3929 = new BitSet(new long[]{0x0000000000000002L});
16980        public static final BitSet FOLLOW_onestar_in_link_boldital_description3945 = new BitSet(new long[]{0xFFFFFFFFDE0D7FF0L,0x000000000000FFFFL});
16981        public static final BitSet FOLLOW_link_descriptiontext_in_link_boldital_description3954 = new BitSet(new long[]{0xFFFFFFFFDE0F7FF2L,0x000000000000FFFFL});
16982        public static final BitSet FOLLOW_onestar_in_link_boldital_description3957 = new BitSet(new long[]{0xFFFFFFFFDE0D7FF2L,0x000000000000FFFFL});
16983        public static final BitSet FOLLOW_link_descriptiontext_simple_in_link_descriptiontext3980 = new BitSet(new long[]{0x0000000000000002L});
16984        public static final BitSet FOLLOW_forced_linebreak_in_link_descriptiontext3990 = new BitSet(new long[]{0x0000000006000002L});
16985        public static final BitSet FOLLOW_escaped_in_link_descriptiontext4002 = new BitSet(new long[]{0x0000000006000002L});
16986        public static final BitSet FOLLOW_set_in_link_descriptiontext_simple4027 = new BitSet(new long[]{0xFFFFFFFFD80D7FF2L,0x000000000000FFFFL});
16987        public static final BitSet FOLLOW_set_in_link_uri4126 = new BitSet(new long[]{0xFFFFFFFFDFF77FF2L,0x000000000000FFFFL});
16988        public static final BitSet FOLLOW_image_open_markup_in_image4167 = new BitSet(new long[]{0xFFFFFFFFBFF77FF0L,0x000000000000FFFFL});
16989        public static final BitSet FOLLOW_image_uri_in_image4173 = new BitSet(new long[]{0x0000000040080000L});
16990        public static final BitSet FOLLOW_image_alternative_in_image4183 = new BitSet(new long[]{0x0000000040000000L});
16991        public static final BitSet FOLLOW_image_close_markup_in_image4192 = new BitSet(new long[]{0x0000000000000002L});
16992        public static final BitSet FOLLOW_set_in_image_uri4211 = new BitSet(new long[]{0xFFFFFFFFBFF77FF2L,0x000000000000FFFFL});
16993        public static final BitSet FOLLOW_image_alternative_markup_in_image_alternative4246 = new BitSet(new long[]{0xFFFFFFFFBE1F7FF0L,0x000000000000FFFFL});
16994        public static final BitSet FOLLOW_image_alternativepart_in_image_alternative4255 = new BitSet(new long[]{0xFFFFFFFFBE1F7FF2L,0x000000000000FFFFL});
16995        public static final BitSet FOLLOW_bold_markup_in_image_alternativepart4281 = new BitSet(new long[]{0x0000000000120000L});
16996        public static final BitSet FOLLOW_onestar_in_image_alternativepart4284 = new BitSet(new long[]{0xFFFFFFFFBE1F7FF0L,0x000000000000FFFFL});
16997        public static final BitSet FOLLOW_image_bold_alternativepart_in_image_alternativepart4293 = new BitSet(new long[]{0x0000000000120000L});
16998        public static final BitSet FOLLOW_onestar_in_image_alternativepart4298 = new BitSet(new long[]{0xFFFFFFFFBE1F7FF0L,0x000000000000FFFFL});
16999        public static final BitSet FOLLOW_bold_markup_in_image_alternativepart4305 = new BitSet(new long[]{0x0000000000000002L});
17000        public static final BitSet FOLLOW_ital_markup_in_image_alternativepart4312 = new BitSet(new long[]{0x0000000000020000L});
17001        public static final BitSet FOLLOW_onestar_in_image_alternativepart4315 = new BitSet(new long[]{0xFFFFFFFFBE0F7FF0L,0x000000000000FFFFL});
17002        public static final BitSet FOLLOW_image_ital_alternativepart_in_image_alternativepart4325 = new BitSet(new long[]{0x0000000000120000L});
17003        public static final BitSet FOLLOW_onestar_in_image_alternativepart4330 = new BitSet(new long[]{0xFFFFFFFFBE1F7FF0L,0x000000000000FFFFL});
17004        public static final BitSet FOLLOW_ital_markup_in_image_alternativepart4337 = new BitSet(new long[]{0x0000000000000002L});
17005        public static final BitSet FOLLOW_onestar_in_image_alternativepart4344 = new BitSet(new long[]{0xFFFFFFFFBE0D7FF0L,0x000000000000FFFFL});
17006        public static final BitSet FOLLOW_image_alternativetext_in_image_alternativepart4351 = new BitSet(new long[]{0xFFFFFFFFBE0F7FF2L,0x000000000000FFFFL});
17007        public static final BitSet FOLLOW_onestar_in_image_alternativepart4356 = new BitSet(new long[]{0xFFFFFFFFBE0D7FF2L,0x000000000000FFFFL});
17008        public static final BitSet FOLLOW_ital_markup_in_image_bold_alternativepart4382 = new BitSet(new long[]{0xFFFFFFFFDE0F7FF0L,0x000000000000FFFFL});
17009        public static final BitSet FOLLOW_link_boldital_description_in_image_bold_alternativepart4389 = new BitSet(new long[]{0x0000000000100000L});
17010        public static final BitSet FOLLOW_ital_markup_in_image_bold_alternativepart4394 = new BitSet(new long[]{0x0000000000000002L});
17011        public static final BitSet FOLLOW_onestar_in_image_bold_alternativepart4399 = new BitSet(new long[]{0xFFFFFFFFBE0D7FF0L,0x000000000000FFFFL});
17012        public static final BitSet FOLLOW_image_alternativetext_in_image_bold_alternativepart4408 = new BitSet(new long[]{0xFFFFFFFFBE0F7FF2L,0x000000000000FFFFL});
17013        public static final BitSet FOLLOW_onestar_in_image_bold_alternativepart4411 = new BitSet(new long[]{0xFFFFFFFFBE0D7FF2L,0x000000000000FFFFL});
17014        public static final BitSet FOLLOW_bold_markup_in_image_ital_alternativepart4439 = new BitSet(new long[]{0xFFFFFFFFDE0F7FF0L,0x000000000000FFFFL});
17015        public static final BitSet FOLLOW_link_boldital_description_in_image_ital_alternativepart4446 = new BitSet(new long[]{0x0000000000020000L});
17016        public static final BitSet FOLLOW_bold_markup_in_image_ital_alternativepart4451 = new BitSet(new long[]{0x0000000000000002L});
17017        public static final BitSet FOLLOW_onestar_in_image_ital_alternativepart4456 = new BitSet(new long[]{0xFFFFFFFFBE0D7FF0L,0x000000000000FFFFL});
17018        public static final BitSet FOLLOW_image_alternativetext_in_image_ital_alternativepart4465 = new BitSet(new long[]{0xFFFFFFFFBE0F7FF2L,0x000000000000FFFFL});
17019        public static final BitSet FOLLOW_onestar_in_image_ital_alternativepart4468 = new BitSet(new long[]{0xFFFFFFFFBE0D7FF2L,0x000000000000FFFFL});
17020        public static final BitSet FOLLOW_onestar_in_image_boldital_alternative4489 = new BitSet(new long[]{0xFFFFFFFFBE0D7FF0L,0x000000000000FFFFL});
17021        public static final BitSet FOLLOW_image_alternativetext_in_image_boldital_alternative4498 = new BitSet(new long[]{0xFFFFFFFFBE0F7FF2L,0x000000000000FFFFL});
17022        public static final BitSet FOLLOW_onestar_in_image_boldital_alternative4501 = new BitSet(new long[]{0xFFFFFFFFBE0D7FF2L,0x000000000000FFFFL});
17023        public static final BitSet FOLLOW_image_alternative_simple_text_in_image_alternativetext4523 = new BitSet(new long[]{0x0000000000000002L});
17024        public static final BitSet FOLLOW_forced_linebreak_in_image_alternativetext4531 = new BitSet(new long[]{0x0000000002000002L});
17025        public static final BitSet FOLLOW_set_in_image_alternative_simple_text4557 = new BitSet(new long[]{0xFFFFFFFFBC0D7FF2L,0x000000000000FFFFL});
17026        public static final BitSet FOLLOW_extension_markup_in_extension4649 = new BitSet(new long[]{0xFFFFFFFF7EFF7FF0L,0x000000000000FFFFL});
17027        public static final BitSet FOLLOW_extension_handler_in_extension4652 = new BitSet(new long[]{0x0000000080000000L});
17028        public static final BitSet FOLLOW_blanks_in_extension4655 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000000FFFFL});
17029        public static final BitSet FOLLOW_extension_statement_in_extension4658 = new BitSet(new long[]{0x0000000001000000L});
17030        public static final BitSet FOLLOW_extension_markup_in_extension4662 = new BitSet(new long[]{0x0000000000000002L});
17031        public static final BitSet FOLLOW_set_in_extension_handler4673 = new BitSet(new long[]{0xFFFFFFFF7EFF7FF2L,0x000000000000FFFFL});
17032        public static final BitSet FOLLOW_escaped_in_extension_handler4706 = new BitSet(new long[]{0xFFFFFFFF7EFF7FF2L,0x000000000000FFFFL});
17033        public static final BitSet FOLLOW_set_in_extension_statement4720 = new BitSet(new long[]{0xFFFFFFFFFEFFFFF2L,0x000000000000FFFFL});
17034        public static final BitSet FOLLOW_escaped_in_extension_statement4741 = new BitSet(new long[]{0xFFFFFFFFFEFFFFF2L,0x000000000000FFFFL});
17035        public static final BitSet FOLLOW_TABLE_OF_CONTENTS_TEXT_in_table_of_contents4764 = new BitSet(new long[]{0x0000000000000002L});
17036        public static final BitSet FOLLOW_STAR_in_onestar4786 = new BitSet(new long[]{0x0000000000000002L});
17037        public static final BitSet FOLLOW_ESCAPE_in_escaped4807 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x000000000000FFFFL});
17038        public static final BitSet FOLLOW_newline_in_paragraph_separator4831 = new BitSet(new long[]{0x0000000000008002L});
17039        public static final BitSet FOLLOW_EOF_in_paragraph_separator4839 = new BitSet(new long[]{0x0000000000000002L});
17040        public static final BitSet FOLLOW_blanks_in_whitespaces4851 = new BitSet(new long[]{0x0000000080008002L});
17041        public static final BitSet FOLLOW_newline_in_whitespaces4855 = new BitSet(new long[]{0x0000000080008002L});
17042        public static final BitSet FOLLOW_BLANKS_in_blanks4868 = new BitSet(new long[]{0x0000000000000002L});
17043        public static final BitSet FOLLOW_newline_in_text_lineseparator4878 = new BitSet(new long[]{0x0000000080000002L});
17044        public static final BitSet FOLLOW_blanks_in_text_lineseparator4883 = new BitSet(new long[]{0x0000000000000002L});
17045        public static final BitSet FOLLOW_EOF_in_text_lineseparator4891 = new BitSet(new long[]{0x0000000000000002L});
17046        public static final BitSet FOLLOW_NEWLINE_in_newline4901 = new BitSet(new long[]{0x0000000000000002L});
17047        public static final BitSet FOLLOW_STAR_in_bold_markup4911 = new BitSet(new long[]{0x0000000000020000L});
17048        public static final BitSet FOLLOW_STAR_in_bold_markup4914 = new BitSet(new long[]{0x0000000000000002L});
17049        public static final BitSet FOLLOW_ITAL_in_ital_markup4924 = new BitSet(new long[]{0x0000000000000002L});
17050        public static final BitSet FOLLOW_EQUAL_in_heading_markup4934 = new BitSet(new long[]{0x0000000000000002L});
17051        public static final BitSet FOLLOW_POUND_in_list_ordelem_markup4944 = new BitSet(new long[]{0x0000000000000002L});
17052        public static final BitSet FOLLOW_STAR_in_list_unordelem_markup4954 = new BitSet(new long[]{0x0000000000000002L});
17053        public static final BitSet FOLLOW_newline_in_list_elemseparator4964 = new BitSet(new long[]{0x0000000080000002L});
17054        public static final BitSet FOLLOW_blanks_in_list_elemseparator4969 = new BitSet(new long[]{0x0000000000000002L});
17055        public static final BitSet FOLLOW_EOF_in_list_elemseparator4977 = new BitSet(new long[]{0x0000000000000002L});
17056        public static final BitSet FOLLOW_newline_in_end_of_list4987 = new BitSet(new long[]{0x0000000000000002L});
17057        public static final BitSet FOLLOW_EOF_in_end_of_list4992 = new BitSet(new long[]{0x0000000000000002L});
17058        public static final BitSet FOLLOW_PIPE_in_table_cell_markup5002 = new BitSet(new long[]{0x0000000000000002L});
17059        public static final BitSet FOLLOW_PIPE_in_table_headercell_markup5012 = new BitSet(new long[]{0x0000000000040000L});
17060        public static final BitSet FOLLOW_EQUAL_in_table_headercell_markup5015 = new BitSet(new long[]{0x0000000000000002L});
17061        public static final BitSet FOLLOW_newline_in_table_rowseparator5025 = new BitSet(new long[]{0x0000000000000002L});
17062        public static final BitSet FOLLOW_EOF_in_table_rowseparator5030 = new BitSet(new long[]{0x0000000000000002L});
17063        public static final BitSet FOLLOW_NOWIKI_OPEN_in_nowiki_open_markup5040 = new BitSet(new long[]{0x0000000000000002L});
17064        public static final BitSet FOLLOW_NOWIKI_CLOSE_in_nowiki_close_markup5050 = new BitSet(new long[]{0x0000000000000002L});
17065        public static final BitSet FOLLOW_DASH_in_horizontalrule_markup5060 = new BitSet(new long[]{0x0000000200000000L});
17066        public static final BitSet FOLLOW_DASH_in_horizontalrule_markup5063 = new BitSet(new long[]{0x0000000200000000L});
17067        public static final BitSet FOLLOW_DASH_in_horizontalrule_markup5066 = new BitSet(new long[]{0x0000000200000000L});
17068        public static final BitSet FOLLOW_DASH_in_horizontalrule_markup5069 = new BitSet(new long[]{0x0000000000000002L});
17069        public static final BitSet FOLLOW_LINK_OPEN_in_link_open_markup5079 = new BitSet(new long[]{0x0000000000000002L});
17070        public static final BitSet FOLLOW_LINK_CLOSE_in_link_close_markup5089 = new BitSet(new long[]{0x0000000000000002L});
17071        public static final BitSet FOLLOW_PIPE_in_link_description_markup5099 = new BitSet(new long[]{0x0000000000000002L});
17072        public static final BitSet FOLLOW_IMAGE_OPEN_in_image_open_markup5109 = new BitSet(new long[]{0x0000000000000002L});
17073        public static final BitSet FOLLOW_IMAGE_CLOSE_in_image_close_markup5119 = new BitSet(new long[]{0x0000000000000002L});
17074        public static final BitSet FOLLOW_PIPE_in_image_alternative_markup5129 = new BitSet(new long[]{0x0000000000000002L});
17075        public static final BitSet FOLLOW_EXTENSION_in_extension_markup5139 = new BitSet(new long[]{0x0000000000000002L});
17076        public static final BitSet FOLLOW_FORCED_LINEBREAK_in_forced_linebreak5149 = new BitSet(new long[]{0x0000000000000002L});
17077        public static final BitSet FOLLOW_NOWIKI_OPEN_in_synpred1330 = new BitSet(new long[]{0xFFFFFFFFFFFF7FF0L,0x000000000000FFFFL});
17078        public static final BitSet FOLLOW_set_in_synpred1333 = new BitSet(new long[]{0x0000000000000002L});
17079    
17080    }