4.3BSD/usr/contrib/icon/book/07/expr2.icn

procedure expression()
   return case ?3 of {
      1  :  term()
      2  :  term()
      3  :  term() || "+" || expression()
      }
end