Acerca de…
Hi, my name is… jajaja
Bueno, mi nombre es Alex, mejor conocido como yylex, los que ya llevaron al menos compi1 sabrán que significa y los que no, ¿que esperan? jajajaja. Aunque más recientemente me han identificado como next_token. Aclaro que, no tiene que ver (no tanto) con StringTokenizer::nextToken() del lenguaje Java, más bien con que al agregarle la directiva “%cup” al lexer (JLex/JFlex) la clase generada del parser tendrá un int next_token() y no un int yylex(). De hecho, así deberá llamarse la función de nuestro lexer que se encargará de devolver los tokens leídos al parser, en el caso de estar usando este último. (Espero no haberlos hecho bolas jejeje)
Ok, ahora ya saben más de mi….. jajajajaja
(¿Algo que agregar?)
Octubre 10, 2007 en 8:34 pm
De hecho eso facilita mucho la forma en que el LALR de la herramienta se desplaza o reduce la gramática obtenida y ejecuta los procedimientos que pueden estar en una defición dirigida por la sintaxis o bien en un esquema de traducción dependiendo de lo que se desee hacer y de la habilidad que tengamos de manejo de atributos.
Ahora los dejo con un ejemplo clásico de compi1 que es una calculadora de operaciones aritméticas:
E–> E+T
| E - T
T–> T* F
| T div F
F –> (E)
| id
Cabe destacar que esta es una gramática no ambigua pero recursiva por la izquierda, lo que hace que la herramienta no se pierda ya que el análisis que se utiliza es ascendente y es aca donde viene la discordia.
TONCES PA QUE PUTAS VEMOS EL ANALISIS DESCENDETE!!!!!!
Pues yo creo que solo para saber quitar la recursividad izquierda y factorizar la gramatica.
Saludos yylex,
Octubre 28, 2007 en 10:46 pm
Ta bien YY (como suele decirte), buena explicacion del apodo, cantinflas no podria haberlo explicado hecho mejor, jejeje.
Aunque ya me lo habias explicado y estuvo de ahuevo cuando me lo contaste, fue una evolucion maldita que estuvo interesane, jeje.
Octubre 28, 2007 en 11:04 pm
Ahora en otras palabras:
Si utilizamos el lexer como stand-alone (por ejemplo, un lexer que lee la entrada y no pasa tokens a un parser) la función tiene el nombre de yylex(), ésta que devuelve los tokens según la especificación del archivo .lex (.l, .lexer, etc.)
En caso contrario, si el lexer se usa en conjunción con un parser generado con CUP la directiva mencionada sirve para que esta función tenga el otro nombre también ya mencionado (jejeje) porque este es un requisito en CUP.
Esto es desde que los scanners en JFlex pueden implementar la interfaz java_cup.runtime.Scanner, en este caso se produce el cambio de nombre.
The main difference between the %cup switch in JFlex 1.2.1 and lower, and the current JFlex version is, that JFlex scanners now automatically implement the java_cup.runtime.Scanner interface. This means, that the scanning function now changes its name from yylex() to next_token().
-JFlex User’s Manual-
Noviembre 19, 2007 en 9:12 am
hola que tal veo que son entendidos de la materia, yo quiciera q me ayuden, tngo como trabajo practico realizar un analizador que hagar factorizacion por la izquierda, y no entiendo ni un huevo lo que es la materia compiladores… se que tengo que leer más, pero si me pueden ayudar les estare muy agradecidos.. estoy usuando el lexx de unix…
Febrero 18, 2008 en 8:05 pm
jajajaja mendigo feed, pero es que le dedico poco tiempo a mi blog, tengo otros blog en zonakaoz , lawaloca, acidconga, bien bajado ese balón, y pues no me alcanza el tiempo, y menos ahora que regreso a la escuela, saludos, segure viniendo por aca…
Mayo 5, 2008 en 6:33 pm
Vos alguna razón válida para que hayas puesto en tu listado de blogs que yo estoy loco, jajajajaja, Buena onda mano.
Mayo 6, 2008 en 8:36 am
@Mario Batres: creo que ninguna pero igual… me pela. jajajaja
Junio 7, 2008 en 4:27 pm
Hola Alex!!! mi nombre es Arturo, el chavo que una vez pidió tu ayuda para compilar un kernel en ubuntu, bueno lo prometido es deuda cómo publico algo en tu blog??? Saludos y que tengas un buen día Alex
!!!
Junio 11, 2008 en 8:30 pm
@Arturo: Ya te he contestado vía email.
Saludos.