bgodette wrote:Basically there needs to be positional awareness for handling things like St, Dr, N/S/E/W. Can anyone think of a name where St isn't Saint unless it's at the end of the name and therefore Street? Same thing for Dr.
'Storrow Dr E' is supposed to be "storrow drive east", not "storrow doctor east" or "storrow doctor ee". And each time someone comes up with an example that we haven't anticipated, the rules (and code) become messier and harder to maintain.
All these conditions and exceptions are easy enough for a human to follow, but to a computer, context-sensitive grammars are brittle. Trust me, I have done this for a living. Better to start now with as straightforward and literal a system as possible, or it will turn into a perpetual problem, where fixing one case will break several others.

