Readonly
finalThe final state of the ENFA.
This state may not be reachable from the initial state.
Readonly
initialThe initial state of the ENFA.
Readonly
isReturns whether this FA accepts the empty language meaning that it doesn't accept any words.
Readonly
isReturns whether the formal language accepted by this FA contains finitely many words.
Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with 10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.
Readonly
isWhether this ENFA is in its normal form.
Readonly
maxThe maximum character that is part of the alphabet of the words that this FA can accept.
Readonly
transitionCreate a mutable copy of this ENFA.
Optional
factory: NodeFactory<ENFA.Node>Returns the number of nodes reachable from the initial state including the initial state.
This returns the number of nodes returned by nodes.
Yields all nodes reachable from the initial state including the initial state.
This may include trap states, but it will not include the final states if it is unreachable from the initial state.
The order in which nodes will be returned is implementation defined and may change after any operation that modifies the ENFA.
Modifying the ENFA while iterating will result in implementation-defined behavior. The implementation may stop the iteration or yield an nodes.
This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is the number of transitions.
Returns whether this FA accepts the given word.
The characters of the word to test.
Returns the string representation of this FA in the DOT format.
The output of this function can passed to any graph visualization program. This can be a local installation or an online editor.
By default, toUnicodeString is used to represent CharSets. It's possible to provide a
custom stringify function using the charSetToString
parameter.
Returns the string representation of this FA in the Mermaid format.
By default, toUnicodeString is used to represent CharSets. It's possible to provide a
custom stringify function using the charSetToString
parameter.
Returns the AST of a regular expression that accepts the same language as this FA.
Optional
options: Readonly<ToRegexOptions>Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.
If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will
end after at most 2^O(n)
word sets (n
= number of states).
If you analyse the words of an FA, consider using this method instead of words
. If this method yields k
word
sets, then words
will yield up to O(k * m ^ l)
words (m
= number of possible characters, l
= the maximum
length of any of the k
word sets).
A readonly ENFA.