FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
IMplementacion de un parser
HOla a todos:
como parte de una tarea de la universidad, tengo que definir un estilo de programacion. Luego, una vez establecido este estilo de programacion tengo que utilizarlo siempre. El probelma viene dado en que tengo que hacer un programa que partiendo de este estilo de codigo cuente las Lineas de Codigo(LOC) de un fichero .pas que le entre. Para ello pense implementar un parser de codigo Object Pascal y emplearlo.. solo que no tengo ni idea de como hacer el parser o de donde buscarlo. Si alguien sabe como resolver mi problema, agradezco la ayuda!
__________________
Muchas Gracias... |
#2
|
||||
|
||||
Yo buscaría algo que exista, por lo menos para analizarlo. Busca en Torry.net!.. Yo utilicé uno, que no recuerdo el nombre (mwEdit creo), donde por un lado estaba el editor, y por otro el control que hacía el parseo. Entonces uno solo tenía que crear su propio Parser con el diccionario y la sintaxis que uno desea.
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
|||
|
|||
Pues si, creo que me puede servir.. solo que ya he caminado Torry.net completa y no lo encuentro.. podrias especificarme mejor como buscar?
__________________
Muchas Gracias... |
#4
|
||||
|
||||
A simple vista, esto esta basado en el componente que te comenté anteriormente:
http://cvs.sourceforge.net/viewcvs.py/synedit/SynEdit/
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#5
|
||||
|
||||
Hace poco tiempo hice un compilador simple con instrucciones al estilo Object Pascal.
Puedes utilizar herramientas para generar automáticamente el compilador, para esto debes proporcionar la grámatica del lenguaje que quieres reconocer Las más famosas herramientas son Lex para generar el analizador léxico (tokenizer) y YACC para generar el análizador sintáctico (Parser). Están disponibles también para Delphi, te dejo algunas páginas en dónde puedes obtener información. Rx de un compilador Tutorial de Lex & Yacc Genreración de Parsers de Gramaticas Libres de Contexto. Turbo Pascal Lex & YACC Espero que te sea útil, un saludo. |
#6
|
||||
|
||||
Si todo esto te parece muy complicado, te dejo las funciones que utilicé como analizador léxico y sintáctico.
No está completo el código, no se puede subir porque excede el tamaño permitido, espero que esta parte te sirva para tomar algunas ideas. Un saludo Última edición por Héctor Randolph fecha: 29-10-2005 a las 20:10:42. Razón: Añadir el código como adjunto. |
|
|
|