Technology

Natural Language Programming

NLCI example

BAI is developing technology for compilation of natural language statements into source code. BAI Natural Language Compiler technology includes the following features

  • Object Orientated design
  • Multiple language support for low level compilation
    (C++ currently configured)
  • Visual Debugging with network view
  • Declaration of function prototypes (hybrid NL programming)
  • User Customisation of libraries
  • Direct execution flow and articulate class contents
  • Dynamic (implicit) determination of variables and classes
  • Logical conditions (if, while, for) and conjunctions (and, or)
  • MathText (equations)
  • MathText exclusive variables (numerical/string/boolean single word entities; e.g. "X")
  • Math objects (numerical/string/boolean natural language entities; e.g. "The value")
  • Context maintenance (GIA and NLC referencing)
  • Function argument synchronisation
  • NLC stdlib (move, copy, read, write, print, etc)
  • NLCI graphical user interface
  • Operating system independent development - ISO C++ (currently supported by Linux EL6/EL7/UB14/UB16/UB20 and Microsoft Windows 7/8/10)

This technology is not currently being maintained and it is recommended to use a modern vectorised and hardware accelerated implementation (e.g. TensorFlow/PyTorch).

Technology Name Support Source License Source Documentation
Natural Language Compiler (NLC) LinuxRed Hat LinuxUbuntu LinuxWin AGPLv3 (view source online) Auto Documentation