Apparatus and methods for source code discovery
First Claim
1. A method of discovering information useful to a programmer about a specific aspect of the source code of a computer program, the source code being written and compiled in one of a plurality of language-environment combinations and the method comprising the steps of:
- receiving a dependent parse tree for the program which is generated as required by the language-environment combination used to write and compile the source code;
translating the dependent parse tree into an independent parse tree which is independent of the language-environment combination; and
analyzing the independent parse tree as required to obtain the information.
6 Assignments
0 Petitions
Accused Products
Abstract
Apparatus for discovering information about the source code of a computer program. The apparatus includes a translator for translating a parse tree produced for the program'"'"'s language in a specific programming environment into an independent parse tree and an analyzer for analyzing the independent parse tree to discover the information. The translator is generated by a translator generator from a specification for the language and the programming environment and the analyzer is generated by an analyzer generator from a specification of the information to be discovered. The specification of the information to be discovered may specify only methods of analysis which can be completed in polynomial time. Methods of using the apparatus are also disclosed.
-
Citations
13 Claims
-
1. A method of discovering information useful to a programmer about a specific aspect of the source code of a computer program, the source code being written and compiled in one of a plurality of language-environment combinations and the method comprising the steps of:
-
receiving a dependent parse tree for the program which is generated as required by the language-environment combination used to write and compile the source code; translating the dependent parse tree into an independent parse tree which is independent of the language-environment combination; and analyzing the independent parse tree as required to obtain the information. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A discovery tool for discovering information useful to a programmer about the source code of a program, the source code being written and compiled in one of a plurality of language-environment combinations and the discovery tool being characterized by:
-
a translator for translating a first parse tree representing the source code into a second parse tree representing the source code, the first parse tree being generated as required by the language-environment combination used to write and compile the source code and the second parse tree being independent of the language-environment combination; and means for discovering the information about the source code by analyzing the second parse tree. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A discovery tool for discovering information about the source code of a program, the discovery tool being of the type wherein the information is discovered by analyzing a parse tree representing the source code and wherein the discovery tool includes
an analyzer generator which receives a specification indicating a method by which the information may be obtained from the parse tree, and an analyzer generated by the analyzer generator from the specification, the analyzer being applied to the parse tree to obtain the information, the discovery tool being characterized in that: the specification has the property that any method indicated thereby can be completed in a length of time which is a polynomial function of the size of the parse tree.
Specification