++ed by:

2 non-PAUSE users.

Paul Johnson

NAME

Gedcom::Grammar - a class to manipulate Gedcom grammars

Version 1.04 - 29th May 1999

SYNOPSIS

  use Gedcom::Grammar;

  my $st = $grammar->structures("GEDCOM")
  my $sgr = $grammar->child("DATE")
  my @children = $grammar->valid_children

DESCRIPTION

A selection of subroutines to handle the grammar of a gedcom file.

Derived from Gedcom::Item.

HASH MEMBERS

Some of the more important hash members are:

$grammar->{top}

The top of the grammar tree.

$grammar->{top}{structures}

A reference to a hash mapping the names of all structures to the grammar objects.

METHODS

structures

  my $st = $grammar->structures("GEDCOM")

Return the grammar item of the specified structure, if it exists, or undef.

child

  my $sgr = $grammar->child("DATE")

Return the grammar item of the specified child, if it exists, or undef.

min

  my $min = $grammar->min

Return the minimum permissible number of $grammar items

max

  my $max = $grammar->max

Return the maximum permissible number of $grammar items

children

  my @children = $grammar->children

Return a list of tags of the grammar's children

valid_children

  my @children = $grammar->valid_children

Return a hash detailing all the valid children of the grammar item. The key is the tag of the child and the value is another hash with three members:

  grammar => the child grammar
  min     => the minimum permissible number of these children
  max     => the maximum permissible number of these children