1. A method comprising: partitioning, by a computer, a set of grammar rules for a particular programming language into logical subsets based on a dependency graph for said particular programming language, said dependency graph being preprocessed so as to be devoid of cyclically connected grammar rule nodes; generating, by said computer and for each one of said logical subsets, textual code for a corresponding portion of a parsing program; converting, by said computer for each one of said logical subsets, said textual code for said corresponding portion of said parsing program into machine-readable code for said corresponding portion of said parsing program; and merging, by said computer, all machine-readable code for all portions of said parsing program.