1. A method for authoring a grammar for use in a language processing application, comprising: i. receiving a semantic structure including a plurality of parts that represent a task; ii. receiving a plurality of grammar configuration parameters separate from the semantic structure, the plurality of grammar configuration parameters providing information related to grammar components associated with parts of the semantic structure in order to configure a grammar for the semantic structure, the parameters comprising a first value for a grammar component having a first type of grammar topology and a second value for a grammar component having a second type of grammar topology, wherein the second type of grammar topology is different than the first type of grammar topology; and iii. creating the grammar, via a processor, based on the plurality of grammar configuration parameters, wherein the grammar utilizes grammar components of selected topologies based on the plurality of grammar configuration parameters to analyze a natural language input.