fork download
  1. t=['']
  2. l=[0]
  3. gets.chars{|c|c<?]?t<<''&&(l<<0)[-2]+=1:c<?^?(x=l.pop;t.pop==''&&(puts t*''if x<1;t[-1]='')):t[-1]<<c}
Success #stdin #stdout 0.06s 9664KB
stdin
cat[s[up[][]][]ch[e[r[]s[]]]a[maran[]comb[]pult[[]ing[]]]]
stdout
catsup
cats
cat
catcher
catches
catamaran
catacomb
catapult
catapulting