I've implemented several telecom protocols from human-readable specs in various languages during my career, and frankly, I'm not enjoying it very much anymore.
Instead, I'd like to translate the human-readable protocol specs into machine-readable protocol specs, and automatically generate protocol handlers in various languages.
I'm specifically interested in doing this to SMPP/CIMD2/EMI protocols, and autogenerating protocol data unit serializers/deserializers, as well as state machines, test cases, and other infrastructure.
Has someone done this already?
If not, which languages, libraries, and notations would you recommend for such a task?