Introducción a la programación de sistemas

Solo disponible en BuenasTareas
  • Páginas : 7 (1546 palabras )
  • Descarga(s) : 0
  • Publicado : 31 de octubre de 2011
Leer documento completo
Vista previa del texto
Introducción
Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la máquina será capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser simplemente texto. Este proceso de traducción se conoce como compilación.
Un compilador es unprograma que permite traducir el código fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje de máquina). De esta manera un programador puede diseñar un programa en un lenguaje mucho más cercano a cómo piensa un ser humano, para luego compilarlo a un programa más manejable por una computadora.
Generalmente un compilador se divide en dos partes:* Front End: parte que analiza el código fuente, comprueba su validez, genera el árbol de derivación y rellena los valores de la tabla de símbolos. Parte que suele ser independiente de la plataforma o sistema operativo para el que funcionará.

* Back End: parte en donde se genera el código máquina exclusivo para una plataforma a partir de lo analizado en el frontend.

Por lo general elresultado del back end no puede ser ejecutado directamente, se necesita pasar por un proceso de enlazado (linker).
Existen varios tipos de compiladores: Compiladores cruzados, Compiladores optimizadores, Compiladores de una sola pasada, Compiladores de varias pasadas, Compiladores JIT (Just In Time).

Por esta misma razón es importante conocer las herramientas base como son los tipos de datos quese conformas y las declaraciones que maneja un determinado lenguaje de programación para poder ser analizado y crear un compilador.

Índice

Actividad 1: Tipos de datos ………………………………………………………………………………………… 4
Actividad 2: Declaración de variables. Constantes, estructuras y condicionales………………………………………………………………………. ………………………………………. 4
Actividad 3: Creación de un Autómata………………………………………………………………………… 5
Actividad 4: Diagramas de Sintaxis …………………………………………………………………………….. 13
Conclusiones ……………………………………………………………………………………………………………. 15
Bibliografía …………………………………………………………………………………………………………….. 16

Actividad 1: Tipos de datos
Tipos de datos Primitivos
Palabras | Descripción | Tamaño/Formato |
(Enteros) |
“byte” | Byte-lengthinteger | 8-bit two'scomplement |
“short” | Short integer | 16-bit two'scomplement |
“int” | Integer |32-bit two'scomplement |
“long” | Long integer | 64-bit two'scomplement |
(Números Reales) |
“float” | Single-precisionfloatingpoint | 32-bit IEEE 754 |
“double” | Double-precisionfloatingpoint | 64-bit IEEE 754 |
(otros tipos) |
“char” | A single character | 16-bit Unicode character |
“boolean” | A boolean value (“true” or “false”) | true or false |

Actividad 2: Declaración devariables. Constantes, estructuras y condicionales
* Declaración de Variables:
* local-variable-declaration:
* type   local-variable-declarators
* local-variable-declarators:
* local-variable-declarator
local-variable-declarators   ,   local-variable-declarator
* local-variable-declarator:
* identifier
identifier   =   local-variable-initializer* local-variable-initializer:
* expression
array-initializer

* Declaración de Constantes:
* constint x = 0;
* public const double gravitationalConstant = 6.673e-11;
* private const string productName = "Visual C#";

* Declaración de Estructuras
* struct
* {
*Identificador1 tipodedato,
* Identificador2 tipodedato,
* Identificador3 tipodedato,
* ……………………………………….,
* Identificadorntipodedato
* Registro};

* Declaración de Condicionales
* SentenciaIf::= if ( Condicion){ Bloque}
* Sentencia Else::= | else{ Bloque }

Actividad 3: Creación...
tracking img