def jumpFalseBr( header, header_next, headers, numItemsAxis,locals ): for k in numItemsAxis: # сохраняем последний узел gr.addEdge( header, locals[k] ) # Прочие outLayer = locals[k].find( 'zxy' ) != -1 if outLayer: gr.addEdge( locals[k], locals[k+1] )
def jumpTrueBr( header, header_next, headers, locals ): numItems = len( locals ) numItemsAxis = range( numItems ) dummyRetNum = 0 dummyNodeName = '' saveNode = header for k in numItemsAxis: # добавляем ребро if not strContSubStrItTrue( saveNode, 'zxy' ): gr.addEdge( saveNode, locals[k] ) # сохраняем метку для привязки if strContSubStrItTrue( locals[k], 'xyz' ): # сохраняем последний узел saveNode = locals[k] # оконечные соединения if strContSubStrItTrue( locals[k], 'zxy' ): gr.addEdge( locals[k], locals[k+1] ) saveNode = locals[k] # Соединяем с последующей главной if not strContSubStrItTrue( saveNode, 'zxy' ): gr.addEdge( saveNode, header_next )