Patent Document ID: 9690873
Application ID: 14167074

Base Claim:
1. A method for searching a text that comprises a sequence of symbols for occurrences of a pattern of the symbols, using a sequence of evaluations at respective positions in the text, the method comprising: performing a first evaluation of whether the pattern occurs in a current position in the text, wherein the performing comprises: positioning the pattern so as to end at the current position in the text, comparing the symbols of the pattern to the corresponding symbols of the text while progressing from an end to a beginning of the pattern, and upon finding a mismatch between the pattern and the text, calculating the jump to the subsequent position depending at least on the mismatch; if the pattern does not occur in the current position, calculating a size of a jump to a subsequent position in the text based on results of the first evaluation; and performing a second evaluation of whether the pattern occurs in the subsequent position in the text.

---

Claim 8:
8. The method according to claim 1 , wherein performing the first evaluation comprises updating a data structure that indicates, for each symbol in the text, whether that symbol was previously read from the text, and wherein performing the first evaluation comprises reading a given symbol from the text during the second evaluation only if the data structure indicates that the given symbol was not previously read from the text.