(EN) A hierarchical tree of deterministic finite automata (DFA) is traversed and/or generated based on a set of regular expressions. The hierarchical DFA includes a root DFA linked together with a set of leaf DFAs, and possibly a set of branch DFAs. The root DFA is always active and is responsive to an input string, as are any currently active branch and leaf DFAs. When a final state or arc is reached or traversed in any active DFA, a regular expression has been matched. The branch and leaf DFAs are activated (are deactivated) in response to the root DFA or a branch DFA reaching or traversing an activation (termination) state or arc corresponding to the branch or leaf DFA. State explosion in the hierarchical DFA can typically be avoided by selectively grouping similar portions of the regular expressions together in branch and leaf DFAs.
(FR) Un arbre de hiérarchie d'un automate déterministe à états finis (ADEF) est traversé et/ou généré sur la base d'un ensemble d'expressions normales. L'ADEF hiérarchique comprend un ADEF racine relié à un ensemble de ADEF feuilles et éventuellement à un ensemble de ADEF branches. L'ADEF racine est toujours actif et réagit à une chaîne d'entrée, comme le sont les ADEF branches et feuilles actifs au même moment. Lorsqu'un arc ou un état final est atteint ou traversé dans n'importe quel ADEF actif, une expression normale peut être appariée. Les ADEF branches ou feuilles sont activés (sont désactivés) en réponse à l'ADEF racine ou à un ADEF branche atteignant ou traversant un état (terminal) d'activation ou un arc correspondant à l'ADEF branche ou feuille. L'explosion d'état dans l'ADEF hiérarchique peut généralement être évité par le groupage sélectif de parties similaires des expressions normales dans les ADEF branches et feuilles.