I've just tried Gerard Huet's Sanskrit Reader Companion,and I wanted to bring it to the other members attention if they haven't already tried it. Its very impressive.
Taking Madhav's latest verse and inputing it in KH exactly how its written with no added breaks or resolving sandhi and choosing the "filtered solutions" option it output as its first solutions:
input:
khelantastava lIlAyAM gRhItAH smo vayaM tvayA
output:
[ khelantaḥ{ nom. pl. m. }[khelat { ppr. [1] ac. }[khel]]<>]
[ tava{ g. sg. * }[yuṣmad]<>]
[ līlāyām{ loc. sg. f. }[līlā]<>]
[ gṛhītāḥ{ acc. pl. f. | nom. pl. f. | nom. pl. m. }[gṛhīta { pp. }[grah]]<ḥ| → ḥ>]
[ smaḥ{ pr. [2] ac. pl. 1 }[as_1]<ḥ| → ḥ>]
[ vayam{ nom. pl. * }[asmad]<>]
[ tvayā{ i. sg. * }[yuṣmad]<>]
-------------------------------
input:
ka icched vada govinda muktiM te premabhandhanAt
output:
[ kaḥ{ nom. sg. m. }[kim]<ḥ|i → _i>]
[ icchet{ opt. [6] ac. sg. 3 }[iṣ_1]<>]
[ vada{ imp. [1] ac. sg. 2 }[vad]<>]
[ govinda{ voc. sg. m. }[govinda]<>]
[ muktim{ acc. sg. f. }[mukti]<>]
[ te{ acc. du. n. | nom. du. n. | nom. pl. m. | acc. du. f. | nom. du. f. }[tad]
{ g. sg. * | dat. sg. * }[yuṣmad]<>]
[ prema{ iic. }[preman]<>]
[ bandhanāt{ abl. sg. m. | abl. sg. n. }[bandhana]<>]