The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Language::Zcode::Parser - reads and parses a Z-code file into a big Perl hash

SYNOPSIS

    # Create a Pure Perl Parser
    my $pParser = new Language::Zcode::Parser "Perl";

    # If they didn't put ".z5" at the end, find it anyway
    $infile = $pParser->find_zfile($infile) || exit;

    # Read in the file, store it in memory
    $pParser->read_memory($infile);

    # Parse header of the Z-file
    $pParser->parse_header();

    # Get the subroutines in the file (LZ::Parser::Routine objects)
    my @subs = $pParser->find_subs($infile);

DESCRIPTION

For finding where the subroutines start and end, you can either depend on an external call to txd, a 1992 C program available at ifarchive.org, or a pure Perl version.

Everything else is done in pure Perl.

new (class, how to find subs, args...)

This is a factory method. Called with 'Perl' or 'TXD' (or 'txd') as arguments, it will create Parsers of LZ::Parser::Perl or LZ::Parser::TXD, which are subclasses of LZ::Parser::Generic.

That class' 'new' method will be called with any other passed-in args.