p_string = char '"' >> many strchar <* char '"'
  where
    strchar = noneOf ['\\', '"'] <|> (char '\\' >> anyChar)
p_string = char '"' >> many strchar <* char '"'
  where
    strchar = noneOf ['\\', '"'] <|> (char '\\' >> anyChar)
p_string = char '"' >> many strchar <* char '"'
  where
    strchar = noneOf ['\\', '"'] <|> (char '\\' >> anyChar)