public class FASerializer
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
protected Grammar |
grammar |
protected java.util.Set<State> |
markedStates
To prevent infinite recursion when walking state machines, record
which states we've visited.
|
protected int |
stateCounter
Each state we walk will get a new state number for serialization
purposes.
|
protected java.util.Map<State,java.lang.Integer> |
stateNumberTranslator
Rather than add a new instance variable to NFA and DFA just for
serializing machines, map old state numbers to new state numbers
by a State object → Integer new state number HashMap.
|
| Constructor and Description |
|---|
FASerializer(Grammar grammar)
This aspect is associated with a grammar; used to get token names
|
| Modifier and Type | Method and Description |
|---|---|
private java.lang.String |
getStateString(int n,
State s) |
java.lang.String |
serialize(State s) |
java.lang.String |
serialize(State s,
boolean renumber)
Return a string representation of a state machine.
|
protected void |
walkFANormalizingStateNumbers(State s)
In stateNumberTranslator, get a map from State to new, normalized
state number.
|
protected void |
walkSerializingFA(java.util.List<java.lang.String> lines,
State s) |
protected java.util.Set<State> markedStates
protected int stateCounter
protected java.util.Map<State,java.lang.Integer> stateNumberTranslator
protected Grammar grammar
public FASerializer(Grammar grammar)
public java.lang.String serialize(State s)
public java.lang.String serialize(State s, boolean renumber)
protected void walkFANormalizingStateNumbers(State s)
protected void walkSerializingFA(java.util.List<java.lang.String> lines,
State s)
private java.lang.String getStateString(int n,
State s)