Patent Document ID: 7779049
Application ID: 11297865

Base Claim:
1. A method of optimizing a regular expression using a system comprising an authoring tool, an optimizer, and a compiler, the method comprising: receiving the regular expression in a single source-level language with the authoring tool of the system; normalizing the regular expression; responsive to normalizing the regular expression, determining at least one optimized form by the optimizer of the system in the same single source-level language for the regular expression; presenting the at least one optimized form for the regular expression to a user with the authoring tool of the system in a source-level representation in the same single source-level language; determining whether the at least one optimized form for the regular expression produces different results than the regular expression; responsive to the at least one optimized form for the regular expression producing different results than the regular expression, presenting the at least one optimized form for the regular expression to the user; and incorporating the at least one optimized form of the regular expression into application logic using the compiler.

---

Claim 3:
3. The method of claim 1 wherein the act of determining at least one optimized form comprises: iteratively applying pre-selected transformations to the received regular expression, wherein each iterative transformation produces a candidate optimized regular expression; determining whether each candidate optimized regular expression matches a previously generated optimized regular expression; upon determining that a candidate optimized regular expression matches a previously generated optimized regular expression, discarding the candidate optimized regular expression when the candidate optimized regular expression does not change a result obtained when implementing a collection of regular expressions; and upon completing application of all of the pre-selected transformations without determining that candidate optimized regular expression matches a previously generated optimized regular expression, outputting the candidate regular expression as an optimized regular expression.