<s> """<STR_LIT>""" <EOL> from compiler . consts import CO_VARARGS , CO_VARKEYWORDS <EOL> def flatten ( seq ) : <EOL> l = [ ] <EOL> for elt in seq : <EOL> t = type ( elt ) <EOL> if t is tuple or t is list : <EOL> for elt2 in flatten ( elt ) : <EOL> l . append ( elt2 ) <EOL> else : <EOL> l . append ( elt ) <EOL> return l <EOL> def flatten_nodes ( seq ) : <EOL> return [ n for n in flatten ( seq ) if isinstance ( n , Node ) ] <EOL> nodes = { } <EOL> class Node : <EOL> """<STR_LIT>""" <EOL> def getChildren ( self ) : <EOL> pass <EOL> def __iter__ ( self ) : <EOL> for n in self . getChildren ( ) : <EOL> yield n <EOL> def asList ( self ) : <EOL> return self . getChildren ( ) <EOL> def getChildNodes ( self ) : <EOL> pass <EOL> class EmptyNode ( Node ) : <EOL> pass <EOL> class Expression ( Node ) : <EOL> nodes [ "<STR_LIT>" ] = "<STR_LIT>" <EOL> def __init__ ( self , node ) : <EOL> self . node = node <EOL> def getChildren ( self ) : <EOL> return self . node , <EOL> def getChildNodes ( self ) : <EOL> return self . node , <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . node ) ) <EOL> class Add ( Node ) : <EOL> def __init__ ( self , leftright , lineno = None ) : <EOL> self . left = leftright [ <NUM_LIT:0> ] <EOL> self . right = leftright [ <NUM_LIT:1> ] <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . left , self . right <EOL> def getChildNodes ( self ) : <EOL> return self . left , self . right <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . left ) , repr ( self . right ) ) <EOL> class And ( Node ) : <EOL> def __init__ ( self , nodes , lineno = None ) : <EOL> self . nodes = nodes <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return tuple ( flatten ( self . nodes ) ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . extend ( flatten_nodes ( self . nodes ) ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . nodes ) , ) <EOL> class AssAttr ( Node ) : <EOL> def __init__ ( self , expr , attrname , flags , lineno = None ) : <EOL> self . expr = expr <EOL> self . attrname = attrname <EOL> self . flags = flags <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . expr , self . attrname , self . flags <EOL> def getChildNodes ( self ) : <EOL> return self . expr , <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . expr ) , repr ( self . attrname ) , repr ( self . flags ) ) <EOL> class AssList ( Node ) : <EOL> def __init__ ( self , nodes , lineno = None ) : <EOL> self . nodes = nodes <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return tuple ( flatten ( self . nodes ) ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . extend ( flatten_nodes ( self . nodes ) ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . nodes ) , ) <EOL> class AssName ( Node ) : <EOL> def __init__ ( self , name , flags , lineno = None ) : <EOL> self . name = name <EOL> self . flags = flags <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . name , self . flags <EOL> def getChildNodes ( self ) : <EOL> return ( ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . name ) , repr ( self . flags ) ) <EOL> class AssTuple ( Node ) : <EOL> def __init__ ( self , nodes , lineno = None ) : <EOL> self . nodes = nodes <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return tuple ( flatten ( self . nodes ) ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . extend ( flatten_nodes ( self . nodes ) ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . nodes ) , ) <EOL> class Assert ( Node ) : <EOL> def __init__ ( self , test , fail , lineno = None ) : <EOL> self . test = test <EOL> self . fail = fail <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> children = [ ] <EOL> children . append ( self . test ) <EOL> children . append ( self . fail ) <EOL> return tuple ( children ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . append ( self . test ) <EOL> if self . fail is not None : <EOL> nodelist . append ( self . fail ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . test ) , repr ( self . fail ) ) <EOL> class Assign ( Node ) : <EOL> def __init__ ( self , nodes , expr , lineno = None ) : <EOL> self . nodes = nodes <EOL> self . expr = expr <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> children = [ ] <EOL> children . extend ( flatten ( self . nodes ) ) <EOL> children . append ( self . expr ) <EOL> return tuple ( children ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . extend ( flatten_nodes ( self . nodes ) ) <EOL> nodelist . append ( self . expr ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . nodes ) , repr ( self . expr ) ) <EOL> class AugAssign ( Node ) : <EOL> def __init__ ( self , node , op , expr , lineno = None ) : <EOL> self . node = node <EOL> self . op = op <EOL> self . expr = expr <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . node , self . op , self . expr <EOL> def getChildNodes ( self ) : <EOL> return self . node , self . expr <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . node ) , repr ( self . op ) , repr ( self . expr ) ) <EOL> class Backquote ( Node ) : <EOL> def __init__ ( self , expr , lineno = None ) : <EOL> self . expr = expr <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . expr , <EOL> def getChildNodes ( self ) : <EOL> return self . expr , <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . expr ) , ) <EOL> class Bitand ( Node ) : <EOL> def __init__ ( self , nodes , lineno = None ) : <EOL> self . nodes = nodes <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return tuple ( flatten ( self . nodes ) ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . extend ( flatten_nodes ( self . nodes ) ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . nodes ) , ) <EOL> class Bitor ( Node ) : <EOL> def __init__ ( self , nodes , lineno = None ) : <EOL> self . nodes = nodes <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return tuple ( flatten ( self . nodes ) ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . extend ( flatten_nodes ( self . nodes ) ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . nodes ) , ) <EOL> class Bitxor ( Node ) : <EOL> def __init__ ( self , nodes , lineno = None ) : <EOL> self . nodes = nodes <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return tuple ( flatten ( self . nodes ) ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . extend ( flatten_nodes ( self . nodes ) ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . nodes ) , ) <EOL> class Break ( Node ) : <EOL> def __init__ ( self , lineno = None ) : <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return ( ) <EOL> def getChildNodes ( self ) : <EOL> return ( ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" <EOL> class CallFunc ( Node ) : <EOL> def __init__ ( self , node , args , star_args = None , dstar_args = None , lineno = None ) : <EOL> self . node = node <EOL> self . args = args <EOL> self . star_args = star_args <EOL> self . dstar_args = dstar_args <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> children = [ ] <EOL> children . append ( self . node ) <EOL> children . extend ( flatten ( self . args ) ) <EOL> children . append ( self . star_args ) <EOL> children . append ( self . dstar_args ) <EOL> return tuple ( children ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . append ( self . node ) <EOL> nodelist . extend ( flatten_nodes ( self . args ) ) <EOL> if self . star_args is not None : <EOL> nodelist . append ( self . star_args ) <EOL> if self . dstar_args is not None : <EOL> nodelist . append ( self . dstar_args ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . node ) , repr ( self . args ) , repr ( self . star_args ) , repr ( self . dstar_args ) ) <EOL> class Class ( Node ) : <EOL> def __init__ ( self , name , bases , doc , code , decorators = None , lineno = None ) : <EOL> self . name = name <EOL> self . bases = bases <EOL> self . doc = doc <EOL> self . code = code <EOL> self . decorators = decorators <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> children = [ ] <EOL> children . append ( self . name ) <EOL> children . extend ( flatten ( self . bases ) ) <EOL> children . append ( self . doc ) <EOL> children . append ( self . code ) <EOL> children . append ( self . decorators ) <EOL> return tuple ( children ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . extend ( flatten_nodes ( self . bases ) ) <EOL> nodelist . append ( self . code ) <EOL> if self . decorators is not None : <EOL> nodelist . append ( self . decorators ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . name ) , repr ( self . bases ) , repr ( self . doc ) , repr ( self . code ) , repr ( self . decorators ) ) <EOL> class Compare ( Node ) : <EOL> def __init__ ( self , expr , ops , lineno = None ) : <EOL> self . expr = expr <EOL> self . ops = ops <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> children = [ ] <EOL> children . append ( self . expr ) <EOL> children . extend ( flatten ( self . ops ) ) <EOL> return tuple ( children ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . append ( self . expr ) <EOL> nodelist . extend ( flatten_nodes ( self . ops ) ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . expr ) , repr ( self . ops ) ) <EOL> class Const ( Node ) : <EOL> def __init__ ( self , value , lineno = None ) : <EOL> self . value = value <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . value , <EOL> def getChildNodes ( self ) : <EOL> return ( ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . value ) , ) <EOL> class Continue ( Node ) : <EOL> def __init__ ( self , lineno = None ) : <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return ( ) <EOL> def getChildNodes ( self ) : <EOL> return ( ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" <EOL> class Decorators ( Node ) : <EOL> def __init__ ( self , nodes , lineno = None ) : <EOL> self . nodes = nodes <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return tuple ( flatten ( self . nodes ) ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . extend ( flatten_nodes ( self . nodes ) ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . nodes ) , ) <EOL> class Dict ( Node ) : <EOL> def __init__ ( self , items , lineno = None ) : <EOL> self . items = items <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return tuple ( flatten ( self . items ) ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . extend ( flatten_nodes ( self . items ) ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . items ) , ) <EOL> class Discard ( Node ) : <EOL> def __init__ ( self , expr , lineno = None ) : <EOL> self . expr = expr <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . expr , <EOL> def getChildNodes ( self ) : <EOL> return self . expr , <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . expr ) , ) <EOL> class Div ( Node ) : <EOL> def __init__ ( self , leftright , lineno = None ) : <EOL> self . left = leftright [ <NUM_LIT:0> ] <EOL> self . right = leftright [ <NUM_LIT:1> ] <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . left , self . right <EOL> def getChildNodes ( self ) : <EOL> return self . left , self . right <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . left ) , repr ( self . right ) ) <EOL> class Ellipsis ( Node ) : <EOL> def __init__ ( self , lineno = None ) : <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return ( ) <EOL> def getChildNodes ( self ) : <EOL> return ( ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" <EOL> class Exec ( Node ) : <EOL> def __init__ ( self , expr , locals , globals , lineno = None ) : <EOL> self . expr = expr <EOL> self . locals = locals <EOL> self . globals = globals <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> children = [ ] <EOL> children . append ( self . expr ) <EOL> children . append ( self . locals ) <EOL> children . append ( self . globals ) <EOL> return tuple ( children ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . append ( self . expr ) <EOL> if self . locals is not None : <EOL> nodelist . append ( self . locals ) <EOL> if self . globals is not None : <EOL> nodelist . append ( self . globals ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . expr ) , repr ( self . locals ) , repr ( self . globals ) ) <EOL> class FloorDiv ( Node ) : <EOL> def __init__ ( self , leftright , lineno = None ) : <EOL> self . left = leftright [ <NUM_LIT:0> ] <EOL> self . right = leftright [ <NUM_LIT:1> ] <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . left , self . right <EOL> def getChildNodes ( self ) : <EOL> return self . left , self . right <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . left ) , repr ( self . right ) ) <EOL> class For ( Node ) : <EOL> def __init__ ( self , assign , list , body , else_ , lineno = None ) : <EOL> self . assign = assign <EOL> self . list = list <EOL> self . body = body <EOL> self . else_ = else_ <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> children = [ ] <EOL> children . append ( self . assign ) <EOL> children . append ( self . list ) <EOL> children . append ( self . body ) <EOL> children . append ( self . else_ ) <EOL> return tuple ( children ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . append ( self . assign ) <EOL> nodelist . append ( self . list ) <EOL> nodelist . append ( self . body ) <EOL> if self . else_ is not None : <EOL> nodelist . append ( self . else_ ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . assign ) , repr ( self . list ) , repr ( self . body ) , repr ( self . else_ ) ) <EOL> class From ( Node ) : <EOL> def __init__ ( self , modname , names , level , lineno = None ) : <EOL> self . modname = modname <EOL> self . names = names <EOL> self . level = level <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . modname , self . names , self . level <EOL> def getChildNodes ( self ) : <EOL> return ( ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . modname ) , repr ( self . names ) , repr ( self . level ) ) <EOL> class Function ( Node ) : <EOL> def __init__ ( self , decorators , name , argnames , defaults , flags , doc , code , lineno = None ) : <EOL> self . decorators = decorators <EOL> self . name = name <EOL> self . argnames = argnames <EOL> self . defaults = defaults <EOL> self . flags = flags <EOL> self . doc = doc <EOL> self . code = code <EOL> self . lineno = lineno <EOL> self . varargs = self . kwargs = None <EOL> if flags & CO_VARARGS : <EOL> self . varargs = <NUM_LIT:1> <EOL> if flags & CO_VARKEYWORDS : <EOL> self . kwargs = <NUM_LIT:1> <EOL> def getChildren ( self ) : <EOL> children = [ ] <EOL> children . append ( self . decorators ) <EOL> children . append ( self . name ) <EOL> children . append ( self . argnames ) <EOL> children . extend ( flatten ( self . defaults ) ) <EOL> children . append ( self . flags ) <EOL> children . append ( self . doc ) <EOL> children . append ( self . code ) <EOL> return tuple ( children ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> if self . decorators is not None : <EOL> nodelist . append ( self . decorators ) <EOL> nodelist . extend ( flatten_nodes ( self . defaults ) ) <EOL> nodelist . append ( self . code ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . decorators ) , repr ( self . name ) , repr ( self . argnames ) , repr ( self . defaults ) , repr ( self . flags ) , repr ( self . doc ) , repr ( self . code ) ) <EOL> class GenExpr ( Node ) : <EOL> def __init__ ( self , code , lineno = None ) : <EOL> self . code = code <EOL> self . lineno = lineno <EOL> self . argnames = [ '<STR_LIT>' ] <EOL> self . varargs = self . kwargs = None <EOL> def getChildren ( self ) : <EOL> return self . code , <EOL> def getChildNodes ( self ) : <EOL> return self . code , <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . code ) , ) <EOL> class GenExprFor ( Node ) : <EOL> def __init__ ( self , assign , iter , ifs , lineno = None ) : <EOL> self . assign = assign <EOL> self . iter = iter <EOL> self . ifs = ifs <EOL> self . lineno = lineno <EOL> self . is_outmost = False <EOL> def getChildren ( self ) : <EOL> children = [ ] <EOL> children . append ( self . assign ) <EOL> children . append ( self . iter ) <EOL> children . extend ( flatten ( self . ifs ) ) <EOL> return tuple ( children ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . append ( self . assign ) <EOL> nodelist . append ( self . iter ) <EOL> nodelist . extend ( flatten_nodes ( self . ifs ) ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . assign ) , repr ( self . iter ) , repr ( self . ifs ) ) <EOL> class GenExprIf ( Node ) : <EOL> def __init__ ( self , test , lineno = None ) : <EOL> self . test = test <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . test , <EOL> def getChildNodes ( self ) : <EOL> return self . test , <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . test ) , ) <EOL> class GenExprInner ( Node ) : <EOL> def __init__ ( self , expr , quals , lineno = None ) : <EOL> self . expr = expr <EOL> self . quals = quals <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> children = [ ] <EOL> children . append ( self . expr ) <EOL> children . extend ( flatten ( self . quals ) ) <EOL> return tuple ( children ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . append ( self . expr ) <EOL> nodelist . extend ( flatten_nodes ( self . quals ) ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . expr ) , repr ( self . quals ) ) <EOL> class Getattr ( Node ) : <EOL> def __init__ ( self , expr , attrname , lineno = None ) : <EOL> self . expr = expr <EOL> self . attrname = attrname <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . expr , self . attrname <EOL> def getChildNodes ( self ) : <EOL> return self . expr , <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . expr ) , repr ( self . attrname ) ) <EOL> class Global ( Node ) : <EOL> def __init__ ( self , names , lineno = None ) : <EOL> self . names = names <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . names , <EOL> def getChildNodes ( self ) : <EOL> return ( ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . names ) , ) <EOL> class If ( Node ) : <EOL> def __init__ ( self , tests , else_ , lineno = None ) : <EOL> self . tests = tests <EOL> self . else_ = else_ <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> children = [ ] <EOL> children . extend ( flatten ( self . tests ) ) <EOL> children . append ( self . else_ ) <EOL> return tuple ( children ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . extend ( flatten_nodes ( self . tests ) ) <EOL> if self . else_ is not None : <EOL> nodelist . append ( self . else_ ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . tests ) , repr ( self . else_ ) ) <EOL> class IfExp ( Node ) : <EOL> def __init__ ( self , test , then , else_ , lineno = None ) : <EOL> self . test = test <EOL> self . then = then <EOL> self . else_ = else_ <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . test , self . then , self . else_ <EOL> def getChildNodes ( self ) : <EOL> return self . test , self . then , self . else_ <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . test ) , repr ( self . then ) , repr ( self . else_ ) ) <EOL> class Import ( Node ) : <EOL> def __init__ ( self , names , lineno = None ) : <EOL> self . names = names <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . names , <EOL> def getChildNodes ( self ) : <EOL> return ( ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . names ) , ) <EOL> class Invert ( Node ) : <EOL> def __init__ ( self , expr , lineno = None ) : <EOL> self . expr = expr <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . expr , <EOL> def getChildNodes ( self ) : <EOL> return self . expr , <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . expr ) , ) <EOL> class Keyword ( Node ) : <EOL> def __init__ ( self , name , expr , lineno = None ) : <EOL> self . name = name <EOL> self . expr = expr <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . name , self . expr <EOL> def getChildNodes ( self ) : <EOL> return self . expr , <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . name ) , repr ( self . expr ) ) <EOL> class Lambda ( Node ) : <EOL> def __init__ ( self , argnames , defaults , flags , code , lineno = None ) : <EOL> self . argnames = argnames <EOL> self . defaults = defaults <EOL> self . flags = flags <EOL> self . code = code <EOL> self . lineno = lineno <EOL> self . varargs = self . kwargs = None <EOL> if flags & CO_VARARGS : <EOL> self . varargs = <NUM_LIT:1> <EOL> if flags & CO_VARKEYWORDS : <EOL> self . kwargs = <NUM_LIT:1> <EOL> def getChildren ( self ) : <EOL> children = [ ] <EOL> children . append ( self . argnames ) <EOL> children . extend ( flatten ( self . defaults ) ) <EOL> children . append ( self . flags ) <EOL> children . append ( self . code ) <EOL> return tuple ( children ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . extend ( flatten_nodes ( self . defaults ) ) <EOL> nodelist . append ( self . code ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . argnames ) , repr ( self . defaults ) , repr ( self . flags ) , repr ( self . code ) ) <EOL> class LeftShift ( Node ) : <EOL> def __init__ ( self , leftright , lineno = None ) : <EOL> self . left = leftright [ <NUM_LIT:0> ] <EOL> self . right = leftright [ <NUM_LIT:1> ] <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . left , self . right <EOL> def getChildNodes ( self ) : <EOL> return self . left , self . right <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . left ) , repr ( self . right ) ) <EOL> class List ( Node ) : <EOL> def __init__ ( self , nodes , lineno = None ) : <EOL> self . nodes = nodes <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return tuple ( flatten ( self . nodes ) ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . extend ( flatten_nodes ( self . nodes ) ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . nodes ) , ) <EOL> class ListComp ( Node ) : <EOL> def __init__ ( self , expr , quals , lineno = None ) : <EOL> self . expr = expr <EOL> self . quals = quals <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> children = [ ] <EOL> children . append ( self . expr ) <EOL> children . extend ( flatten ( self . quals ) ) <EOL> return tuple ( children ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . append ( self . expr ) <EOL> nodelist . extend ( flatten_nodes ( self . quals ) ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . expr ) , repr ( self . quals ) ) <EOL> class ListCompFor ( Node ) : <EOL> def __init__ ( self , assign , list , ifs , lineno = None ) : <EOL> self . assign = assign <EOL> self . list = list <EOL> self . ifs = ifs <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> children = [ ] <EOL> children . append ( self . assign ) <EOL> children . append ( self . list ) <EOL> children . extend ( flatten ( self . ifs ) ) <EOL> return tuple ( children ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . append ( self . assign ) <EOL> nodelist . append ( self . list ) <EOL> nodelist . extend ( flatten_nodes ( self . ifs ) ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . assign ) , repr ( self . list ) , repr ( self . ifs ) ) <EOL> class ListCompIf ( Node ) : <EOL> def __init__ ( self , test , lineno = None ) : <EOL> self . test = test <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . test , <EOL> def getChildNodes ( self ) : <EOL> return self . test , <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . test ) , ) <EOL> class SetComp ( Node ) : <EOL> def __init__ ( self , expr , quals , lineno = None ) : <EOL> self . expr = expr <EOL> self . quals = quals <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> children = [ ] <EOL> children . append ( self . expr ) <EOL> children . extend ( flatten ( self . quals ) ) <EOL> return tuple ( children ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . append ( self . expr ) <EOL> nodelist . extend ( flatten_nodes ( self . quals ) ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . expr ) , repr ( self . quals ) ) <EOL> class DictComp ( Node ) : <EOL> def __init__ ( self , key , value , quals , lineno = None ) : <EOL> self . key = key <EOL> self . value = value <EOL> self . quals = quals <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> children = [ ] <EOL> children . append ( self . key ) <EOL> children . append ( self . value ) <EOL> children . extend ( flatten ( self . quals ) ) <EOL> return tuple ( children ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . append ( self . key ) <EOL> nodelist . append ( self . value ) <EOL> nodelist . extend ( flatten_nodes ( self . quals ) ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . key ) , repr ( self . value ) , repr ( self . quals ) ) <EOL> class Mod ( Node ) : <EOL> def __init__ ( self , leftright , lineno = None ) : <EOL> self . left = leftright [ <NUM_LIT:0> ] <EOL> self . right = leftright [ <NUM_LIT:1> ] <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . left , self . right <EOL> def getChildNodes ( self ) : <EOL> return self . left , self . right <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . left ) , repr ( self . right ) ) <EOL> class Module ( Node ) : <EOL> def __init__ ( self , doc , node , lineno = None ) : <EOL> self . doc = doc <EOL> self . node = node <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . doc , self . node <EOL> def getChildNodes ( self ) : <EOL> return self . node , <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . doc ) , repr ( self . node ) ) <EOL> class Mul ( Node ) : <EOL> def __init__ ( self , leftright , lineno = None ) : <EOL> self . left = leftright [ <NUM_LIT:0> ] <EOL> self . right = leftright [ <NUM_LIT:1> ] <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . left , self . right <EOL> def getChildNodes ( self ) : <EOL> return self . left , self . right <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . left ) , repr ( self . right ) ) <EOL> class Name ( Node ) : <EOL> def __init__ ( self , name , lineno = None ) : <EOL> self . name = name <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . name , <EOL> def getChildNodes ( self ) : <EOL> return ( ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . name ) , ) <EOL> class Not ( Node ) : <EOL> def __init__ ( self , expr , lineno = None ) : <EOL> self . expr = expr <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . expr , <EOL> def getChildNodes ( self ) : <EOL> return self . expr , <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . expr ) , ) <EOL> class Or ( Node ) : <EOL> def __init__ ( self , nodes , lineno = None ) : <EOL> self . nodes = nodes <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return tuple ( flatten ( self . nodes ) ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . extend ( flatten_nodes ( self . nodes ) ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . nodes ) , ) <EOL> class Pass ( Node ) : <EOL> def __init__ ( self , lineno = None ) : <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return ( ) <EOL> def getChildNodes ( self ) : <EOL> return ( ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" <EOL> class Power ( Node ) : <EOL> def __init__ ( self , leftright , lineno = None ) : <EOL> self . left = leftright [ <NUM_LIT:0> ] <EOL> self . right = leftright [ <NUM_LIT:1> ] <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . left , self . right <EOL> def getChildNodes ( self ) : <EOL> return self . left , self . right <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . left ) , repr ( self . right ) ) <EOL> class Print ( Node ) : <EOL> def __init__ ( self , nodes , dest , lineno = None ) : <EOL> self . nodes = nodes <EOL> self . dest = dest <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> children = [ ] <EOL> children . extend ( flatten ( self . nodes ) ) <EOL> children . append ( self . dest ) <EOL> return tuple ( children ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . extend ( flatten_nodes ( self . nodes ) ) <EOL> if self . dest is not None : <EOL> nodelist . append ( self . dest ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . nodes ) , repr ( self . dest ) ) <EOL> class Printnl ( Node ) : <EOL> def __init__ ( self , nodes , dest , lineno = None ) : <EOL> self . nodes = nodes <EOL> self . dest = dest <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> children = [ ] <EOL> children . extend ( flatten ( self . nodes ) ) <EOL> children . append ( self . dest ) <EOL> return tuple ( children ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . extend ( flatten_nodes ( self . nodes ) ) <EOL> if self . dest is not None : <EOL> nodelist . append ( self . dest ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . nodes ) , repr ( self . dest ) ) <EOL> class Raise ( Node ) : <EOL> def __init__ ( self , expr1 , expr2 , expr3 , lineno = None ) : <EOL> self . expr1 = expr1 <EOL> self . expr2 = expr2 <EOL> self . expr3 = expr3 <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> children = [ ] <EOL> children . append ( self . expr1 ) <EOL> children . append ( self . expr2 ) <EOL> children . append ( self . expr3 ) <EOL> return tuple ( children ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> if self . expr1 is not None : <EOL> nodelist . append ( self . expr1 ) <EOL> if self . expr2 is not None : <EOL> nodelist . append ( self . expr2 ) <EOL> if self . expr3 is not None : <EOL> nodelist . append ( self . expr3 ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . expr1 ) , repr ( self . expr2 ) , repr ( self . expr3 ) ) <EOL> class Return ( Node ) : <EOL> def __init__ ( self , value , lineno = None ) : <EOL> self . value = value <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . value , <EOL> def getChildNodes ( self ) : <EOL> return self . value , <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . value ) , ) <EOL> class RightShift ( Node ) : <EOL> def __init__ ( self , leftright , lineno = None ) : <EOL> self . left = leftright [ <NUM_LIT:0> ] <EOL> self . right = leftright [ <NUM_LIT:1> ] <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . left , self . right <EOL> def getChildNodes ( self ) : <EOL> return self . left , self . right <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . left ) , repr ( self . right ) ) <EOL> class Set ( Node ) : <EOL> def __init__ ( self , nodes , lineno = None ) : <EOL> self . nodes = nodes <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return tuple ( flatten ( self . nodes ) ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . extend ( flatten_nodes ( self . nodes ) ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . nodes ) , ) <EOL> class Slice ( Node ) : <EOL> def __init__ ( self , expr , flags , lower , upper , lineno = None ) : <EOL> self . expr = expr <EOL> self . flags = flags <EOL> self . lower = lower <EOL> self . upper = upper <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> children = [ ] <EOL> children . append ( self . expr ) <EOL> children . append ( self . flags ) <EOL> children . append ( self . lower ) <EOL> children . append ( self . upper ) <EOL> return tuple ( children ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . append ( self . expr ) <EOL> if self . lower is not None : <EOL> nodelist . append ( self . lower ) <EOL> if self . upper is not None : <EOL> nodelist . append ( self . upper ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . expr ) , repr ( self . flags ) , repr ( self . lower ) , repr ( self . upper ) ) <EOL> class Sliceobj ( Node ) : <EOL> def __init__ ( self , nodes , lineno = None ) : <EOL> self . nodes = nodes <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return tuple ( flatten ( self . nodes ) ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . extend ( flatten_nodes ( self . nodes ) ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . nodes ) , ) <EOL> class Stmt ( Node ) : <EOL> def __init__ ( self , nodes , lineno = None ) : <EOL> self . nodes = nodes <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return tuple ( flatten ( self . nodes ) ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . extend ( flatten_nodes ( self . nodes ) ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . nodes ) , ) <EOL> class Sub ( Node ) : <EOL> def __init__ ( self , leftright , lineno = None ) : <EOL> self . left = leftright [ <NUM_LIT:0> ] <EOL> self . right = leftright [ <NUM_LIT:1> ] <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . left , self . right <EOL> def getChildNodes ( self ) : <EOL> return self . left , self . right <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . left ) , repr ( self . right ) ) <EOL> class Subscript ( Node ) : <EOL> def __init__ ( self , expr , flags , subs , lineno = None ) : <EOL> self . expr = expr <EOL> self . flags = flags <EOL> self . subs = subs <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> children = [ ] <EOL> children . append ( self . expr ) <EOL> children . append ( self . flags ) <EOL> children . extend ( flatten ( self . subs ) ) <EOL> return tuple ( children ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . append ( self . expr ) <EOL> nodelist . extend ( flatten_nodes ( self . subs ) ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . expr ) , repr ( self . flags ) , repr ( self . subs ) ) <EOL> class TryExcept ( Node ) : <EOL> def __init__ ( self , body , handlers , else_ , lineno = None ) : <EOL> self . body = body <EOL> self . handlers = handlers <EOL> self . else_ = else_ <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> children = [ ] <EOL> children . append ( self . body ) <EOL> children . extend ( flatten ( self . handlers ) ) <EOL> children . append ( self . else_ ) <EOL> return tuple ( children ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . append ( self . body ) <EOL> nodelist . extend ( flatten_nodes ( self . handlers ) ) <EOL> if self . else_ is not None : <EOL> nodelist . append ( self . else_ ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . body ) , repr ( self . handlers ) , repr ( self . else_ ) ) <EOL> class TryFinally ( Node ) : <EOL> def __init__ ( self , body , final , lineno = None ) : <EOL> self . body = body <EOL> self . final = final <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . body , self . final <EOL> def getChildNodes ( self ) : <EOL> return self . body , self . final <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . body ) , repr ( self . final ) ) <EOL> class Tuple ( Node ) : <EOL> def __init__ ( self , nodes , lineno = None ) : <EOL> self . nodes = nodes <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return tuple ( flatten ( self . nodes ) ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . extend ( flatten_nodes ( self . nodes ) ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . nodes ) , ) <EOL> class UnaryAdd ( Node ) : <EOL> def __init__ ( self , expr , lineno = None ) : <EOL> self . expr = expr <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . expr , <EOL> def getChildNodes ( self ) : <EOL> return self . expr , <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . expr ) , ) <EOL> class UnarySub ( Node ) : <EOL> def __init__ ( self , expr , lineno = None ) : <EOL> self . expr = expr <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . expr , <EOL> def getChildNodes ( self ) : <EOL> return self . expr , <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . expr ) , ) <EOL> class While ( Node ) : <EOL> def __init__ ( self , test , body , else_ , lineno = None ) : <EOL> self . test = test <EOL> self . body = body <EOL> self . else_ = else_ <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> children = [ ] <EOL> children . append ( self . test ) <EOL> children . append ( self . body ) <EOL> children . append ( self . else_ ) <EOL> return tuple ( children ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . append ( self . test ) <EOL> nodelist . append ( self . body ) <EOL> if self . else_ is not None : <EOL> nodelist . append ( self . else_ ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . test ) , repr ( self . body ) , repr ( self . else_ ) ) <EOL> class With ( Node ) : <EOL> def __init__ ( self , expr , vars , body , lineno = None ) : <EOL> self . expr = expr <EOL> self . vars = vars <EOL> self . body = body <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> children = [ ] <EOL> children . append ( self . expr ) <EOL> children . append ( self . vars ) <EOL> children . append ( self . body ) <EOL> return tuple ( children ) <EOL> def getChildNodes ( self ) : <EOL> nodelist = [ ] <EOL> nodelist . append ( self . expr ) <EOL> if self . vars is not None : <EOL> nodelist . append ( self . vars ) <EOL> nodelist . append ( self . body ) <EOL> return tuple ( nodelist ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . expr ) , repr ( self . vars ) , repr ( self . body ) ) <EOL> class Yield ( Node ) : <EOL> def __init__ ( self , value , lineno = None ) : <EOL> self . value = value <EOL> self . lineno = lineno <EOL> def getChildren ( self ) : <EOL> return self . value , <EOL> def getChildNodes ( self ) : <EOL> return self . value , <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" % ( repr ( self . value ) , ) <EOL> for name , obj in globals ( ) . items ( ) : <EOL> if isinstance ( obj , type ) and issubclass ( obj , Node ) : <EOL> nodes [ name . lower ( ) ] = obj </s>
