A method for parsing for natural languages includes a grammar and a lexicon. A knowledge base may be used to define elements in the lexicon. A processor receives single words input by a user and adds them to a sentence under construction. Valid next words are predicted after each received input word. The preferred system has two major components: a parser and a predictor. The predictor accesses only the lexicon and the knowledge base, if one is used, to determine the valid next input words. The parser constructs sentences which are valid according to the grammar out of words accepted by the predictor.