Está en la página 1de 3

INSTITUTO TECNOLÓGICO DE TLAXIACO 1

Esquemas de Generación
Instituto Tecnológico de Tlaxiaco
Ing. Sistemas Computacionales
Jorge Coronel López
Lenguajes y Autómatas ll
7 Semestre
19-Octubre-2018

Por ejemplo: una instrucción como: if (a == b && f!


=5&& f%3==0) se evalúa primero x = (a==b && f!=5)y = x
INTRODUCCIÓN && f%3==0; if (y).

L OS esquemas de generación son las estrategias o


acciones que se deberán realizarse y tomarse en cuenta
en el momento de generar código intermedio. Los esquemas 5. ESTATUTO DE CICLOS
de generación dependen de cada lenguaje. Tomaremos Los ciclos se descomponen en un ciclo genérico, por lo que
algunos esquemas de generación del lenguaje C. ciclos while, for y do while tienen la misma representación
interna. En el caso de C, todo queda en forma de while.
1. EXPRESIONES Las condiciones lógicas también pueden ser evaluadas en
cortocircuito y reducidas.
Para generar expresiones estas deben representarse de
manera más simple y más literal para que su conversión sea 6. ARREGLOS
más rápida. Los arreglos se descomponen en estructuras básicas de
Por ejemplo: la traducción de operaciones aritméticas manejo de manera simple, así
debe especificarse una por una, de tal forma que una por ejemplo: char *a=“Hola”; se reduce a: a[0]=‘H’;
expresión sea lo más mínimo posible. a[1]=‘o’; a[2]=‘l’; a[3]=‘a’; a[4]=‘\0’;

2. DECLARACIÓN DE VARIABLES, CONSTANTES


7. FUNCIONES
Las declaraciones de variables y constantes deben Las funciones pueden reducir a en línea, lo que se hace es
separarse de tal manera que queden las expresiones una por expandir el código original dela función.
una de manera simple. Las funciones se descomponen simplificando los
Por ejemplo: int a,b,c; se descompone a int a; int b; int c; parámetros de manera individual al igual que el valor de
respectivamente. retorno.

[ CITATION Jua16 \l 1033 ]


3. ESTATUTO DE ASIGNACIÓN Variables y Constantes.

Las operaciones de asignación deben quedar expresadas Los esquemas de generación dependen de cada lenguaje.
por una expresión sencilla, si está es compleja se debe reducir Una constante es un dato numérico o alfanumérico que no
hasta quedar un operador sencillo. cambia durante la ejecución del programa.
Por ejemplo: x = a+b/5; debe quedar de la forma y = b/5; Ejemplo: pi=3.1416.
z = a+y; x=z. Una variable es un espacio en la memoria de la computadora
que permite almacenar temporalmente un dato durante la
ejecución de un proceso, su contenido puede cambiar durante
4. ESTATUTO CONDICIONAL la ejecución del programa. Las declaraciones de variables y
constantes deben separarse de tal manera que queden las
Las condiciones deben expresarse de manera lo más expresiones una por una de manera simple.
sencilla posible de tal forma que puedan evaluarse en
cortocircuito.

Expresiones
INSTITUTO TECNOLÓGICO DE TLAXIACO 2

Las expresiones son combinaciones de constantes, variables,


símbolos de operación, paréntesis y nombres de funciones de dato de resultado, una lista de parámetros de
especiales. entrada y su código.
Por ejemplo: a+(b+3)/c.
Cada expresión toma un valor que se determina tomando los Estructuras
valores de las variables y constantes implicadas y la ejecución
de las operaciones indicadas. Las Estructuras de Control se emplean para controlar la
Instrucción de Asignación ejecución y flujo del código, las cuales se dividen en:

Una instrucción de asignación (o simplemente asignación)  Estructuras de Selección: son aquellas que se utilizan
consiste en asignar el resultado de la evaluación de una para realizar operaciones basadas en el valor de una
expresión a una variable. En lenguajes de programación, las expresión.
estructuras de control permiten modificar el flujo de ejecución
de las instrucciones de un programa.  Estructuras de Iteración: son aquellas que nos
permiten ejecutar un bloque de código repetidamente
Instrucción de Control mientras una condición específica sea verdadera.

El término "estructuras de control", viene del campo de la


ciencia computacional, cuando se presentan implementaciones Estructuras de Selección
de Java para las estructuras de control, nos referimos a ellas
con la terminología de la Especificación del lenguaje Java, que Estructura if.
se refiera a ella como instrucciones.  Al escribir uno o varios flujos de acción el código
contenido en estos se ejecutará siempre y cuando la
Con las estructuras de control se puede: evaluación de la expresión en la sentencia if se evalué
 De acuerdo a una condición, ejecutar un grupo u otro como verdadera.
de sentencias (If-Then-Else y Select-Case) if(expresión-booleana)
 Ejecutar un grupo de sentencias mientras exista una {la expresión se evaluó verdadera}
condición (Do-While)
 Ejecutar un grupo de sentencias hasta que exista una Estructura switch
condición (Do-Until)  La estructura de selección switch tiene una expresión
 Ejecutar un grupo de sentencias un número de control y los flujos de código alternos son
determinado de veces (For-Next) ejecutados dependiendo del valor constante asociado
con esta expresión.
Tipos de estructura de control: Los tipos de datos permitidos para la expresión de control son
 Ejecución secuencial. sbyte, byte, short, ushort, uint, long, ulong, char, string o un
 Transferencia de control. tipo enumeración(enumeration)
 Estructura de control: selección if simple.
 If-Then-Else. Estructuras de Selección:
 Select-Case. Sintaxis:
 Do-While.
 Do-Until. switch(expresión-de-control)
{
 For-Next.
case expresión-contante:
sentencias;
Funciones
break;
case expresión-contante:
En programación, una función es un grupo de instrucciones
sentencias;
con un objetivo en particular y que se ejecuta al ser llamada
break;
desde otra función o procedimiento. Una función puede
}
llamarse múltiples veces e incluso llamarse a sí misma
(función recurrente).
Estructuras de Iteración:
 Las funciones pueden recibir datos desde afuera al
For:
ser llamadas a través de los parámetros y deben
entregar un resultado.
La Estructura for se utiliza cuando se conoce previamente
 Se diferencian de los procedimientos porque estos no cuantas veces ha de repetirse un bloque de código. Este bloque
devuelven un resultado. se repetirá mientras la condición evalué una expresión
 En general las funciones deben tener un nombre booleana verdadera, no será posible evaluar otro tipo de
único en el ámbito para poder ser llamadas, un tipo expresión.
INSTITUTO TECNOLÓGICO DE TLAXIACO 3

Sintaxis:
for(inicializador;condición;iterador)
{acciones;}

Estructuras de Iteración:
While:
La estructura while se utiliza cuando no se conoce
previamente cuantas veces ha de repetirse un bloque de
código, por lo que puede ejecutarse 0 o más veces. Este bloque
se repetirá mientras la condición evalué una expresión
booleana verdadera, no será posible evaluar otro tipo de
expresión.

Estructuras de Iteración:
Do:
La diferencia entre la sentencia while y do es que do se evalúa
después de su primera iteración, por lo que al menos siempre
se ejecuta una vez.

Sintaxis.
do
{acciones;}
while(condición);
[ CITATION Kup17 \l 1033 ]

CONCLUSIÓN

La generación de código intermedio y el esquema de


generación, es una manera eficaz de programar sistemas,
ayuda a hacer códigos menos complejos, además por medio de
árboles de derivación usan la lógica permitiendo así la
programación más sencilla. Es óptimo para la ejecución de
cualquier compilador.

I. REFERENCIAS

(29 de Enero de 2015). Obtenido de docplayer:


https://docplayer.es/63195004-Indice-unidad-2-generacion-
de-codigo-intermedio.html
Kupdf. (5 de Octubre de 2017). Obtenido de
https://kupdf.net/download/23-esquemas-de-
generacion_59d59dbd08bbc5ff73686f0d_pdf
Olivera, J. C. (21 de Feb de 2016). Obtenido de docplayer:
https://docplayer.es/63195004-Indice-unidad-2-generacion-
de-codigo-intermedio.html

También podría gustarte