// $ANTLR 2.7.6 (2005-12-22): "seam-text.g" -> "SeamTextParser.java"$
package org.jboss.tools.seam.vpe.text.xpl;
import antlr.TokenBuffer;
import antlr.TokenStreamException;
import antlr.TokenStreamIOException;
import antlr.ANTLRException;
import antlr.LLkParser;
import antlr.Token;
import antlr.TokenStream;
import antlr.RecognitionException;
import antlr.NoViableAltException;
import antlr.MismatchedTokenException;
import antlr.SemanticException;
import antlr.ParserSharedInputState;
import antlr.collections.impl.BitSet;
@SuppressWarnings("nls")
public class SeamTextParser extends antlr.LLkParser implements SeamTextParserTokenTypes
{
private java.util.Set htmlElements = new java.util.HashSet( java.util.Arrays.asList( new String[] { "a", "p", "q", "code", "pre", "table", "tr", "td", "th", "ul", "ol", "li", "b", "i", "u", "tt", "del", "em", "hr", "br", "div", "span", "h1", "h2", "h3", "h4", "img" , "object", "param", "embed"} ) );
private java.util.Set htmlAttributes = new java.util.HashSet( java.util.Arrays.asList( new String[] { "src", "href", "lang", "class", "id", "style", "width", "height", "name", "value", "type", "wmode" } ) );
private StringBuilder mainBuilder = new StringBuilder();
private StringBuilder builder = mainBuilder;
public String toString() {
return builder.toString();
}
private void append(String... strings) {
for (String string: strings) builder.append(string);
}
private static boolean hasMultiple(String string, char c) {
return string.indexOf(c)!=string.lastIndexOf(c);
}
private void validateElement(Token t) throws NoViableAltException {
if ( !htmlElements.contains( t.getText().toLowerCase() ) ) {
throw new NoViableAltException(t, null);
}
}
private void validateAttribute(Token t) throws NoViableAltException {
if ( !htmlAttributes.contains( t.getText().toLowerCase() ) ) {
throw new NoViableAltException(t, null);
}
}
private void beginCapture() {
builder = new StringBuilder();
}
private String endCapture() {
String result = builder.toString();
builder = mainBuilder;
return result;
}
protected String linkTag(String description, String url) {
return "<a href=\"" + url + "\" styleClass=\"seamTextLink\">" + description + "</a>";
}
protected String macroInclude(String macroName) {
return "";
}
protected SeamTextParser(TokenBuffer tokenBuf, int k) {
super(tokenBuf,k);
tokenNames = _tokenNames;
}
public SeamTextParser(TokenBuffer tokenBuf) {
this(tokenBuf,4);
}
protected SeamTextParser(TokenStream lexer, int k) {
super(lexer,k);
tokenNames = _tokenNames;
}
public SeamTextParser(TokenStream lexer) {
this(lexer,4);
}
public SeamTextParser(ParserSharedInputState state) {
super(state,4);
tokenNames = _tokenNames;
}
public final void startRule() throws RecognitionException, TokenStreamException {
{
_loop3:
do {
if ((LA(1)==NEWLINE)) {
newline();
}
else {
break _loop3;
}
} while (true);
}
{
switch ( LA(1)) {
case DOUBLEQUOTE:
case BACKTICK:
case WORD:
case PUNCTUATION:
case ESCAPE:
case STAR:
case SLASH:
case BAR:
case HAT:
case PLUS:
case EQ:
case HASH:
case TWIDDLE:
case UNDERSCORE:
case OPEN:
case LT:
case SPACE:
{
{
switch ( LA(1)) {
case PLUS:
{
heading();
{
_loop7:
do {
if ((LA(1)==NEWLINE)) {
newline();
}
else {
break _loop7;
}
} while (true);
}
break;
}
case DOUBLEQUOTE:
case BACKTICK:
case WORD:
case PUNCTUATION:
case ESCAPE:
case STAR:
case SLASH:
case BAR:
case HAT:
case EQ:
case HASH:
case TWIDDLE:
case UNDERSCORE:
case OPEN:
case LT:
case SPACE:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
text();
{
_loop11:
do {
if ((LA(1)==PLUS)) {
heading();
{
_loop10:
do {
if ((LA(1)==NEWLINE)) {
newline();
}
else {
break _loop10;
}
} while (true);
}
text();
}
else {
break _loop11;
}
} while (true);
}
break;
}
case EOF:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
}
public final void newline() throws RecognitionException, TokenStreamException {
Token n = null;
n = LT(1);
match(NEWLINE);
append( n.getText() );
}
public final void heading() throws RecognitionException, TokenStreamException {
{
if ((LA(1)==PLUS) && (_tokenSet_0.member(LA(2)))) {
h1();
}
else if ((LA(1)==PLUS) && (LA(2)==PLUS) && (_tokenSet_0.member(LA(3)))) {
h2();
}
else if ((LA(1)==PLUS) && (LA(2)==PLUS) && (LA(3)==PLUS) && (_tokenSet_0.member(LA(4)))) {
h3();
}
else if ((LA(1)==PLUS) && (LA(2)==PLUS) && (LA(3)==PLUS) && (LA(4)==PLUS)) {
h4();
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
newlineOrEof();
}
public final void text() throws RecognitionException, TokenStreamException {
{
int _cnt17=0;
_loop17:
do {
if ((_tokenSet_1.member(LA(1)))) {
{
switch ( LA(1)) {
case WORD:
case PUNCTUATION:
case ESCAPE:
case STAR:
case SLASH:
case BAR:
case HAT:
case TWIDDLE:
case UNDERSCORE:
case OPEN:
case SPACE:
{
paragraph();
break;
}
case BACKTICK:
{
preformatted();
break;
}
case DOUBLEQUOTE:
{
blockquote();
break;
}
case EQ:
case HASH:
{
list();
break;
}
case LT:
{
html();
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
{
_loop16:
do {
if ((LA(1)==NEWLINE)) {
newline();
}
else {
break _loop16;
}
} while (true);
}
}
else {
if ( _cnt17>=1 ) { break _loop17; } else {throw new NoViableAltException(LT(1), getFilename());}
}
_cnt17++;
} while (true);
}
}
public final void paragraph() throws RecognitionException, TokenStreamException {
append("<p>\n");
{
int _cnt20=0;
_loop20:
do {
if ((_tokenSet_0.member(LA(1)))) {
line();
newlineOrEof();
}
else {
if ( _cnt20>=1 ) { break _loop20; } else {throw new NoViableAltException(LT(1), getFilename());}
}
_cnt20++;
} while (true);
}
append("</p>\n");
newlineOrEof();
}
public final void preformatted() throws RecognitionException, TokenStreamException {
match(BACKTICK);
append("<pre>");
{
_loop30:
do {
switch ( LA(1)) {
case WORD:
{
word();
break;
}
case PUNCTUATION:
{
punctuation();
break;
}
case ESCAPE:
case STAR:
case SLASH:
case BAR:
case HAT:
case PLUS:
case EQ:
case HASH:
case TWIDDLE:
case UNDERSCORE:
{
specialChars();
break;
}
case OPEN:
case CLOSE:
{
moreSpecialChars();
break;
}
case DOUBLEQUOTE:
case GT:
case LT:
case AMPERSAND:
{
htmlSpecialChars();
break;
}
case SPACE:
{
space();
break;
}
case NEWLINE:
{
newline();
break;
}
default:
{
break _loop30;
}
}
} while (true);
}
match(BACKTICK);
append("</pre>");
}
public final void blockquote() throws RecognitionException, TokenStreamException {
match(DOUBLEQUOTE);
append("<blockquote>\n");
{
_loop27:
do {
switch ( LA(1)) {
case WORD:
case PUNCTUATION:
case ESCAPE:
case OPEN:
case SPACE:
{
plain();
break;
}
case STAR:
case SLASH:
case BAR:
case HAT:
case TWIDDLE:
case UNDERSCORE:
{
formatted();
break;
}
case BACKTICK:
{
preformatted();
break;
}
case NEWLINE:
{
newline();
break;
}
case LT:
{
html();
break;
}
case EQ:
case HASH:
{
list();
break;
}
default:
{
break _loop27;
}
}
} while (true);
}
match(DOUBLEQUOTE);
newlineOrEof();
append("</blockquote>\n");
}
public final void list() throws RecognitionException, TokenStreamException {
{
switch ( LA(1)) {
case HASH:
{
olist();
break;
}
case EQ:
{
ulist();
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
newlineOrEof();
}
public final void html() throws RecognitionException, TokenStreamException {
openTag();
{
_loop87:
do {
if ((LA(1)==SPACE) && (LA(2)==SLASH||LA(2)==GT||LA(2)==SPACE)) {
space();
}
else if ((LA(1)==SPACE) && (LA(2)==WORD)) {
space();
attribute();
}
else {
break _loop87;
}
} while (true);
}
{
switch ( LA(1)) {
case GT:
{
{
beforeBody();
body();
closeTagWithBody();
}
break;
}
case SLASH:
{
closeTagWithNoBody();
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
}
public final void line() throws RecognitionException, TokenStreamException {
{
switch ( LA(1)) {
case WORD:
case PUNCTUATION:
case ESCAPE:
case OPEN:
case SPACE:
{
plain();
break;
}
case STAR:
case SLASH:
case BAR:
case HAT:
case TWIDDLE:
case UNDERSCORE:
{
formatted();
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
{
_loop24:
do {
switch ( LA(1)) {
case WORD:
case PUNCTUATION:
case ESCAPE:
case OPEN:
case SPACE:
{
plain();
break;
}
case STAR:
case SLASH:
case BAR:
case HAT:
case TWIDDLE:
case UNDERSCORE:
{
formatted();
break;
}
case BACKTICK:
{
preformatted();
break;
}
case DOUBLEQUOTE:
{
quoted();
break;
}
case LT:
{
html();
break;
}
default:
{
break _loop24;
}
}
} while (true);
}
}
public final void newlineOrEof() throws RecognitionException, TokenStreamException {
switch ( LA(1)) {
case NEWLINE:
{
newline();
break;
}
case EOF:
{
match(Token.EOF_TYPE);
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
public final void plain() throws RecognitionException, TokenStreamException {
switch ( LA(1)) {
case WORD:
{
word();
break;
}
case PUNCTUATION:
{
punctuation();
break;
}
case ESCAPE:
{
escape();
break;
}
case SPACE:
{
space();
break;
}
default:
if ((LA(1)==OPEN) && (_tokenSet_2.member(LA(2)))) {
link();
}
else if ((LA(1)==OPEN) && (LA(2)==LT)) {
macro();
}
else {
throw new NoViableAltException(LT(1), getFilename());
}
}
}
public final void formatted() throws RecognitionException, TokenStreamException {
switch ( LA(1)) {
case STAR:
{
bold();
break;
}
case UNDERSCORE:
{
underline();
break;
}
case SLASH:
{
italic();
break;
}
case BAR:
{
monospace();
break;
}
case HAT:
{
superscript();
break;
}
case TWIDDLE:
{
deleted();
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
public final void quoted() throws RecognitionException, TokenStreamException {
match(DOUBLEQUOTE);
append("<q>");
{
int _cnt65=0;
_loop65:
do {
switch ( LA(1)) {
case WORD:
case PUNCTUATION:
case ESCAPE:
case OPEN:
case SPACE:
{
plain();
break;
}
case STAR:
{
bold();
break;
}
case UNDERSCORE:
{
underline();
break;
}
case SLASH:
{
italic();
break;
}
case BAR:
{
monospace();
break;
}
case HAT:
{
superscript();
break;
}
case TWIDDLE:
{
deleted();
break;
}
case NEWLINE:
{
newline();
break;
}
default:
{
if ( _cnt65>=1 ) { break _loop65; } else {throw new NoViableAltException(LT(1), getFilename());}
}
}
_cnt65++;
} while (true);
}
match(DOUBLEQUOTE);
append("</q>");
}
public final void word() throws RecognitionException, TokenStreamException {
Token w = null;
w = LT(1);
match(WORD);
append( w.getText() );
}
public final void punctuation() throws RecognitionException, TokenStreamException {
Token p = null;
p = LT(1);
match(PUNCTUATION);
append( p.getText() );
}
public final void specialChars() throws RecognitionException, TokenStreamException {
Token st = null;
Token sl = null;
Token b = null;
Token h = null;
Token p = null;
Token eq = null;
Token hh = null;
Token e = null;
Token t = null;
Token u = null;
switch ( LA(1)) {
case STAR:
{
st = LT(1);
match(STAR);
append( st.getText() );
break;
}
case SLASH:
{
sl = LT(1);
match(SLASH);
append( sl.getText() );
break;
}
case BAR:
{
b = LT(1);
match(BAR);
append( b.getText() );
break;
}
case HAT:
{
h = LT(1);
match(HAT);
append( h.getText() );
break;
}
case PLUS:
{
p = LT(1);
match(PLUS);
append( p.getText() );
break;
}
case EQ:
{
eq = LT(1);
match(EQ);
append( eq.getText() );
break;
}
case HASH:
{
hh = LT(1);
match(HASH);
append( hh.getText() );
break;
}
case ESCAPE:
{
e = LT(1);
match(ESCAPE);
append( e.getText() );
break;
}
case TWIDDLE:
{
t = LT(1);
match(TWIDDLE);
append( t.getText() );
break;
}
case UNDERSCORE:
{
u = LT(1);
match(UNDERSCORE);
append( u.getText() );
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
public final void moreSpecialChars() throws RecognitionException, TokenStreamException {
Token o = null;
Token c = null;
switch ( LA(1)) {
case OPEN:
{
o = LT(1);
match(OPEN);
append( o.getText() );
break;
}
case CLOSE:
{
c = LT(1);
match(CLOSE);
append( c.getText() );
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
public final void htmlSpecialChars() throws RecognitionException, TokenStreamException {
switch ( LA(1)) {
case GT:
{
match(GT);
append(">");
break;
}
case LT:
{
match(LT);
append("<");
break;
}
case DOUBLEQUOTE:
{
match(DOUBLEQUOTE);
append(""");
break;
}
case AMPERSAND:
{
match(AMPERSAND);
append("&");
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
public final void space() throws RecognitionException, TokenStreamException {
Token s = null;
s = LT(1);
match(SPACE);
append( s.getText() );
}
public final void escape() throws RecognitionException, TokenStreamException {
match(ESCAPE);
{
switch ( LA(1)) {
case ESCAPE:
case STAR:
case SLASH:
case BAR:
case HAT:
case PLUS:
case EQ:
case HASH:
case TWIDDLE:
case UNDERSCORE:
{
specialChars();
break;
}
case OPEN:
case CLOSE:
{
moreSpecialChars();
break;
}
case QUOTE:
{
evenMoreSpecialChars();
break;
}
case DOUBLEQUOTE:
case GT:
case LT:
case AMPERSAND:
{
htmlSpecialChars();
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
}
public final void link() throws RecognitionException, TokenStreamException {
match(OPEN);
beginCapture();
{
_loop43:
do {
if ((_tokenSet_3.member(LA(1)))) {
plain();
}
else {
break _loop43;
}
} while (true);
}
String text=endCapture();
match(EQ);
match(GT);
beginCapture();
attributeValue();
String link = endCapture(); append(linkTag(text, link));
match(CLOSE);
}
public final void macro() throws RecognitionException, TokenStreamException {
match(OPEN);
match(LT);
match(EQ);
beginCapture();
attributeValue();
String macroName = endCapture(); append(macroInclude(macroName));
match(CLOSE);
}
public final void bold() throws RecognitionException, TokenStreamException {
match(STAR);
append("<b>");
{
int _cnt47=0;
_loop47:
do {
switch ( LA(1)) {
case WORD:
case PUNCTUATION:
case ESCAPE:
case OPEN:
case SPACE:
{
plain();
break;
}
case UNDERSCORE:
{
underline();
break;
}
case SLASH:
{
italic();
break;
}
case BAR:
{
monospace();
break;
}
case HAT:
{
superscript();
break;
}
case TWIDDLE:
{
deleted();
break;
}
case NEWLINE:
{
newline();
break;
}
default:
{
if ( _cnt47>=1 ) { break _loop47; } else {throw new NoViableAltException(LT(1), getFilename());}
}
}
_cnt47++;
} while (true);
}
match(STAR);
append("</b>");
}
public final void underline() throws RecognitionException, TokenStreamException {
match(UNDERSCORE);
append("<u>");
{
int _cnt50=0;
_loop50:
do {
switch ( LA(1)) {
case WORD:
case PUNCTUATION:
case ESCAPE:
case OPEN:
case SPACE:
{
plain();
break;
}
case STAR:
{
bold();
break;
}
case SLASH:
{
italic();
break;
}
case BAR:
{
monospace();
break;
}
case HAT:
{
superscript();
break;
}
case TWIDDLE:
{
deleted();
break;
}
case NEWLINE:
{
newline();
break;
}
default:
{
if ( _cnt50>=1 ) { break _loop50; } else {throw new NoViableAltException(LT(1), getFilename());}
}
}
_cnt50++;
} while (true);
}
match(UNDERSCORE);
append("</u>");
}
public final void italic() throws RecognitionException, TokenStreamException {
match(SLASH);
append("<i>");
{
int _cnt53=0;
_loop53:
do {
switch ( LA(1)) {
case WORD:
case PUNCTUATION:
case ESCAPE:
case OPEN:
case SPACE:
{
plain();
break;
}
case STAR:
{
bold();
break;
}
case UNDERSCORE:
{
underline();
break;
}
case BAR:
{
monospace();
break;
}
case HAT:
{
superscript();
break;
}
case TWIDDLE:
{
deleted();
break;
}
case NEWLINE:
{
newline();
break;
}
default:
{
if ( _cnt53>=1 ) { break _loop53; } else {throw new NoViableAltException(LT(1), getFilename());}
}
}
_cnt53++;
} while (true);
}
match(SLASH);
append("</i>");
}
public final void monospace() throws RecognitionException, TokenStreamException {
Token st = null;
Token sl = null;
Token h = null;
Token p = null;
Token eq = null;
Token hh = null;
Token e = null;
Token t = null;
Token u = null;
match(BAR);
append("<tt>");
{
int _cnt56=0;
_loop56:
do {
switch ( LA(1)) {
case WORD:
{
word();
break;
}
case PUNCTUATION:
{
punctuation();
break;
}
case SPACE:
{
space();
break;
}
case STAR:
{
st = LT(1);
match(STAR);
append( st.getText() );
break;
}
case SLASH:
{
sl = LT(1);
match(SLASH);
append( sl.getText() );
break;
}
case HAT:
{
h = LT(1);
match(HAT);
append( h.getText() );
break;
}
case PLUS:
{
p = LT(1);
match(PLUS);
append( p.getText() );
break;
}
case EQ:
{
eq = LT(1);
match(EQ);
append( eq.getText() );
break;
}
case HASH:
{
hh = LT(1);
match(HASH);
append( hh.getText() );
break;
}
case ESCAPE:
{
e = LT(1);
match(ESCAPE);
append( e.getText() );
break;
}
case TWIDDLE:
{
t = LT(1);
match(TWIDDLE);
append( t.getText() );
break;
}
case UNDERSCORE:
{
u = LT(1);
match(UNDERSCORE);
append( u.getText() );
break;
}
case OPEN:
case CLOSE:
{
moreSpecialChars();
break;
}
case DOUBLEQUOTE:
case GT:
case LT:
case AMPERSAND:
{
htmlSpecialChars();
break;
}
case NEWLINE:
{
newline();
break;
}
default:
{
if ( _cnt56>=1 ) { break _loop56; } else {throw new NoViableAltException(LT(1), getFilename());}
}
}
_cnt56++;
} while (true);
}
match(BAR);
append("</tt>");
}
public final void superscript() throws RecognitionException, TokenStreamException {
match(HAT);
append("<sup>");
{
int _cnt59=0;
_loop59:
do {
switch ( LA(1)) {
case WORD:
case PUNCTUATION:
case ESCAPE:
case OPEN:
case SPACE:
{
plain();
break;
}
case STAR:
{
bold();
break;
}
case UNDERSCORE:
{
underline();
break;
}
case SLASH:
{
italic();
break;
}
case BAR:
{
monospace();
break;
}
case TWIDDLE:
{
deleted();
break;
}
case NEWLINE:
{
newline();
break;
}
default:
{
if ( _cnt59>=1 ) { break _loop59; } else {throw new NoViableAltException(LT(1), getFilename());}
}
}
_cnt59++;
} while (true);
}
match(HAT);
append("</sup>");
}
public final void deleted() throws RecognitionException, TokenStreamException {
match(TWIDDLE);
append("<del>");
{
int _cnt62=0;
_loop62:
do {
switch ( LA(1)) {
case WORD:
case PUNCTUATION:
case ESCAPE:
case OPEN:
case SPACE:
{
plain();
break;
}
case STAR:
{
bold();
break;
}
case UNDERSCORE:
{
underline();
break;
}
case SLASH:
{
italic();
break;
}
case BAR:
{
monospace();
break;
}
case HAT:
{
superscript();
break;
}
case NEWLINE:
{
newline();
break;
}
default:
{
if ( _cnt62>=1 ) { break _loop62; } else {throw new NoViableAltException(LT(1), getFilename());}
}
}
_cnt62++;
} while (true);
}
match(TWIDDLE);
append("</del>");
}
public final void evenMoreSpecialChars() throws RecognitionException, TokenStreamException {
Token q = null;
q = LT(1);
match(QUOTE);
append( q.getText() );
}
public final void attributeValue() throws RecognitionException, TokenStreamException {
{
_loop104:
do {
switch ( LA(1)) {
case AMPERSAND:
{
match(AMPERSAND);
append("&");
break;
}
case WORD:
{
word();
break;
}
case PUNCTUATION:
{
punctuation();
break;
}
case SPACE:
{
space();
break;
}
case ESCAPE:
case STAR:
case SLASH:
case BAR:
case HAT:
case PLUS:
case EQ:
case HASH:
case TWIDDLE:
case UNDERSCORE:
{
specialChars();
break;
}
default:
{
break _loop104;
}
}
} while (true);
}
}
public final void h1() throws RecognitionException, TokenStreamException {
match(PLUS);
append("<h1>");
line();
append("</h1>");
}
public final void h2() throws RecognitionException, TokenStreamException {
match(PLUS);
match(PLUS);
append("<h2>");
line();
append("</h2>");
}
public final void h3() throws RecognitionException, TokenStreamException {
match(PLUS);
match(PLUS);
match(PLUS);
append("<h3>");
line();
append("</h3>");
}
public final void h4() throws RecognitionException, TokenStreamException {
match(PLUS);
match(PLUS);
match(PLUS);
match(PLUS);
append("<h4>");
line();
append("</h4>");
}
public final void olist() throws RecognitionException, TokenStreamException {
append("<ol>\n");
{
int _cnt76=0;
_loop76:
do {
if ((LA(1)==HASH)) {
olistLine();
newlineOrEof();
}
else {
if ( _cnt76>=1 ) { break _loop76; } else {throw new NoViableAltException(LT(1), getFilename());}
}
_cnt76++;
} while (true);
}
append("</ol>\n");
}
public final void ulist() throws RecognitionException, TokenStreamException {
append("<ul>\n");
{
int _cnt80=0;
_loop80:
do {
if ((LA(1)==EQ)) {
ulistLine();
newlineOrEof();
}
else {
if ( _cnt80>=1 ) { break _loop80; } else {throw new NoViableAltException(LT(1), getFilename());}
}
_cnt80++;
} while (true);
}
append("</ul>\n");
}
public final void olistLine() throws RecognitionException, TokenStreamException {
match(HASH);
append("<li>");
line();
append("</li>");
}
public final void ulistLine() throws RecognitionException, TokenStreamException {
match(EQ);
append("<li>");
line();
append("</li>");
}
public final void openTag() throws RecognitionException, TokenStreamException {
Token name = null;
match(LT);
name = LT(1);
match(WORD);
validateElement(name); append("<"); append(name.getText());
}
public final void attribute() throws RecognitionException, TokenStreamException {
Token att = null;
att = LT(1);
match(WORD);
{
_loop99:
do {
if ((LA(1)==SPACE)) {
space();
}
else {
break _loop99;
}
} while (true);
}
match(EQ);
{
_loop101:
do {
if ((LA(1)==SPACE)) {
space();
}
else {
break _loop101;
}
} while (true);
}
match(DOUBLEQUOTE);
validateAttribute(att); append(att.getText()); append("=\"");
attributeValue();
match(DOUBLEQUOTE);
append("\"");
}
public final void beforeBody() throws RecognitionException, TokenStreamException {
match(GT);
append(">");
}
public final void body() throws RecognitionException, TokenStreamException {
{
_loop92:
do {
switch ( LA(1)) {
case WORD:
case PUNCTUATION:
case ESCAPE:
case OPEN:
case SPACE:
{
plain();
break;
}
case STAR:
case SLASH:
case BAR:
case HAT:
case TWIDDLE:
case UNDERSCORE:
{
formatted();
break;
}
case BACKTICK:
{
preformatted();
break;
}
case DOUBLEQUOTE:
{
quoted();
break;
}
case EQ:
case HASH:
{
list();
break;
}
case NEWLINE:
{
newline();
break;
}
default:
if ((LA(1)==LT) && (LA(2)==WORD)) {
html();
}
else {
break _loop92;
}
}
} while (true);
}
}
public final void closeTagWithBody() throws RecognitionException, TokenStreamException {
Token name = null;
match(LT);
match(SLASH);
name = LT(1);
match(WORD);
match(GT);
append("</"); append(name.getText()); append(">");
}
public final void closeTagWithNoBody() throws RecognitionException, TokenStreamException {
match(SLASH);
match(GT);
append("/>");
}
public static final String[] _tokenNames = {
"<0>",
"EOF",
"<2>",
"NULL_TREE_LOOKAHEAD",
"DOUBLEQUOTE",
"BACKTICK",
"WORD",
"PUNCTUATION",
"ESCAPE",
"STAR",
"SLASH",
"BAR",
"HAT",
"PLUS",
"EQ",
"HASH",
"TWIDDLE",
"UNDERSCORE",
"OPEN",
"CLOSE",
"QUOTE",
"GT",
"LT",
"AMPERSAND",
"SPACE",
"NEWLINE"
};
private static final long[] mk_tokenSet_0() {
long[] data = { 17244096L, 0L};
return data;
}
public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0());
private static final long[] mk_tokenSet_1() {
long[] data = { 21487600L, 0L};
return data;
}
public static final BitSet _tokenSet_1 = new BitSet(mk_tokenSet_1());
private static final long[] mk_tokenSet_2() {
long[] data = { 17056192L, 0L};
return data;
}
public static final BitSet _tokenSet_2 = new BitSet(mk_tokenSet_2());
private static final long[] mk_tokenSet_3() {
long[] data = { 17039808L, 0L};
return data;
}
public static final BitSet _tokenSet_3 = new BitSet(mk_tokenSet_3());
}