Data processing: software development – installation – and managem – Software program development tool – Translation of code
Reexamination Certificate
1998-10-16
2001-01-09
Chaki, Kakali (Department: 2762)
Data processing: software development, installation, and managem
Software program development tool
Translation of code
C717S152000, C717S152000, C704S009000, C706S050000
Reexamination Certificate
active
06173441
ABSTRACT:
BACKGROUND OF THE INVENTION
The invention disclosed herein relates generally to computer language compilers. More particularly, the present invention relates to a method and system for compiling natural language instructions in a source code file into computer-executable code.
Most computer programmers prefer to write software programs in high-level languages, such as BASIC, Pascal, C, C++, Java, etc. These languages offer the ability to use instructions which are more flexible, easier to understand, and more intuitive than the limited machine level instructions directly executable by a processor. The source code files written in high-level languages are converted to machine level, object code files by compilers.
Despite the flexibility offered by high-level languages over machine language, modern computer languages are still relatively constraining when compared with non-computer, or natural, languages. Compilers require programmers to limit their programs to the constraints of the available computer languages and to adhere to the strict lexical and syntactical rules of the language. Any mistakes in lexicon or syntax result in errors and an ultimate failure of compilation.
It is therefore desirable to allow programmers to write programs in natural language. However, systems which have attempted to provide this ability usually require substantial processing and storage requirements and involve sophisticated and complex technical solutions such as artificial intelligence to translate natural language into program code. Moreover, while there are many types of problems that can be solved with natural language programming, there are other problems that are better solved with instructions or programs written in existing computer languages. For example, such computer tasks as memory management and processor scheduling are better solved with formal computer languages. In addition to this, existing formal languages already have extensive runtime environments that can be leveraged.
It is thus preferred to have programming languages that are hybrids of natural language and formal programming language. There is thus a need for a compiler which recognizes and processes such a hybrid language and allows programmers to make advantageous use of certain natural language instructions when writing a program, all without the substantial overhead incurred by prior attempts to translate natural language instructions into executable code.
BRIEF SUMMARY OF THE INVENTION
It is an object of the present invention to provide a method of compiling natural language source code instructions into computer-executable object code.
It is another object of the present invention to provide a method of compiling a source code file containing both natural language instructions and computer language (e.g., C++, Java) instructions into computer-executable object code.
It is an another object of the present invention to provide a computer program compiler which compiles natural language source code into computer-executable object code.
It is another object of the present invention to provide a computer programmer the ability to program a computer using natural language.
It is another object of the present invention to provide a computer program compiler which compiles source code containing both natural language and computer language (e.g., C++, Java) content.
The above and other objects are achieved by a method of compiling a source code file containing natural language instructions by using a component database, the component database associating one or more instruction declarations with each of a plurality of natural language instructions. For each of the natural language instructions contained in the source code file, one or more components, each of which having at least one instruction declaration associated with the natural language instruction, is selected, thus resulting in a set of possible solutions for the compilation of the source code file. One of the resulting set of possible solutions is selected and each of the plurality of natural language instructions is associated with one of the components in the selected solution. If there is a natural language instruction in the source code file for which there is not at least one component in the component database which has an instruction declaration associated with it, the compiler will generate a message alerting the user of the inability to compiler the source code file.
Preferably, the component database is stored in a memory, such as a computer's random access memory, a magnetic storage medium, or an optical memory system. Likewise, the source code file is preferably stored in a memory such as a computer's random access memory, a magnetic storage medium, or an optical memory system.
REFERENCES:
patent: 5038296 (1991-08-01), Sano
patent: 5179703 (1993-01-01), Evans
patent: 5303332 (1994-04-01), Kirk et al.
patent: 5530863 (1996-06-01), Hino
patent: 5640576 (1997-06-01), Kobayashi et al.
patent: 5758160 (1998-05-01), McInerney et al.
patent: 5768593 (1998-06-01), Walters et al.
patent: 5778231 (1998-07-01), Hoff et al.
patent: 5794050 (1998-08-01), Dahlgren et al.
patent: 5956513 (1999-09-01), McLain, Jr.
Bryant et al., “Formal Specification of Software Systems Using Two-Level Grammar,” IEEE COMPSAC '91, Proceedings of teh Fifteenth Annual Int'l of Computer Software and Applications Conference, Sep. 11-13, 1991, pp. 155-160.
Wang et al., “A System for Approximate Tree Matching,” IEEE Transactions on Knowledge and Data Engineering, vol. 6, Issue 4, pp. 559-571, 1994.
Wang et al., “Active Rule Processing in the BioCompose Database,” IEEE ISORC 98, Proceedings of 1998 First Int'l Symposium on Object-Oriented Real-time Distributed Computing, Apr. 20-22, 1998, pp. 431-437.*
Brown & Raysman Millstein Felder & Steiner LLP
Chaki Kakali
Dam Than Q.
LandOfFree
Method and system for compiling source code containing... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and system for compiling source code containing..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system for compiling source code containing... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2519478