I just spent the last 2 hours hacking around on the new parser, and it is progressing smoothly... a full room (plus exit and extradesc) parser should be ready soon, with the other parsers too follow. At the moment, the following features are finished or nearly finished: * C-style comments * Streaming * Strings are stored within "" and other " and special chars (newlines/etc) are \'d (backslash-escaped). * Searches for a keyword (single word), followed by an '='. Ignores strays (those not followed by an '=' but rather another keyword), with error-reporting (also known as error recovery :-). * Ignores white space except when necessary (i.e, in strings) Probably others that I'm forgetting :-) Its 5 am... The current implementation uses a seperate function for each structure to be parsed (room_parser, exit_parser, direction_parser, exdesc_parser), and uses buffers. Once this version is complete and working, I am going to rework the system to not use multiple buffers (at the rate of one per parser depth) but rather work somewhat like strsep() and strtok() do. - Chris Jacobson +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST