System and method for analyzing data
First Claim
1. ) A method for performing lexical analysis, comprising the steps of:
- creating a first table, wherein the first table describes one or more single character transitions using records of type ET_onecat;
creating a second table, wherein the second table is an ordered series of records of type ET_catrange;
responsive to text input, searching through the records of the first table searching for each text input character;
if a matching record is identified in the first table, providing the token associated with the matching record as output;
responsive to a failure to locate a matching record in the first table, searching the records of the second table from the beginning for each input character, wherein a match is found when the current analyzer state lies between the upper state and lower state bounds and the input character lies between the upper character and lower character bounds, in each case as specified in the record being searched;
if a matching record in the second table is found, assigning the current analyzer state the value of the ‘
estat’
field in the matching record;
if an exit condition is reached, terminating the loop.
0 Assignments
0 Petitions
Accused Products
Abstract
A system and method provide the ability to construct lexical analyzers on the fly in an efficient and pervasive manner. The system and method split the table describing the automata into two distinct tables and splits the lexical analyzer into two phases, one for each table. The two phases consist of a single transition algorithm and a range transition algorithm, both of which are table driven and permit the dynamic modification of those tables during operation. A third ‘entry point’ table may also be used to speed up the process of finding the first table element from state 0 for any given input character.
49 Citations
20 Claims
-
1. ) A method for performing lexical analysis, comprising the steps of:
-
creating a first table, wherein the first table describes one or more single character transitions using records of type ET_onecat;
creating a second table, wherein the second table is an ordered series of records of type ET_catrange;
responsive to text input, searching through the records of the first table searching for each text input character;
if a matching record is identified in the first table, providing the token associated with the matching record as output;
responsive to a failure to locate a matching record in the first table, searching the records of the second table from the beginning for each input character, wherein a match is found when the current analyzer state lies between the upper state and lower state bounds and the input character lies between the upper character and lower character bounds, in each case as specified in the record being searched;
if a matching record in the second table is found, assigning the current analyzer state the value of the ‘
estat’
field in the matching record;
if an exit condition is reached, terminating the loop. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. ) A parsing system, comprising:
-
a programmable gate array, wherein such gate array contains one or more LAM modules which can operate on the incoming text stream in parallel;
logically connected to the gate array, a first table, wherein the first table describes one or more single character transitions using records of type ET_onecat;
logically connected to the gate array, a second table, wherein the second table is an ordered series of records of type ET_catrange; and
logically connected thereto, a function, wherein such function loads each memory table on to the gate array and associates it with one or more LAM(s). - View Dependent Claims (17, 18, 19, 20)
-
Specification