5. The method of claim 1 , wherein generating the third finite-state automaton comprises: defining at least one initial state based on the topology; defining at least one final state based on the topology; and defining a plurality of edges representing active non-terminal symbols based on the topology, each edge labeled with one of the active non-terminal symbols and extending from at least one of an initial state and a final state of the third finite-state automaton.
5. The method of claim 1 , wherein generating the third finite-state automaton comprises: defining at least one initial state based on the topology; defining at least one final state based on the topology; and defining a plurality of edges representing active non-terminal symbols based on the topology, each edge labeled with one of the active non-terminal symbols and extending from at least one of an initial state and a final state of the third finite-state automaton. 11. The method of claim 5 , wherein expanding the third finite-state automaton is based on at least one of the at least one generated second finite-state automaton, the method further comprising dynamically expanding the third finite-state automaton based on an input string to be recognized by the third finite-state automaton, the input string comprising a plurality of symbols of the context-free grammar.