1. A method of analyzing a context free grammar for a speech system during authoring of the context free grammar, comprising: authoring at least a portion of the context free grammar; loading the authored context free grammar into a grammar analyzer having a plurality of static analysis components each capable of identifying a different class of grammar defects, wherein at least one of the classes is related to identifying defects related to speech recognition and at least one of the classes is related to identifying defects related to something other than speech recognition; intermittently, while authoring the context free grammar, selecting one of the plurality of accessible static analysis components; running the selected static analysis component on the context free grammar to identify specific defects in the context free grammar of the class associated with the selected static analysis component wherein the selected static analysis component identifies over-generation defects in the context free grammar by selecting each text fragment allowed by the context free grammar, calculating a language model score for the selected text fragment with a language model to determine whether the selected text fragment is likely to be used by a user based on the language model score; and if not, generating an output indicative of a possibility that an unusual text fragment, allowed by the context free grammar, has been identified; and repeating the steps of selecting and running for each desired static analysis component.