Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
liqp.LiquidLexer Maven / Gradle / Ivy
// $ANTLR 3.5.2 liqp/Liquid.g 2016-01-23 17:51:32
package liqp.parser;
import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
@SuppressWarnings("all")
public class LiquidLexer extends Lexer {
public static final int EOF=-1;
public static final int ASSIGNMENT=4;
public static final int ATTRIBUTES=5;
public static final int And=6;
public static final int Assign=7;
public static final int BLOCK=8;
public static final int Break=9;
public static final int CAPTURE=10;
public static final int CASE=11;
public static final int CBr=12;
public static final int COMMENT=13;
public static final int CPar=14;
public static final int CUSTOM_TAG=15;
public static final int CUSTOM_TAG_BLOCK=16;
public static final int CYCLE=17;
public static final int CaptureEnd=18;
public static final int CaptureStart=19;
public static final int CaseEnd=20;
public static final int CaseStart=21;
public static final int Col=22;
public static final int Comma=23;
public static final int CommentEnd=24;
public static final int CommentStart=25;
public static final int Contains=26;
public static final int Continue=27;
public static final int Cycle=28;
public static final int DStr=29;
public static final int Digit=30;
public static final int Dot=31;
public static final int DotDot=32;
public static final int DoubleNum=33;
public static final int ELSE=34;
public static final int ELSIF=35;
public static final int Else=36;
public static final int Elsif=37;
public static final int Empty=38;
public static final int EndId=39;
public static final int Eq=40;
public static final int EqSign=41;
public static final int FILTER=42;
public static final int FILTERS=43;
public static final int FOR_ARRAY=44;
public static final int FOR_BLOCK=45;
public static final int FOR_RANGE=46;
public static final int False=47;
public static final int ForEnd=48;
public static final int ForStart=49;
public static final int GROUP=50;
public static final int Gt=51;
public static final int GtEq=52;
public static final int HASH=53;
public static final int IF=54;
public static final int INCLUDE=55;
public static final int INDEX=56;
public static final int Id=57;
public static final int IfEnd=58;
public static final int IfStart=59;
public static final int In=60;
public static final int Include=61;
public static final int LOOKUP=62;
public static final int Letter=63;
public static final int LongNum=64;
public static final int Lt=65;
public static final int LtEq=66;
public static final int Minus=67;
public static final int NEq=68;
public static final int NO_SPACE=69;
public static final int Nil=70;
public static final int NoSpace=71;
public static final int OBr=72;
public static final int OPar=73;
public static final int OUTPUT=74;
public static final int Or=75;
public static final int Other=76;
public static final int OutEnd=77;
public static final int OutStart=78;
public static final int PARAMS=79;
public static final int PLAIN=80;
public static final int Pipe=81;
public static final int QMark=82;
public static final int RAW=83;
public static final int RawEnd=84;
public static final int RawStart=85;
public static final int SStr=86;
public static final int Str=87;
public static final int TABLE=88;
public static final int TableEnd=89;
public static final int TableStart=90;
public static final int TagEnd=91;
public static final int TagStart=92;
public static final int True=93;
public static final int UNLESS=94;
public static final int UnlessEnd=95;
public static final int UnlessStart=96;
public static final int WHEN=97;
public static final int WITH=98;
public static final int WS=99;
public static final int When=100;
public static final int With=101;
private boolean inTag = false;
private boolean inRaw = false;
private boolean openRawEndTagAhead() {
if(!openTagAhead()) {
return false;
}
int indexLA = 3;
while(Character.isSpaceChar(input.LA(indexLA))) {
indexLA++;
}
return input.LA(indexLA) == 'e' &&
input.LA(indexLA + 1) == 'n' &&
input.LA(indexLA + 2) == 'd' &&
input.LA(indexLA + 3) == 'r' &&
input.LA(indexLA + 4) == 'a' &&
input.LA(indexLA + 5) == 'w';
}
private boolean openTagAhead() {
return input.LA(1) == '{' && (input.LA(2) == '{' || input.LA(2) == '\u0025');
}
@Override
public void reportError(RecognitionException e) {
throw new RuntimeException(e);
}
private String strip(String text, boolean singleQuoted) {
return text.substring(1, text.length() - 1);
}
// delegates
// delegators
public Lexer[] getDelegates() {
return new Lexer[] {};
}
public LiquidLexer() {}
public LiquidLexer(CharStream input) {
this(input, new RecognizerSharedState());
}
public LiquidLexer(CharStream input, RecognizerSharedState state) {
super(input,state);
}
@Override public String getGrammarFileName() { return "liqp/Liquid.g"; }
// $ANTLR start "OutStart"
public final void mOutStart() throws RecognitionException {
try {
int _type = OutStart;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:372:10: ( '{{' )
// liqp/Liquid.g:372:12: '{{'
{
match("{{");
inTag=true;
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "OutStart"
// $ANTLR start "OutEnd"
public final void mOutEnd() throws RecognitionException {
try {
int _type = OutEnd;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:373:10: ( '}}' )
// liqp/Liquid.g:373:12: '}}'
{
match("}}");
inTag=false;
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "OutEnd"
// $ANTLR start "TagStart"
public final void mTagStart() throws RecognitionException {
try {
int _type = TagStart;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:374:10: ( '{%' )
// liqp/Liquid.g:374:12: '{%'
{
match("{%");
inTag=true;
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "TagStart"
// $ANTLR start "TagEnd"
public final void mTagEnd() throws RecognitionException {
try {
int _type = TagEnd;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:375:10: ( '%}' )
// liqp/Liquid.g:375:12: '%}'
{
match("%}");
inTag=false;
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "TagEnd"
// $ANTLR start "Str"
public final void mStr() throws RecognitionException {
try {
int _type = Str;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:377:5: ({...}? => ( SStr | DStr ) )
// liqp/Liquid.g:377:7: {...}? => ( SStr | DStr )
{
if ( !((inTag)) ) {
throw new FailedPredicateException(input, "Str", "inTag");
}
// liqp/Liquid.g:377:18: ( SStr | DStr )
int alt1=2;
int LA1_0 = input.LA(1);
if ( (LA1_0=='\'') ) {
alt1=1;
}
else if ( (LA1_0=='\"') ) {
alt1=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 1, 0, input);
throw nvae;
}
switch (alt1) {
case 1 :
// liqp/Liquid.g:377:19: SStr
{
mSStr();
}
break;
case 2 :
// liqp/Liquid.g:377:26: DStr
{
mDStr();
}
break;
}
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "Str"
// $ANTLR start "DotDot"
public final void mDotDot() throws RecognitionException {
try {
int _type = DotDot;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:379:11: ({...}? => '..' )
// liqp/Liquid.g:379:13: {...}? => '..'
{
if ( !((inTag)) ) {
throw new FailedPredicateException(input, "DotDot", "inTag");
}
match("..");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "DotDot"
// $ANTLR start "Dot"
public final void mDot() throws RecognitionException {
try {
int _type = Dot;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:380:11: ({...}? => '.' )
// liqp/Liquid.g:380:13: {...}? => '.'
{
if ( !((inTag)) ) {
throw new FailedPredicateException(input, "Dot", "inTag");
}
match('.');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "Dot"
// $ANTLR start "NEq"
public final void mNEq() throws RecognitionException {
try {
int _type = NEq;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:381:11: ({...}? => '!=' | '<>' )
int alt2=2;
int LA2_0 = input.LA(1);
if ( (LA2_0=='!') && ((inTag))) {
alt2=1;
}
else if ( (LA2_0=='<') ) {
alt2=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 2, 0, input);
throw nvae;
}
switch (alt2) {
case 1 :
// liqp/Liquid.g:381:13: {...}? => '!='
{
if ( !((inTag)) ) {
throw new FailedPredicateException(input, "NEq", "inTag");
}
match("!=");
}
break;
case 2 :
// liqp/Liquid.g:381:31: '<>'
{
match("<>");
}
break;
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "NEq"
// $ANTLR start "Eq"
public final void mEq() throws RecognitionException {
try {
int _type = Eq;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:382:11: ({...}? => '==' )
// liqp/Liquid.g:382:13: {...}? => '=='
{
if ( !((inTag)) ) {
throw new FailedPredicateException(input, "Eq", "inTag");
}
match("==");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "Eq"
// $ANTLR start "EqSign"
public final void mEqSign() throws RecognitionException {
try {
int _type = EqSign;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:383:11: ({...}? => '=' )
// liqp/Liquid.g:383:13: {...}? => '='
{
if ( !((inTag)) ) {
throw new FailedPredicateException(input, "EqSign", "inTag");
}
match('=');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "EqSign"
// $ANTLR start "GtEq"
public final void mGtEq() throws RecognitionException {
try {
int _type = GtEq;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:384:11: ({...}? => '>=' )
// liqp/Liquid.g:384:13: {...}? => '>='
{
if ( !((inTag)) ) {
throw new FailedPredicateException(input, "GtEq", "inTag");
}
match(">=");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "GtEq"
// $ANTLR start "Gt"
public final void mGt() throws RecognitionException {
try {
int _type = Gt;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:385:11: ({...}? => '>' )
// liqp/Liquid.g:385:13: {...}? => '>'
{
if ( !((inTag)) ) {
throw new FailedPredicateException(input, "Gt", "inTag");
}
match('>');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "Gt"
// $ANTLR start "LtEq"
public final void mLtEq() throws RecognitionException {
try {
int _type = LtEq;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:386:11: ({...}? => '<=' )
// liqp/Liquid.g:386:13: {...}? => '<='
{
if ( !((inTag)) ) {
throw new FailedPredicateException(input, "LtEq", "inTag");
}
match("<=");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "LtEq"
// $ANTLR start "Lt"
public final void mLt() throws RecognitionException {
try {
int _type = Lt;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:387:11: ({...}? => '<' )
// liqp/Liquid.g:387:13: {...}? => '<'
{
if ( !((inTag)) ) {
throw new FailedPredicateException(input, "Lt", "inTag");
}
match('<');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "Lt"
// $ANTLR start "Minus"
public final void mMinus() throws RecognitionException {
try {
int _type = Minus;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:388:11: ({...}? => '-' )
// liqp/Liquid.g:388:13: {...}? => '-'
{
if ( !((inTag)) ) {
throw new FailedPredicateException(input, "Minus", "inTag");
}
match('-');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "Minus"
// $ANTLR start "Pipe"
public final void mPipe() throws RecognitionException {
try {
int _type = Pipe;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:389:11: ({...}? => '|' )
// liqp/Liquid.g:389:13: {...}? => '|'
{
if ( !((inTag)) ) {
throw new FailedPredicateException(input, "Pipe", "inTag");
}
match('|');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "Pipe"
// $ANTLR start "Col"
public final void mCol() throws RecognitionException {
try {
int _type = Col;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:390:11: ({...}? => ':' )
// liqp/Liquid.g:390:13: {...}? => ':'
{
if ( !((inTag)) ) {
throw new FailedPredicateException(input, "Col", "inTag");
}
match(':');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "Col"
// $ANTLR start "Comma"
public final void mComma() throws RecognitionException {
try {
int _type = Comma;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:391:11: ({...}? => ',' )
// liqp/Liquid.g:391:13: {...}? => ','
{
if ( !((inTag)) ) {
throw new FailedPredicateException(input, "Comma", "inTag");
}
match(',');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "Comma"
// $ANTLR start "OPar"
public final void mOPar() throws RecognitionException {
try {
int _type = OPar;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:392:11: ({...}? => '(' )
// liqp/Liquid.g:392:13: {...}? => '('
{
if ( !((inTag)) ) {
throw new FailedPredicateException(input, "OPar", "inTag");
}
match('(');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "OPar"
// $ANTLR start "CPar"
public final void mCPar() throws RecognitionException {
try {
int _type = CPar;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:393:11: ({...}? => ')' )
// liqp/Liquid.g:393:13: {...}? => ')'
{
if ( !((inTag)) ) {
throw new FailedPredicateException(input, "CPar", "inTag");
}
match(')');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "CPar"
// $ANTLR start "OBr"
public final void mOBr() throws RecognitionException {
try {
int _type = OBr;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:394:11: ({...}? => '[' )
// liqp/Liquid.g:394:13: {...}? => '['
{
if ( !((inTag)) ) {
throw new FailedPredicateException(input, "OBr", "inTag");
}
match('[');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "OBr"
// $ANTLR start "CBr"
public final void mCBr() throws RecognitionException {
try {
int _type = CBr;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:395:11: ({...}? => ']' )
// liqp/Liquid.g:395:13: {...}? => ']'
{
if ( !((inTag)) ) {
throw new FailedPredicateException(input, "CBr", "inTag");
}
match(']');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "CBr"
// $ANTLR start "QMark"
public final void mQMark() throws RecognitionException {
try {
int _type = QMark;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:396:11: ({...}? => '?' )
// liqp/Liquid.g:396:13: {...}? => '?'
{
if ( !((inTag)) ) {
throw new FailedPredicateException(input, "QMark", "inTag");
}
match('?');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "QMark"
// $ANTLR start "DoubleNum"
public final void mDoubleNum() throws RecognitionException {
try {
int _type = DoubleNum;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:398:11: ({...}? => ( '-' )? ( Digit )+ ({...}? => '.' ( Digit )* |) )
// liqp/Liquid.g:398:13: {...}? => ( '-' )? ( Digit )+ ({...}? => '.' ( Digit )* |)
{
if ( !((inTag)) ) {
throw new FailedPredicateException(input, "DoubleNum", "inTag");
}
// liqp/Liquid.g:398:24: ( '-' )?
int alt3=2;
int LA3_0 = input.LA(1);
if ( (LA3_0=='-') ) {
alt3=1;
}
switch (alt3) {
case 1 :
// liqp/Liquid.g:398:24: '-'
{
match('-');
}
break;
}
// liqp/Liquid.g:398:29: ( Digit )+
int cnt4=0;
loop4:
while (true) {
int alt4=2;
int LA4_0 = input.LA(1);
if ( ((LA4_0 >= '0' && LA4_0 <= '9')) ) {
alt4=1;
}
switch (alt4) {
case 1 :
// liqp/Liquid.g:
{
if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
default :
if ( cnt4 >= 1 ) break loop4;
EarlyExitException eee = new EarlyExitException(4, input);
throw eee;
}
cnt4++;
}
// liqp/Liquid.g:398:36: ({...}? => '.' ( Digit )* |)
int alt6=2;
int LA6_0 = input.LA(1);
if ( (LA6_0=='.') && ((input.LA(1) == '.' && input.LA(2) != '.'))) {
alt6=1;
}
switch (alt6) {
case 1 :
// liqp/Liquid.g:398:38: {...}? => '.' ( Digit )*
{
if ( !((input.LA(1) == '.' && input.LA(2) != '.')) ) {
throw new FailedPredicateException(input, "DoubleNum", "input.LA(1) == '.' && input.LA(2) != '.'");
}
match('.');
// liqp/Liquid.g:398:88: ( Digit )*
loop5:
while (true) {
int alt5=2;
int LA5_0 = input.LA(1);
if ( ((LA5_0 >= '0' && LA5_0 <= '9')) ) {
alt5=1;
}
switch (alt5) {
case 1 :
// liqp/Liquid.g:
{
if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
default :
break loop5;
}
}
}
break;
case 2 :
// liqp/Liquid.g:399:38:
{
_type = LongNum;
}
break;
}
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "DoubleNum"
// $ANTLR start "LongNum"
public final void mLongNum() throws RecognitionException {
try {
int _type = LongNum;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:401:11: ({...}? => ( '-' )? ( Digit )+ )
// liqp/Liquid.g:401:13: {...}? => ( '-' )? ( Digit )+
{
if ( !((inTag)) ) {
throw new FailedPredicateException(input, "LongNum", "inTag");
}
// liqp/Liquid.g:401:24: ( '-' )?
int alt7=2;
int LA7_0 = input.LA(1);
if ( (LA7_0=='-') ) {
alt7=1;
}
switch (alt7) {
case 1 :
// liqp/Liquid.g:401:24: '-'
{
match('-');
}
break;
}
// liqp/Liquid.g:401:29: ( Digit )+
int cnt8=0;
loop8:
while (true) {
int alt8=2;
int LA8_0 = input.LA(1);
if ( ((LA8_0 >= '0' && LA8_0 <= '9')) ) {
alt8=1;
}
switch (alt8) {
case 1 :
// liqp/Liquid.g:
{
if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
default :
if ( cnt8 >= 1 ) break loop8;
EarlyExitException eee = new EarlyExitException(8, input);
throw eee;
}
cnt8++;
}
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "LongNum"
// $ANTLR start "WS"
public final void mWS() throws RecognitionException {
try {
int _type = WS;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:402:11: ({...}? => ( ' ' | '\\t' | '\\r' | '\\n' )+ )
// liqp/Liquid.g:402:13: {...}? => ( ' ' | '\\t' | '\\r' | '\\n' )+
{
if ( !((inTag)) ) {
throw new FailedPredicateException(input, "WS", "inTag");
}
// liqp/Liquid.g:402:24: ( ' ' | '\\t' | '\\r' | '\\n' )+
int cnt9=0;
loop9:
while (true) {
int alt9=2;
int LA9_0 = input.LA(1);
if ( ((LA9_0 >= '\t' && LA9_0 <= '\n')||LA9_0=='\r'||LA9_0==' ') ) {
alt9=1;
}
switch (alt9) {
case 1 :
// liqp/Liquid.g:
{
if ( (input.LA(1) >= '\t' && input.LA(1) <= '\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
default :
if ( cnt9 >= 1 ) break loop9;
EarlyExitException eee = new EarlyExitException(9, input);
throw eee;
}
cnt9++;
}
_channel=HIDDEN;
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "WS"
// $ANTLR start "Id"
public final void mId() throws RecognitionException {
try {
int _type = Id;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:405:2: ({...}? => ( Letter | '_' ) ( Letter | '_' | '-' | Digit )* )
// liqp/Liquid.g:405:4: {...}? => ( Letter | '_' ) ( Letter | '_' | '-' | Digit )*
{
if ( !((inTag)) ) {
throw new FailedPredicateException(input, "Id", "inTag");
}
if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
// liqp/Liquid.g:405:30: ( Letter | '_' | '-' | Digit )*
loop10:
while (true) {
int alt10=2;
int LA10_0 = input.LA(1);
if ( (LA10_0=='-'||(LA10_0 >= '0' && LA10_0 <= '9')||(LA10_0 >= 'A' && LA10_0 <= 'Z')||LA10_0=='_'||(LA10_0 >= 'a' && LA10_0 <= 'z')) ) {
alt10=1;
}
switch (alt10) {
case 1 :
// liqp/Liquid.g:
{
if ( input.LA(1)=='-'||(input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
default :
break loop10;
}
}
if(getText().equals("capture")) _type = CaptureStart;
else if(getText().equals("endcapture")) _type = CaptureEnd;
else if(getText().equals("comment")) _type = CommentStart;
else if(getText().equals("endcomment")) _type = CommentEnd;
else if(getText().equals("raw")) { _type = RawStart; inRaw = true; }
else if(getText().equals("endraw")) { _type = RawEnd; inRaw = false; }
else if(getText().equals("if")) _type = IfStart;
else if(getText().equals("elsif")) _type = Elsif;
else if(getText().equals("endif")) _type = IfEnd;
else if(getText().equals("unless")) _type = UnlessStart;
else if(getText().equals("endunless")) _type = UnlessEnd;
else if(getText().equals("else")) _type = Else;
else if(getText().equals("contains")) _type = Contains;
else if(getText().equals("case")) _type = CaseStart;
else if(getText().equals("endcase")) _type = CaseEnd;
else if(getText().equals("when")) _type = When;
else if(getText().equals("cycle")) _type = Cycle;
else if(getText().equals("for")) _type = ForStart;
else if(getText().equals("endfor")) _type = ForEnd;
else if(getText().equals("in")) _type = In;
else if(getText().equals("and")) _type = And;
else if(getText().equals("or")) _type = Or;
else if(getText().equals("tablerow")) _type = TableStart;
else if(getText().equals("endtablerow")) _type = TableEnd;
else if(getText().equals("assign")) _type = Assign;
else if(getText().equals("true")) _type = True;
else if(getText().equals("false")) _type = False;
else if(getText().equals("nil")) _type = Nil;
else if(getText().equals("null")) _type = Nil;
else if(getText().equals("include")) _type = Include;
else if(getText().equals("with")) _type = With;
else if(getText().startsWith("end")) _type = EndId;
else if(getText().equals("break")) _type = Break;
else if(getText().startsWith("continue")) _type = Continue;
else if(getText().startsWith("empty")) _type = Empty;
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "Id"
// $ANTLR start "Other"
public final void mOther() throws RecognitionException {
try {
int _type = Other;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:446:2: ( ({...}? => . )+ | ({...}? => . )+ )
int alt13=2;
int LA13_0 = input.LA(1);
if ( ((LA13_0 >= '\u0000' && LA13_0 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {
int LA13_1 = input.LA(2);
if ( ((!inTag && !openTagAhead())) ) {
alt13=1;
}
else if ( ((!inTag && inRaw && !openRawEndTagAhead())) ) {
alt13=2;
}
else {
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 13, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
switch (alt13) {
case 1 :
// liqp/Liquid.g:446:4: ({...}? => . )+
{
// liqp/Liquid.g:446:4: ({...}? => . )+
int cnt11=0;
loop11:
while (true) {
int alt11=2;
int LA11_0 = input.LA(1);
if ( ((LA11_0 >= '\u0000' && LA11_0 <= '\uFFFF')) && ((!inTag && !openTagAhead()))) {
alt11=1;
}
switch (alt11) {
case 1 :
// liqp/Liquid.g:446:5: {...}? => .
{
if ( !((!inTag && !openTagAhead())) ) {
throw new FailedPredicateException(input, "Other", "!inTag && !openTagAhead()");
}
matchAny();
}
break;
default :
if ( cnt11 >= 1 ) break loop11;
EarlyExitException eee = new EarlyExitException(11, input);
throw eee;
}
cnt11++;
}
}
break;
case 2 :
// liqp/Liquid.g:447:4: ({...}? => . )+
{
// liqp/Liquid.g:447:4: ({...}? => . )+
int cnt12=0;
loop12:
while (true) {
int alt12=2;
int LA12_0 = input.LA(1);
if ( ((LA12_0 >= '\u0000' && LA12_0 <= '\uFFFF')) && ((!inTag && inRaw && !openRawEndTagAhead()))) {
alt12=1;
}
switch (alt12) {
case 1 :
// liqp/Liquid.g:447:5: {...}? => .
{
if ( !((!inTag && inRaw && !openRawEndTagAhead())) ) {
throw new FailedPredicateException(input, "Other", "!inTag && inRaw && !openRawEndTagAhead()");
}
matchAny();
}
break;
default :
if ( cnt12 >= 1 ) break loop12;
EarlyExitException eee = new EarlyExitException(12, input);
throw eee;
}
cnt12++;
}
}
break;
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "Other"
// $ANTLR start "NoSpace"
public final void mNoSpace() throws RecognitionException {
try {
int _type = NoSpace;
int _channel = DEFAULT_TOKEN_CHANNEL;
// liqp/Liquid.g:451:2: (~ ( ' ' | '\\t' | '\\r' | '\\n' ) )
// liqp/Liquid.g:
{
if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\b')||(input.LA(1) >= '\u000B' && input.LA(1) <= '\f')||(input.LA(1) >= '\u000E' && input.LA(1) <= '\u001F')||(input.LA(1) >= '!' && input.LA(1) <= '\uFFFF') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "NoSpace"
// $ANTLR start "Letter"
public final void mLetter() throws RecognitionException {
try {
// liqp/Liquid.g:455:17: ( 'a' .. 'z' | 'A' .. 'Z' )
// liqp/Liquid.g:
{
if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "Letter"
// $ANTLR start "Digit"
public final void mDigit() throws RecognitionException {
try {
// liqp/Liquid.g:456:17: ( '0' .. '9' )
// liqp/Liquid.g:
{
if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "Digit"
// $ANTLR start "SStr"
public final void mSStr() throws RecognitionException {
try {
// liqp/Liquid.g:457:17: ( '\\'' (~ '\\'' )* '\\'' )
// liqp/Liquid.g:457:19: '\\'' (~ '\\'' )* '\\''
{
match('\'');
// liqp/Liquid.g:457:24: (~ '\\'' )*
loop14:
while (true) {
int alt14=2;
int LA14_0 = input.LA(1);
if ( ((LA14_0 >= '\u0000' && LA14_0 <= '&')||(LA14_0 >= '(' && LA14_0 <= '\uFFFF')) ) {
alt14=1;
}
switch (alt14) {
case 1 :
// liqp/Liquid.g:
{
if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '&')||(input.LA(1) >= '(' && input.LA(1) <= '\uFFFF') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
default :
break loop14;
}
}
match('\'');
setText(strip(getText(), true));
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "SStr"
// $ANTLR start "DStr"
public final void mDStr() throws RecognitionException {
try {
// liqp/Liquid.g:458:17: ( '\"' (~ '\"' )* '\"' )
// liqp/Liquid.g:458:19: '\"' (~ '\"' )* '\"'
{
match('\"');
// liqp/Liquid.g:458:23: (~ '\"' )*
loop15:
while (true) {
int alt15=2;
int LA15_0 = input.LA(1);
if ( ((LA15_0 >= '\u0000' && LA15_0 <= '!')||(LA15_0 >= '#' && LA15_0 <= '\uFFFF')) ) {
alt15=1;
}
switch (alt15) {
case 1 :
// liqp/Liquid.g:
{
if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '!')||(input.LA(1) >= '#' && input.LA(1) <= '\uFFFF') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
default :
break loop15;
}
}
match('\"');
setText(strip(getText(), false));
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "DStr"
// $ANTLR start "CommentStart"
public final void mCommentStart() throws RecognitionException {
try {
// liqp/Liquid.g:460:23: ( 'CommentStart' )
// liqp/Liquid.g:460:25: 'CommentStart'
{
match("CommentStart");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "CommentStart"
// $ANTLR start "CommentEnd"
public final void mCommentEnd() throws RecognitionException {
try {
// liqp/Liquid.g:461:21: ( 'CommentEnd' )
// liqp/Liquid.g:461:23: 'CommentEnd'
{
match("CommentEnd");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "CommentEnd"
// $ANTLR start "RawStart"
public final void mRawStart() throws RecognitionException {
try {
// liqp/Liquid.g:462:19: ( 'RawStart' )
// liqp/Liquid.g:462:21: 'RawStart'
{
match("RawStart");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "RawStart"
// $ANTLR start "RawEnd"
public final void mRawEnd() throws RecognitionException {
try {
// liqp/Liquid.g:463:17: ( 'RawEnd' )
// liqp/Liquid.g:463:19: 'RawEnd'
{
match("RawEnd");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "RawEnd"
// $ANTLR start "IfStart"
public final void mIfStart() throws RecognitionException {
try {
// liqp/Liquid.g:464:18: ( 'IfStart' )
// liqp/Liquid.g:464:20: 'IfStart'
{
match("IfStart");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "IfStart"
// $ANTLR start "IfEnd"
public final void mIfEnd() throws RecognitionException {
try {
// liqp/Liquid.g:465:16: ( 'IfEnd' )
// liqp/Liquid.g:465:18: 'IfEnd'
{
match("IfEnd");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "IfEnd"
// $ANTLR start "Elsif"
public final void mElsif() throws RecognitionException {
try {
// liqp/Liquid.g:466:16: ( 'Elsif' )
// liqp/Liquid.g:466:18: 'Elsif'
{
match("Elsif");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "Elsif"
// $ANTLR start "UnlessStart"
public final void mUnlessStart() throws RecognitionException {
try {
// liqp/Liquid.g:467:22: ( 'UnlessStart' )
// liqp/Liquid.g:467:24: 'UnlessStart'
{
match("UnlessStart");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "UnlessStart"
// $ANTLR start "UnlessEnd"
public final void mUnlessEnd() throws RecognitionException {
try {
// liqp/Liquid.g:468:20: ( 'UnlessEnd' )
// liqp/Liquid.g:468:22: 'UnlessEnd'
{
match("UnlessEnd");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "UnlessEnd"
// $ANTLR start "Else"
public final void mElse() throws RecognitionException {
try {
// liqp/Liquid.g:469:15: ( 'Else' )
// liqp/Liquid.g:469:17: 'Else'
{
match("Else");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "Else"
// $ANTLR start "Contains"
public final void mContains() throws RecognitionException {
try {
// liqp/Liquid.g:470:19: ( 'contains' )
// liqp/Liquid.g:470:21: 'contains'
{
match("contains");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "Contains"
// $ANTLR start "CaseStart"
public final void mCaseStart() throws RecognitionException {
try {
// liqp/Liquid.g:471:20: ( 'CaseStart' )
// liqp/Liquid.g:471:22: 'CaseStart'
{
match("CaseStart");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "CaseStart"
// $ANTLR start "CaseEnd"
public final void mCaseEnd() throws RecognitionException {
try {
// liqp/Liquid.g:472:18: ( 'CaseEnd' )
// liqp/Liquid.g:472:20: 'CaseEnd'
{
match("CaseEnd");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "CaseEnd"
// $ANTLR start "When"
public final void mWhen() throws RecognitionException {
try {
// liqp/Liquid.g:473:15: ( 'When' )
// liqp/Liquid.g:473:17: 'When'
{
match("When");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "When"
// $ANTLR start "Cycle"
public final void mCycle() throws RecognitionException {
try {
// liqp/Liquid.g:474:16: ( 'Cycle' )
// liqp/Liquid.g:474:18: 'Cycle'
{
match("Cycle");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "Cycle"
// $ANTLR start "ForStart"
public final void mForStart() throws RecognitionException {
try {
// liqp/Liquid.g:475:19: ( 'ForStart' )
// liqp/Liquid.g:475:21: 'ForStart'
{
match("ForStart");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "ForStart"
// $ANTLR start "ForEnd"
public final void mForEnd() throws RecognitionException {
try {
// liqp/Liquid.g:476:17: ( 'ForEnd' )
// liqp/Liquid.g:476:19: 'ForEnd'
{
match("ForEnd");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "ForEnd"
// $ANTLR start "In"
public final void mIn() throws RecognitionException {
try {
// liqp/Liquid.g:477:13: ( 'In' )
// liqp/Liquid.g:477:15: 'In'
{
match("In");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "In"
// $ANTLR start "And"
public final void mAnd() throws RecognitionException {
try {
// liqp/Liquid.g:478:14: ( 'And' )
// liqp/Liquid.g:478:16: 'And'
{
match("And");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "And"
// $ANTLR start "Or"
public final void mOr() throws RecognitionException {
try {
// liqp/Liquid.g:479:13: ( 'Or' )
// liqp/Liquid.g:479:15: 'Or'
{
match("Or");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "Or"
// $ANTLR start "TableStart"
public final void mTableStart() throws RecognitionException {
try {
// liqp/Liquid.g:480:21: ( 'TableStart' )
// liqp/Liquid.g:480:23: 'TableStart'
{
match("TableStart");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "TableStart"
// $ANTLR start "TableEnd"
public final void mTableEnd() throws RecognitionException {
try {
// liqp/Liquid.g:481:19: ( 'TableEnd' )
// liqp/Liquid.g:481:21: 'TableEnd'
{
match("TableEnd");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "TableEnd"
// $ANTLR start "Assign"
public final void mAssign() throws RecognitionException {
try {
// liqp/Liquid.g:482:17: ( 'Assign' )
// liqp/Liquid.g:482:19: 'Assign'
{
match("Assign");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "Assign"
// $ANTLR start "True"
public final void mTrue() throws RecognitionException {
try {
// liqp/Liquid.g:483:15: ( 'True' )
// liqp/Liquid.g:483:17: 'True'
{
match("True");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "True"
// $ANTLR start "False"
public final void mFalse() throws RecognitionException {
try {
// liqp/Liquid.g:484:16: ( 'False' )
// liqp/Liquid.g:484:18: 'False'
{
match("False");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "False"
// $ANTLR start "Nil"
public final void mNil() throws RecognitionException {
try {
// liqp/Liquid.g:485:14: ( 'Nil' )
// liqp/Liquid.g:485:16: 'Nil'
{
match("Nil");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "Nil"
// $ANTLR start "Include"
public final void mInclude() throws RecognitionException {
try {
// liqp/Liquid.g:486:18: ( 'Include' )
// liqp/Liquid.g:486:20: 'Include'
{
match("Include");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "Include"
// $ANTLR start "With"
public final void mWith() throws RecognitionException {
try {
// liqp/Liquid.g:487:15: ( 'With' )
// liqp/Liquid.g:487:17: 'With'
{
match("With");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "With"
// $ANTLR start "CaptureStart"
public final void mCaptureStart() throws RecognitionException {
try {
// liqp/Liquid.g:488:23: ( 'CaptureStart' )
// liqp/Liquid.g:488:25: 'CaptureStart'
{
match("CaptureStart");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "CaptureStart"
// $ANTLR start "CaptureEnd"
public final void mCaptureEnd() throws RecognitionException {
try {
// liqp/Liquid.g:489:21: ( 'CaptureEnd' )
// liqp/Liquid.g:489:23: 'CaptureEnd'
{
match("CaptureEnd");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "CaptureEnd"
// $ANTLR start "EndId"
public final void mEndId() throws RecognitionException {
try {
// liqp/Liquid.g:490:16: ( 'EndId' )
// liqp/Liquid.g:490:18: 'EndId'
{
match("EndId");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "EndId"
// $ANTLR start "Break"
public final void mBreak() throws RecognitionException {
try {
// liqp/Liquid.g:491:16: ( 'Break' )
// liqp/Liquid.g:491:18: 'Break'
{
match("Break");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "Break"
// $ANTLR start "Continue"
public final void mContinue() throws RecognitionException {
try {
// liqp/Liquid.g:492:19: ( 'Continue' )
// liqp/Liquid.g:492:21: 'Continue'
{
match("Continue");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "Continue"
// $ANTLR start "Empty"
public final void mEmpty() throws RecognitionException {
try {
// liqp/Liquid.g:493:16: ( 'Empty' )
// liqp/Liquid.g:493:18: 'Empty'
{
match("Empty");
}
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "Empty"
@Override
public void mTokens() throws RecognitionException {
// liqp/Liquid.g:1:8: ( OutStart | OutEnd | TagStart | TagEnd | Str | DotDot | Dot | NEq | Eq | EqSign | GtEq | Gt | LtEq | Lt | Minus | Pipe | Col | Comma | OPar | CPar | OBr | CBr | QMark | DoubleNum | LongNum | WS | Id | Other | NoSpace )
int alt16=29;
alt16 = dfa16.predict(input);
switch (alt16) {
case 1 :
// liqp/Liquid.g:1:10: OutStart
{
mOutStart();
}
break;
case 2 :
// liqp/Liquid.g:1:19: OutEnd
{
mOutEnd();
}
break;
case 3 :
// liqp/Liquid.g:1:26: TagStart
{
mTagStart();
}
break;
case 4 :
// liqp/Liquid.g:1:35: TagEnd
{
mTagEnd();
}
break;
case 5 :
// liqp/Liquid.g:1:42: Str
{
mStr();
}
break;
case 6 :
// liqp/Liquid.g:1:46: DotDot
{
mDotDot();
}
break;
case 7 :
// liqp/Liquid.g:1:53: Dot
{
mDot();
}
break;
case 8 :
// liqp/Liquid.g:1:57: NEq
{
mNEq();
}
break;
case 9 :
// liqp/Liquid.g:1:61: Eq
{
mEq();
}
break;
case 10 :
// liqp/Liquid.g:1:64: EqSign
{
mEqSign();
}
break;
case 11 :
// liqp/Liquid.g:1:71: GtEq
{
mGtEq();
}
break;
case 12 :
// liqp/Liquid.g:1:76: Gt
{
mGt();
}
break;
case 13 :
// liqp/Liquid.g:1:79: LtEq
{
mLtEq();
}
break;
case 14 :
// liqp/Liquid.g:1:84: Lt
{
mLt();
}
break;
case 15 :
// liqp/Liquid.g:1:87: Minus
{
mMinus();
}
break;
case 16 :
// liqp/Liquid.g:1:93: Pipe
{
mPipe();
}
break;
case 17 :
// liqp/Liquid.g:1:98: Col
{
mCol();
}
break;
case 18 :
// liqp/Liquid.g:1:102: Comma
{
mComma();
}
break;
case 19 :
// liqp/Liquid.g:1:108: OPar
{
mOPar();
}
break;
case 20 :
// liqp/Liquid.g:1:113: CPar
{
mCPar();
}
break;
case 21 :
// liqp/Liquid.g:1:118: OBr
{
mOBr();
}
break;
case 22 :
// liqp/Liquid.g:1:122: CBr
{
mCBr();
}
break;
case 23 :
// liqp/Liquid.g:1:126: QMark
{
mQMark();
}
break;
case 24 :
// liqp/Liquid.g:1:132: DoubleNum
{
mDoubleNum();
}
break;
case 25 :
// liqp/Liquid.g:1:142: LongNum
{
mLongNum();
}
break;
case 26 :
// liqp/Liquid.g:1:150: WS
{
mWS();
}
break;
case 27 :
// liqp/Liquid.g:1:153: Id
{
mId();
}
break;
case 28 :
// liqp/Liquid.g:1:156: Other
{
mOther();
}
break;
case 29 :
// liqp/Liquid.g:1:162: NoSpace
{
mNoSpace();
}
break;
}
}
protected DFA16 dfa16 = new DFA16(this);
static final String DFA16_eotS =
"\1\uffff\1\32\1\35\1\37\1\42\1\45\1\47\1\51\1\54\1\56\1\60\1\61\1\63\1"+
"\64\1\65\1\66\1\67\1\70\1\71\1\72\1\74\1\75\1\77\1\100\1\101\1\102\2\uffff"+
"\1\104\1\uffff\1\105\1\uffff\1\33\1\106\1\uffff\1\33\1\107\1\uffff\1\110"+
"\1\uffff\1\112\1\uffff\1\113\1\114\1\uffff\1\116\1\uffff\1\120\2\uffff"+
"\1\123\10\uffff\1\135\2\uffff\1\141\35\uffff\1\155\21\uffff";
static final String DFA16_eofS =
"\156\uffff";
static final String DFA16_minS =
"\33\0\1\uffff\47\0\1\uffff\5\0\1\uffff\3\0\1\uffff\1\0\1\uffff\1\0\2\uffff"+
"\1\0\10\uffff\2\0\3\uffff\1\0\13\uffff\1\0";
static final String DFA16_maxS =
"\32\uffff\1\0\1\uffff\1\uffff\1\0\1\uffff\1\0\2\uffff\1\0\2\uffff\1\0"+
"\1\uffff\1\0\1\uffff\1\0\2\uffff\1\0\1\uffff\1\0\1\uffff\2\0\1\uffff\10"+
"\0\1\uffff\2\0\1\uffff\4\0\1\uffff\5\0\1\uffff\3\0\1\uffff\1\0\1\uffff"+
"\1\0\2\uffff\1\0\10\uffff\1\uffff\1\0\3\uffff\1\0\13\uffff\1\0";
static final String DFA16_acceptS =
"\33\uffff\1\34\47\uffff\1\35\5\uffff\1\7\3\uffff\1\16\1\uffff\1\12\1\uffff"+
"\1\14\1\17\1\uffff\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\2\uffff\1\30"+
"\1\31\1\32\1\uffff\1\33\1\1\1\3\1\2\1\4\1\5\1\6\1\10\1\15\1\11\1\13\1"+
"\uffff";
static final String DFA16_specialS =
"\1\41\1\111\1\36\1\42\1\47\1\106\1\46\1\53\1\107\1\104\1\112\1\116\1\34"+
"\1\37\1\43\1\45\1\52\1\62\1\76\1\100\1\113\1\110\1\40\1\105\1\51\1\77"+
"\1\24\1\uffff\1\66\1\25\1\103\1\26\1\117\1\115\1\27\1\35\1\14\1\30\1\33"+
"\1\54\1\0\1\31\1\5\1\101\1\57\1\44\1\55\1\60\1\56\1\61\1\50\1\63\1\64"+
"\1\65\1\67\1\70\1\72\1\73\1\74\1\102\1\114\1\21\1\2\1\75\1\32\1\120\1"+
"\3\1\uffff\1\1\1\4\1\6\1\7\1\10\1\uffff\1\11\1\12\1\16\1\uffff\1\13\1"+
"\uffff\1\15\2\uffff\1\71\10\uffff\1\22\1\17\3\uffff\1\23\13\uffff\1\20}>";
static final String[] DFA16_transitionS = {
"\11\27\2\25\2\27\1\25\22\27\1\25\1\7\1\5\2\27\1\3\1\27\1\4\1\17\1\20"+
"\2\27\1\16\1\13\1\6\1\27\12\24\1\15\1\27\1\10\1\11\1\12\1\23\1\27\32"+
"\26\1\21\1\27\1\22\1\27\1\26\1\27\32\26\1\1\1\14\1\2\uff82\27",
"\45\33\1\31\125\33\1\30\uff84\33",
"\175\33\1\34\uff82\33",
"\175\33\1\36\uff82\33",
"\47\40\1\41\uffd8\40",
"\42\43\1\44\uffdd\43",
"\56\33\1\46\uffd1\33",
"\75\33\1\50\uffc2\33",
"\75\33\1\53\1\52\uffc1\33",
"\75\33\1\55\uffc2\33",
"\75\33\1\57\uffc2\33",
"\60\33\12\62\uffc6\33",
"\0\33",
"\0\33",
"\0\33",
"\0\33",
"\0\33",
"\0\33",
"\0\33",
"\0\33",
"\56\33\1\73\1\33\12\62\uffc6\33",
"\11\33\2\25\2\33\1\25\22\33\1\25\uffdf\33",
"\55\33\1\76\2\33\12\76\7\33\32\76\4\33\1\76\1\33\32\76\uff85\33",
"\0\33",
"\0\33",
"\0\33",
"\1\uffff",
"",
"\0\33",
"\1\uffff",
"\0\33",
"\1\uffff",
"\47\40\1\41\uffd8\40",
"\0\33",
"\1\uffff",
"\42\43\1\44\uffdd\43",
"\0\33",
"\1\uffff",
"\0\33",
"\1\uffff",
"\0\33",
"\1\uffff",
"\0\33",
"\0\33",
"\1\uffff",
"\0\33",
"\1\uffff",
"\0\33",
"\1\uffff",
"\1\uffff",
"\56\33\1\73\1\33\12\62\uffc6\33",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\60\33\12\134\uffc6\33",
"\1\uffff",
"\1\uffff",
"\55\33\1\76\2\33\12\76\7\33\32\76\4\33\1\76\1\33\32\76\uff85\33",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"",
"\1\uffff",
"\1\uffff",
"\1\uffff",
"",
"\1\uffff",
"",
"\1\uffff",
"",
"",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"\60\33\12\134\uffc6\33",
"\1\uffff",
"",
"",
"",
"\1\uffff",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"\1\uffff"
};
static final short[] DFA16_eot = DFA.unpackEncodedString(DFA16_eotS);
static final short[] DFA16_eof = DFA.unpackEncodedString(DFA16_eofS);
static final char[] DFA16_min = DFA.unpackEncodedStringToUnsignedChars(DFA16_minS);
static final char[] DFA16_max = DFA.unpackEncodedStringToUnsignedChars(DFA16_maxS);
static final short[] DFA16_accept = DFA.unpackEncodedString(DFA16_acceptS);
static final short[] DFA16_special = DFA.unpackEncodedString(DFA16_specialS);
static final short[][] DFA16_transition;
static {
int numStates = DFA16_transitionS.length;
DFA16_transition = new short[numStates][];
for (int i=0; i= '\u0000' && LA16_40 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 74;
input.seek(index16_40);
if ( s>=0 ) return s;
break;
case 1 :
int LA16_68 = input.LA(1);
int index16_68 = input.index();
input.rewind();
s = -1;
if ( (!((((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))))) ) {s = 101;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
input.seek(index16_68);
if ( s>=0 ) return s;
break;
case 2 :
int LA16_62 = input.LA(1);
int index16_62 = input.index();
input.rewind();
s = -1;
if ( (LA16_62=='-'||(LA16_62 >= '0' && LA16_62 <= '9')||(LA16_62 >= 'A' && LA16_62 <= 'Z')||LA16_62=='_'||(LA16_62 >= 'a' && LA16_62 <= 'z')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())||(inTag)))) {s = 62;}
else if ( ((LA16_62 >= '\u0000' && LA16_62 <= ',')||(LA16_62 >= '.' && LA16_62 <= '/')||(LA16_62 >= ':' && LA16_62 <= '@')||(LA16_62 >= '[' && LA16_62 <= '^')||LA16_62=='`'||(LA16_62 >= '{' && LA16_62 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 97;
input.seek(index16_62);
if ( s>=0 ) return s;
break;
case 3 :
int LA16_66 = input.LA(1);
int index16_66 = input.index();
input.rewind();
s = -1;
if ( (!((((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))))) ) {s = 100;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
input.seek(index16_66);
if ( s>=0 ) return s;
break;
case 4 :
int LA16_69 = input.LA(1);
int index16_69 = input.index();
input.rewind();
s = -1;
if ( (!((((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))))) ) {s = 102;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
input.seek(index16_69);
if ( s>=0 ) return s;
break;
case 5 :
int LA16_42 = input.LA(1);
int index16_42 = input.index();
input.rewind();
s = -1;
if ( ((LA16_42 >= '\u0000' && LA16_42 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 75;
input.seek(index16_42);
if ( s>=0 ) return s;
break;
case 6 :
int LA16_70 = input.LA(1);
int index16_70 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 103;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
input.seek(index16_70);
if ( s>=0 ) return s;
break;
case 7 :
int LA16_71 = input.LA(1);
int index16_71 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 103;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
input.seek(index16_71);
if ( s>=0 ) return s;
break;
case 8 :
int LA16_72 = input.LA(1);
int index16_72 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 104;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
input.seek(index16_72);
if ( s>=0 ) return s;
break;
case 9 :
int LA16_74 = input.LA(1);
int index16_74 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 105;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
input.seek(index16_74);
if ( s>=0 ) return s;
break;
case 10 :
int LA16_75 = input.LA(1);
int index16_75 = input.index();
input.rewind();
s = -1;
if ( (!((((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))))) ) {s = 105;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
input.seek(index16_75);
if ( s>=0 ) return s;
break;
case 11 :
int LA16_78 = input.LA(1);
int index16_78 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 107;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
input.seek(index16_78);
if ( s>=0 ) return s;
break;
case 12 :
int LA16_36 = input.LA(1);
int index16_36 = input.index();
input.rewind();
s = -1;
if ( ((LA16_36 >= '\u0000' && LA16_36 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 71;
input.seek(index16_36);
if ( s>=0 ) return s;
break;
case 13 :
int LA16_80 = input.LA(1);
int index16_80 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 108;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
input.seek(index16_80);
if ( s>=0 ) return s;
break;
case 14 :
int LA16_76 = input.LA(1);
int index16_76 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 106;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
input.seek(index16_76);
if ( s>=0 ) return s;
break;
case 15 :
int LA16_93 = input.LA(1);
int index16_93 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 94;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
input.seek(index16_93);
if ( s>=0 ) return s;
break;
case 16 :
int LA16_109 = input.LA(1);
int index16_109 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 94;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
input.seek(index16_109);
if ( s>=0 ) return s;
break;
case 17 :
int LA16_61 = input.LA(1);
int index16_61 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 96;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
input.seek(index16_61);
if ( s>=0 ) return s;
break;
case 18 :
int LA16_92 = input.LA(1);
int index16_92 = input.index();
input.rewind();
s = -1;
if ( ((LA16_92 >= '0' && LA16_92 <= '9')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())||(inTag)))) {s = 92;}
else if ( ((LA16_92 >= '\u0000' && LA16_92 <= '/')||(LA16_92 >= ':' && LA16_92 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 109;
input.seek(index16_92);
if ( s>=0 ) return s;
break;
case 19 :
int LA16_97 = input.LA(1);
int index16_97 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 98;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
input.seek(index16_97);
if ( s>=0 ) return s;
break;
case 20 :
int LA16_26 = input.LA(1);
int index16_26 = input.index();
input.rewind();
s = -1;
if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
else if ( (true) ) {s = 67;}
input.seek(index16_26);
if ( s>=0 ) return s;
break;
case 21 :
int LA16_29 = input.LA(1);
int index16_29 = input.index();
input.rewind();
s = -1;
if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
else if ( (true) ) {s = 67;}
input.seek(index16_29);
if ( s>=0 ) return s;
break;
case 22 :
int LA16_31 = input.LA(1);
int index16_31 = input.index();
input.rewind();
s = -1;
if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
else if ( (true) ) {s = 67;}
input.seek(index16_31);
if ( s>=0 ) return s;
break;
case 23 :
int LA16_34 = input.LA(1);
int index16_34 = input.index();
input.rewind();
s = -1;
if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
else if ( (true) ) {s = 67;}
input.seek(index16_34);
if ( s>=0 ) return s;
break;
case 24 :
int LA16_37 = input.LA(1);
int index16_37 = input.index();
input.rewind();
s = -1;
if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
else if ( (true) ) {s = 67;}
input.seek(index16_37);
if ( s>=0 ) return s;
break;
case 25 :
int LA16_41 = input.LA(1);
int index16_41 = input.index();
input.rewind();
s = -1;
if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
else if ( (true) ) {s = 67;}
input.seek(index16_41);
if ( s>=0 ) return s;
break;
case 26 :
int LA16_64 = input.LA(1);
int index16_64 = input.index();
input.rewind();
s = -1;
if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
else if ( (true) ) {s = 67;}
input.seek(index16_64);
if ( s>=0 ) return s;
break;
case 27 :
int LA16_38 = input.LA(1);
int index16_38 = input.index();
input.rewind();
s = -1;
if ( ((LA16_38 >= '\u0000' && LA16_38 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 72;
input.seek(index16_38);
if ( s>=0 ) return s;
break;
case 28 :
int LA16_12 = input.LA(1);
int index16_12 = input.index();
input.rewind();
s = -1;
if ( ((LA16_12 >= '\u0000' && LA16_12 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 51;
input.seek(index16_12);
if ( s>=0 ) return s;
break;
case 29 :
int LA16_35 = input.LA(1);
int index16_35 = input.index();
input.rewind();
s = -1;
if ( (LA16_35=='\"') && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())||(inTag)))) {s = 36;}
else if ( ((LA16_35 >= '\u0000' && LA16_35 <= '!')||(LA16_35 >= '#' && LA16_35 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())||(inTag)))) {s = 35;}
else s = 27;
input.seek(index16_35);
if ( s>=0 ) return s;
break;
case 30 :
int LA16_2 = input.LA(1);
int index16_2 = input.index();
input.rewind();
s = -1;
if ( (LA16_2=='}') ) {s = 28;}
else if ( ((LA16_2 >= '\u0000' && LA16_2 <= '|')||(LA16_2 >= '~' && LA16_2 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 29;
input.seek(index16_2);
if ( s>=0 ) return s;
break;
case 31 :
int LA16_13 = input.LA(1);
int index16_13 = input.index();
input.rewind();
s = -1;
if ( ((LA16_13 >= '\u0000' && LA16_13 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 52;
input.seek(index16_13);
if ( s>=0 ) return s;
break;
case 32 :
int LA16_22 = input.LA(1);
int index16_22 = input.index();
input.rewind();
s = -1;
if ( (LA16_22=='-'||(LA16_22 >= '0' && LA16_22 <= '9')||(LA16_22 >= 'A' && LA16_22 <= 'Z')||LA16_22=='_'||(LA16_22 >= 'a' && LA16_22 <= 'z')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())||(inTag)))) {s = 62;}
else if ( ((LA16_22 >= '\u0000' && LA16_22 <= ',')||(LA16_22 >= '.' && LA16_22 <= '/')||(LA16_22 >= ':' && LA16_22 <= '@')||(LA16_22 >= '[' && LA16_22 <= '^')||LA16_22=='`'||(LA16_22 >= '{' && LA16_22 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 63;
input.seek(index16_22);
if ( s>=0 ) return s;
break;
case 33 :
int LA16_0 = input.LA(1);
int index16_0 = input.index();
input.rewind();
s = -1;
if ( (LA16_0=='{') ) {s = 1;}
else if ( (LA16_0=='}') ) {s = 2;}
else if ( (LA16_0=='%') ) {s = 3;}
else if ( (LA16_0=='\'') ) {s = 4;}
else if ( (LA16_0=='\"') ) {s = 5;}
else if ( (LA16_0=='.') ) {s = 6;}
else if ( (LA16_0=='!') ) {s = 7;}
else if ( (LA16_0=='<') ) {s = 8;}
else if ( (LA16_0=='=') ) {s = 9;}
else if ( (LA16_0=='>') ) {s = 10;}
else if ( (LA16_0=='-') ) {s = 11;}
else if ( (LA16_0=='|') ) {s = 12;}
else if ( (LA16_0==':') ) {s = 13;}
else if ( (LA16_0==',') ) {s = 14;}
else if ( (LA16_0=='(') ) {s = 15;}
else if ( (LA16_0==')') ) {s = 16;}
else if ( (LA16_0=='[') ) {s = 17;}
else if ( (LA16_0==']') ) {s = 18;}
else if ( (LA16_0=='?') ) {s = 19;}
else if ( ((LA16_0 >= '0' && LA16_0 <= '9')) ) {s = 20;}
else if ( ((LA16_0 >= '\t' && LA16_0 <= '\n')||LA16_0=='\r'||LA16_0==' ') && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())||(inTag)))) {s = 21;}
else if ( ((LA16_0 >= 'A' && LA16_0 <= 'Z')||LA16_0=='_'||(LA16_0 >= 'a' && LA16_0 <= 'z')) ) {s = 22;}
else if ( ((LA16_0 >= '\u0000' && LA16_0 <= '\b')||(LA16_0 >= '\u000B' && LA16_0 <= '\f')||(LA16_0 >= '\u000E' && LA16_0 <= '\u001F')||(LA16_0 >= '#' && LA16_0 <= '$')||LA16_0=='&'||(LA16_0 >= '*' && LA16_0 <= '+')||LA16_0=='/'||LA16_0==';'||LA16_0=='@'||LA16_0=='\\'||LA16_0=='^'||LA16_0=='`'||(LA16_0 >= '~' && LA16_0 <= '\uFFFF')) ) {s = 23;}
input.seek(index16_0);
if ( s>=0 ) return s;
break;
case 34 :
int LA16_3 = input.LA(1);
int index16_3 = input.index();
input.rewind();
s = -1;
if ( (LA16_3=='}') ) {s = 30;}
else if ( ((LA16_3 >= '\u0000' && LA16_3 <= '|')||(LA16_3 >= '~' && LA16_3 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 31;
input.seek(index16_3);
if ( s>=0 ) return s;
break;
case 35 :
int LA16_14 = input.LA(1);
int index16_14 = input.index();
input.rewind();
s = -1;
if ( ((LA16_14 >= '\u0000' && LA16_14 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 53;
input.seek(index16_14);
if ( s>=0 ) return s;
break;
case 36 :
int LA16_45 = input.LA(1);
int index16_45 = input.index();
input.rewind();
s = -1;
if ( ((LA16_45 >= '\u0000' && LA16_45 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 78;
input.seek(index16_45);
if ( s>=0 ) return s;
break;
case 37 :
int LA16_15 = input.LA(1);
int index16_15 = input.index();
input.rewind();
s = -1;
if ( ((LA16_15 >= '\u0000' && LA16_15 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 54;
input.seek(index16_15);
if ( s>=0 ) return s;
break;
case 38 :
int LA16_6 = input.LA(1);
int index16_6 = input.index();
input.rewind();
s = -1;
if ( (LA16_6=='.') && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())||(inTag)))) {s = 38;}
else if ( ((LA16_6 >= '\u0000' && LA16_6 <= '-')||(LA16_6 >= '/' && LA16_6 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 39;
input.seek(index16_6);
if ( s>=0 ) return s;
break;
case 39 :
int LA16_4 = input.LA(1);
int index16_4 = input.index();
input.rewind();
s = -1;
if ( ((LA16_4 >= '\u0000' && LA16_4 <= '&')||(LA16_4 >= '(' && LA16_4 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())||(inTag)))) {s = 32;}
else if ( (LA16_4=='\'') && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())||(inTag)))) {s = 33;}
else s = 34;
input.seek(index16_4);
if ( s>=0 ) return s;
break;
case 40 :
int LA16_50 = input.LA(1);
int index16_50 = input.index();
input.rewind();
s = -1;
if ( (LA16_50=='.') && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())||(inTag)))) {s = 59;}
else if ( ((LA16_50 >= '0' && LA16_50 <= '9')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())||(inTag)))) {s = 50;}
else if ( ((LA16_50 >= '\u0000' && LA16_50 <= '-')||LA16_50=='/'||(LA16_50 >= ':' && LA16_50 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 83;
input.seek(index16_50);
if ( s>=0 ) return s;
break;
case 41 :
int LA16_24 = input.LA(1);
int index16_24 = input.index();
input.rewind();
s = -1;
if ( ((LA16_24 >= '\u0000' && LA16_24 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 65;
input.seek(index16_24);
if ( s>=0 ) return s;
break;
case 42 :
int LA16_16 = input.LA(1);
int index16_16 = input.index();
input.rewind();
s = -1;
if ( ((LA16_16 >= '\u0000' && LA16_16 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 55;
input.seek(index16_16);
if ( s>=0 ) return s;
break;
case 43 :
int LA16_7 = input.LA(1);
int index16_7 = input.index();
input.rewind();
s = -1;
if ( (LA16_7=='=') && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())||(inTag)))) {s = 40;}
else if ( ((LA16_7 >= '\u0000' && LA16_7 <= '<')||(LA16_7 >= '>' && LA16_7 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 41;
input.seek(index16_7);
if ( s>=0 ) return s;
break;
case 44 :
int LA16_39 = input.LA(1);
int index16_39 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 73;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
else if ( (true) ) {s = 67;}
input.seek(index16_39);
if ( s>=0 ) return s;
break;
case 45 :
int LA16_46 = input.LA(1);
int index16_46 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 79;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
else if ( (true) ) {s = 67;}
input.seek(index16_46);
if ( s>=0 ) return s;
break;
case 46 :
int LA16_48 = input.LA(1);
int index16_48 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 81;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
else if ( (true) ) {s = 67;}
input.seek(index16_48);
if ( s>=0 ) return s;
break;
case 47 :
int LA16_44 = input.LA(1);
int index16_44 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 77;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
else if ( (true) ) {s = 67;}
input.seek(index16_44);
if ( s>=0 ) return s;
break;
case 48 :
int LA16_47 = input.LA(1);
int index16_47 = input.index();
input.rewind();
s = -1;
if ( ((LA16_47 >= '\u0000' && LA16_47 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 80;
input.seek(index16_47);
if ( s>=0 ) return s;
break;
case 49 :
int LA16_49 = input.LA(1);
int index16_49 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 82;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
else if ( (true) ) {s = 67;}
input.seek(index16_49);
if ( s>=0 ) return s;
break;
case 50 :
int LA16_17 = input.LA(1);
int index16_17 = input.index();
input.rewind();
s = -1;
if ( ((LA16_17 >= '\u0000' && LA16_17 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 56;
input.seek(index16_17);
if ( s>=0 ) return s;
break;
case 51 :
int LA16_51 = input.LA(1);
int index16_51 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 84;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
else if ( (true) ) {s = 67;}
input.seek(index16_51);
if ( s>=0 ) return s;
break;
case 52 :
int LA16_52 = input.LA(1);
int index16_52 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 85;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
else if ( (true) ) {s = 67;}
input.seek(index16_52);
if ( s>=0 ) return s;
break;
case 53 :
int LA16_53 = input.LA(1);
int index16_53 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 86;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
else if ( (true) ) {s = 67;}
input.seek(index16_53);
if ( s>=0 ) return s;
break;
case 54 :
int LA16_28 = input.LA(1);
int index16_28 = input.index();
input.rewind();
s = -1;
if ( ((LA16_28 >= '\u0000' && LA16_28 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 68;
input.seek(index16_28);
if ( s>=0 ) return s;
break;
case 55 :
int LA16_54 = input.LA(1);
int index16_54 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 87;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
else if ( (true) ) {s = 67;}
input.seek(index16_54);
if ( s>=0 ) return s;
break;
case 56 :
int LA16_55 = input.LA(1);
int index16_55 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 88;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
else if ( (true) ) {s = 67;}
input.seek(index16_55);
if ( s>=0 ) return s;
break;
case 57 :
int LA16_83 = input.LA(1);
int index16_83 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 94;}
else if ( ((inTag)) ) {s = 95;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
input.seek(index16_83);
if ( s>=0 ) return s;
break;
case 58 :
int LA16_56 = input.LA(1);
int index16_56 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 89;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
else if ( (true) ) {s = 67;}
input.seek(index16_56);
if ( s>=0 ) return s;
break;
case 59 :
int LA16_57 = input.LA(1);
int index16_57 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 90;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
else if ( (true) ) {s = 67;}
input.seek(index16_57);
if ( s>=0 ) return s;
break;
case 60 :
int LA16_58 = input.LA(1);
int index16_58 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 91;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
else if ( (true) ) {s = 67;}
input.seek(index16_58);
if ( s>=0 ) return s;
break;
case 61 :
int LA16_63 = input.LA(1);
int index16_63 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 98;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
else if ( (true) ) {s = 67;}
input.seek(index16_63);
if ( s>=0 ) return s;
break;
case 62 :
int LA16_18 = input.LA(1);
int index16_18 = input.index();
input.rewind();
s = -1;
if ( ((LA16_18 >= '\u0000' && LA16_18 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 57;
input.seek(index16_18);
if ( s>=0 ) return s;
break;
case 63 :
int LA16_25 = input.LA(1);
int index16_25 = input.index();
input.rewind();
s = -1;
if ( ((LA16_25 >= '\u0000' && LA16_25 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 66;
input.seek(index16_25);
if ( s>=0 ) return s;
break;
case 64 :
int LA16_19 = input.LA(1);
int index16_19 = input.index();
input.rewind();
s = -1;
if ( ((LA16_19 >= '\u0000' && LA16_19 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 58;
input.seek(index16_19);
if ( s>=0 ) return s;
break;
case 65 :
int LA16_43 = input.LA(1);
int index16_43 = input.index();
input.rewind();
s = -1;
if ( ((LA16_43 >= '\u0000' && LA16_43 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 76;
input.seek(index16_43);
if ( s>=0 ) return s;
break;
case 66 :
int LA16_59 = input.LA(1);
int index16_59 = input.index();
input.rewind();
s = -1;
if ( ((LA16_59 >= '0' && LA16_59 <= '9')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())||(inTag)))) {s = 92;}
else if ( ((LA16_59 >= '\u0000' && LA16_59 <= '/')||(LA16_59 >= ':' && LA16_59 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 93;
input.seek(index16_59);
if ( s>=0 ) return s;
break;
case 67 :
int LA16_30 = input.LA(1);
int index16_30 = input.index();
input.rewind();
s = -1;
if ( ((LA16_30 >= '\u0000' && LA16_30 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 69;
input.seek(index16_30);
if ( s>=0 ) return s;
break;
case 68 :
int LA16_9 = input.LA(1);
int index16_9 = input.index();
input.rewind();
s = -1;
if ( (LA16_9=='=') && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())||(inTag)))) {s = 45;}
else if ( ((LA16_9 >= '\u0000' && LA16_9 <= '<')||(LA16_9 >= '>' && LA16_9 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 46;
input.seek(index16_9);
if ( s>=0 ) return s;
break;
case 69 :
int LA16_23 = input.LA(1);
int index16_23 = input.index();
input.rewind();
s = -1;
if ( ((LA16_23 >= '\u0000' && LA16_23 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 64;
input.seek(index16_23);
if ( s>=0 ) return s;
break;
case 70 :
int LA16_5 = input.LA(1);
int index16_5 = input.index();
input.rewind();
s = -1;
if ( ((LA16_5 >= '\u0000' && LA16_5 <= '!')||(LA16_5 >= '#' && LA16_5 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())||(inTag)))) {s = 35;}
else if ( (LA16_5=='\"') && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())||(inTag)))) {s = 36;}
else s = 37;
input.seek(index16_5);
if ( s>=0 ) return s;
break;
case 71 :
int LA16_8 = input.LA(1);
int index16_8 = input.index();
input.rewind();
s = -1;
if ( (LA16_8=='>') ) {s = 42;}
else if ( (LA16_8=='=') && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())||(inTag)))) {s = 43;}
else if ( ((LA16_8 >= '\u0000' && LA16_8 <= '<')||(LA16_8 >= '?' && LA16_8 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 44;
input.seek(index16_8);
if ( s>=0 ) return s;
break;
case 72 :
int LA16_21 = input.LA(1);
int index16_21 = input.index();
input.rewind();
s = -1;
if ( ((LA16_21 >= '\t' && LA16_21 <= '\n')||LA16_21=='\r'||LA16_21==' ') && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())||(inTag)))) {s = 21;}
else if ( ((LA16_21 >= '\u0000' && LA16_21 <= '\b')||(LA16_21 >= '\u000B' && LA16_21 <= '\f')||(LA16_21 >= '\u000E' && LA16_21 <= '\u001F')||(LA16_21 >= '!' && LA16_21 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 61;
input.seek(index16_21);
if ( s>=0 ) return s;
break;
case 73 :
int LA16_1 = input.LA(1);
int index16_1 = input.index();
input.rewind();
s = -1;
if ( (LA16_1=='{') ) {s = 24;}
else if ( (LA16_1=='%') ) {s = 25;}
else if ( ((LA16_1 >= '\u0000' && LA16_1 <= '$')||(LA16_1 >= '&' && LA16_1 <= 'z')||(LA16_1 >= '|' && LA16_1 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 26;
input.seek(index16_1);
if ( s>=0 ) return s;
break;
case 74 :
int LA16_10 = input.LA(1);
int index16_10 = input.index();
input.rewind();
s = -1;
if ( (LA16_10=='=') && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())||(inTag)))) {s = 47;}
else if ( ((LA16_10 >= '\u0000' && LA16_10 <= '<')||(LA16_10 >= '>' && LA16_10 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 48;
input.seek(index16_10);
if ( s>=0 ) return s;
break;
case 75 :
int LA16_20 = input.LA(1);
int index16_20 = input.index();
input.rewind();
s = -1;
if ( (LA16_20=='.') && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())||(inTag)))) {s = 59;}
else if ( ((LA16_20 >= '0' && LA16_20 <= '9')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())||(inTag)))) {s = 50;}
else if ( ((LA16_20 >= '\u0000' && LA16_20 <= '-')||LA16_20=='/'||(LA16_20 >= ':' && LA16_20 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 60;
input.seek(index16_20);
if ( s>=0 ) return s;
break;
case 76 :
int LA16_60 = input.LA(1);
int index16_60 = input.index();
input.rewind();
s = -1;
if ( ((inTag)) ) {s = 94;}
else if ( ((inTag)) ) {s = 95;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
else if ( (true) ) {s = 67;}
input.seek(index16_60);
if ( s>=0 ) return s;
break;
case 77 :
int LA16_33 = input.LA(1);
int index16_33 = input.index();
input.rewind();
s = -1;
if ( ((LA16_33 >= '\u0000' && LA16_33 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 70;
input.seek(index16_33);
if ( s>=0 ) return s;
break;
case 78 :
int LA16_11 = input.LA(1);
int index16_11 = input.index();
input.rewind();
s = -1;
if ( ((LA16_11 >= '0' && LA16_11 <= '9')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())||(inTag)))) {s = 50;}
else if ( ((LA16_11 >= '\u0000' && LA16_11 <= '/')||(LA16_11 >= ':' && LA16_11 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())))) {s = 27;}
else s = 49;
input.seek(index16_11);
if ( s>=0 ) return s;
break;
case 79 :
int LA16_32 = input.LA(1);
int index16_32 = input.index();
input.rewind();
s = -1;
if ( (LA16_32=='\'') && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())||(inTag)))) {s = 33;}
else if ( ((LA16_32 >= '\u0000' && LA16_32 <= '&')||(LA16_32 >= '(' && LA16_32 <= '\uFFFF')) && (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead())||(inTag)))) {s = 32;}
else s = 27;
input.seek(index16_32);
if ( s>=0 ) return s;
break;
case 80 :
int LA16_65 = input.LA(1);
int index16_65 = input.index();
input.rewind();
s = -1;
if ( (!((((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))))) ) {s = 99;}
else if ( (((!inTag && inRaw && !openRawEndTagAhead())||(!inTag && !openTagAhead()))) ) {s = 27;}
input.seek(index16_65);
if ( s>=0 ) return s;
break;
}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 16, _s, input);
error(nvae);
throw nvae;
}
}
}