from Estructura import espaceado
from Instrucciones.Arbol_Sintactico_Abstracto import Arbol_Sintactico_Abstracto

class Condicional:
	def __init__(self,expresion,if_lista_controladores,else_lista_controladores=None):
		self.expresion = expresion
		self.if_lista_controladores = if_lista_controladores
		self.else_lista_controladores = else_lista_controladores
		self.tipo = 'CONDICIONAL'

	def imprimir(self,tabulacion):
		print tabulacion + self.tipo
		print tabulacion + "  - Guardia:",
		self.expresion.imprimir(espaceado(tabulacion))
		print tabulacion + "  - Exito: "
		instr_list_izq = Arbol_Sintactico_Abstracto(self.if_lista_controladores)
		instr_list_izq.imprimir("     " + espaceado(tabulacion)) 
		if (self.else_lista_controladores):
			
print "    - Fracaso: "
			instr_list_der = Arbol_Sintactico_Abstracto(self.else_lista_controladores)
			instr_list_der.imprimir("     " + espaceado(tabulacion))