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 exceptionError::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 aHH::Unispool::Config::File::Token
out of it and return it. On error aError::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 exceptionError::Simple
is thrown. - push_unget_buffer(ARRAY)
-
Push additional values on the unget buffer.
ARRAY
is the list value. On error an exceptionError::Simple
is thrown. - set_file(VALUE)
-
Set the file handle to read from.
VALUE
is the value.VALUE
may not beundef
. On error an exceptionError::Simple
is thrown. - set_got_buffer(ARRAY)
-
Set the got buffer absolutely.
ARRAY
is the list value. On error an exceptionError::Simple
is thrown. - set_idx_got_buffer( INDEX, VALUE )
-
Set value in the got buffer.
INDEX
is the integer index which is greater than or equal to0
.VALUE
is the value. - set_idx_unget_buffer( INDEX, VALUE )
-
Set value in the unget buffer.
INDEX
is the integer index which is greater than or equal to0
.VALUE
is the value. - set_num_got_buffer( NUMBER, VALUE )
-
Set value in the got buffer.
NUMBER
is the integer index which is greater than0
.VALUE
is the value. - set_num_unget_buffer( NUMBER, VALUE )
-
Set value in the unget buffer.
NUMBER
is the integer index which is greater than0
.VALUE
is the value. - set_unget_buffer(ARRAY)
-
Set the unget buffer absolutely.
ARRAY
is the list value. On error an exceptionError::Simple
is thrown. - 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 exceptionError::Simple
is thrown. - unshift_unget_buffer(ARRAY)
-
Unshift additional values on the unget buffer.
ARRAY
is the list value. On error an exceptionError::Simple
is thrown.
SEE ALSO
HH::Unispool::Config, HH::Unispool::Config::DateFormat, HH::Unispool::Config::Entry, HH::Unispool::Config::Entry::Device, HH::Unispool::Config::Entry::Device::0, HH::Unispool::Config::Entry::Device::1, HH::Unispool::Config::Entry::Device::2, HH::Unispool::Config::Entry::Device::3, HH::Unispool::Config::Entry::Device::4, HH::Unispool::Config::Entry::Device::5, HH::Unispool::Config::Entry::Device::6, HH::Unispool::Config::Entry::Device::7, HH::Unispool::Config::Entry::Filter, HH::Unispool::Config::Entry::Numbered, HH::Unispool::Config::Entry::RemoteSystem, HH::Unispool::Config::Entry::RemoteSystem::3, HH::Unispool::Config::Entry::RemoteSystem::6, HH::Unispool::Config::Entry::RemoteSystem::7, HH::Unispool::Config::Entry::RemoteSystem::8, HH::Unispool::Config::Entry::System, HH::Unispool::Config::ExecPri, HH::Unispool::Config::File::Token, HH::Unispool::Config::File::Token::Comment, HH::Unispool::Config::File::Token::Comment::Cs, HH::Unispool::Config::File::Token::Comment::Date, HH::Unispool::Config::File::Token::Comment::Device, HH::Unispool::Config::File::Token::Comment::Filter, HH::Unispool::Config::File::Token::Comment::Group, HH::Unispool::Config::File::Token::Comment::Head, HH::Unispool::Config::File::Token::Comment::Misc, HH::Unispool::Config::File::Token::Comment::NetDesc, HH::Unispool::Config::File::Token::Comment::RSys, HH::Unispool::Config::File::Token::Comment::Scope, HH::Unispool::Config::File::Token::Comment::Tail, HH::Unispool::Config::File::Token::Factory, HH::Unispool::Config::File::Token::Numbered, HH::Unispool::Config::File::Token::Numbered::Device, HH::Unispool::Config::File::Token::Numbered::Device::0, HH::Unispool::Config::File::Token::Numbered::Device::1, HH::Unispool::Config::File::Token::Numbered::Device::2, HH::Unispool::Config::File::Token::Numbered::Device::3, HH::Unispool::Config::File::Token::Numbered::Device::4, HH::Unispool::Config::File::Token::Numbered::Device::5, HH::Unispool::Config::File::Token::Numbered::Device::6, HH::Unispool::Config::File::Token::Numbered::Device::7, HH::Unispool::Config::File::Token::Numbered::Device::Group, HH::Unispool::Config::File::Token::Numbered::Device::Info, HH::Unispool::Config::File::Token::Numbered::Device::P, HH::Unispool::Config::File::Token::Numbered::Network, HH::Unispool::Config::File::Token::Numbered::System, HH::Unispool::Config::File::Token::Numbered::System::3, HH::Unispool::Config::File::Token::Numbered::System::6, HH::Unispool::Config::File::Token::Numbered::System::7, HH::Unispool::Config::File::Token::Numbered::System::8, HH::Unispool::Config::File::Token::Numbered::System::Info, HH::Unispool::Config::File::Token::Numbered::X, HH::Unispool::Config::File::Token::Unnumbered, HH::Unispool::Config::File::Token::Unnumbered::Bcs, HH::Unispool::Config::File::Token::Unnumbered::CSN, HH::Unispool::Config::File::Token::Unnumbered::Cs, HH::Unispool::Config::File::Token::Unnumbered::CsBcs, HH::Unispool::Config::File::Token::Unnumbered::Filter, HH::Unispool::Config::File::Token::Unnumbered::Host, HH::Unispool::Config::File::Token::Unnumbered::Misc, HH::Unispool::Config::FilterType, HH::Unispool::Config::OS, HH::Unispool::Config::Scope
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