Skip to main content

Formal Definition Format

·3 mins

Only name is required.

If no *** exists, it is assumed there are no line-by-line definitions.

Spaces in line definitions define separation by stanza.

Can use qualifiers for counts:

  • == exactly equal to (assumed)
  • > greater than
  • < less than
  • >= greater than or equal to
  • <= less than or equal to

Counts of “things” begin with keys. As follows:

  • :S followed by an optionl qualifier, followed by a number delineates syllable count.
  • :L followed by an optionl qualifier, followed by a number delineates line count.
  • :W followed by an optionl qualifier, followed by a number delineates word count.
  • :R followed by a number delineates refrain number.

Each of these counts can be included anywhere in the line definition. They must be separated from other elements of the line definition like metre and rhyme by a space, or the : preceding another key.

{Name}
:L{total lines}:S{total syllables}:W{total words}
***
:R{refrain for line 1} {0101...metre pattern for line 1} {a end rhyme for line 1}:S{syllable count for line 1}:W{word count for line 1}
:R{refrain for line 2} {0101...metre pattern for line 2} {a end rhyme for line 2}:S{syllable count for line 2}:W{word count for line 2}
...

Examples:

Four and Twenty (420)
:L<=4:S<=20

Four and twenty poetry contains less than or equal to four total lines and is less than or equal to 20 total syllables.


Ten Word
:W<=10

Ten word poetry contains less than or equal to 10 total words.


Senryū (川柳)
:L3:S<=17
***
:S5
:S7
:S5

or

Senryū (川柳)
***
:S5
:S7
:S5

Senryū (川柳) poetry contains three lines with the first line’s syllable count being exactly 5, the second line’s being 7, and the third line’s being 5. Total syllables must be less than or equal to 17, but since 17 is defined by definition of the line syllables, it is not needed. It is also compromised of exactly 3 lines, but this is not needed because of the explicit line definitions.


Petrarchan Sonnet
***
0101010101 a
0101010101 b
0101010101 b
0101010101 a
0101010101 a
0101010101 b
0101010101 b
0101010101 a

0101010101 c
0101010101 d
0101010101 e
0101010101 c
0101010101 d
0101010101 e

or

Petrarchan Sonnet (Alternative)
***
0101010101 a
0101010101 b
0101010101 b
0101010101 a
0101010101 a
0101010101 b
0101010101 b
0101010101 a

0101010101 c
0101010101 d
0101010101 c
0101010101 d
0101010101 c
0101010101 d

The Petrarchan sonnet is written in iambic pentameter. It contains an octave followed by a sestet. The rhyme scheme is either abbaabba,cdecde or abbaabba,cdcdcd.


Shakespearean Sonnet
***
0101010101 a
0101010101 b
0101010101 a
0101010101 b

0101010101 c
0101010101 d
0101010101 c
0101010101 d

0101010101 e
0101010101 f
0101010101 e
0101010101 f

0101010101 g
0101010101 g

The Shakespearean sonnet is written in iambic pentameter. It contains three quatrains followed by a couplet. The rhyme scheme is abab,cdcd,efef,gg.


Spenserian Sonnet
***
0101010101 a
0101010101 b
0101010101 a
0101010101 b

0101010101 b
0101010101 c
0101010101 b
0101010101 c

0101010101 c
0101010101 d
0101010101 c
0101010101 d

0101010101 e
0101010101 e

The Spenserian sonnet is written in iambic pentameter. It contains three quatrains followed by a couplet. The rhyme scheme is abab,bcbc,cdcd,ee.


Villanelle
***
a :R1
b
a :R2

a
b
:R1

a
b
:R2

a
b
:R1

a
b
:R2

a
b
:R1
:R2

The Villanelle is comprised of 5 tercets in rhyme scheme aba. followed by a final quatrain in rhyme scheme abaa. The first tercet begins and ends with a refrain which is repeated in an alternating way in the last line of each subsequent tercet. The refrains are then repeated as the final two line of the poem.


The above form of markup seems to be flexible enough to define quite a few kinds of formal poetry. Now I need to write a parser for this format.