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:

"Mark J. Reed" <[log in to unmask]>

Reply-To:

Constructed Languages List <[log in to unmask]>

Date:

Fri, 17 Apr 2009 10:01:21 -0400

Content-Type:

text/plain

Parts/Attachments:

Parts/Attachments

text/plain (365 lines)

Why not just

use encoding 'utf8';

Which automatically translates all I/O from/to the named encoding?

On 4/17/09, Benct Philip Jonsson <[log in to unmask]> wrote:
>  > Ä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)
>

-- 
Sent from my mobile device

Mark J. Reed <[log in to unmask]>

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

October 2019, Week 3
October 2019, Week 2
October 2019, Week 1
September 2019, Week 5
September 2019, Week 4
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