1. A computer-implemented method performed by a data processing apparatus, the method comprising: providing, by a data processing apparatus, a command input sentence having a plurality of n-grams to a plurality of annotation services, wherein each annotation service identifies, in the command input sentence, n-grams that identify an entity of an entity type that is particular to the annotation service, and wherein the entity type for each annotation service is different from the entity type of each other annotation service; receiving from each annotation service annotations of n-grams in the command input sentence, each annotation identifying one or more n-grams in the command input sentence that identify an entity of the entity type particular from the annotation service; determining, from the command input sentence and the annotations, a plurality of parsing initializations, each parsing initialization being the command input sentence and at least one of the annotations of n-grams in the command input sentence; for each parsing initialization, parsing the command input sentence by a plurality of parsing rules, wherein: each parsing rule is a grammar defining one or more non-terminals and terminals, each non-terminal being of one of the entity types of the annotation services and not including list of each instance of the entity type; each parsing rule is associated with a particular action to be performed by a user device in response to a successful parse of a command input sentence by the parsing rule, and where a plurality of different actions are associated with a respective plurality of different parsing rules; and a complete parse of the command input sentence by parsing rule occurs when the one or more terminals and non-terminals completely consumes all n-grams of the command input sentence, and a complete parse yields a successful parse, and an incomplete parse of the command input sentence does not consume all n-grams of the command input sentence and yields an unsuccessful parse; and determining from only the parsing rules that yield a successful parse an action to be performed by a user device for the command input sentence.