In order to highly speed up the pattern matching of tree structured data in a logic programming language, the priority order is set when the data owned by the individual nodes of a tree structure are to be transversely sought, and the tree structured data are expressed in a vector type, in which they are arranged in that priority order, so that they are compared consecutively from the head for each element of the vector.
Apparatus, methods and computer program products provide for searching a data structure to extract possible matches of one or more known patterns that may exist in the data structure through a single traversal of the data structure. The apparatus methods and computer program products use a direction list tree that represents the known patterns that may exist in the data structure. The apparatus, methods and computer program products detect known patterns by gathering marker information from edge nodes that define the known patterns and then, at each pattern termination node, determines which known patterns have been found. These known patterns can then be processed.
A computer memory system of unlimited size which enables the storage of data organized into a multiplicity of tree structures, each formed from a variable number of linked storage cells. The data contained within one tree structure may be associatively linked to the data contained within another tree structure. When the memory is successfully searched for the data held in the first tree structure then the path through the second, associatively linked, tree structure is obtained, giving access to that associated data. Access to all the data stored in the memory system is by means of a novel relative addressing mechanism which removes the memory size limitations inherent with conventional fixed address bus memory systems, allowing unlimited sizes of this memory system to be constructed.
A method and apparatus for translating source code written in one computer language to source code written in another language wherein translated static fragments are generated in the face of textual inconsistencies. Exactly one target language definition of each source language static fragment is generated and the differences are encapsulated in new parameters.
A method of searching a plural pre-registered data lines in which each of the data lines has data units such as letters and an index number, and of registering a new data line which also has data units among the data lines. The index number indicates the number of the coinciding letters from the first letter between each of the data lines and a data line one preceding to the data line. The method includes the step of comparing the new data line with the first ordered data line among the pre-registered data lines according to alphabetical order. If the new data line is not the same as the first ordered data line, other pre-registered data lines are searched in order to determine an order of the new data line to be registered among the pre-registered data lines. For the determination of the order; firstly, the number of coinciding letters from the first letter between the new data line and the first ordered data line is recognized as a reference number; and secondly, only pre-registered data lines which have equal or larger index numbers than the reference number is searched according to the index numbers.