htdb parse architecture

	suck a file completely into memory.

	recursively process any "#include"d files.

	make a single parse pass through the buffer,
	identifying "#define" blocks and cleaning them of any embedded comments.

	determine the type of "#define": simple, function, or tag.

	store each "#define" key/value pair into the hashtable appropriate
	for the type of the "#define"; each type has its own namespace.

	due to THE BUG, we also make an initial expansion pass at storage
	time (for type:simple defines).

roadmap

	a parse tree of the "value" part of a "#define" will be built at storage-time
	and the parse tree will be stored instead of a single string.

	the accessor functions will be re-written to use the parse tree instead
	of having to re-parse each key's value every time it is accessed.

	accessing a key's value will result its parse tree being traversed
	and values evaluated.

	determine a binary file format to store parse trees for speedy startup.

del@adjective.com
Wed May  2 22:29:32 PDT 2001
