Please read The Nessus Attack Scripting Language Reference Guide.
Here is what the man page says:
NASL comes from a private project called ``pkt_forge'', which was written in late 1998 by Renaud Deraison and which was an interactive shell to forge and send raw IP packets (this pre-dates Perl's Net::RawIP by a couple of weeks). It was then extended to do a wide range of net work-related operations and integrated into Nessus as ``NASL''.
The parser was completely hand-written and a pain to work with. In Mid-2002, Michel Arboi wrote a bison parser for NASL, and he and Renaud Deraison re-wrote NASL from scratch. Although the ``new'' NASL was nearly working as early as August 2002, Michel's lazyness made us wait for early 2003 to have it working completely.