|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: R T
Length: 2770 (0xad2) Types: TextFile Names: »README«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987 └─⟦this⟧ »EUUGD18/General/Sonnet/README«
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 $