One example is doing it analog: feed the pulse delay into an integrator; the final voltage, between when the pulse was sent until it arrives, will be proportional (i.e., not quantized) to the duration. It will be noisy (sensitive to risetime, amplitude and threshold), which makes this not the greatest for a ranged (wide dynamic range, think radio) application, but there are ways around that (lock-in, filtering).
Another is doing it by vernier, where you start counting one clock at the pulse start, and start counting the other at the pulse arrival. Then continue counting until both clocks coincide, and calculate the quotient of them.
Yet another is to do it by phase, so you have an oscillator that times pulses going out, and a 90 degree complement of it. Use mixers to determine the I/Q components, phase-detector-ing the return signal. If everything is square pulses, phase is linear with whichever quadrant it's closest to, so some ADC action (and filtering to smooth out the noise) can unwravel the answer.
If you have sinusoidal waves, you get sinusoidal phase response, so you need to do some trig.
Tim