public final class DFA
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static int |
NO_TARGET
The code for "no target state" in the transition table.
|
Constructor and Description |
---|
DFA(int numEntryStates,
int numInp,
int numLexStates) |
Modifier and Type | Method and Description |
---|---|
void |
addTransition(int start,
char input,
int dest) |
void |
checkActions(LexScan scanner,
LexParse parser)
Check that all actions can actually be matched in this DFA.
|
java.lang.String |
dotFormat() |
void |
minimize()
Implementation of Hopcroft's O(n log n) minimization algorithm, follows
description by D.
|
boolean[][] |
old_minimize()
Much simpler, but slower and less memory efficient minimization algorithm.
|
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 |
setEntryState(int eState,
int trueState) |
void |
setFinal(int state,
boolean isFinalState) |
java.lang.String |
toString() |
java.lang.String |
toString(int[] a) |
void |
writeDot(java.io.File file) |
public static final int NO_TARGET
public void setEntryState(int eState, int trueState)
public void setAction(int state, Action stateAction)
public void setFinal(int state, boolean isFinalState)
public void addTransition(int start, char input, int dest)
public java.lang.String toString()
toString
in class java.lang.Object
public void writeDot(java.io.File file)
public java.lang.String dotFormat()
public void checkActions(LexScan scanner, LexParse parser)
public void minimize()
public java.lang.String toString(int[] a)
public void printBlocks(int[] b, int[] b_f, int[] b_b, int last)
public void printL(int[] l_f, int[] l_b, int anchor)
public boolean[][] old_minimize()
public void printInvDelta(int[][] inv_delta, int[] inv_delta_set)
public void printTable(boolean[][] equiv)