// Decompiled by: Fernflower v0.6 // Date: 16.01.2011 23:16:13 // Copyright: 2008-2009, Stiver // Home page: http://www.reversed-java.com package org.antlr.runtime; import org.antlr.runtime.BaseRecognizer; import org.antlr.runtime.IntStream; import org.antlr.runtime.NoViableAltException; import org.antlr.runtime.RecognitionException; public class DFA { protected short[] eot; protected short[] eof; protected char[] min; protected char[] max; protected short[] accept; protected short[] special; protected short[][] transition; protected int decisionNumber; protected BaseRecognizer recognizer; public static final boolean debug = false; public int predict(IntStream var1) throws RecognitionException { int var2 = var1.mark(); int var3 = 0; while(true) { byte var6; try { short var4 = this.special[var3]; if(var4 >= 0) { var3 = this.specialStateTransition(var4, var1); if(var3 != -1) { var1.consume(); continue; } this.noViableAlt(var3, var1); byte var11 = 0; return var11; } if(this.accept[var3] >= 1) { short var12 = this.accept[var3]; return var12; } char var5 = (char)var1.LA(1); short var13; if(var5 >= this.min[var3] && var5 <= this.max[var3]) { var13 = this.transition[var3][var5 - this.min[var3]]; if(var13 >= 0) { var3 = var13; var1.consume(); continue; } if(this.eot[var3] >= 0) { var3 = this.eot[var3]; var1.consume(); continue; } this.noViableAlt(var3, var1); byte var7 = 0; return var7; } if(this.eot[var3] >= 0) { var3 = this.eot[var3]; var1.consume(); continue; } if(var5 == '\uffff' && this.eof[var3] >= 0) { var13 = this.accept[this.eof[var3]]; return var13; } this.noViableAlt(var3, var1); var6 = 0; } finally { var1.rewind(var2); } return var6; } } protected void noViableAlt(int var1, IntStream var2) throws NoViableAltException { if(this.recognizer.state.backtracking > 0) { this.recognizer.state.failed = true; } else { NoViableAltException var3 = new NoViableAltException(this.getDescription(), this.decisionNumber, var1, var2); this.error(var3); throw var3; } } protected void error(NoViableAltException var1) { } public int specialStateTransition(int var1, IntStream var2) throws NoViableAltException { return -1; } public String getDescription() { return "n/a"; } public static short[] unpackEncodedString(String var0) { int var1 = 0; for(int var2 = 0; var2 < var0.length(); var2 += 2) { var1 += var0.charAt(var2); } short[] var8 = new short[var1]; int var3 = 0; for(int var4 = 0; var4 < var0.length(); var4 += 2) { char var5 = var0.charAt(var4); char var6 = var0.charAt(var4 + 1); for(int var7 = 1; var7 <= var5; ++var7) { var8[var3++] = (short)var6; } } return var8; } public static char[] unpackEncodedStringToUnsignedChars(String var0) { int var1 = 0; for(int var2 = 0; var2 < var0.length(); var2 += 2) { var1 += var0.charAt(var2); } char[] var8 = new char[var1]; int var3 = 0; for(int var4 = 0; var4 < var0.length(); var4 += 2) { char var5 = var0.charAt(var4); char var6 = var0.charAt(var4 + 1); for(int var7 = 1; var7 <= var5; ++var7) { var8[var3++] = var6; } } return var8; } }