ACM SIGPLAN Notices · 1984 · 371 citations · 8 references
ComputingComputer ScienceDesign AutomationNatural Language ProcessingProgramming LanguagesCode GenerationHigh-level SynthesisNatural Language GenerationFeedback-driven GenerationLanguage GenerationProgram SynthesisSoftware SynthesizersUser-guided Generation
Programs are hierarchical compositions of formulae satisfying structural and extra-structural relationships. A program editor can use knowledge of such relationships to detect and provide immediate feedback about violations of them. The Synthesizer Generator is a tool for creating such editors from language descriptions. An editor designer specifies the desired relationships and the feedback to be given when they are violated, as well as a user interface; from the specification, the Synthesizer Generator creates a full-screen editor for manipulating programs in the language.
8
Semantics of context-free languages
Donald E. Knuth · Theory of Computing Systems · 1968 · 2K citations
The Cornell program synthesizer
Tim Teitelbaum, Thomas Reps · Communications of the ACM · 1981 · 709 citations · Full text
Proving Properties of Programs by Structural Induction
R. M. Burstall · The Computer Journal · 1969 · 327 citations