presentacion automatas programados y analizador sintactico ariel rosario y guillermo pinales
TRANSCRIPT
Autómata Programado
&Analizador Sintáctico
Ariel Rosario 14-0333
Guillermo Pinales 15-0960
Definicion
Maquina electrónica programable diseñada para ser utilizada en un entorno industrial que utiliza una memoria programable para el almacenamiento interno de instrucciones orientadas al usuario.
https://wikiuce.wikispaces.com/file/view/plc2.pdf
¿Como funcionan?
◎Los autómatas programables, son autómatas (valga la redundancia).
◎Se introducen las instrucciones a la memoria del equipo.
A mediados de los años 60, preocupados por los altos costos de los sistemas de control de relés, se comenzó a trabajar para evitar los inconvenientes, el resultado fue un equipo programable.
Historia
Hacia la primera mitad de los 70, los autómatas programables incorporan las tecnologías de microcontroladores, aumentando las capacidades de este.
http://www.herrera.unt.edu.ar/eiipc/material/apuntes/Automatas%20Programables.pdf
Lógica cableadaEs una forma de realizar controles, en la que el tratamiento de datos se efectúa en conjunto con contactores o relés auxiliares, frecuentemente asociadas a temporizadores y contadores.
https://es.wikipedia.org/wiki/L%C3%B3gica_cableada
Estructura GeneralSistema basado en un microprocesador, siendo sus partes fundamentales el CPU, la Memoria y el sistema de E/S.
https://es.wikipedia.org/wiki/Aut%C3%B3mata_programable
Estructura General
● CPU: Realizan el control interno y externo del automata y la interpretacion de las instrucciones del programa.
● La Memoria se divide en dos bloques, la memoria de solo lectura o ROM y la memoria de lectura y escritura, o RAM.
● El sistema E/S recoge la información del proceso controlado y envía las acciones de control del mismo.
Aplicaciones◎ Automovil◎ Plantas químicas y petroquímicas◎ Metalurgia◎ Alimentacion◎ Papeleras y Maderas◎ Produccion de energia◎ Trafico◎ Domotica
Analizador Sintactico
También conocido como Parseadores (Parser)
¿Que son?◎Componente de software que
recibe data en forma de texto para construir una estructura de datos con la mismas.
◎Esta estructura es utilizada para validar la corrección de la sintaxis en el proceso.
https://en.wikipedia.org/wiki/Parsing#Computational_methods
Top-Down ParsingParte del axioma de la gramática.Procesa la entrada de izquierda a derecha.
Bottom-Up ParsingParte desde los tokens hacia el axioma inicial.Disminuye la cantidad de reglas aplicadas.
Análisis Sintáctico Según su Tipo
Considerando: S->xxW; S->y; W-> SzValidar: xxxxyzz
Top-Down Bottom-Up
S
x x W
S z
x x W
S z
y
S
x x W
x x S z
x x x x W
x x x S z z
x x x x y z z
Análisis Sintáctico Descendente (LL)
◎En este, las entradas son de izquierda a derecha con construcciones de derivaciones por la izquierda de una sentencia o enunciado.
https://es.wikipedia.org/wiki/Analizador_sint%C3%A1ctico_LL
Análisis Sintáctico Descendente (LL)Primer Set
◎Si A-> ae, A es un terminal y e puede ser tanto terminal como no terminalPrimer(A)->{a}
◎Si A->Be (dado que B no contiene a vacio)Primer(A)->Primer(B)
◎Si A->Be (dado que B contiene a vacio)Primer(A)->[{Primer(B)-vacio} U {Primer(e)}]
Análisis Sintáctico Descendente (LL)Siguiente Set
◎Si A-> aBC, (dado que C no sea vacio)Siguiente(B)->Primero{C}
◎Si A->aBSiguiente(B)->Siguiente(A)
◎Si A->aBC (dado que B contiene a vacio)Siguiente(B)->[{Primer(C)-vacio} U {Siguiente(A)}]
Validar si cumple con LL:
S -> aABC
A -> a | bb
B -> a | e
C -> b | e
Primer Set Siguiente Set
S a $
A a, b a, b, $
B a, e b, $
C b, e $
a b c $
S S->aABC
A A->a A->bb
B B->a B->e B->e
C C->b C->e
Análisis Sintáctico Ascendente (LR)
◎En este, se construye un árbol sintáctico de las hojas hacia la raíz.
◎Se utiliza una gramática extendida.
◎Se utiliza un punto para ir recorriendo las cadenas.
https://es.wikipedia.org/wiki/Analizador_sint%C3%A1ctico_LL
S -> aB | acB -> bS’ -> S
S’ -> .SS -> .aBS -> .ac
S’ -> S.0 S
1 Aceptacion
S -> a.BS -> a.cB -> .b
a2
S -> aB.
B
S -> ac.
S -> b.
c
b
3
4
5
a b c $ S B
0 d2 1
1 Aceptacion
2 d5 d4 3
3 r1 r1 r1 r1
4 r2 r2 r2 r2
5 r3 r3 r3 r3
Cadena Pila
ab$ 0
b$ 0a2
$ 0a2b5
$ 0a2B3
0S1
Gracias!
Preguntas?