def p_list_label(p): 'list_label : label list_label_p' node_index = inc() dot.node(node_index, 'label_list') labels = [p[1]] + p[2].list_label dot.edge(node_index, p[1].node_index) p[0] = Instructions.LabelList(node_index, labels) try: 'para vincular la posible lista de labels' dot.edge(node_index, p[2].node_index) except AttributeError: '''es la última instrucción por lo que list_label_p produce epsilon
def p_list_label_p_epsilon(p): 'list_label_p : ' p[0] = Instructions.LabelList(None, [])