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