goblin.matzo 382 B

123456789101112
  1. word := init ending | init syll ending | init syll syll ending;
  2. init := initcons vowel | vowel | vowel cons vowel;
  3. syll := cons vowel;
  4. ending := cons | cons vowel;
  5. cons := 10: basecons | 'l' initcons | 'r' initcons;
  6. basecons ::= b d f g j k l m n ñ p r s t x z tx dd ll rr ts tt tz sk;
  7. initcons ::= b d f g j k l m n n ñ p r s t t x z;
  8. vowel ::= a a i u e e o o;
  9. puts word;