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.