Method and system for compiling source code containing natural language instructions
First Claim
1. A method for compiling a source code file or portion thereof comprising natural language instructions, the method comprising:
- for each of a plurality of the natural language instructions in the source code, selecting one or more components having at least one instruction declaration associated with the natural language instruction; and
managing a set of one or more possible solutions, at least some of the possible solutions each containing one or more components selected for a plurality of natural language instructions.
0 Assignments
0 Petitions
Accused Products
Abstract
A system and method for compiling source code comprising natural language declarations, natural language method calls, and natural language control structures into computer-executable object code is disclosed. The system and method allow the compilation of source code containing both natural language and computer language into computer-executable object code. The system and method use a component database, containing components and associated natural language instructions, to select one or more components having an instruction declaration associated with the natural language instruction. A solution manager is used to resolve ambiguities inherent in the use of natural language instructions in the source code.
51 Citations
20 Claims
-
1. A method for compiling a source code file or portion thereof comprising natural language instructions, the method comprising:
-
for each of a plurality of the natural language instructions in the source code, selecting one or more components having at least one instruction declaration associated with the natural language instruction; and
managing a set of one or more possible solutions, at least some of the possible solutions each containing one or more components selected for a plurality of natural language instructions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
selecting one solution from the set of possible solutions; and
associating each of the plurality of natural language instructions with one of the components in the selected solution having an instruction declaration associated with the natural language instruction.
-
-
3. The method of claim 1, comprising generating a signature of each of the plurality of natural language instructions, and wherein each instruction declaration in the components contains at least in part a natural language instruction signature.
-
4. The method of claim 3, wherein the step of selecting one or more components for each natural language instruction comprises selecting one or more components having an instruction declaration containing a signature matching the generated signature for the natural language instruction.
-
5. The method of claim 1, wherein the step of managing the set of possible solutions comprises, for a first natural language instruction considered when the set of possible solutions is empty, establishing a possible solution for each of the one or more components selected for the natural language instruction.
-
6. The method of claim 5, wherein the step of managing the set of possible solutions comprises, for a second natural language instruction considered when the set of possible solutions contains one or more possible solutions, determining whether any of the one or more selected components for the second natural language instruction is contained in a possible solution in the set.
-
7. The method of claim 6, wherein the step of managing the set of possible solutions comprises, if at least one of the selected components for the second natural language instruction is contained in a possible solution in the set, eliminating from the set any possible solutions which do not contain at least one of the selected components for the second natural language instruction.
-
8. The method of claim 7, wherein the step of managing the set of possible solutions comprises determining whether any of the eliminated possible solutions contains a component which is not contained in a possible solution remaining in the set, and labeling such component as banned.
-
9. The method of claim 8, comprising determining whether any component selected for a given natural language instruction has been labeled as banned and reversing the selection of the banned component.
-
10. The method of claim 6, wherein the step of managing comprises, if none of the one or more selected components for the second natural language instruction is contained in a possible solution in the set, adding each of the one or more selected components to each possible solution to create a new possible solution for each possible solution containing each of the one or more selected components for the second natural language instruction.
-
11. A computerized system for mapping natural language instructions in a source code file or portion thereof to instruction declarations, the system comprising:
-
a component database stored in a memory containing a plurality of program components each associated with one or more instruction declarations;
a components selector for matching each of the natural language instructions with an instruction declaration in the component database and for selecting the one or more components associated therewith; and
a solution manager for identifying a solution comprising a set of one or more components such that each natural language instruction is associated with a component in the set. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A system for compiling a source code file comprising natural language instructions, or portion thereof, the system comprising:
-
a database stored on a computer-readable medium, the database comprising a data structure linking components and instruction declarations;
first processing means connected to the computer-readable medium for selecting from the database those components having at least one instruction declaration associated with at least one of the natural language instructions;
a memory for storing a set of one or more possible solutions, at least some of the possible solutions each containing one or more components selected for a plurality of natural language instructions; and
second processing means for selecting one solution from the set of possible solutions. - View Dependent Claims (18, 19, 20)
-
Specification