:: vaLar ::

Bitácora personal.

Analizador lexico

con 108 comentarios

La semana pasada la ocupe para una sola cosa: diseñar y programar un analizador lexico para C#. Ya lo entregue a mi profesor y parece que todo marcha bien, asi que me atrevere a publicarlo como Software Libre.

Primero que nada, hay que definir que un analizador lexico es el encargado de leer caracter por caracter de un archivo (que contenga codigo fuente escrito en algun lenguaje de programacion especifico) y construir elementos lexicos llamados Patrones que serán utilizados posteriormente por un analizador sintactico. Un patron es una pareja ordenada compuesta por un token y un lexema. Un token es el elemento lexico del lenguaje, es decir el simbolo terminal de una gramatica libre de contexto (GLC). Y por ultimo, un lexema es la secuencia de caracteres que coinciden con un token.

El siguiente, es un ejemplo del analisis lexico para el lenguaje C:

archivo_fuente.c

#include<stdio.h>
main(){
printf("Hello world");
}

Tras procesar el codigo con un analizador lexico, este genera los pares ordenados (Token, Lexema):

tokens.txt

Gatito, #
PalabraReservada, include
MenorQue, <
Libreria, stdio.h
MayorQue, >
PalabraReservada, main
ParentesisIzq, (
ParentesisDer, )
LlaveIzq, {
PalabraReservada, printf
ParentesisIzq, (
Texto, "Hello world"
ParentesisDer, )
PuntoYcoma, ;
LlaveDer, }

Bueno pues, para crear el analizador lexico que me pidieron en la materia de compiladores, primero tuve que hacer una lista con todas las palabras reservadas, los operadores y los simbolos empleados en C#.

Despues, hice el diagrama de un Automata Finito Determinista (AFD.jpg) para reconocer los estados finales de la gramatica.
Partiendo del estado 1 y con un caracter de entrada se determina el camino que se ha de seguir; cuando se llega a un estado de aceptacion N, se continua analizando el siguiente caracter pero comenzando nuevamente por el estado 1

Por ejemplo, partiendo del estado 1 del automata; si se lee un caracter del archivo de entrada y es un corchete izquierdo: [
En el automata, se cambia de estado o "nos movemos" al estado 55 y luego, al leer el siguiente caracter, sin importar que sea una letra, digito, simbolo, espacio en blanco, nueva linea, o cualquier otra cosa: se va al estado siguiente del automata, que es el 56; el cual está marcado como un estado de aceptacion [es cuando se crea un patron].
Despues de eso, el punto de partida es nuevamente el estado 1 y dependiendo del caracter que se lea a continuacion; se cambiara a otro estado hasta llegar a un estado de aceptacion. El proceso termina hasta que se encuentra un fin de archivo (EOF).

[recomiendo ver el diagrama del automata para comprender mejor la explicacion]

Finalmente; aqui está mi trabajo [liberado con licencia GNU - GPL].
Este es el codigo fuente escrito en C.
Aqui esta el ejecutable para M$-DO$ [TurboC de Borland tiene muy buenas librerias para el manejo de strings]
Aqui esta un ejemplo del lenguaje C#
Por ultimo, aqui esta la version del proyecto en pdf

Cualquier duda o sugerencia: dejarla en los comentarios.

La siguiente fase del proyecto es crear un analizador sintactico… si todo va bien, quizas lo publique aqui.

Escrito por Javier B. Camacho Martínez

1 Julio 2004 a 1:34 pm

Escrito en Programacion

108 comentarios

Suscríbete a los comentarios mediante RSS.

  1. Necesito que me mandes porfa todo lo que
    publicastes pues desde aqui no se ve tu servidor
    y lo necesito mucho, si tuvieras la gentileza
    de mandarmelo por correo te lo agradeceria infinitamente
    muchas gracias vip. por si no lo vez mi correo es
    yananliur@hotmail.com

    Vipsania

    12 Marzo 2007 a 3:43 pm

  2. definitivamente no te voy a mandar tu tarea a tu correo. osea; ¿por quién me tomas?

    Intenta mas tarde, el servidor andará fuera de línea por un par de horas pero si funciona.

    vaLar

    12 Marzo 2007 a 8:49 pm

  3. la verdad es muy buen trabajo el analizador lexico, yo hice uno para MicroC, un proyecto de la facultad. solo que no lo hice con una matriz de transicion, y se me hubiera facilitado mucho con esto. echale ganas y adelante

    Lariash

    26 Marzo 2007 a 5:54 pm

  4. Gracias por el comentario Lariash. Este proyecto fue para la materia de compiladores y realmente me costó bastante noches, lo puse en línea confiando en que las personas que lo encuentren, lo consideren util y como material de apoyo.

    Saludos Lariash.

    vaLar

    27 Marzo 2007 a 6:55 am

  5. Hola, he visto tu trabajo realmente esta muy bueno, a mi me ha tocado hacer un analizador lexico tambien para mi clase de compiladores, solo que mi problema esque no me han dicho para que lenguaje lo quieren asi que intuyo que es general, asi que estoy que paso noches pensando como lo termino y la verdad sera el cansancio pero ya no me da se me traba pero realmente me sorprende el tuyo tomare tu idea y vere si me da lo de la matriz, gracias por la ayudita, y sigue adelante tienes un gran talento.

    Angeles

    8 Abril 2007 a 12:07 am

  6. Angeles: Adelante, tomalo como ejemplo o si gustas realizarle alguna mejora al codigo fuente publicado aquí, no hay problema. La intención es que sea útil para otras personas.

    Saludos y paz.

    valar

    8 Abril 2007 a 1:49 pm

  7. Hola tengo una duda. Cuando abre el .exe de ms-dos de tu analizador lexico me pide el nombre de un archivo…

    Como lo devo escribir?, la ruta completa o solo el nombre del archivo..

    Ya intente de las 2 formas y no me da resultado..

    Gracias, PD. Es muy interesante el codigo pero si pudieras explicar el codigo te lo agradeceria ya que necesito hacer uno pero en Visual basic .net para que analize programitas escritos en visual basic….

    De antemano Gracias

    Josue

    9 Mayo 2007 a 9:41 am

  8. jejejeje si quieres, te lo hago en visual basic, para que te sea más sencillo entregar tu proyecto escolar ;-)

    Damm it!

    valar

    9 Mayo 2007 a 10:49 am

  9. No no es necesario, solo necesito que me expliques (si puedes y quieres claro) como funciona…

    Con respecto a lo e que no puedo abrir el archivo….????

    Josue

    10 Mayo 2007 a 8:54 am

  10. Hola:
    Bueno pues checando tu trabajo esta muy bien… Sabes yo necesito realizar una analizador lexico pero ya sea para pascal o para c++ o para visual basic, asi k espero k checando mas adetalle tu trabajo pueda generar una idea para mi proyecto de fin de semestre.

    bueno un gusto

    Sigue adelante y suerte

    Lety

    10 Mayo 2007 a 1:29 pm

  11. Lety: Suerte y éxito con tu proyecto!

    Saludos!

    valar

    11 Mayo 2007 a 9:24 am

  12. chikos yo si necesito un analizador lexico pero en java hice uno pero no le gusto mucho al maestro y medio chanse para entregarse lo el lunes 28 de mayo asi k si me pueden ayudar se los agradecere mucho y si es en basic les encargo el programa

    muchas gracias de vdd

    avalanch_2002@hotmail.com

    Neikiang

    25 Mayo 2007 a 12:47 am

  13. hola amigo mi nombre es luis raciel me dicen rashy me gustaria saber si me podrias proporcionar tu analizador o tus automatas para poder checarlo y te prometo que cualquier modificion lapublicare en esta pagina solo quiero checarlo para un proyecto escolar que tengo mi correo es Luis_raciel@hotmail.com espero me des respuesta muy pronto

    rashy

    28 Mayo 2007 a 6:13 pm

  14. Hola raciel, el link hacia el codigo fuente está disponible en el artículo, por favor emplea tal.

    Saludos

    valar

    28 Mayo 2007 a 6:36 pm

  15. GUAPO Y ADEMAS INELIGENTE, MUY BIEN CREO QUE ME SERA DE UTILIDAD ES MUY INTERESANTE TU CODIGO AMIGO, GRACIAS

    ALEXANDRA

    29 Mayo 2007 a 1:24 pm

  16. oye se ve interesante, yo ando haciendo uno analizador = para mi materia de prog. de sistemas 2.
    leere tu trabajo haber que tal, con respecto alas personas que necesitan analizadores para java, c++…

    c# se basa en esos lenguajes, es solo una adaptacion minima….

    jose

    11 Junio 2007 a 12:38 am

  17. Pues mira, mi estimado Valar: Para serte honesto, tu programita me ha servido más que todas las clases que he tomado de Programación de Sistemas donde estamos viendo el compilador. Por fin le entendí a los famosos Autómatas Finitos Deterministas y sigo exprimiéndole todo lo que puedo. De veras, te estoy muy agradecido por haberlo publicado en la Web. Una cosa que me serviría mucho saber es si la matriz la sacaste directamente del AFD o tienes por ahí otro archivo u otras anotaciones de cómo crearla. Yo estoy tratando de integrarla de la que ya hiciste y del AFD que publicaste. Cualquier comentario será muy requete bienvenido.
    Saludos
    Liniud

    Liniud

    19 Junio 2007 a 12:19 pm

  18. Hola:
    Oye ya me aventé el analizador léxico y ahora voy por el sintáctico pero no le agarro la onda, tienes alguna sugerencia o algo de información que me pueda ser útil??? Es para un proyecto de programación de sistemas, tengo que hacer un monitor de cobertura, después del sintáctico tengo que hacer el semático pero todavía no empiezo con el sintáctico : S.
    Gracias.
    Joyce

    Joyce

    21 Junio 2007 a 9:48 pm

  19. no seas malito puedes enviarme el codigo fuente del analizador lexico para pascal hecho en c.

    gracias

    alexandra

    3 Octubre 2007 a 1:00 pm

  20. hola colega encontre tu sitio pork ando indagando como realizar un analizador lexico, encontre k hiciste uno en c# pero no pude ver el codigo okas si me lo puedes proporcionar t lo agradeceria va. lo que pasa que tenfo k hacer uno pero en java por cuestiones d tiempo no lo he podido hacer me gutaria darme referencias con tu trabajo de antemano muchas gracias.
    att. viktor

    viktor

    8 Octubre 2007 a 6:42 am

  21. oye necesito q me hagas el favor y si me pudieras enviar el codigo del analizador es q de eso depende mi semestre te lo agradeceria mucho.. en cualquier otra ocasion de recompensaria…. ojala me pudieras ayudar

    sirdussan85@msn.com

    Carlos

    10 Octubre 2007 a 11:07 am

  22. Ocasionalmente no funciona la resolucion de nombres del servidor de mi facultad y es por eso que les muestra un error al tratar de acceder a los archivos publicados, solo cambien el nombre del servidor por el ip:
    ixtchel.cs.buap.mx – 148.228.20.5

    Por ejemplo, para los enlaces publicados en este post:

    http://ixtchel.cs.buap.mx/~guerrero/valar/anlex.cpp
    http://148.228.20.5/~guerrero/valar/anlex.cpp

    Saludos!

    valar

    10 Octubre 2007 a 1:32 pm

  23. hola q tal valar disculpa la molestia vi que tienes un codigo del analizador lexico sintactico en visual basic y me interesariaver si me facilitas tu codigo para hacerle una modificacion para un programa q debo hacer (debo añadirle funciones de notacion polaca) entonces quiero ver si me puedes dar el link de donde esta

    ruben

    16 Octubre 2007 a 9:24 am

  24. Saludos. Estaba buscando información para crear un analizador léxico y por casualidad me encontré el tuyo. Le entiendo un poco el cómo funciona gracias a la pequeña reseña que hiciste, sin embargo; me gustaría ver el diagrama del autómata ya que no lo puedo ver. me marca error. Si me lo pudieras mandar a mi mail te lo agradecería mucho.

    se ve muy interesante el programa.

    ¿lo podría usar y modificarlo? soy de lázaro cárdenas mich.

    adrian

    17 Octubre 2007 a 3:17 pm

  25. vi tu articulo y me parecio muy interesante tu analisis, me gustaria que lo enviaras a mi correo para revisar la estructura de tu codigo y ver si puedo modificarlo (claro con tu autorizacion desde luego) y si podrias agregara tu automata porque no me dejo abrirlo (como que el link esta roto)..

    de antemano Gracias
    SALU2

    francisca bernal

    18 Octubre 2007 a 2:44 pm

  26. Que onda, mira necesecito hacer un analizador y manejar archivos, no se como hacerlo y como tu lograste hacerlo me gustaria me prestaras tu codigo, la verdad voy a implementarlo en Java y me gustaria mucho me mandaras tu codigo a mi correo, si puedes claro te lo agradecere demasiado.
    Te lo pido de esta manera pues el servidor no esta disponible. Gracias de antemano companero.

    Oscar Vera

    22 Octubre 2007 a 10:48 pm

  27. quiero uno en cod c++ pero que funcione en VB 6.0 , Un analizador , por fa si me pueden ayudar mandalo a mi correo jesusdaver86@hotmail.com

    Jesus Rvero

    23 Octubre 2007 a 10:40 am

  28. oye si me podrian decir como crear un analizador lexico en visual basic 6 por fa es que necesito saber como se hace y no tengo ni idea de como hacerlo si alguien me puede decir como hacerlo por fa envienmelo a mi correo por fa es aker134@hotmail.com por fa

    gracias

    Aker

    25 Octubre 2007 a 10:25 am

  29. Un saludo cordial para VALAR, a que direccion de correo puedo contactarte, ya que me gustaria preguntar algunas cosas acerca de implementacion del codigo fuente que gentilmente haz publicado en este sitio.

    Por tu atecion, mil gracias…

    Atte. Jorge

    Jorge Rodriguez

    23 Noviembre 2007 a 7:05 pm

  30. Jorgue Rodríguez: gracias por el saludo y puedes ponerte en contacto conmigo en la siguiente dirección de correo: javier.camacho (en) dgb.buap.mx

    saludos!

    valar

    23 Noviembre 2007 a 10:15 pm

  31. Hola Javier:

    Tu articulo es muy interesante, lo tome como ejemplo para terminar el analizador que yo estoy haciendo y que me quito el sueño por varios dìas.

    Mil gracias

    Rosy

    24 Noviembre 2007 a 5:56 pm

  32. Hola Rosy: Comprendo perfectamente a que te refieres, a mi también me quitó el sueño por muchas semanas.

    Saludos y que te sea leve!

    valar

    25 Noviembre 2007 a 9:19 am

  33. ESTA MUY BIEN TU ANALIZADOR LEXICO, PERO DESPUES DE ESO SUPONGO Q YA IMPLEMENTASTE EL SEMANTICO…..

    COMO ESTARIA ECHO¡?¡¡

    SALUDOS….

    ANG3LS

    28 Noviembre 2007 a 2:09 am

  34. saludos amigo, queria pedirte si eres tan amable de enviarme codigo fuente del analizador lexico, estoy investigando hacerca de tema y tu analizador me ayudaria bastante… Gracias.

    Omar

    1 Diciembre 2007 a 11:57 am

  35. hola… creo ke todos los ke entramos a esta pagina… necesitamos un analizador lexico… el cual nos ha kitado el sueño por noches…. la verdad. nos se como hacerlo. peor lo necesito…… para poder.. tomarlo como ejemplo.. y pues keria ver si me podias enviar el codigo ami correo.. digo si no e smucha la molestia…bueno muchas gracias por haber leido.. este mensaje…

    anel..

    2 Diciembre 2007 a 5:45 pm

  36. hola!!!
    este comen solo es para felicitarte pke la verdad si esta muy cañon la clase de compiladores, tu ar{iculo esta super interesante…
    congratulations ;D

    K-TRINA

    9 Diciembre 2007 a 4:43 pm

  37. hola! muy buen trabajo el analizador lexico, solo tengo un par de pregunta es que yo lo estoy haciendo pero en Java, estaba mirando en codigo y me sirve lo voy a empezar hacer el mio, en base al tuyo, hay varias cosas que no entiendo crees que me puedas ayudar, como para jalar en archivo y lo que esta al final creo que es una matriz. O alguien que me diga como lo puedo hacer en Java, muchas gracias y esta muy bueno el articulo.

    fofi

    10 Diciembre 2007 a 6:00 pm

  38. Excelente Trabajo, ami tambien me toca hacer un AL :) para el curso de Compiladores. si todo va bien voy a publicarlo.

    Jurahack

    28 Enero 2008 a 9:08 pm

  39. Hola soy programador de java de corazon realemnte me sorprendio esto esta bien hecho aunque puedes mejorar y reducir codigo, yo esoty haciendo uno pero con swing, estoy utilizando tu logica para el analizador y tu diagrama de estados …Gracias tocayo
    SOY dE GUERRERO, quien dice que nosotros somos ignorantes estoy estudiando ingenieria en mex y todos la gran mayoria son una bola de webones presumidos, solo al qe le quede el saco, pero con esto me da alegria ser guerrrerense …
    viva guerrero
    y la costa chica
    un saludo valar

    Adirael

    31 Enero 2008 a 11:30 pm

  40. A ver si luego publicas tu proyecto en Java, porque yo la vdd no programo ni el “Hello World” en ese lenguaje, ahora me dedico mas al PHPOO.

    Un saludo colega!!

    vaLar

    1 Febrero 2008 a 7:58 am

  41. ESE ANALIZADOR ESTA MUY BUENO, PERO QUERIA QUE ME DIJERAS EL SIGNIFICADO DE CADA VARIABLE PARA PODER ANALISARLO MEJOR, TE LO AGRADEZCO, ES PARA MI TRABAJO DE COMPILADORES…..
    TE PIDO QUE ME LO ENVIES A MI E-MAIL SE PUEDES
    GRACIAS DESDE YA!!!

    ALAHIN

    7 Febrero 2008 a 9:30 pm

  42. Alahin…. ¬¬ sin comentarios..!

    valar

    8 Febrero 2008 a 7:19 am

  43. Un gran trabajo, creo que a todos nos sirve vastante, Muchas gracias por publicarlo y suerte en tus proximos proyectos.

    juancho

    19 Febrero 2008 a 11:04 pm

  44. hola yo hice un compilador en c para mi proyecto de compiladores y la verdad me quedo bien chido y esta bastante sencillo de entender por si alguien lo quiere mandenme un mensaje a mi correo: antonysalva@gmail.com o al de hotmail: antony1_a63@hotmail.com

    ANTONIO

    24 Febrero 2008 a 8:33 pm

  45. Unicamente te escribo para felicitarte… excelente codigo… sigue adelante….
    bendiciones,
    Zuly

    ddik2

    29 Febrero 2008 a 11:35 am

  46. ddik2: Gracias por el comentario!!

    Bendiciones para ti también, al ciento por una…

    valar

    29 Febrero 2008 a 3:32 pm

  47. Excelente trabajo creeme que he entendido mas tu código fuente que la bola de hojas de papel que el profr. de la clase nos hace leer sin ningún sentido (nadie entiende un carajo) Está de lujo y da mucha idea de como hacer las cosas. Muchas gracias por liberar este código ya que nos aclara muchísimo el panorama a aquellos que no tenemos bases teóricas tan sólidas en cuanto al análisis léxico.
    Un saludo desde Sinaloa.

    Guillermo Peña

    9 Marzo 2008 a 10:19 am

  48. Gracias Guillermo, creo que la mejor recompensa que puedo tener es que el código sea de utilidad al menos para que se hagan una idea para el desarrollo de un analizador léxico pese a las grandes debilidades que tiene el código y la muy cara forma de emplear la memoria de la computadora.

    Pero bueno.. mejorarlo dependerá de ustedes.

    valar

    10 Marzo 2008 a 5:38 pm

  49. HOLA JAVIER:

    GRACIAS POR EL ANALIZADOR, EL MIO NO QUEDO TAMBIEN COMO EL TUYO, AHORA ESTOY HACIENDO UN EDITOR DE TEXTOS EN C++ TU TENDRAS ALGUNO??? DE SER ASI LO PODRIAS PUBLICAR???
    TE LO AGRADECERIA BASTANTE.

    Rosy

    18 Marzo 2008 a 9:29 pm

  50. Tu codigo es estupendo Valar, una consulta donde podría colocarle los mensajes de error cuando un token esta mal escrito por ejemplo el identificador ab$%l o el número 123$3, ambos mal escritos pero el analizador no los detecta

    CArlos

    25 Marzo 2008 a 11:09 pm

  51. Grandioso codigo, me es muy util para mi asignatura de compiladores, pero en mi caso en para entender etiquetas de HTML. Por mas que miro las tablas no llego a entender bien los saltos que da, ¿alguien podria indicarme algun manual o alguna referencia donde pueda consultarlo?

    Muchas gracias

    Fran

    2 Abril 2008 a 4:03 am

  52. Si alguien me podria ayudar con el analizador lexico en c++ que ya pase muchas noches en vela para poderlo correr pero no nooooo corre

    gracias

    mi correo es armaguate@hotmail.com

    armando

    3 Abril 2008 a 1:05 pm

  53. Mano, que buen dato tenés, tenemos (toda la clase) que presentar uno, pero ni el Ingeniero lo puede hacer. Asi de jodidos estamos! Gracias!

    billi

    15 Abril 2008 a 9:09 pm

  54. Billi: Por nada.

    Saludos!

    valar

    16 Abril 2008 a 12:10 pm

  55. ME GUSTARIA QUE LO PUSIERAS EN VISUAL BASIC PARA ENTENDERLO MEJOR Y GRACIAS DE TODOS MODOS.

    LURDER

    2 Mayo 2008 a 10:59 am

  56. Sorry. No creo poder hacerlo en VB, no por falta de ganas, mas bien de tiempo.

    Saludos.

    valar

    7 Mayo 2008 a 3:39 pm

  57. ta muy bueno tu proyecto pero te queria preguntar comno puedo crear un analisador lexico de pascal 1

    luis

    13 Mayo 2008 a 7:03 pm

  58. si tienes alguna pagina de donde guiarme

    luis

    13 Mayo 2008 a 7:05 pm

  59. quisiera saber como hacerlo para que el programa me compare simbolos, letras mayusculas y minusculas, y cuando le sea introducido un caracter invalido se detenga el programa

    mario

    14 Mayo 2008 a 6:28 pm

  60. Amigo estuve 5 horas buscando ese analizador me funciono de maravilla en Lenguaje C lo hice por probar como esa solo para C#. muchas gracias

    Miguelangel Cabrera

    28 Mayo 2008 a 10:08 pm

  61. HOLA valar!!!
    Buen Proyecto esta muy interesante,

    Solo que me gustaria que me enviaras los pasos para utilizar el ejecutable analex…

    Como que datos ingresar y como va funcionando paso a paso…

    GRACIAS…..

    Danniels

    6 Junio 2008 a 12:00 pm

  62. Que buen proyecto tienes. felicitaciones Valar sigue adelante, te felicito, eres un gran ejemplo a seguir para nosotros los que vamos atras para seguir aprendiendo mas y mas,

    Felicitaciones…

    Francisco

    17 Junio 2008 a 12:34 am

  63. muchas gracias tu codigo esta muy bien y suerte con lo q venga a futuro

    VICNT

    26 Junio 2008 a 2:34 am

  64. hola podrias ayudarme con un trabajo de la universidad tengo 15 dias para entregar un programa en c++ a cerca del analisis lexico y sintactico del ciclo for. Respondeme tu informacion sera de mucha ayuda please.

    Ros

    24 Agosto 2008 a 3:07 pm

  65. hola valar esta muy padre tu trabajo pero podrias desirme exactamente en que compilaste todo tu trabajo que version de c++ utilizaste. muchas gracias esperotu respuesta.

    L.I LEONOR

    25 Agosto 2008 a 8:01 pm

  66. hay disculpame ya lei bienya se cual gracias jejejeje sorry

    L.I LEONOR

    25 Agosto 2008 a 8:41 pm

  67. Links Rotos.
    Cuándo esten bien me avisan??
    Grazzie Mile

    Leaute

    1 Septiembre 2008 a 10:49 am

  68. hola, muy buen trabajo me va a salvar el pellejo este domingo :D gracias amigo por compartirlo

    zalv-2

    Everth

    2 Septiembre 2008 a 3:52 pm

  69. necesito un anlizador lexico que escanee un txt y muestre si un parrafo escrito hay palabra reservadas plis si lo tienes mandamelo

    Mark

    22 Octubre 2008 a 7:21 pm

  70. hola javier…
    me dajron de tarea realizar un analizador lexico para el lenguaje c, creo ke puedo basarme en el tuyo para acerlo.. pero el problema es que al momento de poner el nombre del archivo me dice ke no lo encuentra,, no se si tengo que poner la ruta completa o solo el nombre o colocar todos los archivos en el mismo directorio, por ke de cualquir forma me dice que no lo encuentra.. agradeceria mucho que me ayudaras. gracias

    alfredo

    13 Noviembre 2008 a 3:46 pm

  71. Hola

    muy interesante tu trabajo
    sólo queria preguntarte si existe la manera de usar tu código en un lenguaje distinto por ejemplo el visual basic, pero sin tener que volver a implementarlo, “llamar al codigo desde otro lenguaje”

    good work!!!

    zero

    19 Noviembre 2008 a 11:48 pm

  72. podrias ayudarme con el codigo de analizador lexico pero para visual basic 2005

    fernando

    24 Noviembre 2008 a 10:54 am

  73. hola como estas la verdad es que es mu interesante lo que hiciste
    estuve analizando el codigo porque = tengo que entregar un analizador para la materia de programacion y realmente me ayuda tu codigo
    oie al intentar correr el archivo .exe pongo el nombre del archivo pero no lo habre como lo debo de poner, la ruta completa c:\users…etc o solo el archivo y su extencion porfavor si m puedes resolver mi duda o alguien que me pueda ayudar muchas gracias por su atencion

    michel

    24 Noviembre 2008 a 10:19 pm

  74. hola, oyes mira no le entendia mucho pero ya le voy entendiendo, ojala y me puedas ayudar lo ke pasa es ke me pidieron un analisador lexico pero en ANTLR, no se komo iniciar pk es un nuevo programa y pues no se komo, si me pudieras ayudar seria de mucha ayuda gracias ahhh y ke inteligente eres jejeej graxie

    denis

    27 Noviembre 2008 a 11:04 pm

  75. hola, he entendido mucho el funcionamiento del analizador lexico al ver tu codigo, estoy haciendo uno para pascal. ¿como te fue con el analizador sintactico? ¿lo publicastes?. Te lo pregunto no para copiarlo sino para tenerlo como referencia al igual que otros libros

    miguel

    2 Diciembre 2008 a 11:51 am

  76. no me sirvio en nada

    oscar

    7 Enero 2009 a 5:25 pm

  77. ooops… ni modo Oscar, a seguir leyendo, buscando e intentando.

    Suerte!

    vaLar

    7 Enero 2009 a 6:24 pm

  78. hola,Valar puedes enviarme el codigo fuente del analizador lexico por favor pues no puedo accesar a los links que pusiste, te lo agradeceria mucho. mi correo es bahena_08@hotmail.com
    Espero que me puedas ayudar. hasta pronto.

    Bahena

    27 Enero 2009 a 11:52 am

  79. sos un maestro, pero todos tienen problemas para bajar el codigo fuente del link, podes dar una solucion, yo se que sii chee sos grande

    ALVARO

    28 Enero 2009 a 11:21 pm

  80. Que tal, pues mira.. los links si funcionan, intenta de nuevo con:

    http://ixtchel.cs.buap.mx/~guerrero/valar/anlex.cpp

    Saludos!

    vaLar

    29 Enero 2009 a 9:18 am

  81. la verdad esta muy bueno tu trabajo ! te felicito no a todos se nos da lo de la programacion ! me estoy guiando de tu trbajo para poder terminar un compilador ya que me proyecto final en la clase de programacion de sistemas es crear un compilador que analize el lexico , la semantica y lo sintactico . y tu programa mas o menos me da la idea de como terminarlo te lo agradesco ! suerte y sigue con eso que se te da bien :D pocos tienen el don de programar :D

    Facalderon

    16 Marzo 2009 a 2:54 pm

  82. Hola vaLar, dejame felicitarte por tu excelente trabajo, sobre todo por la intencion de que Tu esfuerzo sirva de ayuda para otras personas. Tu actitud me gusta, en lo personal yo tambien soy de los que comparten los trabajos. Adelante y que sigas teniendo exito en toda empresa que inicies!

    Hugo Fuentes Cruz

    1 Abril 2009 a 4:39 am

  83. hola, buen trabajo, estoy tratando de portarlo a Visual Basic pero, podrias explicar la funcion que realiza cada variables o detallar las variables iniciales que declaraste, el texto que carga se almacena en un array ?? o busca carater por caracter, gracias por la respuesta

    kira

    2 Abril 2009 a 10:40 pm

  84. Hola, muy buen trabajo, me sirvió de mucho, la verdad muchas gracias.

    Carlos Vives

    8 Abril 2009 a 9:40 am

  85. Por nada, que bueno que te fue útil. Ojalá después me mandes la versión que lograste obtener.

    Saludos

    vaLar

    14 Abril 2009 a 1:11 am

  86. Oye vaLar… muchas gracias por poner a disposición codigos como esos… me a servido de mucho como base para mi proyecto final de compiladores, exitos…

    Gerson

    20 Abril 2009 a 7:22 am

  87. Saludos desde Perú, yo estoy que realizo el mismo trabajo de A. Lexicografico, tú trabajo esta de lo mejor pero si me pudieras explicar como estas aplicnado la matriz de transición pues ando como medio perdido :S, te lo agradeceria infinitamente

    Luis

    1 Mayo 2009 a 4:05 pm

  88. Hola que tal soy de guatemala, los enlaces no funcionan… que podra ser?

    Alex G

    5 Mayo 2009 a 11:39 pm

  89. Hola tengo una duda, mira ya hice mi analizador lexico, pero cuandop se va a mandar el token al analizador sintactico, que es lo que se manda el token o su lexema ????

    Creo q es el token, pero es q ando un poco confundida, y tambien me gustaria saber tu idea de unir el analizador lexico con el sintactico.

    Porfavor

    Nayelli

    14 Mayo 2009 a 7:03 pm

  90. hola, ya leei el codigo y si es algo entendible, el problema es qq al correo el exe te pide q ingreses el nombre del archivo q contiene el codigo en c# a analizar, pero se debe de poner la ruta completa del archivo?? solo el nombre?? o como?? ya probe con los 2 poniendo directorio completo del archivo .cpp y el nombre pero siempre marca q no encontro el archivo, espero y puedas explicarlo porque no pones nada sobre como abrir el archivo q se quiere analizar, saludos y gracias

    jose luis

    16 Mayo 2009 a 6:03 pm

  91. ya lo solucione, el archivo del codigo a analizar debe de estar en .txt solo es poner el nombre por ejemplo: codigo.txt y el archivo debe de estar en la misma carpeta de donde esta el archivo exe y ya te genera el archivo tokken, gracias me sera muy util, hasta luego.

    jose luis

    16 Mayo 2009 a 6:07 pm

  92. Hola amigo, que buen programa te aventaste he, la verdad, lo reconosco, aunque no soy bueno para el C, pero le entendi, y ya tome una idea de como hacerlo para el Lenguaje Java, solo espero que me de el tiempo.
    Hechale ganas, espero que estas palabras sean motivantes para ti, la verdad tienes un buen futuro en esto de la programacion.

    Pd: Tomare tu ejemplo para hacerlo en Java.

    Si todo sale bien, tratare de enviarlo lo mas pronto que pueda, o si no publicarlo.

    Suerte…

    Jsmaster®

    Jesus Sanchez

    19 Mayo 2009 a 6:30 pm

  93. Hola amigo, disculpa pero los links no tienen los permisos suficeintes para se dercargados

    dale un chmod +x porfa…

    Gracias

    Darinel

    1 Junio 2009 a 1:00 pm

  94. agradecere mucho su ayuda para poder costrur un lenguaje y el mismo que realice aperaciones con binarios. gracias compañeros

    roberto

    1 Junio 2009 a 3:18 pm

  95. por favor si me pudieran ayudar con cualquiera de los analizadores les quedo agradecido mucha gracias……

    david

    2 Junio 2009 a 3:31 pm

  96. si es cierto no puedo ver los codigos! no tienen los permisos.. y si me urge ver como lo construiste

    zaj

    9 Junio 2009 a 12:09 am

  97. Hola yo tengo un compilador hecho en visual basic y un aanalizador lexico si les interesa pueden contactarme a mania_rcm@hotmail.com

    RAFAEL CANO MEZA

    9 Julio 2009 a 3:32 pm

  98. hola como estas quisiera saber si una vez terminado tu proyecto lo podremos adquirir facilmente pues nosotros tenemos muchas ideas en educacion inclusiva las cuales consideramos seran de mucha importancia para nuestro proyecto por favor comunicate con nosotros a trvaes de mi correo para comentarte bien cual es la idea estos son nuestros telefonos 3006265014 y 7919716 colombia gracias……

    jose mauricio

    16 Septiembre 2009 a 12:59 pm

  99. Excelente analizador amigo, gracias a este logre hacer el mio, que software utilizaste para crear el automata finito determinista??, gracias.

    Luis Ubeda

    19 Septiembre 2009 a 3:08 pm

  100. Que software utilizaste para dibujar el diagrama del automata finito determinista???, y otra pregunta, como haces para manejar los errores

    Luis Ubeda

    19 Septiembre 2009 a 4:51 pm

  101. qe pasa cuando introduces un caracter no valido? por ejemplo a+1@b=0?? creo qe te falto corregir eso nada mas… pero tu trabajo es muy bueno…graxx por compartirlo

    mariana

    30 Septiembre 2009 a 11:23 am

  102. que es en si un analizador lexico?

    mirty

    5 Octubre 2009 a 9:56 am

  103. El autómata está en capas, hecho con Fireworks

    vaLar

    5 Octubre 2009 a 1:13 pm

  104. hola, vaLar, espero que entendas portugues: quando se faz uma comparação em C# utiliza-se ==, no entanto seu codigo analisa os dois sinais separadamente, assim:
    Identico, =
    Asigna, =
    Não seria mais certo que a resposta fosse apenas o
    Identico, =
    ?

    Marcos

    13 Octubre 2009 a 12:12 pm

  105. hola yo tengo que realizar un analizador y la verdad no se nada de esto pero e tomado tu proyecto como ferencia…se ve que es algo costoso pero tratare de entener cada uno de los pasos …Felicidades y gracias por publicarlo…asi ayudas a los que se nos dificultan un poco este tipo de actividades..
    saluditos…

    Cinthya

    16 Octubre 2009 a 1:10 pm

  106. Muy buen trabajo, te felicito, el codigo es muy bueno y esta bastante limpio en cuanto a la comprension, soy maestro y doy la materia de compiladores y me sirvio de mucho para que mis alumnos vean a manera de ejemplo el codigo que hiciste y puedan desarrollar otros para otro lenguaje, saludos y gracias

    Sidney Rene

    23 Octubre 2009 a 10:19 am

  107. @Sidney Rene: Gracias, que bueno que le fue útil aunque difieron un poco sobre la calidad del código, ya que revisándolo y a 5 años de su creación, creo que pudo haber sido mejor.

    Por otro lado, realmente me encantaría que las personas que han tomado el código como ejemplo, nos compartieran su creación y así enriquecer este proyecto que al final, puede ser útil para otros tantos.

    vaLar

    24 Octubre 2009 a 5:56 am

  108. muy buenas a todos.. ps yo soy nuevo en esto y me dejaron un proyecto de una agenda electronica y tengo que reconocer la informacion desde un archivo de texto pero no tengo ni idea de como hacerlo talvez aya alguien que me pueda ayudar se lo agradeceria muchisimo… ahh y otra cosa…talvez me pueden decir como utilizar este analizador ,, que tengo que hacer para probarlo..gracias..

    marlon

    1 Noviembre 2009 a 3:23 pm


Escribe un comentario