<s> from expr import Expr <EOL> class SeqExpr ( Expr ) : <EOL> def __init__ ( self , value , type = None , source_info = None ) : <EOL> self . value = value <EOL> self . type = type <EOL> self . source_info = source_info <EOL> def children ( self ) : <EOL> yield self . value <EOL> class Enumerate ( SeqExpr ) : <EOL> pass <EOL> class Zip ( SeqExpr ) : <EOL> def __init__ ( self , values , type = None , source_info = None ) : <EOL> self . values = tuple ( values ) <EOL> self . type = type <EOL> self . source_info = source_info <EOL> def children ( self ) : <EOL> return self . values <EOL> class Len ( SeqExpr ) : <EOL> pass <EOL> class Index ( SeqExpr ) : <EOL> """<STR_LIT>""" <EOL> def __init__ ( self , value , index , check_negative = None , type = None , source_info = None ) : <EOL> self . value = value <EOL> self . index = index <EOL> self . check_negative = check_negative <EOL> self . type = type <EOL> self . source_info = source_info <EOL> def __eq__ ( self , other ) : <EOL> return other . __class__ is Index and other . value == self . value and other . index == self . index <EOL> def __hash__ ( self ) : <EOL> return hash ( ( self . value , self . index ) ) <EOL> def children ( self ) : <EOL> yield self . value <EOL> yield self . index <EOL> def __str__ ( self ) : <EOL> return "<STR_LIT>" % ( self . value , self . index ) </s>
