Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ayuda: Un parser (https://www.clubdelphi.com/foros/showthread.php?t=2807)

craven 07-08-2003 20:11:20

Ayuda: Un parser
 
Hola amigos. ¿Qué tal? A ver si me podeis echar una mano. Estoy haciendo un programa que graba en unos archivos (con un determinado formato) una serie de datos. De igual forma, me gustaria proporcionar al usuario una opcion de lectura de estos archivos. Quisiera saber si hay algun método de programar de forma rapida y eficaz un buen parser (al estilo lex y yacc), aunque, lo dicho, no se si existen para Delphi y cómo puedo integrarlos en mi aplicacion. Gracias de antemano. Un saludo.

kinobi 07-08-2003 20:24:11

Hola,

Cita:

Posteado originalmente por craven
Quisiera saber si hay algun método de programar de forma rapida y eficaz un buen parser (al estilo lex y yacc)
en realidad el parser es yacc, lex es un scanner, el "tokenizador". De todas formas, van unidos uno a otro. Bueno, al grano ...

Además de echar un vistazo por las páginas de componentes (Torry, DSP, ...), échale un vistazo a estas otras:

http://www.musikwissenschaft.uni-mai...tply/tply.html
http://www.tetzel.com/CocoR/
http://wwwusers.imaginet.fr/~tcoq/US-lexyacc.html
http://dpg.zenithlab.com/

Saludos.

craven 07-08-2003 21:27:01

Muchas gracias.... Pero, una vez tenga todo instalado, definida la gramatica, etc... ¿Cómo puedo incorporar el parser a mi aplicación de forma que cuando elija abrir un archivo, éste sea analizado y leido correctamente? Gracias de nuevo. Un saludo.

kinobi 07-08-2003 22:04:25

Hola,

hace más diez años que no trabajo con herramientas de este tipo, y nunca lo he hecho en Delphi, pero básicamente el funcionamiento es ...

1. El scanner comienza a leer un flujo de entrada (un archivo, teclado, ...) detectando y aislando tokens.

2. Los tokens leídos se van pasando al parser para que verifique que lo que está leyendo el scanner es sintácticamente correcto en función de la gramática definida.

En caso de que existiese algún problema (error de sintaxis), el parser lanza el oportuno mensaje de error, excepción, ... Al fin y al cabo es una máquina de estados.

Cómo implementar todo ésto en tu aplicación dependerá del scanner y parser que escojas y, evidentemente, tendrás que remitirte a la documentación que les acompañe, aunque básicamente el funcionamiento de todos ellos es el expuesto más arriba.

Saludos.


La franja horaria es GMT +2. Ahora son las 21:39:58.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi