Nail: A Practical Tool for Parsing and Generating Data Formats