Melee,
I'm just using a lookup table. Basically run full RPM and feed, and run a peck depth of one diameter, until 3 diameters, then reduce feed and peck depth by 10% and RPM by 5% for each additional diameter below that up to 6 diameters. Seems to work OK, but it's had very little testing to date. I found an Irwin drill spec sheet that suggested something similar.
I understand completely why you parsed the line as you did, and it was a very clever solution to an otherwise rather intractable problem. I've just found such solutions tend to be rather fragile over time (that, and I can't think of worse language than VB to have to write a parser in....). But, obviously, you had no choice here. It was also what prodded me to ask Brian to make all arguments available, so a good thing will come from it for sure. My solution was to just expand the G73 into G-code using a post-processor, for which I already had a working parser, so it was trivial to implement.
Regards,
Ray L.