71 lines
2.5 KiB
Python
71 lines
2.5 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
"""
|
|
Ejemplo de uso del convertidor LAD a pseudocódigo estructurado
|
|
"""
|
|
|
|
from lad_to_pseudocode_converter import LadToStructuredConverter
|
|
|
|
def convertir_input_exp():
|
|
"""Ejemplo de conversión del archivo INPUT.EXP"""
|
|
|
|
# Crear instancia del convertidor
|
|
converter = LadToStructuredConverter()
|
|
|
|
try:
|
|
# Cargar y parsear el archivo LAD
|
|
print("Parseando archivo INPUT.EXP...")
|
|
converter.parse_file(".example/INPUT.EXP")
|
|
|
|
# Convertir a código estructurado
|
|
print("Convirtiendo a pseudocódigo estructurado...")
|
|
structured_code = converter.convert_to_structured()
|
|
|
|
# Guardar resultado
|
|
output_file = "INPUT_pseudocode.txt"
|
|
converter.save_to_file(output_file)
|
|
|
|
# Mostrar estadísticas
|
|
print(f"\n=== Estadísticas de conversión ===")
|
|
print(f"Redes procesadas: {len(converter.networks)}")
|
|
print(f"Archivo de salida: {output_file}")
|
|
|
|
# Mostrar las primeras líneas como ejemplo
|
|
print(f"\n=== Primeras líneas del resultado ===")
|
|
lines = structured_code.split('\n')
|
|
for i, line in enumerate(lines[:30]):
|
|
print(f"{i+1:3d}: {line}")
|
|
|
|
if len(lines) > 30:
|
|
print("...")
|
|
print(f"(Total de {len(lines)} líneas)")
|
|
|
|
return True
|
|
|
|
except Exception as e:
|
|
print(f"Error durante la conversión: {e}")
|
|
return False
|
|
|
|
def mostrar_detalles_red(converter, network_id):
|
|
"""Muestra los detalles de una red específica"""
|
|
if network_id <= len(converter.networks):
|
|
network = converter.networks[network_id - 1]
|
|
print(f"\n=== Detalles de Red {network_id} ===")
|
|
print(f"Comentario: {network.comment}")
|
|
print(f"Elementos: {len(network.elements)}")
|
|
|
|
for i, element in enumerate(network.elements):
|
|
print(f" {i+1}. {element.element_type.value}: {element.name}")
|
|
if element.expression:
|
|
print(f" Expresión: {element.expression}")
|
|
if element.parameters:
|
|
print(f" Parámetros: {element.parameters}")
|
|
|
|
if __name__ == "__main__":
|
|
print("=== Convertidor LAD a Pseudocódigo Estructurado ===")
|
|
print("Procesando archivo INPUT.EXP de TwinCAT...")
|
|
|
|
if convertir_input_exp():
|
|
print("\n✓ Conversión completada exitosamente!")
|
|
else:
|
|
print("\n✗ Error en la conversión") |