Sei sulla pagina 1di 18

DEFINICIN DE COMPILADOR

Los compiladores son programas de computadora que


traducen de un lenguaje a otro. Un compilador toma como su
entrada un programa escrito en lenguaje fuente y produce un
programa equivalente escrito en lenguaje objeto.

Generalmente al lenguaje fuente se le asocia como lenguaje
de alto nivel, mientras al lenguaje objeto se le conoce como
cdigo objeto (cdigo de maquina) escrito especficamente para
una maquina objeto. A lo largo del proceso de traduccin el
compilador debe informar la presencia de errores en el lenguaje
fuente.
Disear y desarrollar un compilador, no es tarea fcil, y quizs
pocos profesionales de la computacin se vean involucrados en
esta tarea. No obstante, los compiladores se utilizan en casi todas
las formas de la computacin y cualquiera involucrado en esta
rea debera conocer la organizacin y el funcionamiento bsico
de un compilador.

FASES DE UN COMPILADOR
Un compilador se compone internamente de varias etapas, o
fases, que realizan operaciones lgicas. Es til pensar en estas fases
como piezas separadas dentro del compilador, y pueden en
realidad escribirse como operaciones codificadas separadamente
aunque en la prctica a menudo se integran.

Analizador Lxico: lee la secuencia de caracteres de
izquierda a derecha del programa fuente y agrupa las secuencias
de caracteres en unidades con significado propio (componentes
lxicos o tokens en ingles). Las palabras claves son:
identificadores, operadores, constantes numricas, signos de
puntuacin como separadores de sentencias, llaves, parntesis,
entre otros, son diversas clasificaciones de componentes lxicos. La
estructura lxica la modelaremos mediante expresiones regulares.
Por ejemplo la siguiente instruccin en cdigo C: a [indice] = 4
+ 2

Anlisis Sintctico: determina si la secuencia de
componentes lxicos sigue la sintaxis del lenguaje y obtiene la
estructura jerrquica del programa en forma de rbol, donde los
nodos son las construcciones de alto nivel del lenguaje. Se
determinan las relaciones estructurales entre los componentes
lxicos, esto es semejante a realizar el anlisis gramatical sobre una
frase en lenguaje natural. La estructura sintctica la definiremos
mediante las gramticas independientes del contexto.

Como ejemplo consideremos la lnea de cdigo C anterior.
Representa un elemento estructural denominado expresin, la cual
es una expresin de asignacin compuesta de una expresin de
subndice a la izquierda y una expresin aritmtica a la derecha
(rbol de anlisis gramatical).

Anlisis Semntico: realiza las comprobaciones necesarias
sobre el rbol sintctico para determinar el correcto significado del
programa. Las tareas bsicas a realizar son: La verificacin e
inferencia de tipos en asignaciones y expresiones, la declaracin
del tipo de variables y funciones antes de su uso, el correcto uso
de operadores, el mbito de las variables y la correcta llamada a
funciones.
Nos limitaremos al anlisis semntico esttico (en tiempo de
compilacin), donde es necesario hacer uso de la Tabla de
smbolos, como estructura de datos para almacenar informacin
sobre los identificadores que van surgiendo a lo largo del
programa. El anlisis semntico suele agregar atributos (como tipos
de datos) a la estructura del rbol semntico.

Generacin y Optimizacin de Cdigo Intermedio: la
optimizacin consiste en la calibracin del rbol sintctico donde
ya no aparecen construcciones de alto nivel. Generando un
cdigo mejorado, ya no estructurado, ms fcil de traducir
directamente a cdigo ensamblador o mquina, compuesto de un
cdigo de tres direcciones (cada instruccin tiene un operador, y
la direccin de dos operndoos y un lugar donde guardar el
resultado), tambin conocida como cdigo intermedio.
La etapa de optimizacin slo dependen del lenguaje
fuente (y no de la mquina), se busca principalmente: eliminar sub-
expresiones comunes, identificar cdigo muerto, sustituir
operaciones aritmticas, clculo previo de constantes, variables de
induccin, propagacin de copias o cdigo inalcanzable. Suele
ser una fase lenta y compleja.

Generacin de Cdigo Objeto: toma como entrada la
representacin intermedia y genera el cdigo objeto. La
optimizacin depende de la mquina, es necesario conocer el
conjunto de instrucciones, la representacin de los datos (nmero
de bytes), modos de direccionamiento, nmero y propsito de
registros, jerarqua de memoria, encauzamientos, entre otros.
Suelen implementarse a mano, y son complejos porque la
generacin de un buen cdigo objeto requiere la consideracin
de muchos casos particulares.
Tambin se est investigando la creacin de generadores de
cdigo automticos. a idea es automticamente hacer
corresponder una representacin intermedia a plantillas de
instrucciones objeto. Permitiendo generar fcilmente el cdigo
objeto para una nueva mquina objeto, cambiando el conjunto
de plantillas. Por ejemplo GNU GCC posee plantillas para mas de
10 arquitecturas ms habituales de ordenadores.

Tabla de Smbolos: Es una estructura tipo diccionario con
operaciones de insercin, borrado y bsqueda, que almacena
informacin sobre los smbolos que van apareciendo a lo largo del
programa como son: los identificadores (variables y funciones),
etiquetas, tipos definidos por el usuario (arreglos, registros, entre
otro.) Adems almacena el tipo de dato, mtodo de paso de
parmetros, tipo de retorno y de argumentos de una funcin, el
mbito de referencia de identificadores y la direccin de memoria.
Interacciona tanto con el analizador lxico, sintctico y semntico
que introducen informacin conforme se procesa la entrada. La
fase de generacin de cdigo y optimizacin tambin la usan.

Gestor De Errores: detecta e informa de errores que se
produzcan durante la fase de anlisis. Debe generar mensajes
significativos y reanudar la traduccin. Encuentra errores: en
tiempo de compilacin: errores lxicos (ortogrficos), sintcticos
(construcciones incorrectas) y semnticos (por ejemplo errores de
tipo), en tiempo de ejecucin: direccionamiento de vectores fuera
de rango, divisiones por cero, entre otros; de especificacin/diseo:
compilan correctamente pero no realizan lo que el programador
desea. Se trataran slo errores estticos (en tiempo de
compilacin). Respecto a los errores en tiempo de ejecucin, es
necesario que el traductor genere cdigo para la comprobacin
de errores especficos, su adecuado tratamiento y los mecanismos
de tratamiento de excepciones para que el programa se contine
ejecutando.
ESTRUCTURAS DE DATOS EMPLEADAS

Componentes Lxicos: estructura tipo registro con dos
campos, componente lxico representado por una enumeracin y
el lexema con una cadena de caracteres.

rbol Sintctico: es una representacin de rbol de la
estructura sin tctica abstracta del cdigo fuente escrito en cierto
lenguaje de programacin. Cada nodo del rbol denota una
construccin que ocurre en el cdigo fuente.

Tabla de Smbolos: contiene informacin sobre los
identificadores, funciones, variables, mbito de referencia de
identificadores, constantes numricas y literales, tipos de datos, o
incluso la direccin de memoria (tabla Hash).


Cdigo intermedio: se implementa como una lista de
registros, donde cada registro tiene cuatro campos (operador, la
direccin de los operndoos y del resultado). Es eficiente para
mover cdigo para el proceso de optimizacin posterior.

AGRUPAMIENTO DE FASES
En el modelo de anlisis y sntesis las operaciones del
compilador que analizan el programa fuente y calculan sus
propiedades se clasifican como anlisis del compilador, mientras
que las operaciones involucradas con la traduccin a cdigo
objeto se conoce como sntesis del compilador.

1. Etapa de Anlisis:

Anlisis lxico
Anlisis Sintctico
Anlisis Semntica

2. Etapa de Sntesis:

Optimizacin y generacin de cdigo intermedio
Generacin de cdigo objeto
La intencin de separar las etapas de anlisis y sntesis, es
principalmente para realizar mantenimientos y actualizaciones
eficientes.

DEFINICIN DE OSCILADOR
Un oscilador es un sistema capaz de crear perturbaciones o
cambios peridicos en un medio, ya sea un medio material
(sonido) o un campo electromagntico (ondas de radio,
microondas, infrarrojo, luz visible, rayos X, rayos gamma, rayos
csmicos). En electrnica un oscilador es un circuito que es capaz
de convertir la corriente continua en una corriente que vara de
forma peridica en el tiempo (corriente peridica); estas
oscilaciones pueden ser senoidales, cuadradas, triangulares, etc.,
dependiendo de la forma que tenga la onda producida.
Un oscilador de onda cuadrada suele denominarse
multivibrador. Por lo general, se les llama osciladores slo a los que
funcionan en base al principio de oscilacin natural que se
constituyen por una bobina L (inductancia) y un condensador C
(Capacitancia), mientras que a los dems se le asignan nombres
especiales. Un oscilador electrnico es fundamentalmente un
amplificador cuya seal de entrada se toma de su propia salida a
travs de un circuito de realimentacin.

PARMETROS DEL OSCILADOR
Frecuencia: es la frecuencia del modo fundamental

Margen de sintona, para los de frecuencia ajustable, es el
rango de ajuste

Potencia de salida y rendimiento. El rendimiento es el
cociente entre la potencia de la seal de salida y la potencia de
alimentacin que consume

Nivel de armnicos: potencia del armnico referida a la
potencia del fundamental, en dB.

Pulling: variacin de frecuencia del oscilador al variar la
carga

Pushing: variacin de frecuencia del oscilador al variar la
tensin de alimentacin

Deriva con la temperatura: variacin de frecuencia del
oscilador al variar la temperatura
Ruido de fase o derivas instantneas de la frecuencia
Estabilidad de la frecuencia a largo plazo, durante la vida
del oscilador

TIPOS DE OSCILADORES
El tipo de oscilador depender de la precisin, velocidad y
potencia que requiramos; por otro lado, el coste tambin es una
aspecto a tener en cuenta a la hora de elegir un oscilador u otro.
Podemos hacer uso de 4 tipos diferentes de osciladores:

1. Oscilador tipo "XT" (XTal) para frecuencias no mayores de 4
Mhz.

2. Oscilador tipo "LP" (Low Power) para frecuencias entre 32 y
200 Khz.Este oscilador es igual que el anterior, con la diferencia de
que el PIC trabaja de una manera distinta. Este modo est
destinado para trabajar con un cristal de menor frecuencia, que,
como consecuencia, har que el PIC consuma menos corriente.

3. Oscilador tipo "HS" (High Speed) para frecuencias
comprendidas entre 4 y 20 MHz.Habremos de usar esta
configuracin cuando usemos cristales mayores de 4 MHz. La
conexin es la misma que la de un cristal normal, a no ser que
usemos un circuito oscilador como el relatado unas lneas ms
abajo, en la seccin de Otras configuracin

4. Oscilador tipo "RC" (Resistor/Capacitor) para frecuencias no
mayores de 5.5 Mhz. Por ltimo tenemos el oscilador tipo RC que es
el ms econmico por que tan solo se utiliza un condensador no
polarizado y una resistencia. Este tipo de oscilador proporciona una
estabilidad mediocre en la frecuencia generada y podr ser
utilizado para aquellos proyectos que no requieran precisin.


CMO FUNCIONA UN OSCILADOR?
Los osciladores son importantes en muchos tipos diferentes
de equipos electrnicos. Por ejemplo, un reloj de cuarzo usa un
oscilador de cuarzo para mantener un seguimiento de la hora que
es. Un radio transmisor AM usa un oscilador para crear la onda
portadora para la estacin, y la radio receptora AM usa un
oscilador especial llamado resonador para poder sintonizar. Existen
osciladores en ordenadores, detectores de metales, o incluso en
ciertos tipos de armamento. Para entender como funcionan los
osciladores en formato electrnico, es aconsejable ver ejemplos
del mundo real, lo cual podremos ver a continuacin.

CONCEPTOS BSICOS
Uno de los osciladores ms comnmente usados es el
pndulo de un reloj. Si empujas un pndulo para que empiece a
moverse, oscilar hacia delante a una cierta frecuencia, y a
continuacin volver haca atrs de nuevo y as sucesivamente
varias veces por segundo. La longitud del pndulo es el principal
factor que controla la frecuencia.
Para que algo oscile, la energa debe ir adelante y atrs en
dos formas. Por ejemplo, en un pndulo, la energa se mueve entre
la energa potencial y la energa cintica. Cuando el pndulo est
en uno de los puntos finales de su viaje, su energa es toda
potencial y est preparada para caer. Cuando est en la mitad de
su ciclo, toda esa energa potencial se convierte en energa
cintica, y el pndulo se est moviendo lo ms rpido que puede.
Segn el pndulo se mueve al final de su movimiento, toda esa
energa cintica se vuelve a convertir en energa potencial. Este
movimiento de energa entre las dos formas es lo que causa la
oscilacin.
Eventualmente, cualquier oscilador fsico se para de mover
debido a la friccin. Para mantenerlo, se debe aadir un poco de
energa en cada ciclo. En un pndulo de reloj, la energa que
mantiene al pndulo movindose es el muelle. Recibe un pequeo
empuje en cada vuelta para compensar la energa que pierde
debido a la friccin. Un oscilador electrnico trabaja sobre el
mismo principio.

OSCILADORES ELECTRNICOS
La energa se debe mover entre dos formas continuamente
para que un oscilador funcione correctamente. Puedes crear un
simple oscilador conectando juntos un capacitador y un inductor.
Estos dos dispositivos tienen la capacidad de almacenar energa.
Un capacitador almacena energa en la forma de un campo
electroesttico, mientras que un inductor usa un campo
magntico.
Si cargas el capacitador con una batera, y luego insertas el
inductor en el mismo circuito en el que se encuentra el
capacitador, ocurrir que:
El capacitador empezar a descargarse a travs del
inductor. Segn lo haga, el inductor crear un campo magntico.
Una vez que el capacitador se descarga, el inductor
intentar mantener la corriente movindose por el circuito lo cual
cargar el otro extremo del capacitador.
Una vez que el campo del inductor desaparece, el
capacitador volver a estar cargado (pero con distinta polaridad),
por lo que se descargar de nuevo por el inductor.
Esta oscilacin continuar hasta que el circuito se quede sin
energa debido a la resistencia del cable. Oscilar a una
frecuencia que depender del tamao del inductor y el
capacitador.

AMPLIFICADORES
Son circuitos integrados con un nivel de componentes y
estructura interna complicada por lo que los vamos a estudiar
desde fuera como cajas negras.
La alimentacin del circuito se realiza por medio de dos
fuentes de alimentacin (alimentacin simtrica); el terminal de
referencia de tensiones (masa) no est conectado directamente al
amplificador operacional. La referencia de tensiones debe
realizarse a travs de elementos externos al operacional tales como
resistencias.
Tienen dos entradas la - que se denomina inversora y la + que
se denomina no inversora y una salida Vo. Se alimentan a travs
de dos terminales uno con tensin positiva +V y otro con tensin
negativa -V. Adicionalmente pueden tener otros terminales
especficos para compensacin de frecuencia, correccin de
derivas de corriente continua entre otros.
Se encuentran integrados de forma que en una pastilla
puede haber 1, 2 4 OP (amplificadores operacionales). En el caso
de 4 el nmero de patillas mnimo es 3x4(I/O)+2(alim)=14.
Los amplificadores operacionales, tambin llamados Op Amp
por sus siglas en ingls, son dispositivos electrnicos capaces de
realizar una gran cantidad de funciones dentro de un circuito
electrnico , dependiendo de la como se coloque dentro del
mismo.
El amplificador operacional posee 5 patas, las cuales poseen
distintas funciones:


Terminal Descripcin
- input Entrada Inversora
+ input Entrada no inversora
Output Salida
+Vss Alimentacin Positiva
-Vss Alimentacin Negativa
En los amplificadores operacionales se cumplen algunas
condiciones:
La impedancia entre las entradas inversora y no inversora es
infinita, por lo que no hay corriente de entrada. La diferencia de
potencial entre las terminales inversora y no inversora es, o debe ser
nula. No hay corriente entrando o saliendo de las patas inversora y
no inversora. Con dichas condiciones basta para conocer el
funcionamiento de los amplificadores operacionales.
El smbolo del amplificador operacional es el de un tringulo
en cuya base de colocan las patas inversora y no inversora. En el
vrtice superior se coloca la salida. En los lados del tringulo se
colocan las entradas del voltaje que se necesita para hacer
efectiva la amplificacin.

USOS DEL AMPLIFICADOR OPERACIONAL
Como su nombre lo indica, el amplificador operacional es un
dispositivo que puede aumentar cualquier tipo de seal, sea de
voltaje o de corriente, de corriente alterna o de corriente directa.
Ahora vamos a ver como es que se da este proceso y las diferentes
configuraciones con las que puede trabajar este dispositivo.

ALIMENTACION DEL AMPLIFICADOR OPERACIONAL
Al menos es necesario aplicar una fuente de alimentacin
continua, pudiendo ser las dos fuentes de tensin iguales pero de
signo contrario respecto a masa (alimentacin simtrica), o
diferentes (alimentacin
asimtrica).
La seleccin de los valores de tensin de alimentacin y el tipo
de alimentacin depende de la aplicacin en la que deba
trabajar.
Las dos alimentaciones representan los lmites del
Departamento de Ingeniera de la Informacin y Comunicaciones.
Las dos alimentaciones representan los lmites del rango de
valores posibles de la tensin de salida del amplificador
operacional, es decir, nunca la salida podr alcanzar el valor de
tensin dado por la fuente de alimentacin.
Se debe tener en cuenta que muchas veces no se muestran
explcitamente las conexiones con las fuentes de alimentacin en
los esquemas de circuitos electrnicos.




TIPOS DE AMPLIFICADORES

Amplificadores de sonido: Los amplificadores de sonido,
de uso comn en radios, televisiones y grabadoras de cintas, suelen
funcionar a frecuencias entre 2 y 20 kiloherz (1 kHz = 1.000 ciclos por
segundo). Amplifican la seal elctrica que, a continuacin, se
convierte en sonido con un altavoz. Los amplificadores operativos,
incorporados en circuitos integrados y formados por amplificadores
lineales multifsicos acoplados a la corriente continua, son muy
populares como amplificadores de sonido.


Amplificadores de vdeo: Los amplificadores de vdeo se
utilizan principalmente para seales con un rango de frecuencias
de hasta 6 megaherz (1 MHz = 1 milln de ciclos por segundo). La
seal generada por el amplificador se convierte en la informacin
visual por ejemplo la que aparece en la pantalla de televisin, y la
amplitud de seal regula el brillo de los puntos que forman la
imagen. Para realizar esta funcin, un amplificador de vdeo debe
funcionar en una banda ancha y amplificar de igual manera todas
las seales, con baja distorsin.

Amplificadores de radiofrecuencia: Estos amplificadores
aumentan el nivel de seal de los sistemas de comunicaciones de
radio o televisin. Por lo general, sus frecuencias van desde 100 kHz
hasta 1 gigaherz (1 GHz = 1.000 millones de ciclos por segundo), y
pueden llegar incluso al rango de frecuencias de microondas.



















Repblica Bolivariana de Venezuela
Ministerio del Popular para la Educacin Superior
Convenio Uni-Ojeda
Cabimas-Zulia






Compiladores,
Osciladores,
Amplificadores

Realizado por:
Liliana Gomez

Potrebbero piacerti anche