JFlex

Class DFA

public final class DFA extends Object

DFA representation in JFlex. Contains minimization algorithm.
Field Summary
static intNO_TARGET
The code for "no target state" in the transition table.
Constructor Summary
DFA(int numLexStates, int numInp)
Method Summary
voidaddTransition(int start, char input, int dest)
voidcheckActions(LexScan scanner, LexParse parser)
StringdotFormat()
voidminimize()
Implementation of Hopcroft's O(n log n) minimization algorithm, follows description by D.
boolean[][]old_minimize()
voidprintBlocks(int[] b, int[] b_f, int[] b_b, int last)
voidprintInvDelta(int[][] inv_delta, int[] inv_delta_set)
voidprintL(int[] l_f, int[] l_b, int anchor)
voidprintTable(boolean[][] equiv)
voidsetAction(int state, Action stateAction)
voidsetFinal(int state, boolean isFinalState)
voidsetLexState(int lState, int trueState)
voidsetPushback(int state, boolean isPushbackState)
StringtoString()
StringtoString(int[] a)
voidwriteDot(File file)

Field Detail

NO_TARGET

public static final int NO_TARGET
The code for "no target state" in the transition table.

Constructor Detail

DFA

public DFA(int numLexStates, int numInp)

Method Detail

addTransition

public void addTransition(int start, char input, int dest)

checkActions

public void checkActions(LexScan scanner, LexParse parser)

dotFormat

public String dotFormat()

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

old_minimize

public boolean[][] old_minimize()

printBlocks

public void printBlocks(int[] b, int[] b_f, int[] b_b, int last)

printInvDelta

public void printInvDelta(int[][] inv_delta, int[] inv_delta_set)

printL

public void printL(int[] l_f, int[] l_b, int anchor)

printTable

public void printTable(boolean[][] equiv)

setAction

public void setAction(int state, Action stateAction)

setFinal

public void setFinal(int state, boolean isFinalState)

setLexState

public void setLexState(int lState, int trueState)

setPushback

public void setPushback(int state, boolean isPushbackState)

toString

public String toString()

toString

public String toString(int[] a)

writeDot

public void writeDot(File file)