peg: replaced * with & as it has lower precedence which is better for parser grammar