Racc is an LALR(1) parser generator.  It is written in Ruby itself, and generates ruby programs.