It was suggested to use a well know scripting language. But: 1. NASL2 was already written, 2. those languages are “insecure” (no restriction), 3. they are not perfect: TCL behaviour looks like the bad NASL1 magic string conversion + TCL regex need manyyyyy backslashes, 4. this would make Nessus dependent upon other packages => more installation problems
Adding new operators makes the audit of submitted scripts harder.
PCRE are not available everywhere and run mad in some rare nasty cases (exponential time algorithms)
Storing the parsed syntax tree does not save time: Bison is efficient!