← Back to Patent Explorer
US5440482A Expired / Lapsed US ⏱️ 0.0 years remaining

Forward and reverse Boyer-Moore string searching of multilingual text having a defined collation order

Assignee: Apple Inc
•
Filing: 1993-03-25
•
Granted: 1995-08-08
•
Expires: 2013-03-25
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system for providing a language-sensitive text compare. An innovative system and method for performing the compare is presented that performs text comparison of any Unicode strings. For any language an ordering is defined based on features of the language. Then, an interactive compare function is performed to determine the relationship of a pair of strings. The string is examined and a compare is performed one character at a time based on a predefined character precedence.

Inventors

  • 👤 Mark E. Davis

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-28 04:19
CPC Classifications
G; G06; G06F; G06F7/00; G06F7/02; G06F16/00; G06F16/90; G06F16/903; G06F16/90335; G06F16/90348; G06F2207/00; G06F2207/02; G06F2207/025; Y; Y10; Y10S; Y10S707/00; Y10S707/912; Y10S707/917; Y10S707/99931; Y10S707/99933; Y10S707/99936

Claims Analysis

Total Claims: 6
Claim 1
Independent Claim 277 words
A computer system for searching first text string for an occurrence of a second text string, the first text string and the second text string consisting of characters belonging to a language which has a predefined character precedence, the computer system comprising: (a) a processor; (b) a memory connected to the processor and containing locations for storing information including the first text string and the second text string; (c) a program stored in the memory and controlling the processor to retrieve information stored in the memory, to manipulate the retrieved information and to store the manipulated information in the memory; (d) means controlled by the program for defining at least one ordering value for each character based on the predefined character precedence of the language and for storing ordering values for all characters in the memory; (e) means controlled by the program for preprocessing the first text string to generate a first index table comprising ordering values for each character in the first text string and a second index table comprising minimum shift values for shifting the second text string relative to the first text string in order to obtain a match; (f) means responsive to values in the second index table for shifting the second text string relative to the first text string in either of a first direction or a second direction opposite to the first direction by an mount indicated by the second index table; (g) means for performing a comparison of the ordering values of the characters in the second string to the ordering values in the first index table to determine whether the second text string occurs in the first text string.
Claim 2
Dependent Claim 277 words
A computer system for searching first text string for an occurrence of a second text string, the first text string and the second text string consisting of characters belonging to a language which has a predefined character precedence, the computer system comprising: (a) a processor; (b) a memory connected to the processor and containing locations for storing information including the first text string and the second text string; (c) a program stored in the memory and controlling the processor to retrieve information stored in the memory, to manipulate the retrieved information and to store the manipulated information in the memory; (d) means controlled by the program for defining at least one ordering value for each character based on the predefined character precedence of the language and for storing ordering values for all characters in the memory; (e) means controlled by the program for preprocessing the first text string to generate a first index table comprising ordering values for each character in the first text string and a second index table comprising minimum shift values for shifting the second text string relative to the first text string in order to obtain a match; (f) means responsive to values in the second index table for shifting the second text string relative to the first text string in either of a first direction or a second direction opposite to the first direction by an mount indicated by the second index table; (g) means for performing a comparison of the ordering values of the characters in the second string to the ordering values in the first index table to determine whether the second text string occurs in the first text string.
Claim 3
Dependent Claim 76 words
A computer system as recited in claim 1 wherein the preprocessing means comprises means controlled by the program for constructing a first index table having a predetermined maximum value and hashing means responsive to an ordering value greater than the predetermined maximum value for generating a hashed ordering value which is less than the predetermined maximum value and means responsive to the hashed ordering value for storing the hashed ordering value in the first index table.
Claim 4
Independent Claim 259 words
A method for searching first text string for an occurrence of a second text string, the first text string and the second text string consisting of characters belonging to a language which has a predefined character precedence, the method operating in a computer system having a processor, a memory connected to the processor and containing locations for storing information including the first text string and the second text string and a program stored in the memory and controlling the processor to retrieve information stored in the memory, to manipulate the retrieved information and to store the manipulated information in the memory and comprising the steps of: (a) defining at least one ordering value for each character based on the predefined character precedence of the language; (b) storing ordering values for all characters in the memory; (c) preprocessing the first text string to generate a first index table comprising ordering values for each character in the first text string and a second index table comprising minimum shift values for shifting the second text string relative to the first text string in order to obtain a match; (d) shifting the second text string relative to the first text string in either of a first direction or a second direction opposite to the first direction by an amount indicated by the second index table; and (e) performing a comparison of the ordering values of the characters in the second string to the ordering values in the first index table to determine whether the second text string occurs in the first text string.
Claim 5
Independent Claim 259 words
A method for searching first text string for an occurrence of a second text string, the first text string and the second text string consisting of characters belonging to a language which has a predefined character precedence, the method operating in a computer system having a processor, a memory connected to the processor and containing locations for storing information including the first text string and the second text string and a program stored in the memory and controlling the processor to retrieve information stored in the memory, to manipulate the retrieved information and to store the manipulated information in the memory and comprising the steps of: (a) defining at least one ordering value for each character based on the predefined character precedence of the language; (b) storing ordering values for all characters in the memory; (c) preprocessing the first text string to generate a first index table comprising ordering values for each character in the first text string and a second index table comprising minimum shift values for shifting the second text string relative to the first text string in order to obtain a match; (d) shifting the second text string relative to the first text string in either of a first direction or a second direction opposite to the first direction by an amount indicated by the second index table; and (e) performing a comparison of the ordering values of the characters in the second string to the ordering values in the first index table to determine whether the second text string occurs in the first text string.
Claim 6
Dependent Claim 80 words
A method as recited in claim 3 wherein step (c) comprises the steps of: (c1) constructing a first index table having a predetermined maximum value; (c2) comparing each ordering value to the predetermined maximum value; (c3) generating a hashed ordering value which is less than the predetermined maximum value when an ordering value is greater than the predetermined maximum value as determined by the comparison in step (c2); and (c4) storing the hashed ordering value in the first index table.

References Cited (Backward Citations)

US4939639A Cited
US5148541A Cited
US5195034A Cited
US5218700A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-08-07 1999-02-06 1999-08-08 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-08-07 2003-02-06 2003-08-08 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-08-07 2007-02-06 2007-08-08 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag