Class ZAutomaton<V>

java.lang.Object
eu.bandm.tools.lexic.Behavior<List<V>,ZAutomaton<V>>
eu.bandm.tools.lexic.ZAutomaton<V>
Type Parameters:
V - the label value type
All Implemented Interfaces:
FormatClient, Traceable<List<V>>, Serializable

@PropertyDependency("eu.bandm.tools.lexic.ZAutomaton.asciiCache") public class ZAutomaton<V> extends Behavior<List<V>,ZAutomaton<V>> implements Traceable<List<V>>
Zero-overhead automaton that is identical to the behavior of its own initial state.

The recommended way to construct a zero-overhead automaton is from a deterministic automaton using DAutomaton.deflate(). Manual construction with prototype(Behavior) and hardPatch(Map) is low-level and error-prone.

The caching of ASCII code points in a direct lookup table is a recommended optimization. It is controlled by the system property ASCII_CACHE_PROPERTY_NAME, which can take values "true" (default) or "false".

See Also: