SlideShare una empresa de Scribd logo
1 de 14
2.3- ESQUEMA DE GENERACIÓN
❖ NIEVES LADINO ANGELES VIANEY - 19010305
❖ MARTÍNEZ CASTRO MIGUEL ANGEL - 19010302
❖ ORTIGOZA LEZAMA LUIS ANGEL - 17011221
❖ MARTINEZ GONZALEZ FRANCISCO LUCIANO-18010221
❖ ORTIZ DOMINGUEZ AXEL-18011269
Los 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 de generación dependen de cada lenguaje. Tomaremos algunos esquemas
de generación del lenguaje C.
Expresiones
Instrucciones de control
Para generar expresiones estas deben representarse de manera más simple y más 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ínimo posible
Son aquellas que asignan un valor a una variable o una expresión ejemplo
X=23 ó Y=expresión
2.3. ESQUEMAS DE GENERACION
Instrucción de asignación
Las funciones son un grupo de instrucciones con un propósito en general las cuales pueden
recibir parámetros, mientras que la estructura es un conjunto de datos elementales
interrelacionados que realizan ciertas operaciones entre ellos
variables y constantes
Las declaraciones de variables y constantes deben separarse de tal manera que queden las
expresiones una por una de manera simple
Los 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
Son aquellas que permiten modificar o variar el flujo de ejecución de un programa, existen
3 tipos los cuales son :
Instrucciones condicionales o alternativas
Instrucciones de salto Instrucciones repetitivas
2.3. ESQUEMAS DE GENERACION
VARIABLES:
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 la ejecución del programa.
Ejemplo: area=pi*radio^2
• int alumnos, contador;
• float A,B,C;
• char Letra;
2.3.1 Variables y Constantes
Las variables utilizadas en los programas se clasifican en dos tipos:
variables locales y variables globales.
2.3.1 Variables y Constantes
Constante
Definición:
Una constante (a veces llamada un literal) es un dato cuyo valor
no puede cambiar durante la ejecución del programa. Las
declaraciones de variables y constantes deben separarse de tal
manera que queden las expresiones una por una de manera
simple. Recibe un valor en el momento de la compilación y este
permanece inalterado durante todo el programa.
2.3.1 variables y constantes
Una constante igual que una variable está formada de un nombre que
la identifica y de un espacio de memoria, se hace referencia al valor
en ella usando su nombre. Su valor siempre es fijo no puede cambiar
durante la ejecución. Por conveniencia, el nombre de las constantes
suele escribirse en mayúsculas en la mayoría de lenguajes.
En el lenguaje C, sólo basta anteponer el calificador const seguido del
tipo de dato que manejará esa constante (int,char,etc), y por último el
valor que tomará esa variable.
2.3.1 variables y constantes
Tipos de constantes más utilizados:
pueden ser los típicos dígitos como
Una constante entera
ejemplo:
64 -15 +100 32767 720176 12345678901
constantes flotantes:
ejemplo:
25.5 1000. -15. +37589.3333333333
no se recomiendan datos de tipo boolean ya que la finalidad de el booleano
es el constante cambio y en esta clasificación no lo permite.
Tipos de constantes más utilizados:
como también pueden ser constantes más complejas como:
Constantes de series gráficas:
Una constante de serie gráfica especifica una serie gráfica de longitud variable de tipo
VARGRAPHIC.
En una base de datos que no es de Unicode, una constante de la serie gráfica consiste de una
secuencia de caracteres de doble byte que comienza y termina con un apostrofe de un solo
byte ('), y que va precedida por una G o N de un solo byte. Los caracteres entre las apostrofes
deben representar un número par de bytes, y la longitud de la serie gráfica no debe exceder
los 16336 bytes dobles. El apóstrofo no debe aparecer como parte de un carácter MBCS para
que se considere como delimitador. Por ejemplo:
G'serie de caracteres de doble byte'
N'serie de caracteres de doble byte'
constantes de restricciones de serie binaria:
Una constante de serie binaria se forma especificando BX seguido de una secuencia de
caracteres que empieza y finaliza con un delimitador de serie. Los caracteres entre los
delimitadores de serie deben ser un número par de dígitos hexadecimales. El número de
dígitos hexadecimales no debe exceder los 32.672. por ejemplo:
BX'0000'
BX'C141C242'
BX'FF00FF01FF'
Tipos de constantes más utilizados:
Por último Constantes de fecha y hora
Una constante de fecha y hora especifica una fecha, una hora o una indicación de fecha y hora.
Por lo general, las constantes de serie de caracteres se utilizan para representar valores de fecha y hora
constantes en asignaciones y comparaciones. Sin embargo, se puede utilizar el nombre de tipo de datos
asociado antes de los formatos específicos de la constante de serie de caracteres para denotar
específicamente la constante como constante de fecha y hora en vez de una constante de serie de caracteres.
El formato de estas tres constantes de fecha y hora es el siguiente:
DATE 'aaaa-mm-dd'
El tipo de datos del valor es DATE.
TIME 'hh:mm:ss'
o
TIME 'hh:mm'
El tipo de datos del valor es TIME.
TIMESTAMP 'aaaa-mm-dd hh:mm:ss.nnnnnnnnnnnn'
o
TIMESTAMP 'aaaa-mm-dd-hh.mm.ss.nnnnnnnnnnnn'
donde el número de dígitos de segundos fraccionarios puede variar entre 0 y 12 y el carácter de punto se
puede omitir si no hay segundos fraccionarios. El tipo de datos del valor es TIMESTAMP(p), donde p es el
número de dígitos de los segundos fraccionarios.su aplicacion se basa mucho en javascript
Ejemplo:
2.3.1 variables y constantes
En esta función recibe una cadena que representa
una línea de código intermedio y toma las medidas
oportunas para que ese código se utilice. Estas
medidas pueden ser escribir la línea en un fichero
adecuado, almacenar la instrucción en una lista
que después se pasará a otros módulos, o
cualquier otra que necesitemos en nuestro
compilador.
Son aquella donde los operadores que intervienen
en ella son numéricos, el resultado es un número
y los operadores son aritméticos. Los operadores
aritméticos más comúnmente utilizados son: +, - ,
* , / y %.
* Por cada uno de sus operandos, llamará al
método correspondiente para que se evalúe la sub
expresión. Si es necesario, reservara un registro
para guardar su resultado.
* Emitirá las instrucciones necesarias para realizar
el cálculo a partir de los operandos.
Expresiones aritméticas
● 2.3.- Esquema de generación. (s. f.). Lenguajes y
Autómatas II. Recuperado 9 de marzo de 2022, de
https://5e344735705b1.site123.me/unidad-ii-
generaci%C3%B3n-de-c%C3%B3digo-intermedio/23-
esquema-de-generaci%C3%B3n
Referencias

Más contenido relacionado

Similar a 2.3 ESQUEMAS DE GENERACION C

Lenguajesdeprogramacion c nivel1-unidad1_1
Lenguajesdeprogramacion c nivel1-unidad1_1Lenguajesdeprogramacion c nivel1-unidad1_1
Lenguajesdeprogramacion c nivel1-unidad1_1camnav
 
Lenguajesdeprogramacion c nivel1-unidad1_1
Lenguajesdeprogramacion c nivel1-unidad1_1Lenguajesdeprogramacion c nivel1-unidad1_1
Lenguajesdeprogramacion c nivel1-unidad1_1Joaquin1418
 
Lenguaje de programacion C++ 1
Lenguaje de programacion C++ 1Lenguaje de programacion C++ 1
Lenguaje de programacion C++ 1David
 
Unidad1
Unidad1Unidad1
Unidad1JHONNY
 
Lenguajesdeprogramacion c nivel1-unidad1_1
Lenguajesdeprogramacion c nivel1-unidad1_1Lenguajesdeprogramacion c nivel1-unidad1_1
Lenguajesdeprogramacion c nivel1-unidad1_1Facebook
 
Lenguaje de programacion c++ basico 1ra parte elementos basicos del lenguaje
Lenguaje de programacion c++ basico 1ra parte elementos basicos del lenguajeLenguaje de programacion c++ basico 1ra parte elementos basicos del lenguaje
Lenguaje de programacion c++ basico 1ra parte elementos basicos del lenguajeDunkherz
 
Unidad1
Unidad1Unidad1
Unidad1chembe
 
Elementos Basicos del Lenguaje C++
Elementos Basicos del Lenguaje C++Elementos Basicos del Lenguaje C++
Elementos Basicos del Lenguaje C++yesid19
 
Lenguajes De Programacion C nivel1-unidad1
Lenguajes De Programacion C nivel1-unidad1Lenguajes De Programacion C nivel1-unidad1
Lenguajes De Programacion C nivel1-unidad1charnisch
 
Elementos Básicos del Lenguaje
Elementos Básicos del LenguajeElementos Básicos del Lenguaje
Elementos Básicos del Lenguajechembe
 
Tema 1-2 identificadores - variable y constante
Tema 1-2 identificadores - variable y constanteTema 1-2 identificadores - variable y constante
Tema 1-2 identificadores - variable y constanteRufi Flores
 
Algoritmos y lenjuage de programacion
Algoritmos y  lenjuage de programacionAlgoritmos y  lenjuage de programacion
Algoritmos y lenjuage de programacionYsaac Ruiz
 
Estructuras basicas tecnologia
Estructuras basicas  tecnologiaEstructuras basicas  tecnologia
Estructuras basicas tecnologiaMichelledayana6
 
Tipo de variables de PowerDesigner
Tipo de variables de PowerDesignerTipo de variables de PowerDesigner
Tipo de variables de PowerDesignerKarina Lucio
 
Programacion-en-C.pdf
Programacion-en-C.pdfProgramacion-en-C.pdf
Programacion-en-C.pdfFreddyFcc
 

Similar a 2.3 ESQUEMAS DE GENERACION C (20)

Lenguajesdeprogramacion c nivel1-unidad1_1
Lenguajesdeprogramacion c nivel1-unidad1_1Lenguajesdeprogramacion c nivel1-unidad1_1
Lenguajesdeprogramacion c nivel1-unidad1_1
 
Lenguajesdeprogramacion c nivel1-unidad1_1
Lenguajesdeprogramacion c nivel1-unidad1_1Lenguajesdeprogramacion c nivel1-unidad1_1
Lenguajesdeprogramacion c nivel1-unidad1_1
 
Lenguaje de programacion C++ 1
Lenguaje de programacion C++ 1Lenguaje de programacion C++ 1
Lenguaje de programacion C++ 1
 
Unidad1
Unidad1Unidad1
Unidad1
 
Lenguajesdeprogramacion c nivel1-unidad1_1
Lenguajesdeprogramacion c nivel1-unidad1_1Lenguajesdeprogramacion c nivel1-unidad1_1
Lenguajesdeprogramacion c nivel1-unidad1_1
 
Lenguaje de programacion c++ basico 1ra parte elementos basicos del lenguaje
Lenguaje de programacion c++ basico 1ra parte elementos basicos del lenguajeLenguaje de programacion c++ basico 1ra parte elementos basicos del lenguaje
Lenguaje de programacion c++ basico 1ra parte elementos basicos del lenguaje
 
Unidad1
Unidad1Unidad1
Unidad1
 
Elementos Basicos del Lenguaje C++
Elementos Basicos del Lenguaje C++Elementos Basicos del Lenguaje C++
Elementos Basicos del Lenguaje C++
 
Lenguajes De Programacion C nivel1-unidad1
Lenguajes De Programacion C nivel1-unidad1Lenguajes De Programacion C nivel1-unidad1
Lenguajes De Programacion C nivel1-unidad1
 
Elementos Básicos del Lenguaje
Elementos Básicos del LenguajeElementos Básicos del Lenguaje
Elementos Básicos del Lenguaje
 
Tema 1-2 identificadores - variable y constante
Tema 1-2 identificadores - variable y constanteTema 1-2 identificadores - variable y constante
Tema 1-2 identificadores - variable y constante
 
Algoritmos y lenjuage de programacion
Algoritmos y  lenjuage de programacionAlgoritmos y  lenjuage de programacion
Algoritmos y lenjuage de programacion
 
Constantes.docx
Constantes.docxConstantes.docx
Constantes.docx
 
Tecnologia
TecnologiaTecnologia
Tecnologia
 
Tecnologia
TecnologiaTecnologia
Tecnologia
 
Estructuras basicas tecnologia
Estructuras basicas  tecnologiaEstructuras basicas  tecnologia
Estructuras basicas tecnologia
 
Estructuras básicas
Estructuras básicas Estructuras básicas
Estructuras básicas
 
Tipo de variables de PowerDesigner
Tipo de variables de PowerDesignerTipo de variables de PowerDesigner
Tipo de variables de PowerDesigner
 
Programacion-en-C.pdf
Programacion-en-C.pdfProgramacion-en-C.pdf
Programacion-en-C.pdf
 
Introducción
IntroducciónIntroducción
Introducción
 

2.3 ESQUEMAS DE GENERACION C

  • 1. 2.3- ESQUEMA DE GENERACIÓN ❖ NIEVES LADINO ANGELES VIANEY - 19010305 ❖ MARTÍNEZ CASTRO MIGUEL ANGEL - 19010302 ❖ ORTIGOZA LEZAMA LUIS ANGEL - 17011221 ❖ MARTINEZ GONZALEZ FRANCISCO LUCIANO-18010221 ❖ ORTIZ DOMINGUEZ AXEL-18011269
  • 2. Los 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 de generación dependen de cada lenguaje. Tomaremos algunos esquemas de generación del lenguaje C. Expresiones Instrucciones de control Para generar expresiones estas deben representarse de manera más simple y más 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ínimo posible Son aquellas que asignan un valor a una variable o una expresión ejemplo X=23 ó Y=expresión 2.3. ESQUEMAS DE GENERACION
  • 3. Instrucción de asignación Las funciones son un grupo de instrucciones con un propósito en general las cuales pueden recibir parámetros, mientras que la estructura es un conjunto de datos elementales interrelacionados que realizan ciertas operaciones entre ellos variables y constantes Las declaraciones de variables y constantes deben separarse de tal manera que queden las expresiones una por una de manera simple Los 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 Son aquellas que permiten modificar o variar el flujo de ejecución de un programa, existen 3 tipos los cuales son : Instrucciones condicionales o alternativas Instrucciones de salto Instrucciones repetitivas 2.3. ESQUEMAS DE GENERACION
  • 4. VARIABLES: 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 la ejecución del programa. Ejemplo: area=pi*radio^2 • int alumnos, contador; • float A,B,C; • char Letra; 2.3.1 Variables y Constantes
  • 5. Las variables utilizadas en los programas se clasifican en dos tipos: variables locales y variables globales. 2.3.1 Variables y Constantes
  • 6. Constante Definición: Una constante (a veces llamada un literal) es un dato cuyo valor no puede cambiar durante la ejecución del programa. Las declaraciones de variables y constantes deben separarse de tal manera que queden las expresiones una por una de manera simple. Recibe un valor en el momento de la compilación y este permanece inalterado durante todo el programa. 2.3.1 variables y constantes
  • 7. Una constante igual que una variable está formada de un nombre que la identifica y de un espacio de memoria, se hace referencia al valor en ella usando su nombre. Su valor siempre es fijo no puede cambiar durante la ejecución. Por conveniencia, el nombre de las constantes suele escribirse en mayúsculas en la mayoría de lenguajes. En el lenguaje C, sólo basta anteponer el calificador const seguido del tipo de dato que manejará esa constante (int,char,etc), y por último el valor que tomará esa variable. 2.3.1 variables y constantes
  • 8. Tipos de constantes más utilizados: pueden ser los típicos dígitos como Una constante entera ejemplo: 64 -15 +100 32767 720176 12345678901 constantes flotantes: ejemplo: 25.5 1000. -15. +37589.3333333333 no se recomiendan datos de tipo boolean ya que la finalidad de el booleano es el constante cambio y en esta clasificación no lo permite.
  • 9. Tipos de constantes más utilizados: como también pueden ser constantes más complejas como: Constantes de series gráficas: Una constante de serie gráfica especifica una serie gráfica de longitud variable de tipo VARGRAPHIC. En una base de datos que no es de Unicode, una constante de la serie gráfica consiste de una secuencia de caracteres de doble byte que comienza y termina con un apostrofe de un solo byte ('), y que va precedida por una G o N de un solo byte. Los caracteres entre las apostrofes deben representar un número par de bytes, y la longitud de la serie gráfica no debe exceder los 16336 bytes dobles. El apóstrofo no debe aparecer como parte de un carácter MBCS para que se considere como delimitador. Por ejemplo: G'serie de caracteres de doble byte' N'serie de caracteres de doble byte' constantes de restricciones de serie binaria: Una constante de serie binaria se forma especificando BX seguido de una secuencia de caracteres que empieza y finaliza con un delimitador de serie. Los caracteres entre los delimitadores de serie deben ser un número par de dígitos hexadecimales. El número de dígitos hexadecimales no debe exceder los 32.672. por ejemplo: BX'0000' BX'C141C242' BX'FF00FF01FF'
  • 10. Tipos de constantes más utilizados: Por último Constantes de fecha y hora Una constante de fecha y hora especifica una fecha, una hora o una indicación de fecha y hora. Por lo general, las constantes de serie de caracteres se utilizan para representar valores de fecha y hora constantes en asignaciones y comparaciones. Sin embargo, se puede utilizar el nombre de tipo de datos asociado antes de los formatos específicos de la constante de serie de caracteres para denotar específicamente la constante como constante de fecha y hora en vez de una constante de serie de caracteres. El formato de estas tres constantes de fecha y hora es el siguiente: DATE 'aaaa-mm-dd' El tipo de datos del valor es DATE. TIME 'hh:mm:ss' o TIME 'hh:mm' El tipo de datos del valor es TIME. TIMESTAMP 'aaaa-mm-dd hh:mm:ss.nnnnnnnnnnnn' o TIMESTAMP 'aaaa-mm-dd-hh.mm.ss.nnnnnnnnnnnn' donde el número de dígitos de segundos fraccionarios puede variar entre 0 y 12 y el carácter de punto se puede omitir si no hay segundos fraccionarios. El tipo de datos del valor es TIMESTAMP(p), donde p es el número de dígitos de los segundos fraccionarios.su aplicacion se basa mucho en javascript
  • 12. En esta función recibe una cadena que representa una línea de código intermedio y toma las medidas oportunas para que ese código se utilice. Estas medidas pueden ser escribir la línea en un fichero adecuado, almacenar la instrucción en una lista que después se pasará a otros módulos, o cualquier otra que necesitemos en nuestro compilador.
  • 13. Son aquella donde los operadores que intervienen en ella son numéricos, el resultado es un número y los operadores son aritméticos. Los operadores aritméticos más comúnmente utilizados son: +, - , * , / y %. * Por cada uno de sus operandos, llamará al método correspondiente para que se evalúe la sub expresión. Si es necesario, reservara un registro para guardar su resultado. * Emitirá las instrucciones necesarias para realizar el cálculo a partir de los operandos. Expresiones aritméticas
  • 14. ● 2.3.- Esquema de generación. (s. f.). Lenguajes y Autómatas II. Recuperado 9 de marzo de 2022, de https://5e344735705b1.site123.me/unidad-ii- generaci%C3%B3n-de-c%C3%B3digo-intermedio/23- esquema-de-generaci%C3%B3n Referencias