JFlex
Class DFA
java.lang.Object
JFlex.DFA
public final class DFA
- extends java.lang.Object
DFA representation in JFlex.
Contains minimization algorithm.
Field Summary |
static int |
NO_TARGET
The code for "no target state" in the transition table. |
Constructor Summary |
DFA(int numLexStates,
int numInp)
|
Method Summary |
void |
addTransition(int start,
char input,
int dest)
|
void |
checkActions(LexScan scanner,
LexParse parser)
|
java.lang.String |
dotFormat()
|
void |
minimize()
Implementation of Hopcroft's O(n log n) minimization algorithm, follows
description by D. |
boolean[][] |
old_minimize()
|
void |
printBlocks(int[] b,
int[] b_f,
int[] b_b,
int last)
|
void |
printInvDelta(int[][] inv_delta,
int[] inv_delta_set)
|
void |
printL(int[] l_f,
int[] l_b,
int anchor)
|
void |
printTable(boolean[][] equiv)
|
void |
setAction(int state,
Action stateAction)
|
void |
setFinal(int state,
boolean isFinalState)
|
void |
setLexState(int lState,
int trueState)
|
void |
setPushback(int state,
boolean isPushbackState)
|
java.lang.String |
toString()
|
java.lang.String |
toString(int[] a)
|
void |
writeDot(java.io.File file)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
NO_TARGET
public static final int NO_TARGET
- The code for "no target state" in the transition table.
- See Also:
- Constant Field Values
DFA
public DFA(int numLexStates,
int numInp)
setLexState
public void setLexState(int lState,
int trueState)
setAction
public void setAction(int state,
Action stateAction)
setFinal
public void setFinal(int state,
boolean isFinalState)
setPushback
public void setPushback(int state,
boolean isPushbackState)
addTransition
public void addTransition(int start,
char input,
int dest)
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
writeDot
public void writeDot(java.io.File file)
dotFormat
public java.lang.String dotFormat()
checkActions
public void checkActions(LexScan scanner,
LexParse parser)
minimize
public void minimize()
- Implementation of Hopcroft's O(n log n) minimization algorithm, follows
description by D. Gries.
Time: O(n log n)
Space: O(c n), size < 4*(5*c*n + 13*n + 3*c) byte
toString
public java.lang.String toString(int[] a)
printBlocks
public void printBlocks(int[] b,
int[] b_f,
int[] b_b,
int last)
printL
public void printL(int[] l_f,
int[] l_b,
int anchor)
old_minimize
public boolean[][] old_minimize()
printInvDelta
public void printInvDelta(int[][] inv_delta,
int[] inv_delta_set)
printTable
public void printTable(boolean[][] equiv)