Estrategias de Simplificación de Código y Representación Intermedia
Clasificado en Informática
Escrito el en español con un tamaño de 3,63 KB
Principios de Simplificación y Representación de Código
Declaración de Variables y Constantes
Las declaraciones de variables y constantes deben separarse de tal manera que las expresiones queden una por una de forma simple.
Ejemplo: La declaración int a,b,c;
se descompone a:
int a;
int b;
int c;
Generación de Expresiones Simplificadas
Para generar expresiones, estas deben representarse de manera más simple y literal para que su conversión sea más rápida.
Por ejemplo: La traducción de operaciones aritméticas debe especificarse una por una, de tal forma que una expresión sea lo más mínima posible.
Operaciones de Asignación
Las operaciones de asignación deben quedar expresadas por una expresión sencilla. Si esta es compleja, se debe reducir hasta quedar un operador simple.
Por ejemplo: La expresión x = a+b/5;
debe quedar de la forma:
y = b/5;
z = a+y;
x = z;
Condiciones y Evaluación en Cortocircuito
Las condiciones deben expresarse de la manera más sencilla posible, de tal forma que puedan evaluarse en cortocircuito.
Ejemplo: La condición if (a == b && f!=5 && f%3==0)
se evalúa primero como:
x = (a==b && f!=5);
y = x && f%3==0;
if (y) { ... }
Descomposición de Ciclos
Los ciclos se descomponen en un ciclo genérico, por lo que ciclos while
, for
y do-while
tienen la misma representación interna.
Ejemplo: While (A>B) and (A<=2*B-5) do A:= A+B
Funciones en Línea (Inlining)
Las funciones pueden reducirse a código en línea (inlining), lo que implica expandir el código original de la función directamente en el punto de llamada.
Manejo de Arreglos
Los arreglos se descomponen en estructuras básicas de manejo de manera simple.
Conceptos Fundamentales en la Representación de Código
Conjuntos
Un conjunto es una agrupación o colección de objetos de algún tipo.
Notaciones
Las notaciones sirven de base para expresar sentencias bien definidas.
Formas de Expresiones Aritméticas
Las expresiones aritméticas se pueden expresar de tres formas distintas:
- Prefija
- Infija
- Postfija
Notación Polaca (Prefija)
La notación polaca es la originada por un autómata con pila, en la que los operadores siempre preceden a los operandos sobre los que actúan, y que tiene la ventaja de no necesitar paréntesis.
Código Intermedio: Ventajas y Aplicaciones
Ventajas del Código Intermedio
El uso de código intermedio ofrece varias ventajas:
- Facilita la redestinación (retargeting).
- Permite aplicar la representación intermedia para optimizaciones.
Usos del Código Intermedio
El código intermedio se utiliza en diversas áreas:
- Múltiples lenguajes y compiladores: Sirve como un lenguaje común.
- Optimización: Permite aplicar transformaciones para mejorar el rendimiento.
- Modelos de generación de código: Facilita la creación de código máquina.