[pyar] Curiosidades del lexer de CPython

Alejandro Santos listas en alejolp.com
Mie Jul 25 23:31:22 ART 2012


2012/7/25 Claudio Freire <klaussfreire en gmail.com>:
>
> Igual, estuve mirando, no me vengan con chicanas, que el tokenizer de
> python también es un parser LL(1).
>
> :-p
>

Si querés verlo de esa forma, el tokenizer de Python no es un parser
LL(1) porque hace backtracking llamando a la funcion tok_backup(tok,
c2).

En un LL(1) tenés una tabla o alguna regla que te dice para cada
caracter o símbolo cual es la regla que le sigue, y no podés/tenés que
volver atrás.

http://en.wikipedia.org/wiki/LL_parser

El Tokenizer es un DFA. Va pasando por diferentes estados (en algunos
casos varios a la vez) hasta encontrar uno que cumpla con la regla
completa.


-- 
Alejandro Santos



More information about the pyar mailing list