User extensible, language sensitive database system
First Claim
1. In a computer system comprising a CPU, input/output means and memory containing a file system, said file system comprising at least one source file comprising text, a user-extensible database system in which source files of different source file types can be input into the database system and queries can be performed on the source files input using the same browsing mechanism, said database system comprising:
- source file type definition which defines the language of the source file to be input to the database system, said source file type definition comprising;
a properties statement which identifies properties of the language;
a tags statement which identifies semantic tags of the language, said semantic tags defined according to at least one property;
a filter statement which identifies at least one filter item for the language, said filter item defined according to at least one property;
compiler means for compiling the source file type definition to generate a filter description and tag set definition;
said tag set definition comprising a listing of each semantic tag for the language;
said filter description comprising a listing of the filter items for a language, each filter item comprising a filter name, the language in which the filter is used and at least one semantic tag determined according to the properties specified by the tags statement and filter statement in the source file definition;
database builder means to generate a database component file for a source file of a particular source file type, said database builder receiving as input the source file and the tag set definition for the source file type, said database builder comprising;
means for identifying each symbol in the source input file;
means for identifying the semantic tag, as set forth in the tag set definition file, for each symbol identified;
means for storing in the database component file the symbol, the line number where the symbol occurs in the source file and the semantic tag for each symbol occurrence in the source input file;
database browsing means for searching the database comprising at least one database component file in response to a query to find a symbol, said query identifying the symbol to search for and a filter item, said database browsing means comprising;
means for searching a database component file for each occurrence of the symbol identified by the query;
means for comparing the semantic tags of each occurrence of the symbol to the semantic tags specified for the filter item identified by the query;
means for generating as a result of the query those occurrences of the symbol identified by the query which has a semantic tag which matches one of the semantic tags of the filter item identified by the query;
whereby different types of source files can be input into the database system by providing a source file type definition and the same database browsing means is used to perform queries regardless of the input source file type.
1 Assignment
0 Petitions
Accused Products
Abstract
A database system for text files is employed which comprises a compiler which receives as input a description of the source file types or languages and search filter and outputs a tag set definition file and filter file to be used by the browsing mechanism. The tags set definition file is input to the database builder mechanism and is used by the database builder to select and translate the information from the input source file to a database component file. Thus, by providing a description of the source file type, any type of source file in any language can be input to the database system of the present invention to generate a database component file which may be subsequently reviewed and searched by the same browsing mechanism.
97 Citations
7 Claims
-
1. In a computer system comprising a CPU, input/output means and memory containing a file system, said file system comprising at least one source file comprising text, a user-extensible database system in which source files of different source file types can be input into the database system and queries can be performed on the source files input using the same browsing mechanism, said database system comprising:
-
source file type definition which defines the language of the source file to be input to the database system, said source file type definition comprising; a properties statement which identifies properties of the language; a tags statement which identifies semantic tags of the language, said semantic tags defined according to at least one property; a filter statement which identifies at least one filter item for the language, said filter item defined according to at least one property; compiler means for compiling the source file type definition to generate a filter description and tag set definition; said tag set definition comprising a listing of each semantic tag for the language; said filter description comprising a listing of the filter items for a language, each filter item comprising a filter name, the language in which the filter is used and at least one semantic tag determined according to the properties specified by the tags statement and filter statement in the source file definition; database builder means to generate a database component file for a source file of a particular source file type, said database builder receiving as input the source file and the tag set definition for the source file type, said database builder comprising; means for identifying each symbol in the source input file; means for identifying the semantic tag, as set forth in the tag set definition file, for each symbol identified; means for storing in the database component file the symbol, the line number where the symbol occurs in the source file and the semantic tag for each symbol occurrence in the source input file; database browsing means for searching the database comprising at least one database component file in response to a query to find a symbol, said query identifying the symbol to search for and a filter item, said database browsing means comprising; means for searching a database component file for each occurrence of the symbol identified by the query; means for comparing the semantic tags of each occurrence of the symbol to the semantic tags specified for the filter item identified by the query; means for generating as a result of the query those occurrences of the symbol identified by the query which has a semantic tag which matches one of the semantic tags of the filter item identified by the query; whereby different types of source files can be input into the database system by providing a source file type definition and the same database browsing means is used to perform queries regardless of the input source file type. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. In a computer system comprising a CPU, input/output means and memory containing a file system, said file system comprising at least one source file comprising text, a user-extensible process for generating a database from source files of different source file types and performing queries on the source files input using the same browsing mechanism, said process comprising the steps of:
-
creating a source file type definition which defines the language of the source file to be input to the database system, comprising the steps of; generating a properties statement which identifies properties of the language; generating a tags statement which identifies semantic tags of the language, said semantic tags defined according to at least one property; generating a filter statement which identifies at least one filter item for the language, said filter item defined according to at least one property; compiling the source file type definition to generate a filter description and tag set definition; said tag set definition comprising a listing of each semantic tag for the language; said filter description comprising a listing of the filter items for a language, each filter item comprising a filter name, the language in which the filter is used and at least one semantic tag determined according to the properties specified by the tags statement and filter statement in the source file definition; building a database component file for a source file of a particular source file type, comprising the steps of; receiving as input the source file and the tag set definition for the source file type, identifying each symbol in the source input file; identifying the semantic tag for each symbol, said semantic tag being one of those defined in the tag set definition file; storing in the database component file the symbol, the line number where the symbol occurs in the source file and the semantic tag for each symbol occurrence in the source input file; searching the database comprising at least one database component file in response to a query to find a symbol, said query identifying the symbol to search for and a filter item, comprising the steps of; searching a database component file for each occurrence of the symbol identified by the query; comparing the semantic tag of each occurrence of the symbol to the semantic tags specified for the filter item identified by the query; generating as a result of the query those occurrences of the symbol identified by the query which have semantic tags which match the semantic tags of the filter item identified by the query; whereby different types of source files can be input by providing a source file type definition and queries can be performed regardless of the input source file type.
-
Specification