NAME
OODoc::Parser - base class for all OODoc parsers.
INHERITANCE
OODoc::Parser
is a OODoc::Object
OODoc::Parser is extended by
OODoc::Parser::Markov
SYNOPSIS
# Never instantiated directly.
DESCRIPTION
METHODS
Parsing a file
$obj->parse(OPTIONS)
Parse the specified input file into a code file and an object tree which describes the pod. Returned is a list of package objects which contain the docs found in this file.
Option Defined in Default
input <required>
output <black hole>
. input FILENAME
The name of the input file.
. output FILENAME
Where to write the produced code to. If no filename is specified, the platform dependend black hole is used (/dev/null on UNIX).
Formatting text pieces
After the manuals have been parsed into objects, the information can be formatted in various ways, for instance into POD and HTML. However, the parsing is not yet complete: the structure has been decomposed with parse(), but the text blocks not yet. This is because the transformations which are needed are context dependent. For each text section cleanup() is called for the final touch.
$obj->cleanup(FORMATTER, MANUAL, STRING)
Initiation
OODoc::Parser->new(OPTIONS)
Inheritance
$obj->extends([OBJECT])
Commonly used functions
$obj->filenameToPackage(FILENAME)
OODoc::Parser->filenameToPackage(FILENAME)
$obj->mergeObjects(OPTIONS)
$obj->mkdirhier(DIRECTORY)
OODoc::Parser->mkdirhier(DIRECTORY)
$obj->unique
Manual database
All manuals can be reached everywhere in the program: it is a global collection.
$obj->addManual(MANUAL)
$obj->mainManual(NAME)
$obj->manuals
$obj->manualsForPackage(NAME)
$obj->packageNames
DIAGNOSTICS
Error: The formatter type $class is not known for cleanup
Text blocks have to get the finishing touch in the final formatting phase. The parser has to fix the text block segments to create a formatter dependent output. Only a few formatters are predefined.
Error: manual definition requires manual object
A call to addManual() expects a new manual object (a OODoc::Manual), however an incompatible thing was passed. Usually, intended was a call to manualsForPackage() or mainManual().
Warning: order conflict "$take" before "$insert" in $file line $number
The order of the objects in a sub-class shall be the same as that of the super class, otherwise the result of merging of the information received from both classes is undertermined.
REFERENCES
See the OODoc website at $website for more details.
COPYRIGHTS
Module version $version. Written by Mark Overmeer (mark@overmeer.net). See the ChangeLog for other contributors.
Copyright (c) 2001-2002 by the authors. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.