1. A method of compiling a pattern into a non-deterministic finite automata (NFA) graph, the method comprising: examining the pattern for a plurality of elements and a plurality of node types, each node type corresponding with an element, each element of the pattern to be matched at least zero times, the element representing a character, character class or string; generating a plurality of nodes of the NFA graph, each node of the plurality of nodes configured to match with one of the plurality of elements and store the node type corresponding to the element, a next node address in the NFA graph, a count value, and the element, wherein the next node address and the count value are applicable as a function of the node type stored and wherein the plurality of nodes generated enable a graph walk engine to identify the pattern in a payload with less nodes relative to another NFA graph representing the pattern and employed by the graph walk engine to identify the pattern in the payload.
1. A method of compiling a pattern into a non-deterministic finite automata (NFA) graph, the method comprising: examining the pattern for a plurality of elements and a plurality of node types, each node type corresponding with an element, each element of the pattern to be matched at least zero times, the element representing a character, character class or string; generating a plurality of nodes of the NFA graph, each node of the plurality of nodes configured to match with one of the plurality of elements and store the node type corresponding to the element, a next node address in the NFA graph, a count value, and the element, wherein the next node address and the count value are applicable as a function of the node type stored and wherein the plurality of nodes generated enable a graph walk engine to identify the pattern in a payload with less nodes relative to another NFA graph representing the pattern and employed by the graph walk engine to identify the pattern in the payload. 7. The method of claim 1 , wherein the plurality of node types includes a string node type and the examining includes examining the pattern for the string node type, wherein examining the pattern for the string node type includes determining whether a portion of the pattern indicates consecutive values.