JFlex
Class NFA
java.lang.Object
JFlex.NFA
public final class NFA
- extends java.lang.Object
NFA representation in JFlex.
Contains algorithms RegExp -> NFA and NFA -> DFA.
- Version:
- JFlex 1.4.1, $Revision: 2.8 $, $Date: 2004/11/06 23:03:32 $
- Author:
- Gerwin Klein
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
table
StateSet[][] table
epsilon
StateSet[] epsilon
isFinal
boolean[] isFinal
isPushback
boolean[] isPushback
action
Action[] action
numStates
int numStates
numInput
int numInput
numLexStates
int numLexStates
estSize
int estSize
macros
Macros macros
classes
CharClasses classes
scanner
LexScan scanner
regExps
RegExps regExps
NFA
public NFA(int numInput,
int estSize)
NFA
public NFA(int numInput,
LexScan scanner,
RegExps regExps,
Macros macros,
CharClasses classes)
addStandaloneRule
public void addStandaloneRule()
addRegExp
public void addRegExp(int regExpNum)
addTransition
public void addTransition(int start,
int input,
int dest)
addEpsilonTransition
public void addEpsilonTransition(int start,
int dest)
getDFA
public DFA getDFA()
- Returns an DFA that accepts the same language as this NFA.
This DFA is usualy not minimal.
dumpTable
public void dumpTable()
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()
insertNFA
public IntPair insertNFA(RegExp regExp)
- Constructs an NFA for regExp such that the NFA has
exactly one start state,
exactly one end state,
no transitions leading out of the end state
no transitions leading into the start state
- Parameters:
regExp - the regular expression to construct the
NFA for
- Returns:
- a pair of integers denoting the index of start
and end state of the NFA.