I manually read through the generated file. It looks reasonable.
I parsed the file with services_count.c. It parsed 12,005 names, the same number printed by services_parser.py when creating the file. I used the same program to benchmark the parser. Time grew linearly as the number of lines, and memory usage (RSS) grew by 1%.
I ran services_mkdb -q. It seemed happy.