{'fraction_non_alphanumeric': 0.013559322033898305, 'fraction_numerical': 0.0, 'mean_word_length': 5.420289855072464, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
State trees as structured finite state machines for user interfaces

State trees are a technique for specifying the control of an interactive system by organizing states into trees to define shared structure and behavior. The tree structure permits inheritance of state information, event traps, and entry and exit actions from states to substates, thereby sharing information and reducing the amount of code to be written. An interface can be restructured by moving entire subtrees as modules. State trees separate the recognition of commands from their implementation, allowing either to be modified independently. State trees structure flow of control within an implementation without imposing an identical structure on the interface itself, which need not be hierarchical. State trees have been implemented in an object-oriented language and used to write interactive applications.