Volume 10, Number 04, April 2020
Code Generation Based on Inference and Controlled Natural Language Input
Authors
Howard Dittmer and Xiaoping Jia, DePaul University, USA
Abstract
Over time the level of abstraction embodied in programming languages has continued to grow. Yet, most programming languages still require programmers to conform to the language's rigid constructs. These constructs have been implemented in the name of efficiency for the computer. The continual increase in computing power allows us to consider techniques that are no longer limited by this constraint. To this end, we have created CABERNET, a Controlled Nature Language (CNL) approach. CABERNET allows programmers to use a simple outline-based syntax. This allows increased programmer efficiency and syntax flexibility. CNLs have successfully been used for writing requirements documents. We propose taking this approach well beyond this to fully functional programs. Our approach uses heuristics and inference to analyze and determine the programmer's intent. The goal is for programs to be aligned with the way that the humans think rather than the way computers process information.
Keywords
Controlled Natural Language, Literate Programming, Programming Language, ComputerAided Software