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