1. A computer implemented method for generating a deterministic finite automata-based graph comprising: storing a graph of expressions in memory, the graph including a plurality of nodes, each node having arcs, each arc being for a character and connecting a node to a next node; during compilation of the graph: identifying at least one node of the plurality of nodes in the graph as a designated node; for each node of the plurality of nodes, except the designated node, comparing each arc of a subject node having a plurality of arcs with each arc of the designated node to find an arc of the subject node that is for an identical character and that connects the subject node to an identical next node in the graph as an arc of the designated node, the arc found being called a non-unique arc; and removing the non-unique arc from the subject node without reducing the number of nodes in the plurality of nodes.