backport grammer for ruby 1.8