Class DFA
java.lang.Object
org.antlr.runtime.DFA
A DFA implemented as a set of transition tables.
Any state that has a semantic predicate edge is special; those states
are generated with if-then-else structures in a specialStateTransition()
which is generated by cyclicDFA template.
There are at most 32767 states (16-bit signed short).
Could get away with byte sometimes but would have to generate different
types and the simulation code too. For a point of reference, the Java
lexer's Tokens rule DFA has 326 states roughly.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected short[]static final booleanprotected intprotected short[]protected short[]protected char[]protected char[]protected BaseRecognizerWhich recognizer encloses this DFA? Needed to check backtrackingprotected short[]protected short[][] -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voiderror(NoViableAltException nvae) A hook for debugging interfaceprotected voidnoViableAlt(int s, IntStream input) intFrom the input stream, predict what alternative will succeed using this DFA (representing the covering regular approximation to the underlying CFL).intspecialStateTransition(int s, IntStream input) static short[]unpackEncodedString(String encodedString) Given a String that has a run-length-encoding of some unsigned shorts like "\1\2\3\9", convert to short[] {2,9,9,9}.static char[]unpackEncodedStringToUnsignedChars(String encodedString) Hideous duplication of code, but I need different typed arrays out :(
-
Field Details
-
eot
protected short[] eot -
eof
protected short[] eof -
min
protected char[] min -
max
protected char[] max -
accept
protected short[] accept -
special
protected short[] special -
transition
protected short[][] transition -
decisionNumber
protected int decisionNumber -
recognizer
Which recognizer encloses this DFA? Needed to check backtracking -
debug
public static final boolean debug- See Also:
-
-
Constructor Details
-
DFA
public DFA()
-
-
Method Details
-
predict
From the input stream, predict what alternative will succeed using this DFA (representing the covering regular approximation to the underlying CFL). Return an alternative number 1..n. Throw an exception upon error.- Throws:
RecognitionException
-
noViableAlt
- Throws:
NoViableAltException
-
error
A hook for debugging interface -
specialStateTransition
- Throws:
NoViableAltException
-
getDescription
-
unpackEncodedString
Given a String that has a run-length-encoding of some unsigned shorts like "\1\2\3\9", convert to short[] {2,9,9,9}. We do this to avoid static short[] which generates so much init code that the class won't compile. :( -
unpackEncodedStringToUnsignedChars
Hideous duplication of code, but I need different typed arrays out :(
-