11. A method to detect predetermined data from a sequence of tokens, the method comprising: providing, by a processor, a tree having a plurality of states, at least one of said plurality of states being associated with an epsilon reduction, each said token having a token type, and the predetermined data having a structure that comprises a predetermined sequence of token types, including at least one optional token type; removing the epsilon reduction from the tree and adding at least one additional state to form an additional path in the tree; and comparing the tokens with the additional path in the tree to detect the predetermined data when the token sequence does not include the optional token type and comparing the tokens with another path in the tree to detect the predetermined data when the token sequence includes the optional token type.
12. A method according to claim 11 , further comprising: adding a path in the tree for the predetermined data without the optional token type.