FYI, I don't know if you've come any further along with your parser, but I've rewritten mine, again, and I consider it very nearly feature complete at this stage. I've attached a little demonstration utility that understands some of the format of the readers.conf. The parser files are readers.[ch], and are generated from readers.g by my parser generator, tentatively titled GUCS. If you don't get the tarball, it's also available on my FTP site, ftp://ftp.jalacy.com/pub/src/gucs-inn-demo.tgz I hope that this brings across how easy it is in GUCS to support recursion, include files, and basic configuration support. There are a few things that you may view as shortcomings, though... 1) it's much more CPU-intensive than a configuration system needs to be. Configuration happens rarely enough that I didn't really care to sully my logical model with optimization. 2) it's procedural. Code blocks associated with parts of the syntax are executed when that syntax element is encountered. I don't consider this a drawback, but it means that there can't be any GUCS-local support for saving a config file that's been edited by a graphical utility... Support for that kind of thing has to be allowed for explicitly by whoever writes the .g files. 3) Argument passing is kind of funny... Arguments to realm/abstract types are only accessible in their start/finish code blocks, which may be a bit awkward. 4) Error reporting is difficult. At this point, though, I doubt I'll change any of the main ideas involved. 5) The config files parsed by GUCS generated .c files are not 100% backwards compatible with INN's, currently. Without knowing if you'd like to use this, that wasn't a priority, but I believe the incompatibilities can be almost completely fixed. 6) The parser-generator itself is incomplete, and relies on some functions that may not be portable. (asprintf(), at least.) If this is something you think INN would benefit from having, let me know... I started the project partly because I felt guilty about the readers.conf implementation, and I'd like to try and make up for that. --aidan -- Aidan Cully "Chihuahuahuahuahua." Not Panix Staff --The Sugercubes aidan@panix.com -- Binary/unsupported file stripped by Listar -- -- Type: application/x-tar-gz