This commit is contained in:
Nick Bebout 2012-09-02 19:08:57 -05:00
parent 495d5a9526
commit c08a56e486
277 changed files with 692 additions and 10803 deletions

View file

@ -0,0 +1,21 @@
COPYRIGHT
Copyright 1999, 2000, 2001, 2002 , 2003 The Kernen Group, Inc.
All rights reserved.
This program is free software; you can redistribute it and/or modify it
under the terms of either:
a) the "Artistic License" which comes with this Kit, or
b) the GNU General Public License as published by the Free Software
Foundation; either version 1, or (at your option) any later version.
This program 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 either the GNU
General Public License or the Artistic License for more details. All your
base are belong to us.

View file

@ -0,0 +1,45 @@
use ExtUtils::MakeMaker;
use Parse::RecDescent;
unlink './Thread.pm' if -f './Thread.pm';
sub MY::top_targets {
package MY;
my $inherit = shift->SUPER::top_targets(@_);
my @inherit = split("\n",$inherit);
for (@inherit) {
if ( /^\s*all\s*:{1,2}/ ) {
s/(all\s*:{1,2}\s*)/$1Thread\.pm /;
}
}
return join("\n",@inherit);
}
sub MY::clean {
package MY;
my $inherit = shift->SUPER::clean(@_);
return join("\n",$inherit," rm Thread.pm") ;
}
sub MY::postamble {
my $string =
'@$(PERL) "-MParse::RecDescent" "-" ' .
'"Thread.grammar" '.
'"Mail::IMAPClient::Thread"' ;
return "Thread.pm: Thread.grammar\n\t$string\n\n";
}
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
#print "",MY->top_target;
WriteMakefile(
'NAME' => 'Mail::IMAPClient::Thread',
'VERSION_FROM' => '../IMAPClient.pm',
'PREREQ_PM' => {"Parse::RecDescent" => 0 },
'PM' => {
'Thread.pm' =>
'$(INST_LIBDIR)/Thread.pm'
},
);

View file

@ -0,0 +1,19 @@
# Atoms:
NUMBER: /\d+/
# Rules:
threadmember: NUMBER { $return = $item{NUMBER} ; } |
thread { $return = $item{thread} ; }
thread: "(" threadmember(s) ")"
{
$return = $item{'threadmember(s)'}||undef;
}
# Start:
start: /^\* THREAD /i thread(s?) {
$return=$item{'thread(s?)'}||undef;
}

View file

@ -0,0 +1,19 @@
# Atoms:
NUMBER: /\d+/
# Rules:
threadmember: NUMBER { $return = $item{NUMBER} ; } |
thread { $return = $item{thread} ; }
thread: "(" threadmember(s) ")"
{
$return = $item{threadmember}||undef;
}
# Start:
start: /^\* THREAD /i thread(s?) {
$return=$item{thread}||undef;
}

View file

@ -0,0 +1,21 @@
package Mail::IMAPClient::Thread;
$Mail::IMAPClient::Thread::VERSION = "0.0.1";
$Mail::IMAPClient::Thread::VERSION = "0.0.1";
=head1 NAME
Mail::IMAPClient::Thread -- used internally by Mail::IMAPClient->thread
=head1 DESCRIPTION
This module is used internally by L<Mail::IMAPClient> and is
generated using L<Parse::RecDescent>. It is not meant to be used directly by
other scripts nor is there much point in debugging it.
=head1 SYNOPSIS
This module is used internally by L<Mail::IMAPClient> and is not meant to
be used or called directly from applications. So don't do that.
=cut

View file

@ -0,0 +1,70 @@
# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl test.pl'
# $Id: thread.t,v 1.1 2002/08/30 20:50:43 dkernen Exp $
######################### We start with some black magic to print on failure.
# Change 1..1 below to 1..last_test_to_print .
use Mail::IMAPClient::Thread;
BEGIN {
print "1..6\n";
$main::loaded = 1;
$| = 1;
print "ok 1\n";
}
$t1 = <<'e1';
* THREAD (166)(167)(168)(169)(172)(170)(171)(173)(174 175 176 178 181 180)(179)(177 183 182 188 184 185 186 187 189)(190)(191)(192)(193)(194 195)(196 197 198)(199)(200 202)(201)(203)(204)(205)(206 207)(208)
e1
$t2 = <<'e2';
* THREAD (166)(167)(168)(169)(172)((170)(179))(171)(173)((174)(175)(176)(178)(181)(180))((177)(183)(182)(188 (184)(189))(185 186)(187))(190)(191)(192)(193)((194)(195 196))(197 198)(199)(200 202)(201)(203)(204)(205 206 207)(208)
e2
my $parser = Mail::IMAPClient::Thread->new;
if ( $parser ) {
print "ok 2\n";
} else {
print "not ok 2\n";
}
my $thr1 = $parser->start($t1) ;
if ( $thr1 ) {
print "ok 3\n";
} else {
print "not ok 3\n";
}
if ( scalar(@$thr1) == 25 ) {
print "ok 4\n";
} else {
print "not ok 4\n";
}
my $thr2 = $parser->start($t2) ;
if ( $thr2 ) {
print "ok 5\n";
} else {
print "not ok 5\n";
}
if ( scalar(@$thr2) == 23 ) {
print "ok 6\n";
} else {
print "not ok 6\n";
}
END {print "not ok 1\n" unless $main::loaded;}
# History:
# $Log: thread.t,v $
# Revision 1.1 2002/08/30 20:50:43 dkernen
#
# Added Files: Thread/Makefile.PL Thread/Thread.grammar Thread/Thread.pod
# Added Files: Thread/t/thread.t
#
#