LISTSERV mailing list manager LISTSERV 16.5

Help for CONLANG Archives


CONLANG Archives

CONLANG Archives


CONLANG@LISTSERV.BROWN.EDU


View:

Message:

[

First

|

Previous

|

Next

|

Last

]

By Topic:

[

First

|

Previous

|

Next

|

Last

]

By Author:

[

First

|

Previous

|

Next

|

Last

]

Font:

Proportional Font

LISTSERV Archives

LISTSERV Archives

CONLANG Home

CONLANG Home

CONLANG  April 2009, Week 3

CONLANG April 2009, Week 3

Subject:

Re: TECH: Regular expression for syllable division?

From:

Benct Philip Jonsson <[log in to unmask]>

Reply-To:

Constructed Languages List <[log in to unmask]>

Date:

Fri, 17 Apr 2009 15:21:37 +0200

Content-Type:

text/plain

Parts/Attachments:

Parts/Attachments

text/plain (352 lines)

 > Ämne: Re: [CONLANG] TECH: Regular expression for syllable 
division?
 > Från: "Mark J. Reed" <[log in to unmask]>
 > Datum: Thu, 16 Apr 2009 15:27:02 -0400
 > Till: [log in to unmask]
 >
 > On Thu, Apr 16, 2009 at 2:25 PM, Benct Philip Jonsson 
<[log in to unmask]> wrote:
 > > > On 2009-04-16 Carsten Becker wrote:
 > > > #!/usr/bin/perl
 > > > use strict;
 > > > use warnings;
 > > > use utf8;
 > > > use Encode qw/decode encode/;
 > > >
 > > > my $V = qr/[aeiou]/;
 > > > my $C = qr/[^aeiou]/;
 > > > my $syll = 
qr{$C{0,2}$V$C?\b|$C{0,2}$V$C(?=$C)|$C{0,2}$V};
 >
 > In words:
 > 0 to 2 consonants followed by exactly one vowel followed 
by 0 or 1
 > consonants followed by a word boundary, or
 > 0 to 2 consonants followed by exactly one vowel followed by a
 > consonant, if that consonant is followed by another 
consonant, or
 > 0 to 2 consonants followed by exactly one vowel.
 >
 > First, the common prefix can be factored out there:
 >
 > my $syll = qr{$C{0,2}$V(?:$C?\b|$C(?=$C))?};

Sure, but that doesn't make the regex easier to
parse for a human!

 > but second, syllables are allowed to begin with a pair of 
consonants.
 > The above would turn "adrisu" into "ad.ri.su" instead of 
the desired
 > "a.dri.su".

Oh, I noticed that only on second reading!

 > So, given a word with the pattern VCCV, can you actually 
determine -
 > without knowing the lexicon ahead of time - whether it's 
(V)(CCV) or
 > (VC)(CV)?   Does putting a C in front of or after the 
whole thing
 > change that answer at all?  You might have to define separate
 > categories for liquids or whatever determines that.

It clearly applies not to all CC clusters --
_prantan_ is _pran.tan_ -- but presumably only to
$C[rl] and if so it's easy enough to add:

	my $syll = qr{$C{0,2}$V(?:$C?\b|(?=$C[rl])|$C(?=$C))?};

NB (?=$C[rl]) has to go before $C(?=$C) so that it'll get
	its chance to match before the engine sees other kinds of
	CC clusters.  Also I'm aware that (?=$C[rl]) may be too
	simplistic; maybe it should be something like:

		(?=[td]r|[pbkg][rl]|$C[y])

This will give divisions like the following which
are probably the desired ones:

	adrisu
	a dri su
	adlisu
	ad li su
	aklang
	a klang
	akyang
	a kyang
	aktang
	ak tang
	anlang
	an lang
	amrang
	am rang


 > > > while(<>){
 > > >        exit unless /\S/;
 >
 > Curious - why exit the whole program when you get a blank 
line?

Because I run it interactively from the command line:

	~$perl sylls.pl <return>
	<enter word> <return>
	<get word divided into syllables>
	...
	<return>
	<exit program>

I guess that behavior could and should be subject to an option

 > > >        my $str = decode utf8 => $_;
 > > >        print encode utf8 => "@sylls\n";
 >
 > Getting far OT, but purely as a matter of programming 
style, I think
 > the fat comma is misleading here since the direction of 
information
 > flow is from $_ and into $str.

That depends on how you translate utf8 => $_ into natural
language; I translate it as "apply utf8 to $_" and so I
have no problem.  So shoot me for it.

 >
 > -- Mark J. Reed <[log in to unmask]> Ämne: Re: [CONLANG] 
TECH: Regular expression for syllable division?
 > Från: "Mark J. Reed" <[log in to unmask]>
 > Datum: Thu, 16 Apr 2009 15:41:06 -0400
 > Till: [log in to unmask]
 >
 > > > Also thanks Benct, I'll try your script. I only need 
to adjust it so
 > > > that $V includes āēīō and the diphthongs (which I've 
collapsed to one
 > > > letter).
 >
 > Make sure Perl sees āēīō as one letter each, too.  It's 
pretty good
 > about Unicode things if you use the encoding and utf8 
pragmas as Benct
 > did:

 > It's important because character classes - that is, 
things like
 > [aeiou] and [^aeiou] - only match one character.  If you 
have to deal
 > with possible multi-character sequences, the positive 
match is still
 > straightforward - you use something like (?:a|e|i|o|u) - 
but the
 > second one becomes a harder problem.  Of course, defining 
a consonant
 > as "everything that's not a vowel" is lazy,  and not 
necessarily in
 > the good Perl way.  It's better to make an explicit list 
of the
 > consonants, which you probably have to do anyway in order 
to divide
 > them up into whatever subcategories determine the proper
 > syllabification of words like "adrisu".

Actually these work just dandy

	my $V = qr/ai|ei|oi|ui|au|eu|iu|ou|[aeiouāēīō]/;
	my $C = qr/(?:ng|[bcdfghj-np-tv-z])/;

with the sets of digraphs modified to match the phonology of 
course
and with utf8 and Encode pragmas in use of course[^1].

Generally speaking you define a class as an
alternation where you list the polygraphs so that
earlier ones aren't substrings of later ones --
usually by descending length, i.e. trigraphs
before digraphs and quadrigraphs before trigraphs,
but it's quite OK to include the singletons as a
character class at the end.

Anyway I spiced up the program a bit and made it output some 
statistics

#!/usr/bin/perl
use strict;
use warnings;
use utf8;
use Encode qw/decode encode/;
use Getopt::Long;
use Data::Dumper;

# If you want to run interactive and type words on
# the command line run the script with
#	
#	perl sylls.pl --interactive
#
# NB that you can abbreviate '--interactive' at
# will, even to '--i'.
#
# To terminate an interactive run hit Return twice!

my $interactive = 0;
GetOptions("interactive!" => \$interactive);

## Define graphy classes
#
#  These must be edited to actually match only the legitimate
#  graphemes of the language

# Vowels
my $V = qr/ai|ei|oi|ui|au|eu|iu|ou|[aeiouāēīō]/;

# Consonants
my $C = qr/(?:ng|[bcdfghj-np-tv-z])/;

# Initial consonant clusters
#
# # NB that plain $C must not be included in this or
# # The lookahead for (?=$Ci) in $syll will break and
# # syllable-final consonants will be lost.
# # I also added a double-check that _ngy_ will not be treated
# # as a possible initial cluster, to get the count of
# # final syllables right.

my $Ci = qr/(?:[td]r|[pbkg][rl]|$C(?<!ng)[y])/;

## The syllable template.
#
# NB that a separate slot for final _ng_ with
# lookahead for a consonant must be added before
# the lookahead for initial clusters so that
# _angya_ becomes _ang.ya_ and not _a.ngya_. NB
# also that we need a lookahead for syllable
# initial _ng_ so that cases like _a.nga_ get
# split correctly and not as _an.ga_ -- if
# syllable initial _ng_ is legitimate, that is...

my $syll = 
qr{(?:$Ci|$C)?$V(?:$C?\b|ng(?=$C)|(?=ng$V)|(?=$Ci)|$C(?=$C))?};

## Prepare to process the data

# Create a variable to hold the possible syllables
# and their frequencies in.
my %table;

# We need a counter for the input lines so that we can
# tell which line we find spurious data on.
my $line = 0;

while(<>){
	# Increase the line count
	$line += 1;

	# If we run interactively and the input is an empty
	# line we should termdinate the run
	last if $interactive and not /\S/;
	
     # Remove the line ending
     chomp;
     # Decode utf8
     my $str = decode 'utf8', $_;
	# Find all syllables in the input string
	# # Since we split the string on legitimate
	# # syllables the occurrence of single consonants
	# # in the output will alert to the occurrence of
	#
	my @sylls = split /($syll)/, $str;
     # If we are in interactive mode we want some
     # feedback while we type
	if($interactive){ print encode 'utf8', "@sylls\n" }
	
	# Step through chunks of the string which was
	# split on syllables.  Hopefully all chunks which
	# contain letters will consist of a legitimate syllable.
	for(@sylls){
		# Check if a chunk contains only consonants
		if( $_ =~ $C and not $_ =~ $V ){
			warn "Possible spurious cluster in \"$str\" on line $line\n";
		}
		# Check if a chunk contains spurious letters
		elsif( $_ =~ /\p{L}/ and not $_ =~ $C and not $_ =~$V){
			warn "Possible spurious letter in \"$str\" on line $line\n";
		}

		# Now populate our table of found syllables,
		# or increase the count of matches if already found.
		if($_ =~ $V or $_ =~ $C){ $table{all}{$_} += 1 };
	}

	# Now look for word initial and word final syllables!
	my @inits = $str =~ /\b$syll/g;
	for(@inits){ $table{initial}{$_} += 1 }
	my @finals = $str =~ /$syll\b/g;
	for(@finals){ $table{final}{$_} += 1 }

}

## Print out the statistics

#We want the output to be alphabetized
$Data::Dumper::Sortkeys = 1;

# Print it out the easy way
print encode 'utf8', Data::Dumper->Dump([\%table], 
[qw/syllables/]);

# Now create the list sorted by frequency!

my %frequency;

print encode 'utf8', "Sorted by frequency:\n\n";

for my $pos (qw/all initial final/){
	print encode 'utf8', "\n$pos:\n";
	while(my ($k,$v) = each %{$table{$pos}}){ push 
@{$frequency{$pos}{$v}}, $k }

	for my $key (sort { $b <=> $a } keys %{$frequency{$pos}}){
		print "\t$key\t@{$frequency{$pos}{$key}}\n";
	}
}

__END__


[^1]: (Which I have in my Perl file template, so I
     essentially always use them. I even have a couple
     of subs to save typing those odiously long
     decode() and encode() calls.


		sub dec_utf8 {
			if(wantarray){ return map { decode('utf8',$_) } @_ }
			else { return decode('utf8',shift) }
		}

		sub enc_utf_8 {
			if(wantarray){ return map { encode('utf8',$_) } @_ }
			else { return encode('utf8',shift) }
		}

		sub dec_win {
			if(wantarray){ return map { decode('cp1252',$_) } @_ }
			else { return decode('cp1252',shift) }
		}

		sub enc_win {
			if(wantarray){ return map { encode('cp1252',$_) } @_ }
			else { return encode('cp1252',shift) }
		}


/BP 8^)>
-- 
Benct Philip Jonsson -- melroch atte melroch dotte se
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  "C'est en vain que nos Josués littéraires crient
  à la langue de s'arrêter; les langues ni le soleil
  ne s'arrêtent plus. Le jour où elles se *fixent*,
  c'est qu'elles meurent."           (Victor Hugo)

Top of Message | Previous Page | Permalink

Advanced Options


Options

Log In

Log In

Get Password

Get Password


Search Archives

Search Archives


Subscribe or Unsubscribe

Subscribe or Unsubscribe


Archives

September 2019, Week 3
September 2019, Week 2
September 2019, Week 1
August 2019, Week 5
August 2019, Week 4
August 2019, Week 3
August 2019, Week 2
August 2019, Week 1
July 2019, Week 5
July 2019, Week 4
July 2019, Week 3
July 2019, Week 2
July 2019, Week 1
June 2019, Week 5
June 2019, Week 4
June 2019, Week 3
June 2019, Week 2
June 2019, Week 1
May 2019, Week 5
May 2019, Week 4
May 2019, Week 3
May 2019, Week 2
May 2019, Week 1
April 2019, Week 5
April 2019, Week 4
April 2019, Week 3
April 2019, Week 2
April 2019, Week 1
March 2019, Week 5
March 2019, Week 4
March 2019, Week 3
March 2019, Week 2
March 2019, Week 1
February 2019, Week 4
February 2019, Week 3
February 2019, Week 2
February 2019, Week 1
January 2019, Week 5
January 2019, Week 4
January 2019, Week 3
January 2019, Week 2
January 2019, Week 1
December 2018, Week 5
December 2018, Week 4
December 2018, Week 3
December 2018, Week 2
December 2018, Week 1
November 2018, Week 5
November 2018, Week 4
November 2018, Week 3
November 2018, Week 2
November 2018, Week 1
October 2018, Week 5
October 2018, Week 4
October 2018, Week 3
October 2018, Week 2
October 2018, Week 1
September 2018, Week 5
September 2018, Week 4
September 2018, Week 3
September 2018, Week 2
September 2018, Week 1
August 2018, Week 5
August 2018, Week 4
August 2018, Week 3
August 2018, Week 2
August 2018, Week 1
July 2018, Week 5
July 2018, Week 4
July 2018, Week 3
July 2018, Week 2
July 2018, Week 1
June 2018, Week 5
June 2018, Week 4
June 2018, Week 3
June 2018, Week 2
June 2018, Week 1
May 2018, Week 5
May 2018, Week 4
May 2018, Week 3
May 2018, Week 2
May 2018, Week 1
April 2018, Week 5
April 2018, Week 4
April 2018, Week 3
April 2018, Week 2
April 2018, Week 1
March 2018, Week 5
March 2018, Week 4
March 2018, Week 3
March 2018, Week 2
March 2018, Week 1
February 2018, Week 4
February 2018, Week 3
February 2018, Week 2
February 2018, Week 1
January 2018, Week 5
January 2018, Week 4
January 2018, Week 3
January 2018, Week 2
January 2018, Week 1
December 2017, Week 5
December 2017, Week 4
December 2017, Week 3
December 2017, Week 2
December 2017, Week 1
November 2017, Week 5
November 2017, Week 4
November 2017, Week 3
November 2017, Week 2
November 2017, Week 1
October 2017, Week 5
October 2017, Week 4
October 2017, Week 3
October 2017, Week 2
October 2017, Week 1
September 2017, Week 5
September 2017, Week 4
September 2017, Week 3
September 2017, Week 2
September 2017, Week 1
August 2017, Week 5
August 2017, Week 4
August 2017, Week 3
August 2017, Week 2
August 2017, Week 1
July 2017, Week 5
July 2017, Week 4
July 2017, Week 3
July 2017, Week 2
July 2017, Week 1
June 2017, Week 5
June 2017, Week 4
June 2017, Week 3
June 2017, Week 2
June 2017, Week 1
May 2017, Week 5
May 2017, Week 4
May 2017, Week 3
May 2017, Week 2
May 2017, Week 1
April 2017, Week 5
April 2017, Week 4
April 2017, Week 3
April 2017, Week 2
April 2017, Week 1
March 2017, Week 5
March 2017, Week 4
March 2017, Week 3
March 2017, Week 2
March 2017, Week 1
February 2017, Week 4
February 2017, Week 3
February 2017, Week 2
February 2017, Week 1
January 2017, Week 4
January 2017, Week 3
January 2017, Week 2
January 2017, Week 1
December 2016, Week 5
December 2016, Week 4
December 2016, Week 3
December 2016, Week 2
December 2016, Week 1
November 2016, Week 5
November 2016, Week 4
November 2016, Week 3
November 2016, Week 2
November 2016, Week 1
October 2016, Week 5
October 2016, Week 4
October 2016, Week 3
October 2016, Week 2
October 2016, Week 1
September 2016, Week 5
September 2016, Week 4
September 2016, Week 3
September 2016, Week 2
September 2016, Week 1
August 2016, Week 5
August 2016, Week 4
August 2016, Week 3
August 2016, Week 2
August 2016, Week 1
July 2016, Week 5
July 2016, Week 4
July 2016, Week 3
July 2016, Week 2
July 2016, Week 1
June 2016, Week 5
June 2016, Week 4
June 2016, Week 3
June 2016, Week 2
June 2016, Week 1
May 2016, Week 5
May 2016, Week 4
May 2016, Week 3
May 2016, Week 2
May 2016, Week 1
April 2016, Week 5
April 2016, Week 4
April 2016, Week 3
April 2016, Week 2
April 2016, Week 1
March 2016, Week 5
March 2016, Week 4
March 2016, Week 3
March 2016, Week 2
March 2016, Week 1
February 2016, Week 5
February 2016, Week 4
February 2016, Week 3
February 2016, Week 2
February 2016, Week 1
January 2016, Week 5
January 2016, Week 4
January 2016, Week 3
January 2016, Week 2
January 2016, Week 1
December 2015, Week 5
December 2015, Week 4
December 2015, Week 3
December 2015, Week 2
December 2015, Week 1
November 2015, Week 5
November 2015, Week 4
November 2015, Week 3
November 2015, Week 2
November 2015, Week 1
October 2015, Week 5
October 2015, Week 4
October 2015, Week 3
October 2015, Week 2
October 2015, Week 1
September 2015, Week 5
September 2015, Week 4
September 2015, Week 3
September 2015, Week 2
September 2015, Week 1
August 2015, Week 5
August 2015, Week 4
August 2015, Week 3
August 2015, Week 2
August 2015, Week 1
July 2015, Week 5
July 2015, Week 4
July 2015, Week 3
July 2015, Week 2
July 2015, Week 1
June 2015, Week 5
June 2015, Week 4
June 2015, Week 3
June 2015, Week 2
June 2015, Week 1
May 2015, Week 5
May 2015, Week 4
May 2015, Week 3
May 2015, Week 2
May 2015, Week 1
April 2015, Week 5
April 2015, Week 4
April 2015, Week 3
April 2015, Week 2
April 2015, Week 1
March 2015, Week 5
March 2015, Week 4
March 2015, Week 3
March 2015, Week 2
March 2015, Week 1
February 2015, Week 4
February 2015, Week 3
February 2015, Week 2
February 2015, Week 1
January 2015, Week 5
January 2015, Week 4
January 2015, Week 3
January 2015, Week 2
January 2015, Week 1
December 2014, Week 5
December 2014, Week 4
December 2014, Week 3
December 2014, Week 2
December 2014, Week 1
November 2014, Week 5
November 2014, Week 4
November 2014, Week 3
November 2014, Week 2
November 2014, Week 1
October 2014, Week 5
October 2014, Week 4
October 2014, Week 3
October 2014, Week 2
October 2014, Week 1
September 2014, Week 5
September 2014, Week 4
September 2014, Week 3
September 2014, Week 2
September 2014, Week 1
August 2014, Week 5
August 2014, Week 4
August 2014, Week 3
August 2014, Week 2
August 2014, Week 1
July 2014, Week 5
July 2014, Week 4
July 2014, Week 3
July 2014, Week 2
July 2014, Week 1
June 2014, Week 5
June 2014, Week 4
June 2014, Week 3
June 2014, Week 2
June 2014, Week 1
May 2014, Week 5
May 2014, Week 4
May 2014, Week 3
May 2014, Week 2
May 2014, Week 1
April 2014, Week 5
April 2014, Week 4
April 2014, Week 3
April 2014, Week 2
April 2014, Week 1
March 2014, Week 5
March 2014, Week 4
March 2014, Week 3
March 2014, Week 2
March 2014, Week 1
February 2014, Week 4
February 2014, Week 3
February 2014, Week 2
February 2014, Week 1
January 2014, Week 5
January 2014, Week 4
January 2014, Week 3
January 2014, Week 2
January 2014, Week 1
December 2013, Week 5
December 2013, Week 4
December 2013, Week 3
December 2013, Week 2
December 2013, Week 1
November 2013, Week 5
November 2013, Week 4
November 2013, Week 3
November 2013, Week 2
November 2013, Week 1
October 2013, Week 5
October 2013, Week 4
October 2013, Week 3
October 2013, Week 2
October 2013, Week 1
September 2013, Week 5
September 2013, Week 4
September 2013, Week 3
September 2013, Week 2
September 2013, Week 1
August 2013, Week 5
August 2013, Week 4
August 2013, Week 3
August 2013, Week 2
August 2013, Week 1
July 2013, Week 5
July 2013, Week 4
July 2013, Week 3
July 2013, Week 2
July 2013, Week 1
June 2013, Week 5
June 2013, Week 4
June 2013, Week 3
June 2013, Week 2
June 2013, Week 1
May 2013, Week 5
May 2013, Week 4
May 2013, Week 3
May 2013, Week 2
May 2013, Week 1
April 2013, Week 5
April 2013, Week 4
April 2013, Week 3
April 2013, Week 2
April 2013, Week 1
March 2013, Week 5
March 2013, Week 4
March 2013, Week 3
March 2013, Week 2
March 2013, Week 1
February 2013, Week 4
February 2013, Week 3
February 2013, Week 2
February 2013, Week 1
January 2013, Week 5
January 2013, Week 4
January 2013, Week 3
January 2013, Week 2
January 2013, Week 1
December 2012, Week 5
December 2012, Week 4
December 2012, Week 3
December 2012, Week 2
December 2012, Week 1
November 2012, Week 5
November 2012, Week 4
November 2012, Week 3
November 2012, Week 2
November 2012, Week 1
October 2012, Week 5
October 2012, Week 4
October 2012, Week 3
October 2012, Week 2
October 2012, Week 1
September 2012, Week 5
September 2012, Week 4
September 2012, Week 3
September 2012, Week 2
September 2012, Week 1
August 2012, Week 5
August 2012, Week 4
August 2012, Week 3
August 2012, Week 2
August 2012, Week 1
July 2012, Week 5
July 2012, Week 4
July 2012, Week 3
July 2012, Week 2
July 2012, Week 1
June 2012, Week 5
June 2012, Week 4
June 2012, Week 3
June 2012, Week 2
June 2012, Week 1
May 2012, Week 5
May 2012, Week 4
May 2012, Week 3
May 2012, Week 2
May 2012, Week 1
April 2012, Week 5
April 2012, Week 4
April 2012, Week 3
April 2012, Week 2
April 2012, Week 1
March 2012, Week 5
March 2012, Week 4
March 2012, Week 3
March 2012, Week 2
March 2012, Week 1
February 2012, Week 5
February 2012, Week 4
February 2012, Week 3
February 2012, Week 2
February 2012, Week 1
January 2012, Week 5
January 2012, Week 4
January 2012, Week 3
January 2012, Week 2
January 2012, Week 1
December 2011, Week 5
December 2011, Week 4
December 2011, Week 3
December 2011, Week 2
December 2011, Week 1
November 2011, Week 5
November 2011, Week 4
November 2011, Week 3
November 2011, Week 2
November 2011, Week 1
October 2011, Week 5
October 2011, Week 4
October 2011, Week 3
October 2011, Week 2
October 2011, Week 1
September 2011, Week 5
September 2011, Week 4
September 2011, Week 3
September 2011, Week 2
September 2011, Week 1
August 2011, Week 5
August 2011, Week 4
August 2011, Week 3
August 2011, Week 2
August 2011, Week 1
July 2011, Week 5
July 2011, Week 4
July 2011, Week 3
July 2011, Week 2
July 2011, Week 1
June 2011, Week 5
June 2011, Week 4
June 2011, Week 3
June 2011, Week 2
June 2011, Week 1
May 2011, Week 5
May 2011, Week 4
May 2011, Week 3
May 2011, Week 2
May 2011, Week 1
April 2011, Week 5
April 2011, Week 4
April 2011, Week 3
April 2011, Week 2
April 2011, Week 1
March 2011, Week 5
March 2011, Week 4
March 2011, Week 3
March 2011, Week 2
March 2011, Week 1
February 2011, Week 4
February 2011, Week 3
February 2011, Week 2
February 2011, Week 1
January 2011, Week 5
January 2011, Week 4
January 2011, Week 3
January 2011, Week 2
January 2011, Week 1
December 2010, Week 5
December 2010, Week 4
December 2010, Week 3
December 2010, Week 2
December 2010, Week 1
November 2010, Week 5
November 2010, Week 4
November 2010, Week 3
November 2010, Week 2
November 2010, Week 1
October 2010, Week 5
October 2010, Week 4
October 2010, Week 3
October 2010, Week 2
October 2010, Week 1
September 2010, Week 5
September 2010, Week 4
September 2010, Week 3
September 2010, Week 2
September 2010, Week 1
August 2010, Week 5
August 2010, Week 4
August 2010, Week 3
August 2010, Week 2
August 2010, Week 1
July 2010, Week 5
July 2010, Week 4
July 2010, Week 3
July 2010, Week 2
July 2010, Week 1
June 2010, Week 5
June 2010, Week 4
June 2010, Week 3
June 2010, Week 2
June 2010, Week 1
May 2010, Week 5
May 2010, Week 4
May 2010, Week 3
May 2010, Week 2
May 2010, Week 1
April 2010, Week 5
April 2010, Week 4
April 2010, Week 3
April 2010, Week 2
April 2010, Week 1
March 2010, Week 5
March 2010, Week 4
March 2010, Week 3
March 2010, Week 2
March 2010, Week 1
February 2010, Week 4
February 2010, Week 3
February 2010, Week 2
February 2010, Week 1
January 2010, Week 5
January 2010, Week 4
January 2010, Week 3
January 2010, Week 2
January 2010, Week 1
December 2009, Week 5
December 2009, Week 4
December 2009, Week 3
December 2009, Week 2
December 2009, Week 1
November 2009, Week 5
November 2009, Week 4
November 2009, Week 3
November 2009, Week 2
November 2009, Week 1
October 2009, Week 5
October 2009, Week 4
October 2009, Week 3
October 2009, Week 2
October 2009, Week 1
September 2009, Week 5
September 2009, Week 4
September 2009, Week 3
September 2009, Week 2
September 2009, Week 1
August 2009, Week 5
August 2009, Week 4
August 2009, Week 3
August 2009, Week 2
August 2009, Week 1
July 2009, Week 5
July 2009, Week 4
July 2009, Week 3
July 2009, Week 2
July 2009, Week 1
June 2009, Week 5
June 2009, Week 4
June 2009, Week 3
June 2009, Week 2
June 2009, Week 1
May 2009, Week 5
May 2009, Week 4
May 2009, Week 3
May 2009, Week 2
May 2009, Week 1
April 2009, Week 5
April 2009, Week 4
April 2009, Week 3
April 2009, Week 2
April 2009, Week 1
March 2009, Week 5
March 2009, Week 4
March 2009, Week 3
March 2009, Week 2
March 2009, Week 1
February 2009, Week 4
February 2009, Week 3
February 2009, Week 2
February 2009, Week 1
January 2009, Week 5
January 2009, Week 4
January 2009, Week 3
January 2009, Week 2
January 2009, Week 1
December 2008, Week 5
December 2008, Week 4
December 2008, Week 3
December 2008, Week 2
December 2008, Week 1
November 2008, Week 5
November 2008, Week 4
November 2008, Week 3
November 2008, Week 2
November 2008, Week 1
October 2008, Week 5
October 2008, Week 4
October 2008, Week 3
October 2008, Week 2
October 2008, Week 1
September 2008, Week 5
September 2008, Week 4
September 2008, Week 3
September 2008, Week 2
September 2008, Week 1
August 2008, Week 5
August 2008, Week 4
August 2008, Week 3
August 2008, Week 2
August 2008, Week 1
July 2008, Week 5
July 2008, Week 4
July 2008, Week 3
July 2008, Week 2
July 2008, Week 1
June 2008, Week 5
June 2008, Week 4
June 2008, Week 3
June 2008, Week 2
June 2008, Week 1
May 2008, Week 5
May 2008, Week 4
May 2008, Week 3
May 2008, Week 2
May 2008, Week 1
April 2008, Week 5
April 2008, Week 4
April 2008, Week 3
April 2008, Week 2
April 2008, Week 1
March 2008, Week 5
March 2008, Week 4
March 2008, Week 3
March 2008, Week 2
March 2008, Week 1
February 2008, Week 5
February 2008, Week 4
February 2008, Week 3
February 2008, Week 2
February 2008, Week 1
January 2008, Week 5
January 2008, Week 4
January 2008, Week 3
January 2008, Week 2
January 2008, Week 1
December 2007, Week 5
December 2007, Week 4
December 2007, Week 3
December 2007, Week 2
December 2007, Week 1
November 2007, Week 5
November 2007, Week 4
November 2007, Week 3
November 2007, Week 2
November 2007, Week 1
October 2007, Week 5
October 2007, Week 4
October 2007, Week 3
October 2007, Week 2
October 2007, Week 1
September 2007, Week 5
September 2007, Week 4
September 2007, Week 3
September 2007, Week 2
September 2007, Week 1
August 2007, Week 5
August 2007, Week 4
August 2007, Week 3
August 2007, Week 2
August 2007, Week 1
July 2007, Week 5
July 2007, Week 4
July 2007, Week 3
July 2007, Week 2
July 2007, Week 1
June 2007, Week 5
June 2007, Week 4
June 2007, Week 3
June 2007, Week 2
June 2007, Week 1
May 2007, Week 5
May 2007, Week 4
May 2007, Week 3
May 2007, Week 2
May 2007, Week 1
April 2007, Week 5
April 2007, Week 4
April 2007, Week 3
April 2007, Week 2
April 2007, Week 1
March 2007, Week 5
March 2007, Week 4
March 2007, Week 3
March 2007, Week 2
March 2007, Week 1
February 2007, Week 4
February 2007, Week 3
February 2007, Week 2
February 2007, Week 1
January 2007, Week 5
January 2007, Week 4
January 2007, Week 3
January 2007, Week 2
January 2007, Week 1
December 2006, Week 5
December 2006, Week 4
December 2006, Week 3
December 2006, Week 2
December 2006, Week 1
November 2006, Week 5
November 2006, Week 4
November 2006, Week 3
November 2006, Week 2
November 2006, Week 1
October 2006, Week 5
October 2006, Week 4
October 2006, Week 3
October 2006, Week 2
October 2006, Week 1
September 2006, Week 5
September 2006, Week 4
September 2006, Week 3
September 2006, Week 2
September 2006, Week 1
August 2006, Week 5
August 2006, Week 4
August 2006, Week 3
August 2006, Week 2
August 2006, Week 1
July 2006, Week 5
July 2006, Week 4
July 2006, Week 3
July 2006, Week 2
July 2006, Week 1
June 2006, Week 5
June 2006, Week 4
June 2006, Week 3
June 2006, Week 2
June 2006, Week 1
May 2006, Week 5
May 2006, Week 4
May 2006, Week 3
May 2006, Week 2
May 2006, Week 1
April 2006, Week 5
April 2006, Week 4
April 2006, Week 3
April 2006, Week 2
April 2006, Week 1
March 2006, Week 5
March 2006, Week 4
March 2006, Week 3
March 2006, Week 2
March 2006, Week 1
February 2006, Week 4
February 2006, Week 3
February 2006, Week 2
February 2006, Week 1
January 2006, Week 5
January 2006, Week 4
January 2006, Week 3
January 2006, Week 2
January 2006, Week 1
December 2005, Week 5
December 2005, Week 4
December 2005, Week 3
December 2005, Week 2
December 2005, Week 1
November 2005, Week 5
November 2005, Week 4
November 2005, Week 3
November 2005, Week 2
November 2005, Week 1
October 2005, Week 5
October 2005, Week 4
October 2005, Week 3
October 2005, Week 2
October 2005, Week 1
September 2005, Week 5
September 2005, Week 4
September 2005, Week 3
September 2005, Week 2
September 2005, Week 1
August 2005, Week 5
August 2005, Week 4
August 2005, Week 3
August 2005, Week 2
August 2005, Week 1
July 2005, Week 5
July 2005, Week 4
July 2005, Week 3
July 2005, Week 2
July 2005, Week 1
June 2005, Week 5
June 2005, Week 4
June 2005, Week 3
June 2005, Week 2
June 2005, Week 1
May 2005, Week 5
May 2005, Week 4
May 2005, Week 3
May 2005, Week 2
May 2005, Week 1
April 2005, Week 5
April 2005, Week 4
April 2005, Week 3
April 2005, Week 2
April 2005, Week 1
March 2005, Week 5
March 2005, Week 4
March 2005, Week 3
March 2005, Week 2
March 2005, Week 1
February 2005, Week 4
February 2005, Week 3
February 2005, Week 2
February 2005, Week 1
January 2005, Week 5
January 2005, Week 4
January 2005, Week 3
January 2005, Week 2
January 2005, Week 1
December 2004, Week 5
December 2004, Week 4
December 2004, Week 3
December 2004, Week 2
December 2004, Week 1
November 2004, Week 5
November 2004, Week 4
November 2004, Week 3
November 2004, Week 2
November 2004, Week 1
October 2004, Week 5
October 2004, Week 4
October 2004, Week 3
October 2004, Week 2
October 2004, Week 1
September 2004, Week 5
September 2004, Week 4
September 2004, Week 3
September 2004, Week 2
September 2004, Week 1
August 2004, Week 5
August 2004, Week 4
August 2004, Week 3
August 2004, Week 2
August 2004, Week 1
July 2004, Week 5
July 2004, Week 4
July 2004, Week 3
July 2004, Week 2
July 2004, Week 1
June 2004, Week 5
June 2004, Week 4
June 2004, Week 3
June 2004, Week 2
June 2004, Week 1
May 2004, Week 5
May 2004, Week 4
May 2004, Week 3
May 2004, Week 2
May 2004, Week 1
April 2004, Week 5
April 2004, Week 4
April 2004, Week 3
April 2004, Week 2
April 2004, Week 1
March 2004, Week 5
March 2004, Week 4
March 2004, Week 3
March 2004, Week 2
March 2004, Week 1
February 2004, Week 5
February 2004, Week 4
February 2004, Week 3
February 2004, Week 2
February 2004, Week 1
January 2004, Week 5
January 2004, Week 4
January 2004, Week 3
January 2004, Week 2
January 2004, Week 1
December 2003, Week 5
December 2003, Week 4
December 2003, Week 3
December 2003, Week 2
December 2003, Week 1
November 2003, Week 5
November 2003, Week 4
November 2003, Week 3
November 2003, Week 2
November 2003, Week 1
October 2003, Week 5
October 2003, Week 4
October 2003, Week 3
October 2003, Week 2
October 2003, Week 1
September 2003, Week 5
September 2003, Week 4
September 2003, Week 3
September 2003, Week 2
September 2003, Week 1
August 2003, Week 5
August 2003, Week 4
August 2003, Week 3
August 2003, Week 2
August 2003, Week 1
July 2003, Week 5
July 2003, Week 4
July 2003, Week 3
July 2003, Week 2
July 2003, Week 1
June 2003, Week 5
June 2003, Week 4
June 2003, Week 3
June 2003, Week 2
June 2003, Week 1
May 2003, Week 5
May 2003, Week 4
May 2003, Week 3
May 2003, Week 2
May 2003, Week 1
April 2003, Week 5
April 2003, Week 4
April 2003, Week 3
April 2003, Week 2
April 2003, Week 1
March 2003, Week 5
March 2003, Week 4
March 2003, Week 3
March 2003, Week 2
March 2003, Week 1
February 2003, Week 4
February 2003, Week 3
February 2003, Week 2
February 2003, Week 1
January 2003, Week 5
January 2003, Week 4
January 2003, Week 3
January 2003, Week 2
January 2003, Week 1
December 2002, Week 5
December 2002, Week 4
December 2002, Week 3
December 2002, Week 2
December 2002, Week 1
November 2002, Week 5
November 2002, Week 4
November 2002, Week 3
November 2002, Week 2
November 2002, Week 1
October 2002, Week 5
October 2002, Week 4
October 2002, Week 3
October 2002, Week 2
October 2002, Week 1
September 2002, Week 5
September 2002, Week 4
September 2002, Week 3
September 2002, Week 2
September 2002, Week 1
August 2002, Week 5
August 2002, Week 4
August 2002, Week 3
August 2002, Week 2
August 2002, Week 1
July 2002, Week 5
July 2002, Week 4
July 2002, Week 3
July 2002, Week 2
July 2002, Week 1
June 2002, Week 5
June 2002, Week 4
June 2002, Week 3
June 2002, Week 2
June 2002, Week 1
May 2002, Week 5
May 2002, Week 4
May 2002, Week 3
May 2002, Week 2
May 2002, Week 1
April 2002, Week 5
April 2002, Week 4
April 2002, Week 3
April 2002, Week 2
April 2002, Week 1
March 2002, Week 5
March 2002, Week 4
March 2002, Week 3
March 2002, Week 2
March 2002, Week 1
February 2002, Week 4
February 2002, Week 3
February 2002, Week 2
February 2002, Week 1
January 2002, Week 5
January 2002, Week 4
January 2002, Week 3
January 2002, Week 2
January 2002, Week 1
December 2001, Week 5
December 2001, Week 4
December 2001, Week 3
December 2001, Week 2
December 2001, Week 1
November 2001, Week 5
November 2001, Week 4
November 2001, Week 3
November 2001, Week 2
November 2001, Week 1
October 2001, Week 5
October 2001, Week 4
October 2001, Week 3
October 2001, Week 2
October 2001, Week 1
September 2001, Week 5
September 2001, Week 4
September 2001, Week 3
September 2001, Week 2
September 2001, Week 1
August 2001, Week 5
August 2001, Week 4
August 2001, Week 3
August 2001, Week 2
August 2001, Week 1
July 2001, Week 5
July 2001, Week 4
July 2001, Week 3
July 2001, Week 2
July 2001, Week 1
June 2001, Week 5
June 2001, Week 4
June 2001, Week 3
June 2001, Week 2
June 2001, Week 1
May 2001, Week 5
May 2001, Week 4
May 2001, Week 3
May 2001, Week 2
May 2001, Week 1
April 2001, Week 5
April 2001, Week 4
April 2001, Week 3
April 2001, Week 2
April 2001, Week 1
March 2001, Week 5
March 2001, Week 4
March 2001, Week 3
March 2001, Week 2
March 2001, Week 1
February 2001, Week 4
February 2001, Week 3
February 2001, Week 2
February 2001, Week 1
January 2001, Week 5
January 2001, Week 4
January 2001, Week 3
January 2001, Week 2
January 2001, Week 1
December 2000, Week 5
December 2000, Week 4
December 2000, Week 3
December 2000, Week 2
December 2000, Week 1
November 2000, Week 5
November 2000, Week 4
November 2000, Week 3
November 2000, Week 2
November 2000, Week 1
October 2000, Week 5
October 2000, Week 4
October 2000, Week 3
October 2000, Week 2
October 2000, Week 1
September 2000, Week 5
September 2000, Week 4
September 2000, Week 3
September 2000, Week 2
September 2000, Week 1
August 2000, Week 5
August 2000, Week 4
August 2000, Week 3
August 2000, Week 2
August 2000, Week 1
July 2000, Week 5
July 2000, Week 4
July 2000, Week 3
July 2000, Week 2
July 2000, Week 1
June 2000, Week 5
June 2000, Week 4
June 2000, Week 3
June 2000, Week 2
June 2000, Week 1
May 2000, Week 5
May 2000, Week 4
May 2000, Week 3
May 2000, Week 2
May 2000, Week 1
April 2000, Week 5
April 2000, Week 4
April 2000, Week 3
April 2000, Week 2
April 2000, Week 1
March 2000, Week 5
March 2000, Week 4
March 2000, Week 3
March 2000, Week 2
March 2000, Week 1
February 2000, Week 5
February 2000, Week 4
February 2000, Week 3
February 2000, Week 2
February 2000, Week 1
January 2000, Week 5
January 2000, Week 4
January 2000, Week 3
January 2000, Week 2
January 2000, Week 1
December 1999, Week 5
December 1999, Week 4
December 1999, Week 3
December 1999, Week 2
December 1999, Week 1
November 1999, Week 5
November 1999, Week 4
November 1999, Week 3
November 1999, Week 2
November 1999, Week 1
October 1999, Week 5
October 1999, Week 4
October 1999, Week 3
October 1999, Week 2
October 1999, Week 1
September 1999, Week 5
September 1999, Week 4
September 1999, Week 3
September 1999, Week 2
September 1999, Week 1
August 1999, Week 5
August 1999, Week 4
August 1999, Week 3
August 1999, Week 2
August 1999, Week 1
July 1999, Week 5
July 1999, Week 4
July 1999, Week 3
July 1999, Week 2
July 1999, Week 1
June 1999, Week 5
June 1999, Week 4
June 1999, Week 3
June 1999, Week 2
June 1999, Week 1
May 1999, Week 5
May 1999, Week 4
May 1999, Week 3
May 1999, Week 2
May 1999, Week 1
April 1999, Week 5
April 1999, Week 4
April 1999, Week 3
April 1999, Week 2
April 1999, Week 1
March 1999, Week 5
March 1999, Week 4
March 1999, Week 3
March 1999, Week 2
March 1999, Week 1
February 1999, Week 5
February 1999, Week 4
February 1999, Week 3
February 1999, Week 2
February 1999, Week 1
January 1999, Week 5
January 1999, Week 4
January 1999, Week 3
January 1999, Week 2
January 1999, Week 1
December 1998, Week 5
December 1998, Week 4
December 1998, Week 3
December 1998, Week 2
December 1998, Week 1
November 1998, Week 5
November 1998, Week 4
November 1998, Week 3
November 1998, Week 2
November 1998, Week 1
October 1998, Week 5
October 1998, Week 4
October 1998, Week 3
October 1998, Week 2
October 1998, Week 1
September 1998, Week 5
September 1998, Week 4
September 1998, Week 3

ATOM RSS1 RSS2



LISTSERV.BROWN.EDU

CataList Email List Search Powered by the LISTSERV Email List Manager