There should never be only a single person who knows how a module/package/program works. What if that person gets hit by a bus?

For the sake of ensuring that I’m not the only one who understands the Ubiquity parser, I’ve written a page of documentation about it on the Mozilla wiki. It explains the algorithms used, with lots of examples and links to particular functions in the source code.

There are still a few TODOs where I need to fill in some details, but I hope what’s there will be useful to someone. Let me know if there’s a particular feature/class/function that you’d like to see further documented or explained.