word := begin rep.<1..4, syll> end; syll := cons vowel; end := cons vowel final | cons 'é' final | cons 'a' final | 'r' | 'n'; begin := vowel | initcons vowel; cons ::= b c d d ch d f g g gn h j l l l lh m m m n n n nh p qu r s s s ss ss ss sc sc t t t tg tj tz tz tr rt v z; initcons ::= b c d ch d f g gn h j l m n p qu r s sc t v; vowel := 4: commonvowel | uncommonvowel; commonvowel ::= a i u e é o; uncommonvowel ::= à è ó ò í ú; final := 's' | 6: ''; puts word;