Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Analizador Léxico y Sintáctico

No description
by

leandro flores

on 6 June 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Analizador Léxico y Sintáctico

Características
Lenguaje Multiplataforma
Tipado Dinámico
Fuertemente Tipado
Lenguaje Interpretado
Orientado a Objetos
Basado en:
Perl
Modula
C
Se asegura que la primera linea no tenga espacios en blanco (sangrado), si lo tiene reporta error, si no contiene espacios inicia la lista en cero.
Por cada línea logica (luego de line-joining "\")

Si el sangrado de la línea concurrente es

al sangrado del final de la lista:
Se agrega el sangrado de la línea al final de la lista.
Se produce un token.
Sangrado :
Analizador Léxico y Sintáctico
Python
Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en una sintaxis que favorezca un código legible.


Es administrado por la Python Software Foundation.
Posee una licencia de código abierto,

Creador de
Python
Escritura...
Comando de window:
Editor de código:
Cuando se esta escribiendo código, se puede utilizar diferentes ventanas donde desarrollar.
En la ventana de comando se esta ejecutando el archivo escrito.
También se puede aplicar una
sesión interactiva
.

Aqui es donde se escribe el programa que sera guardado en extensión
.py
INDENT - DEDENT
1. Izquierda-a-derecha y de arriba-hacia-abajo usando el line-joining y espacios en blanco.
a) Al inicio de la línea, se tokeniza el sangrado, mas halla del primer token, salta cualquier espacio en blanco (continuando to la siguiente linea luego de <-)
b) Si el primer caracter es una letra
lower/upper
, se tokeniza el apropiado identificador, palabra clave, o literal (bool, str, bytes, or NoneType).

Errores
Creado a finales de los ochenta.
Guido van Rossum.
El nombre del lenguaje proviene de la afición de su creador por los humoristas británicos Monty Python.
ANALIZADOR LÉXICO
Para realizar el analisis léxico Python utiliza
PLY
(Python Lex-Yacc)
Se divide la cadena en tokens de la siguiente forma:
Especificamente, la entrada se quiebra en una tupla doble que indica el tipo y valor del token:
En Pyhon Lex se utilizan mayusculas para indicar un token:
Si el sangrado de la línea concurrente es al sangrado del final de la lista:
Para ese valor al final de la lista que no es igual al del sangrado de la línea concurrente :
Se elimina el valor del final de la lista.
Se produce un DEDENT token.
Tokenizar la línea concurrente
Por cada sangrado en la lista con excepción de 0 (cero), produce un
<
>
INDENT
DEDENT
token.
c) Si el primer caracter ir un ordinary (caracter especial), se tokeniza un operador, delimitador o comentario...
1) ... excepto si el caracter es seguido por un digit (digito) en cuyo caso se tokeniza un
literal float
.
d) Si el primer caracter es un
digit
, se tokeniza el apropiado literal numerico.
e) Si el primer caracter es cualquier tipo de cita, se tokeniza un literal str.

Analizador
Sintáctico
Palabras Reservadas
Operadores
Delimitadores
Literales
GRACIAS...
Invalid Syntax
Palabra reservada esta mal escrita
Asignación Invalida
Dos numeros consecutivos sin operador (con espacio)
Sentencia incompleta
Error de Identation
Not Indented : no se declara bien el proceso
Unexpected Indent : detecta un nuevo proceso donde no deberia (el espacio)
Inconsistent Dedent: se ha finalizado mal un proceso
Full transcript