Diferencia entre revisiones de «Decompilador»

Contenido eliminado Contenido añadido
Deshecha la edición 35036134 de 190.31.28.232 (disc.)
Línea 87:
 
=== Generación de código ===
 
www.turinga.22web.net
La fase final es la generación de código de alto nivel. Tal como un compilador puede tener varios lenguajes destinos para generar código máquina de diferentes arquitecturas, un descompilador puede tener varios destinos de generación de código en diferentes lenguajes de alto nivel.
 
Justo antes de la generación del código, es deseable permitir la edición interactiva del código IR, tal vez haciendo uso de alguna interfaz gráfica de usuario. Esto puede permitir al usuario agregar comentarios, variables no genéricas y nombres de funciones. Aun así, esto también se puede agregar en ediciones posteriores a la descompilación. El usuario puede cambiar algunos aspectos estructurales, como por ejemplo, convertir un ciclo <code>while</code> a un ciclo <code>for</code>. Esto se puede cambiar con un simple editor de textos, o también se pueden usar herramientas de '''''refactoring''''' sobre el código fuente. El usuario también necesitará agregar información que no se pudo reconocer durante la fase de análisis de tipos, por ejemplo, modificar una expresión de memorias a un arreglo o a una estructura. Finalmente, se necesita corregir código IR incorrecto, o hacer cambios para hacer que la salida de código sea más legible.
 
== Aspectos legales ==