Pini's grammar is an important milestone in the Indian grammatical tradition. Unlike grammars of other languages, it is almost exhaustive and together with the theories of śAbdabodha (verbal cognition), this grammar provides a system for language analysis as well as generation. The theories of śAbdabodha describe three conditions necessary for verbal cognition. They are £A (expectancy), yogyatA (meaning congruity), and sannidhi (proximity). We examine them from a computational viewpoint and provide appropriate computational models for their representation. Next, we describe the design of a parser following the theories of śAbdabodha and present three algorithms for solving the constraints imposed by the theories of śAbdabodha. The first algorithm is modeled as a constraint satisfaction problem, the second one as a vertex-centric graph traversal, and the third one as an edge-centric binary join, each one being an improvement over the previous one.