Method | Description | |
---|---|---|
FindPartition ( DFSA dSt ) : |
Find an existing partition block with which dSt is compatible, or construct a new partition into which dSt can be placed.
|
|
Minimizer ( DFSA dfsa ) : System | ||
MkNewBlock ( ) : |
||
PMap ( DFSA dSt ) : DFSA.DState |
Maps old dfsa states to new states in the minimized set.
|
|
PopulatePartitions ( List |
The initial partitions are formed by the following rules: Every accept state shares a partition with all other accept states that have the same semantic action. All other states go in the partition "otherStates". Addendum, Version 0.3: start states must be kept out of the otherStates partition, otherwise prefixes can be chopped off by, for example, concluding that states {1,3} are equivalent in the following FSA. They are, but the computation of yytext is broken if you merge! a b c d (start state) 1---->2---->3---->4-----(5) (accept state) c d (start state) 1---->7---->(5) (accept state) The inverse transition function is computed at the same time as the initial partition is performed.
|
|
RefinePartitions ( ) : void |
Refine the partitions by splitting incompatible states
|