1. A computer-implemented method for processing a programming language able to describe data conversion of data input by an iterator, said method comprising: converting iterator code of the programming language to a generator code in an intermediate programming language including a generator as an operator, wherein the intermediate programming language differs from the programming language, and wherein the generator code comprises one or more yield statements, and wherein the conversion comprises recursively processing a subexpression of said iterator code; reading a consumer code in the programming language; selecting at least a part of the consumer code to be overwritten by the generator code in response to the at least a part of the consumer code comprising a series of operators that are linked; overwriting the at least a part of the consumer code by substitution with said generator code converted from the iterator code, wherein one or more states embedded in the iterator are mapped to one or more program points of a program obtained from the overwriting; and compiling the program obtained from the overwriting, wherein said generator code is compiled using a compiler for the intermediate programming language, which is different from a compiler for the programming language for optimization of the generator code.