Parsing expression grammar in Go