#NEWLINE# def __init__( self , emitters = None , state_modifiers = None , input = None ) : #NEWLINE# #INDENT# 'Create new attributes from expressions with additional state passed\n        from tuple to tuple.\n\n        :param emitters: list of tuples of the form:\n                (column_name, raco.expression.Expression).\n                column_name can be None, in which case the system will infer a\n                name based on the expression\n            :type emitters: list of tuples\n        :param state_modifiers: State variables maintained by the StatefulApply\n        operator.\n        :type state_modifiers: list of StateVar tuples\n        ' #NEWLINE# if ( emitters is not None ) : #NEWLINE# #INDENT# self . inits = [ ( x . name , x . init_expr ) for x in state_modifiers ] #NEWLINE# self . updaters = [ ( x . name , x . update_expr ) for x in state_modifiers ] #NEWLINE# self . state_scheme = scheme . Scheme ( ) #NEWLINE# for ( name , expr ) in self . inits : #NEWLINE# #INDENT# self . state_scheme . addAttribute ( name , expr . typeof ( None , None ) ) #NEWLINE# #UNINDENT# #UNINDENT# if ( emitters is not None ) : #NEWLINE# #INDENT# in_scheme = input . scheme ( ) #NEWLINE# self . emitters = [ ( resolve_attribute_name ( name , in_scheme , sexpr , index ) , sexpr ) for ( index , ( name , sexpr ) ) in enumerate ( emitters ) ] #NEWLINE# #UNINDENT# UnaryOperator . __init__ ( self , input )