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

A parser is used to process files which contain POD or contain code: their filename extension is pod, pm, or pl (actually, this can be configured).

Currently distributed parsers:

  • OODoc::Parser::Markov

    The Markov parser understands standard POD, but adds logical markup tags and the M<> links.

OVERLOADED

METHODS

Constructors

OODoc::Parser->new(OPTIONS)

Inheritance knowledge

$obj->extends([OBJECT])

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--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)

Commonly used functions

$obj->filenameToPackage(FILENAME)

OODoc::Parser->filenameToPackage(FILENAME)

$obj->mkdirhier(DIRECTORY)

OODoc::Parser->mkdirhier(DIRECTORY)

Manual Repository

$obj->addManual(MANUAL)

$obj->mainManual(NAME)

$obj->manual(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.

Warning: Unknown option $name

    You have used the option with $name, which is not defined with the instantiation (the new method) of this object.

Warning: Unknown options @names

    You have used more than one option which is not defined to instantiate the object.

Error: manual definition requires manual object

SEE ALSO

This module is part of OODoc distribution version 1.03, built on March 14, 2008. Website: http://perl.overmeer.net/oodoc/

LICENSE

Copyrights 2003-2008 by Mark Overmeer. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html