I'm embarking on a quest to improve the script engine
I think a sensible thing to do is to use flex & bison to do the parsing. I'm going to guess at the near 18,000 lines in script.c, about 3000 of them are involved in parsing, and I think we can reduce that to maybe 100-200. This would simplify the file a lot, it'll help compile times and most importantly: it'll help us extend the language easier.
Work has been done recently (recently being in terms of the project but this was a few months ago ) to add an assignment operator... I would've thought any language would've added this in the beginnings of its life would've opted to use an operator instead of a keyword to set variables, so I can only guess it took so long because its too damned complicated.
There was also work done on the Lua project to replace the script engine with Lua... I really love the idea but I think it's just completely unrealistic. There are tens of thousands of lines of script source that will probably never be updated, because it works fine the way it is. So if we can decouple the parser, we can improve the language a lot easier and not have to resort to something as drastic as a complete rewrite.
I'm posting here to gauge feeling from the dev team. The idea is to write another parser equal to the current parser, so all existing scripts will function correctly. Does this subproject interest anyone out there?
Cheers!