parsing expression grammar (wip)