( Syllable Challenge )
: upper ( ch -- CH ) 95 and ;
: vowel? ( ch -- f )
  upper dup [char] A = over [char] E = or over [char] I = or
        over [char] O = or over [char] U = or swap [char] Y = or ;
: vowel# ( a n -- n ) 0 swap 0 do over i + c@ vowel? if 1+ then loop nip ;
: stem ( a n -- )
  2dup vowel# 0= if type exit then
  2dup vowel# 2 < if type space exit then
  dup 5 <= if
    2dup vowel# over 2 + 2/ >= if type space exit then
  then
  2dup 2/ recurse
  dup dup 2/ - >r 2/ + r> recurse
;
: test bl parse 2dup type space space stem cr ;

test big
test robot
test caterpillar
test sundial
test fungible

big  big
robot  ro bot
caterpillar  ca ter pil lar
sundial  sun di al
fungible  fung ib le
general  gen er al
Robert  Rob ert
tangential  ta nge ntial
presidential  pre sid ent ial
robotic  rob ot ic
fight  fight
valley  val ley
tangled  tan gled

troubled  trou bled
loose  loose
pill  pill
seen  se en
language  lang uage
syllable  syll ab le
greenery  gree ne ry
tragedy  tra ge dy
comedy  com edy
playbill  play bill
endurance  en du ra nce
nightly  nig htly