HH::Unispool::Config::File::Tokenizer - file tokenizer module


NAME

HH::Unispool::Config::File::Tokenizer - file tokenizer module


SYNOPSIS

Application programmers don't need to use this class and API programmers read code.


ABSTRACT

file tokenizer module


DESCRIPTION

HH::Unispool::Config::File::Tokenizer generates HH::Unispool::Config::File::Token objects from an IO::Handle.


CONSTRUCTOR

new(OPT_HASH_REF)

Creates a new HH::Unispool::Config::File::Tokenizer object. OPT_HASH_REF is a hash reference used to pass initialization options. OPT_HASH_REF is mandatory. On error an exception Error::Simple is thrown.

Options for OPT_HASH_REF may include:

file

Passed to set_file(). Mandatory option.

got_buffer

Passed to set_got_buffer(). Must be an ARRAY reference.

unget_buffer

Passed to set_unget_buffer(). Must be an ARRAY reference.


METHODS

exists_got_buffer(ARRAY)

Returns the count of items in ARRAY that are in the got buffer.

exists_unget_buffer(ARRAY)

Returns the count of items in ARRAY that are in the unget buffer.

get()

Either unget a HH::Unispool::Config::File::Token from the unget buffer and return it or read a line from the file, make a HH::Unispool::Config::File::Token out of it and return it. On error a Error::Simple exception is thrown.

get_file()

Returns the file handle to read from.

get_got_buffer( [ INDEX_ARRAY ] )

Returns an ARRAY containing the got buffer. INDEX_ARRAY is an optional list of indexes which when specified causes only the indexed elements in the ordered list to be returned. If not specified, all elements are returned.

get_unget_buffer( [ INDEX_ARRAY ] )

Returns an ARRAY containing the unget buffer. INDEX_ARRAY is an optional list of indexes which when specified causes only the indexed elements in the ordered list to be returned. If not specified, all elements are returned.

input_line_number()

Return the last read input line number.

pop_got_buffer()

Pop and return an element off the got buffer. On error an exception Error::Simple is thrown.

pop_unget_buffer()

Pop and return an element off the unget buffer. On error an exception Error::Simple is thrown.

push_got_buffer(ARRAY)

Push additional values on the got buffer. ARRAY is the list value. On error an exception Error::Simple is thrown.

The values in ARRAY must be a (sub)class of:
HH::Unispool::Config::File::Token
push_unget_buffer(ARRAY)

Push additional values on the unget buffer. ARRAY is the list value. On error an exception Error::Simple is thrown.

The values in ARRAY must be a (sub)class of:
HH::Unispool::Config::File::Token
set_file(VALUE)

Set the file handle to read from. VALUE is the value. VALUE may not be undef. On error an exception Error::Simple is thrown.

VALUE must be a (sub)class of:
IO::Handle
set_got_buffer(ARRAY)

Set the got buffer absolutely. ARRAY is the list value. On error an exception Error::Simple is thrown.

The values in ARRAY must be a (sub)class of:
HH::Unispool::Config::File::Token
set_idx_got_buffer( INDEX, VALUE )

Set value in the got buffer. INDEX is the integer index which is greater than or equal to 0. VALUE is the value.

The values in ARRAY must be a (sub)class of:
HH::Unispool::Config::File::Token
set_idx_unget_buffer( INDEX, VALUE )

Set value in the unget buffer. INDEX is the integer index which is greater than or equal to 0. VALUE is the value.

The values in ARRAY must be a (sub)class of:
HH::Unispool::Config::File::Token
set_num_got_buffer( NUMBER, VALUE )

Set value in the got buffer. NUMBER is the integer index which is greater than 0. VALUE is the value.

The values in ARRAY must be a (sub)class of:
HH::Unispool::Config::File::Token
set_num_unget_buffer( NUMBER, VALUE )

Set value in the unget buffer. NUMBER is the integer index which is greater than 0. VALUE is the value.

The values in ARRAY must be a (sub)class of:
HH::Unispool::Config::File::Token
set_unget_buffer(ARRAY)

Set the unget buffer absolutely. ARRAY is the list value. On error an exception Error::Simple is thrown.

The values in ARRAY must be a (sub)class of:
HH::Unispool::Config::File::Token
shift_got_buffer()

Shift and return an element off the got buffer. On error an exception Error::Simple is thrown.

shift_unget_buffer()

Shift and return an element off the unget buffer. On error an exception Error::Simple is thrown.

unget()

Unget the last token by moving it from the got buffer to the unget buffer. On error a Error::Simple exception is thrown.

unshift_got_buffer(ARRAY)

Unshift additional values on the got buffer. ARRAY is the list value. On error an exception Error::Simple is thrown.

The values in ARRAY must be a (sub)class of:
HH::Unispool::Config::File::Token
unshift_unget_buffer(ARRAY)

Unshift additional values on the unget buffer. ARRAY is the list value. On error an exception Error::Simple is thrown.

The values in ARRAY must be a (sub)class of:
HH::Unispool::Config::File::Token


SEE ALSO

the HH::Unispool::Config manpage, the HH::Unispool::Config::DateFormat manpage, the HH::Unispool::Config::Entry manpage, the HH::Unispool::Config::Entry::Device manpage, the HH::Unispool::Config::Entry::Device::0 manpage, the HH::Unispool::Config::Entry::Device::1 manpage, the HH::Unispool::Config::Entry::Device::2 manpage, the HH::Unispool::Config::Entry::Device::3 manpage, the HH::Unispool::Config::Entry::Device::4 manpage, the HH::Unispool::Config::Entry::Device::5 manpage, the HH::Unispool::Config::Entry::Device::6 manpage, the HH::Unispool::Config::Entry::Device::7 manpage, the HH::Unispool::Config::Entry::Filter manpage, the HH::Unispool::Config::Entry::Numbered manpage, the HH::Unispool::Config::Entry::RemoteSystem manpage, the HH::Unispool::Config::Entry::RemoteSystem::3 manpage, the HH::Unispool::Config::Entry::RemoteSystem::6 manpage, the HH::Unispool::Config::Entry::RemoteSystem::7 manpage, the HH::Unispool::Config::Entry::RemoteSystem::8 manpage, the HH::Unispool::Config::Entry::System manpage, the HH::Unispool::Config::ExecPri manpage, the HH::Unispool::Config::File::Token manpage, the HH::Unispool::Config::File::Token::Comment manpage, the HH::Unispool::Config::File::Token::Comment::Cs manpage, the HH::Unispool::Config::File::Token::Comment::Date manpage, the HH::Unispool::Config::File::Token::Comment::Device manpage, the HH::Unispool::Config::File::Token::Comment::Filter manpage, the HH::Unispool::Config::File::Token::Comment::Group manpage, the HH::Unispool::Config::File::Token::Comment::Head manpage, the HH::Unispool::Config::File::Token::Comment::Misc manpage, the HH::Unispool::Config::File::Token::Comment::NetDesc manpage, the HH::Unispool::Config::File::Token::Comment::RSys manpage, the HH::Unispool::Config::File::Token::Comment::Scope manpage, the HH::Unispool::Config::File::Token::Comment::Tail manpage, the HH::Unispool::Config::File::Token::Factory manpage, the HH::Unispool::Config::File::Token::Numbered manpage, the HH::Unispool::Config::File::Token::Numbered::Device manpage, the HH::Unispool::Config::File::Token::Numbered::Device::0 manpage, the HH::Unispool::Config::File::Token::Numbered::Device::1 manpage, the HH::Unispool::Config::File::Token::Numbered::Device::2 manpage, the HH::Unispool::Config::File::Token::Numbered::Device::3 manpage, the HH::Unispool::Config::File::Token::Numbered::Device::4 manpage, the HH::Unispool::Config::File::Token::Numbered::Device::5 manpage, the HH::Unispool::Config::File::Token::Numbered::Device::6 manpage, the HH::Unispool::Config::File::Token::Numbered::Device::7 manpage, the HH::Unispool::Config::File::Token::Numbered::Device::Group manpage, the HH::Unispool::Config::File::Token::Numbered::Device::Info manpage, the HH::Unispool::Config::File::Token::Numbered::Device::P manpage, the HH::Unispool::Config::File::Token::Numbered::Network manpage, the HH::Unispool::Config::File::Token::Numbered::System manpage, the HH::Unispool::Config::File::Token::Numbered::System::3 manpage, the HH::Unispool::Config::File::Token::Numbered::System::6 manpage, the HH::Unispool::Config::File::Token::Numbered::System::7 manpage, the HH::Unispool::Config::File::Token::Numbered::System::8 manpage, the HH::Unispool::Config::File::Token::Numbered::System::Info manpage, the HH::Unispool::Config::File::Token::Numbered::X manpage, the HH::Unispool::Config::File::Token::Unnumbered manpage, the HH::Unispool::Config::File::Token::Unnumbered::Bcs manpage, the HH::Unispool::Config::File::Token::Unnumbered::CSN manpage, the HH::Unispool::Config::File::Token::Unnumbered::Cs manpage, the HH::Unispool::Config::File::Token::Unnumbered::CsBcs manpage, the HH::Unispool::Config::File::Token::Unnumbered::Filter manpage, the HH::Unispool::Config::File::Token::Unnumbered::Host manpage, the HH::Unispool::Config::File::Token::Unnumbered::Misc manpage, the HH::Unispool::Config::FilterType manpage, the HH::Unispool::Config::OS manpage, the HH::Unispool::Config::Scope manpage


BUGS

None known (yet.)


HISTORY

First development: February 2003 Last update: September 2003


AUTHOR

Vincenzo Zocca


COPYRIGHT

Copyright 2003 by Vincenzo Zocca


LICENSE

This file is part of the HH::Unispool::Config module hierarchy for Perl by Vincenzo Zocca.

The HH::Unispool::Config module hierarchy is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

The HH::Unispool::Config module hierarchy is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the HH::Unispool::Config module hierarchy; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA