The Cornell program synthesizer: a syntax-directed programming environment
Communications of the ACM
Incremental compilation in Magpie
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
The SAGA project: A system for software development
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
EMACS: The Extensible, Customizable, Self-Documenting Display Editor
EMACS: The Extensible, Customizable, Self-Documenting Display Editor
Principles of Compiler Design (Addison-Wesley series in computer science and information processing)
Principles of Compiler Design (Addison-Wesley series in computer science and information processing)
Hi-index | 0.00 |
Program Synthesizers are becoming increasingly useful for program creation. However, a majority of these synthesizers are apparently not truly language sensitive. This is indicated by the fact that most of them use error-correcting parsers. We consider the Program Synthesizer as a formal predictive sentence generator with control given to the programmer. For the purpose of generating a (syntactically) correct sentence (or program), our method relies heavily on the underlying LL(k) parse-table for the corresponding programming language. The method demonstrates our 'Prevention is Better than Correction' notion and correspondingly the need for an error-correcting parser can be eliminated. Our method also eliminates the need for 'fetch-template' commands, thus accelerating the program entry. Finally an example session is shown with a non-trivial subset of Modula-2.