Pure ruby PEG DSL inspired by peg.js