NAME
Gfsm::Alphabet - object-oriented interface to libgfsm string alphabets.
SYNOPSIS
use Gfsm;
##------------------------------------------------------------
## Constructors, etc.
$abet = Gfsm::Alphabet->new(); # construct a new alphabet
$abet->clear(); # empty the alphabet
##--------------------------------------------------------------
## Alphabet properties
$lab = $abet->lab_min(); # get first allocated LabelId
$lab = $abet->lab_max(); # get last allocated LabelId
$n = $abet->size(); # get number of defined labels
$bool = $abet->utf8(?$bool); # get/set alphabet UTF-8 flag
##--------------------------------------------------------------
## Lookup & Manipulation
$lab = $abet->insert($key); # insert a key string
$lab = $abet->insert($key,$lab); # insert a key string, requesting label $lab
$lab = $abet->get_label($key); # get or insert label for $key
$lab = $abet->find_label($key); # get label for $key, else Gfsm::noLabel
$key = $abet->find_key($lab); # get key for label, else undef
$abet->remove_key($key); # remove a key, if defined
$abet->remove_label($lab); # remove a label, if defined
$abet->merge($abet2); # add $abet2 keys to $abet1
$labs = $abet->labels(); # get array-ref of all labels in $abet
##--------------------------------------------------------------
## I/O
$abet->load($filename_or_handle); # load AT&T-style .lab file
$abet->save($filename_or_handle); # save AT&T-style .lab file
##--------------------------------------------------------------
## String utilities
$labs = $abet->string_to_labels($str, $emit_warnings=1,$att_style=0); # string->labels
$str = $abet->labels_to_string($labs,$emit_warnings=1,$att_style=0); # labels->string
##--------------------------------------------------------------
## Conversion
$abet = $abet->fromHash(\%string2id); # add mappings from \%string2id_hash
$string2id = $abet->toHash(); # export mappings to hash-ref
$string2id = $abet->asHash(); # read-only access to underlying index
$abet = $abet->fromArray(\@id2string); # add mappings from \@id2string
$id2string = $abet->toArray(); # export mappings to array-ref
$id2string = $abet->asArray(); # read-only access to underlying index
DESCRIPTION
Gfsm::Alphabet provides an object-oriented interface to string symbol alphabets as used by the libgfsm library.
BUGS AND LIMITATIONS
Probably many.
SEE ALSO
Gfsm(3perl), gfsmutils(1).
AUTHOR
Bryan Jurish <moocow@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2005-2014 by Bryan Jurish
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.14.2 or, at your option, any later version of Perl 5 you may have available.