Computerized software development process and management environment
First Claim
1. A computerized method for managing development of software source code comprising:
- receiving a portion of software source code comprising at least a first expression,generating a parse tree corresponding to the first expression, the parse tree comprised of one or more nodes and at least some of the nodes corresponding to a token,storing the parse tree in a structured data store that is organized in accordance with rules and constructs of one or more particular programming languages,storing source code formatting information, wherein the step of storing source code formatting information comprises storing the source code formatting information for a specific user in accordance with formatting information provided by the specific user,receiving a query for the first expression,querying the structured data store for the parse tree corresponding to the first expression, andconverting the parse tree into a textual representation and providing the converted parse tree in a format in accordance with the formatting information.
0 Assignments
0 Petitions
Accused Products
Abstract
A software development system maps the organization and storage of software or code of a project in a structured database instead of in a series of discrete files and directories in a traditional file system. The code is analyzed and parsed to create parse trees for storage in the structured database. Individual software developers may be presented with the code taking the appearance of a traditional file based representation with each developer being able to have their own customized representation or view of the code to best suit their needs, preferences and current task. To facilitate migration to such system, tools are provided to export a snapshot of the structured database into discrete files in order that existing file based tools may continue to be used.
-
Citations
19 Claims
-
1. A computerized method for managing development of software source code comprising:
-
receiving a portion of software source code comprising at least a first expression, generating a parse tree corresponding to the first expression, the parse tree comprised of one or more nodes and at least some of the nodes corresponding to a token, storing the parse tree in a structured data store that is organized in accordance with rules and constructs of one or more particular programming languages, storing source code formatting information, wherein the step of storing source code formatting information comprises storing the source code formatting information for a specific user in accordance with formatting information provided by the specific user, receiving a query for the first expression, querying the structured data store for the parse tree corresponding to the first expression, and converting the parse tree into a textual representation and providing the converted parse tree in a format in accordance with the formatting information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer system for managing software development comprising:
-
a structured data store that contains a plurality of parse trees, each of the parse trees corresponding to an expression of software source code, the structured data store organized in accordance with rules and constructs of one or more particular programming languages, the structured data store further containing source code formatting information, wherein the source code formatting information comprises source code formatting information for a specific user stored in accordance with formatting information provided by the specific user, querying means for querying the structured data store for software source code corresponding to one or more query terms in a search query, the querying means querying the structured data store for parse trees that correspond to the one or more terms in the search query, and formatting means for generating software source code in textual form from the parse trees that correspond to the one or more terms in the search query. - View Dependent Claims (17, 18)
-
-
19. A computerized method for managing software development comprising:
- mapping the organization of software source code of a project by, for each expression in the software source code, scanning a series of characters corresponding to a selected expression;
lexically analyzing the series of characters to generate a corresponding sequence of tokens; categorizing each token; and transforming each sequence of tokens to create a parse tree corresponding to the sequence of tokens; storing each of the parse trees and each corresponding sequence of tokens in a structured database the database including a schema for a given programming language; storing formatting information corresponding to user preferences for viewing the software source code, wherein storing the formatting information comprises storing the formatting information for a specific user in accordance with formatting information provided by the specific user; retrieving from the database in response to a query for specified portions of the software source code, one or more parse trees corresponding to said query; and providing the parse trees corresponding to the query and providing formatting information corresponding to user preferences for viewing software source code corresponding to the parse trees, the formatting information permitting viewing of the specified portions of the software source code as a textual representation.
- mapping the organization of software source code of a project by, for each expression in the software source code, scanning a series of characters corresponding to a selected expression;
Specification