DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: R T

⟦87772e337⟧ TextFile

    Length: 2770 (0xad2)
    Types: TextFile
    Names: »README«

Derivation

└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
    └─⟦this⟧ »EUUGD18/General/Sonnet/README« 

TextFile


SONNET INTRODUCTION
-------------------

Chris Wilbur wrote this a few years ago.  I recently resurrected the code
and completely overhauled it with Chris's input.  If you understand the
algorithm, you can change it to write your favorite form of poetry with a
bit of work.  I generalized much of the code, but anything other than
iambic pentameter sonnets will still take a bit of doing.

By default, the Makefile is set up to compile on a fairly modern Unix
system.  It uses getopt and strchr/strrchr.  If you need getopt, or use
index/rindex, you'll have to edit the Makefile.  It also uses curses,
which is found in the "terminfo" library on some systems.  The program
doesn't use any fancy curses functions, so at most you should just need
to edit the Makefile.

The database used by the program is in the lex.data file, which is then
converted into a C array by the utility program makelex.  "It's easy and
fun to add new words to the vocabulary."  (Those are Chris's words; I
don't think it's very easy, and it's certainly not fun.)

The lex.data file consist of four colon-separated fields:
	word  :  foot_type  :  vowel_sound  :  consonant_type

The word is (obviously) the word itself.

The foot_type is the metrical pattern of the word; it represents the
word's rhythm.  The legal values are the #define's in "sonnet.h" that
start with FT_.  You learn the meanings of the values quickly as you add
words; until you do, it's easiest to find a word with the same rhythm as
the one you're adding.  For example, if you add "inflammatory" you would
scan the list and see that "administration" has the pattern, so you'd use
IIFF.  If you use the wrong pattern you'll end up with lines that don't
scan, so be careful.

The vowel_sound and the consonant_type fields determine the actual
rhymes.  The vowel sound is always a constant and are the #define's that
begin with VS_.  For example VS_LI is a long "i" as in "mice" while VS_SI
is a short "i" as in "fish."  For more information, see the header file.

The consonant_type field is either a single lower-case letter ("t" for
words like "cat" "bat" and "rat") or a #define'd constant for a compound
consonant (ST for words like "best" "pest" and "undressed").  You can add
your own values to the consonant_type field, but make sure you don't use
any of the lower-case letters or you'll get bogus rhymes.

When adding a word, check to make sure that there a couple of words with
similar rhymes, and and other entries if there don't seem to be many.

If you find any bugs, send them to us.  If you add more than, say, 50
words to the database, send them to us, too.
	/rich $alz				Chris Wilbur
	<rsalz@bbn.com>				<chw@mirror.tmc.com>
	<rsalz@uunet.uu.net>

$Header: README,v 2.0 89/02/08 16:29:45 rsalz Release1 $