1. A method of performing machine translation of a source language (SL) input to a translation output in a target language (TL), comprising: matching fragments of the SL input to SL fragments of examples in an example base; identifying all matched blocks in the SL input as blocks of terms in the SL input that are matched by one or more SL fragments in an example; selecting block combinations of the matched blocks to cover one or more fragments of the SL input; for each block in the selected block combinations, identifying an example associated with the block; aligning TL portions of the identified example with SL portions of the identified example that match the one or more fragments of the SL input; and providing the translation output based on the aligned portions.