tokens vowels a i u e o tokens consonants b d g k m n p r tokens t-syllables ta chi tsu te to tokens w-syllables wa wo we tokens h-syllables ha hi fu he ho tokens s-syllables sa shi su se so tokens z-syllables za ji zu ze zo StartingRule TownsPeople rule consonant 8 { token consonants } rule consonant { } rule syllable 5 { token t-syllables } rule syllable 5 { token h-syllables } rule syllable 5 { token s-syllables } rule syllable 5 { token z-syllables } rule syllable 3 { token w-syllables } rule doubleconsonant { repeat } rule doubleconsonant 8 { } rule syllable-double 40 { rule consonant rule doubleconsonant token vowels } rule syllable-double 23 { rule syllable } rule syllable-nodouble 40 { rule consonant token vowels } rule syllable-nodouble 23 { rule syllable } rule TownsPeople { branch Occupation Occupation branch FirstName Name rule Name } tokens Occupation-Common hay-dealer wood-cutter shochu-dealer sake-dealer oil-dealer rice-farmer tokens Occupation-Rare tanner furrierg rule Occupation 10 { token Occupation-Common } rule Occupation 1 { token Occupation-Rare } rule Name { rule syllable-nodouble rule syllable } rule Name { rule syllable-nodouble rule syllable rule syllable } rule Name { rule syllable-nodouble rule syllable rule syllable rule syllable }