1. A method for a computer system to synthesize a sentence into an output language, the method comprising: representing a semantic structure of the sentence to be synthesized in language-independent terms wherein the meaning of the sentence is expressed as a directed acyclic graph with nodes corresponding to semantic classes; selecting at least one lexical meaning in a corresponding semantic class for each node of the acyclic graph using a lexical-semantic description of the output language, a rating related to lexical meanings, and their combinations, in the output language; building a surface structure of the output sentence in the output language from the language-independent semantic structure using a syntactic description of the output language, wherein the surface structure of the output sentence is built at least in part based on a rating of syntactic constructions of the output language; restoring a movement and determining a linear order on the syntactic structure of the output sentence in the output language; and performing a morphological synthesis of the output sentence using morphological descriptions of the output language.