Package org.antlr.runtime
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 boolean
protected int
protected short[]
protected short[]
protected char[]
protected char[]
protected BaseRecognizer
Which recognizer encloses this DFA? Needed to check backtrackingprotected short[]
protected short[][]
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
error
(NoViableAltException nvae) A hook for debugging interfaceprotected void
noViableAlt
(int s, IntStream input) int
From the input stream, predict what alternative will succeed using this DFA (representing the covering regular approximation to the underlying CFL).int
specialStateTransition
(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 :(
-