Gedcom::Grammar(3)

NAME
Gedcom::Grammar - a module to manipulate GEDCOM grammars

Version 1.22 - 15th November 2019

SYNOPSIS
  use Gedcom::Grammar;

  my $st = $grammar->structure("GEDCOM");
  my @sgr = $grammar->item("DATE");
  my @items = $grammar->valid_items;
  my $min = $grammar->min;
  my $max = $grammar->max;
  my @items = $grammar->items;

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->structure("GEDCOM");

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

  item
  my @sgr = $grammar->item("DATE");

Return a list of the possible grammar items of the specified sub-item, if it exists.

  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

  items
  my @items = $grammar->items;

Return a list of tags of the grammar's sub-items

  valid_items
  my @items = $grammar->valid_items;

Return a hash detailing all the valid sub-items of the grammar item. The key is the tag of the sub-item and the value is an array of hashes with three members:

  grammar => the sub-item grammar
  min     => the minimum permissible number of these sub-items
  max     => the maximum permissible number of these sub-items