[FRPythoneers] Lumberjack: Design

Sean Reifschneider jafo at tummy.com
Sat May 6 17:01:00 MDT 2000

Ok, here's our first cut at the design.  CVS has the ends of our
sample markup and other stuff that's been worked on.  We're just
starting review of the design.

$Revision: 1.1 $

Controlling program
	Process command-line arguments
	Manges the running other parts.

	Given a name, return it's doc strings.
		Heirarchical list based on the target's structure.
			Module, name, __doc__
				Function, name, __doc__
				Class, name, __doc__
					Class, name, __doc__
					Function, name, __doc__

DocString Parser
	Given a __doc__ string, structure it.
		Process into lines.
		Initial text is part of an implicit @description tag.
		Deal with indentation.
			First line of text indicates initial base indentation.
			Further @tags must occur at that indentation.
			If the line following an @tag does not start with an @, it's
					indentation indicates that tags sub-paragraphs base
		Paragraphs are separated by blank lines.
		No empty paragraphs may exist.
			Ordered list of tags and their paragraphs.
				paragraph: indent=0, [ list of lines ]
				paragraph: indent=1, [ list of lines ]
				paragraph: indent=0, [ list of lines ]
				paragraph: indent=0, [ list of lines ]
				paragraph: indent=0, [ list of lines ]
	Given a structured document above, process tags into a final structure.

Output generators:
	Given a final structure above, turn it into the final output
 Microsoft treats objects like women, man...
                 -- Kevin Fenzi, paraphrasing the Dude, 1998
Sean Reifschneider, Inimitably Superfluous <jafo at tummy.com>
URL: <http://www.tummy.com/xvscan> HP-UX/Linux/FreeBSD/BSDOS scanning software.

More information about the FRPythoneers mailing list