Sei sulla pagina 1di 10

UNIVERSIDAD NACIONAL DE TRUJILLO

FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS


ESCUELA ACADEMICO PROFESIONAL DE INFORMTICA



Mquina De Autmata De Pila
Reconoce Gramtica De Libre Contexto
Semntica Formal En Lenguajes De Programacin

Encargado:
Ing. Fernando Fernndez Martel.

ELABORADO POR:
Malca Daz, Bryan.
Castaeda Vilchez, William




Guadalupe, 24 de Mayo de 2014
Contenido
Contenido ............................................................................................................................................ 3
Mquina De Autmata Con Pila .......................................................................................................... 3
Las pilas en teora de autmatas: ................................................................................................... 3
Ejemplo: ...................................................................................................................................... 4
Mquinas de pila prcticas: ............................................................................................................. 4
Ejemplos ...................................................................................................................................... 5
Desempeo: .................................................................................................................................... 5
Gramticas Independientes De Contexto ........................................................................................... 7
Smbolos Inaccesibles ...................................................................................................................... 7
Smbolos Superfluos ........................................................................................................................ 7
Gramtica ........................................................................................................................................ 7
Reglas No Generativas .................................................................................................................... 7
Reglas De Redenominacin ............................................................................................................. 8
Gramtica Bien Formada ................................................................................................................. 8
Ejemplo ........................................................................................................................................ 8
Forma Normal De Chomsky (FNC) ................................................................................................... 9














Semntica

pg. 3

I. Contenido
1. Mquina De Autmata Con Pila
Una mquina de pila es un modelo computacional en el cual la memoria de la
computadora toma la forma de una o ms pilas. El trmino tambin se refiere a un
computador real implementando o simulando una mquina de pila idealizada.
Adicionalmente, una mquina de pila tambin puede referirse a una mquina
verdadera o simulada con un conjunto de instrucciones de "0 operandos". En tal
mquina, la mayora de las instrucciones implcitamente operan en valores en el
tope de la pila y reemplazan esos valores por el resultado. Tpicamente tales
mquinas tambin tienen una instruccin "load" y una instruccin "store" que leen y
escriben a posiciones arbitrarias de la RAM. (Como el resto de las instrucciones, las
instrucciones "load" y "store" no necesitan ningn operando en una mquina de pila
tpica - ellas siempre toman la direccin de la RAM que se quiere leer o escribir
desde el tope de la pila).
La ventaja de las mquinas de pila ("conjunto de instrucciones de 0
operandos") sobre las mquinas de acumulador ("conjunto de instrucciones de 1
operando") y las mquinas de registro ("conjunto de instrucciones de 2 operandos" o
un "conjunto de instrucciones de 3 operandos") es que los programas escritos para
un conjunto de instrucciones de "0 operandos" generalmente tienen una densidad de
cdigo ms alta que los programas equivalentes escritos para otros conjuntos de
instrucciones.
1.1.Las pilas en teora de autmatas:
En teora de autmatas, una mquina de pila tiene un nmero de pilas. La entrada es
el contenido inicial de la pila 1; todas las otras pilas comienzan vacos. Cada estado
de una mquina de pila es, o un estado de lectura o un estado de la escritura; y cada
estado especifica un nmero de pila desde el cual leer (pop), o hacia el cual escribir
(push). Adicionalmente, un estado de escritura especfica el smbolo a escribir, y el
siguiente estado a transicionar. Un estado de lectura especfica, para cada smbolo
en el alfabeto, a qu estado trancisionara si ese smbolo fuera ledo;
Semntica

pg. 4
adicionalmente, tambin especfica a qu estado transicionar si la pila est vaca.
Una mquina de pila se detiene cuando sus transiciones entran en un estado de
parado especial.
Una mquina de pila con 1 pila es un modelo computacional muy dbil. Por
ejemplo, puede ser demostrado que ninguna mquina de 1 pila puede reconocer el
simple lenguaje (un nmero de ceros seguido por el mismo nmero de unos),
va argumentos de bombeo. La potencia computacional de las mquinas de 1 pila es
estrictamente mayor que la de un autmata finito, pero estrictamente menor que el
del autmata de pila determinista.
Por otro lado, una mquina de pila con mltiples pilas es equivalente a
una mquina de Turing.
1.1.1. Ejemplo:
Una mquina de 2 pila puede emular a una mquina de Turing usando una pila
para la porcin de la cinta a la izquierda de la posicin actual del cabezal de la
mquina de Turing y la otra pila para la porcin a la derecha.
1.2. Mquinas de pila prcticas:
Las mquinas con un conjunto de instrucciones basado en pila pueden tener uno o
ms pilas. Algunas mquinas de pila son mquinas 2 pilas, con las dos pilas
usualmente siendo una pila de datos y una pila de retorno, el primero para las
operaciones en datos y el ltimo para las direcciones de retorno. Otras mquinas
usan la misma pila para ambos.
Una mquina usando los registros del procesador para los operandos puede
simular fcilmente una mquina de pila. Tal simulacin es llamada a veces
una mquina de pila virtual. La ventaja de un (ms o menos) conjunto de
instrucciones basado en pila (por hardware) sobre una arquitectura basada en
registros, son instrucciones ms cortas, puesto que tienen que ser especificadas
menos direcciones de operando. ste es lo mismo que una mejor densidad del
cdigo y programas compilados ms pequeos.
Semntica

pg. 5
Las implementaciones comerciales de las mquinas de pila generalmente
incluyen un pequeo conjunto de registros de propsito especial para tratar el
encerramiento de contextos, es decir los marcos (frames) de pila que no son el
marco de la pila superior (el mbito dinmico contra el lxico son dos maneras
diferentes de usar y acceder el encerramiento de contextos). Las mquinas de pila
prcticas no son as idnticas a las mquinas de pila de la teora de autmatas pero
permiten que una CPU basada en pila sea enteramente conveniente para la
computacin de propsitos generales.
1.2.1. Ejemplos
La arquitectura de los grandes sistemas de Burroughs (desde 1961)
La p-machine del UCSD Pascal (como el Pascal MicroEngine y muchos
otros)
El procesador 4stack de Bernd Paysan tiene cuatro pilas.
La mquina de pila "Ignite" diseada por Charles H. Moore mantiene el
liderazgo en desempeo en densidad funcional.
El conjunto de instrucciones de la mquina virtual Java
Lenguaje de programacin Parakeet.
Lenguaje de programacin SwapDrop de Sun Microsystems para la
identificacin de la tarjeta inteligente del Sun Ray.
Observe que la arquitectura de Burroughs combina una mquina de pila con
la memoria etiquetada (tagged memory) (algunos bits en cada palabra de la memoria
se usan para describir el tipo de datos de los operandos). La memoria etiquetada
requiere pocos opcodes, ej., una sola instruccin "add" trabaja para cualquier
combinacin de operandos con nmeros enteros y de punto flotante. Requerir pocos
opcodes significa que el conjunto de instrucciones completo pueda caber en opcodes
ms pequeos, reduciendo la anchura total de la instruccin.
1.3. Desempeo:
Las mquinas de pila compiten contra las mquinas de registro convencionales por
la cuota de mercado. Ambas arquitecturas tienen fuerzas. La discusin siguiente es
para dar una idea de las ventajas relativas de las dos arquitecturas.
Semntica

pg. 6
Las referencias convencionales dicen que las mquinas de pila son lentas
porque las pilas estn en memoria, y por lo tanto son ms lentos de acceder que los
registros. Sin embargo, esto es algo compensado por el ms pequeo tamao del
cdigo de una mquina de pila, que es ms rpida al leer (fetch) y ejecutar. Esto es
confirmado por experimentos con optimizacin agresiva tanto de la arquitectura de
la mquina como la de los compiladores que demuestran que el cdigo de la
mquina de registro tiene 47% menos instrucciones virtuales, y sin embargo, es
25% ms grande que el cdigo de la mquina de pila. Cuando las pilas estn en
memoria, una mquina de registro corre cerca de 26.5% ms rpida que una
mquina de pila, en gran parte debido a la reutilizacin de las constantes en los
registros.
Tambin se dice que los registros proporcionan ms oportunidades para
la ejecucin paralela durante la ejecucin superescalar. Esto puede ser porque las
mquinas de pila superscalares y los necesarios compiladores de optimizacin
asociados no son un campo de investigacin muy activo o de desarrollo comercial.
En principio, la velocidad de una computadora superescalar es constreida por la
lenta velocidad de acceso de de memoria principal, no por la notacin usada para
tratar resultados intermedios.
Algunas mquinas de pila tienen un cach que contiene partes de la pila en
registros de alta velocidad para acelerar el acceso a las pilas y seguir conservando el
rpido y pequeo tamao del cdigo. Sin embargo, esto no es cierto para todas las
mquinas de pila.
La latencia de tiempo real, es decir, el tiempo que transcurre desde un evento
electrnico hasta el inicio del cdigo de interrupcin til, puede ser menor en
mquinas de pila porque los registros en una mquina de registro tienen que ser
guardados y luego restaurados, de modo que el cdigo de la interrupcin no
corrompa los clculos en el background. Algunas mquinas de registro, como
el Intel 8051 tienen mltiples conjuntos de registros. El cdigo de la interrupcin
puede simplemente cambiar el ndice del conjunto de registros para poder trabajar
sin tocar los registros usados normalmente por los programas. Desafortunadamente,
esta caracterstica no existe en todas las mquinas de registro.
El ms pequeo tamao del cdigo de una mquina de pila puede reducir el
tamao de la memoria y el costo de una computadora. Pocos accesos de memoria
pueden incrementar la velocidad de una mquina de registro, comparada a una
Semntica

pg. 7
mquina de pila (que tenga las pilas en memoria). Reduciendo el tiempo de
guardado y restauracin de registros, una mquina de pila puede tener menos
sobrecarga para responder a las interrupciones.

2. Gramticas Independientes De Contexto
Recordemos que las gramticas independientes del contexto se caracterizan porque
la parte izquierda de todas sus reglas es un solo no terminal (A:= w, donde w es
cualquier palabra escrita con terminales y no terminales) y no hay reglas
compresoras salvo tal vez S:= , siendo S el axioma.
2.1. Smbolos Inaccesibles
Un smbolo no terminal decimos que es inaccesible si desde el axioma no se puede
derivar ninguna palabra que lo contenga. Si un smbolo es inaccesible y lo
eliminamos junto con todas sus producciones y todas las producciones en las que
aparezca, la gramtica obtenida es equivalente a la dada.
2.2.Smbolos Superfluos
Hay dos tipos de posibles smbolos superfluos de una gramtica:
No terminales:
Un smbolo no terminal es superfluo si a partir de l no se puede obtener
ninguna derivacin escrita slo con smbolos terminales. Si eliminamos un smbolo
no terminal superfluo, sus producciones y las producciones en que aparece, la
gramtica obtenida es equivalente a la dada.
Terminales:
Un smbolo terminal decimos que es superfluo si no aparece en ninguna
derivacin desde el axioma. Si eliminamos del alfabeto de terminales los terminales
superfluos la gramtica obtenida es equivalente a la dada.
2.3. Gramtica
Una gramtica que no tiene smbolos inaccesibles ni superfluos se dice que es una
gramtica limpia.
2.4. Reglas No Generativas
Semntica

pg. 8
Las reglas compresoras del tipo donde A no es el axioma decimos que son
reglas no generativas. Si eliminamos esa regla y por cada regla de tipo B:=xAy (x, y

) aadimos la regla , la gramtica obtenida es equivalente a la dada.



2.5. Reglas De Redenominacin
Las reglas del tipo A:=B, donde A y B son smbolos no terminales decimos que son
reglas de redenominacin. Si eliminamos dicha regla, aadiendo por cada regla
B:=, la regla A:=, la gramtica obtenida es equivalente a la dada.
2.6.Gramtica Bien Formada
Una gramtica limpia, sin reglas no generativas y sin reglas de redenominacin
decimos que es una gramtica bien formada.
Una de las dificultades que ofrece la implementacin de programas que
analicen si una determinada palabra pertenece o no al lenguaje determinado por una
cierta gramtica independiente del contexto, es el hecho de que la parte derecha de
cada una de sus reglas puede tener cualquier longitud, lo que supone que los rboles
de derivacin de las palabras del lenguaje de la gramtica no tienen un nmero de
ramas fijo.
2.6.1. Ejemplo
Sea la gramtica G3 de axioma S cuyas reglas son:
S:=aMNz
M:= aMa / z
N:= bN / b
Sea la derivacin:
S aMNz aaMaNz aazaNz aazabNz aazabbNz aazabbbz
Su rbol de
derivacin es:


Semntica

pg. 9





Observamos que el primer nivel tiene cuatro ramas, en el segundo hay un
nodo con tres ramas y otro con dos, etc.
En general es difcil dimensionar un rbol que se adapte a todas las
derivaciones posibles de la gramtica y esto ocurre as precisamente por la
falta de restricciones a la longitud y forma de la parte derecha de las reglas.
Noah Chomsky observa y demuestra que esta falta de restriccin es tan slo
aparente porque cualquier gramtica independiente del contexto es
equivalente a otra cuyas partes derechas de todas sus reglas observa un
riguroso patrn.
2.6.2. Forma Normal De Chomsky (FNC)
Sea

una gramtica independiente del contexto, entonces existe


G, equivalente a G, cuyas reglas son de uno de los tipos siguientes
i) A:=BC, con A, B, C

,
ii) A:=a, con A N, a


iii) S:= con S el axioma.
Con esto se pueden obtener todas las palabras del lenguaje con rboles binarios.
La demostracin es constructiva, sobre la reglas de la gramtica bien formada
Sea A:= una regla de G.
Si empieza por un smbolo no terminal, se tiene A:= Bx, introducimos un
nuevo no terminal B y sustituimos la regla original por las reglas B:= x y A:=
BB.
Semntica

pg. 10
Si empieza por un terminal, se tendr A:= ax, con a

, x

,
introducimos dos nuevos no terminales, C y C, y sustituimos la regla original
por las reglas A:=CC y C:= a y C:= x.
Como este proceso es finito porque la longitud de las palabras de la parte derecha de
todas las reglas es finita, llegar un momento en que todas las reglas sean del tipo de
la forma normal de Chomsky.
Bibliografa
Moral, Serafn. (2012). Modelos De Computacin I. Granada: Universidad De Granada.
Wikipedia. (15 de Abril de 2014). http://es.wikipedia.org. Obtenido de http://es.wikipedia.org/:
http://es.wikipedia.org/wiki/M%C3%A1quina_de_pila

Potrebbero piacerti anche