Why use Alaparser over the alternatives?
- The entire library is built to be extendable and overridable, such that you can get it to work exactly like you want. None of the other parsers currently available are built to be extended.
- Despite that, Alaparser works out-of-the-box by simply creating a single datum, defining the structure for commands and sending client input to the parser.
- Things which games often want to customize (Such as what text should match a mob or obj) are made to be very easy to customize.
- AbyssDragon.Parser has outstanding bugs, that won't get fixed because AbyssDragon is no longer on BYOND. It also requires quotes around text arguments, which is very impractical for MUDs you connect to via telnet.
- Ebonshadow's MUD parser has severe constraints on command format, and does not resolve command arguments very well.
- There is no noticeable performance difference between the ones I've tested (Alaparser, and AbyssDragon.Parser); both pretty much parse between 4000 - 6000 commands per second, which is enough unless you have over a few thousand players online in a single DD instance. In which case you probably have other problems (And a great MUD!).
Documentation for the library is an on-going process, and is not entirely done yet. There is a fairly comprehensive demo as part of the library, that showcases many of the different features of the command syntax.
This project is also hosted on GitHub here, feel free to submit issues there (or here), patches, etc..
The parser already supports enough features to be fully functional for any MUD usage; the ones left are basically niceties (Such as being able to define aliases for a command). You can check the issue tracker on GitHub for regular updates, and I'll try and keep the version on the BYOND hub as up-to-date as possible, until the library is on a more stable version.