Indentador para Bennu

Started by DCelso, September 30, 2008, 08:13:43 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Mr Matsusaka

#30
Gracias DCelso!
He tenido un pequeño problema,
Si tengo algo asi en el codigo:

if (true) flags=0;
else flags=1; end

no tiene en cuenta el end final e indenta mal

Windgate

Quote from: FreeYourMind on March 06, 2010, 02:30:22 PM
No estoy de acuerdo Windagate, yo como amante de la preservación de las multiples versiones que se hacen de cada cosa, eso seria quitar el download de las antiguas y tener sólo la ultima, me has puesto tan enfermo que sólo me apetece darte un Karma negativo  ;D

Otra solución, es ponerlas todas seguidas en el primer post, y así tambien se resolveria tu problema de buscar, aunque no veo ningun mal por hacerte buscar un poco la cosas, así siempre vas leyendo los comentários hasta llegar a la version que quieres, y aprendes algo sobre su desarrollo  ;)

Hombre, a lo largo del hilo se guardan todas las versiones, me refiero a tener en primer post siempre la última, pero las demás se conservan xD
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

FreeYourMind

Si yo edito mi primer post para actualizar a la segunda version, la primera se va al garete, si lo hago de nuevo la segunda se va al garete... Si tu has puestos varias durante el foro, al actualizar la primera del primer post por la ultima, tambien se va al garete la primera, aunque se queda la segunda  ;D

Ejemplo de eso fue lo que hizo Grisendo con su modulo de vision por ordenador, actualizaba la version siempre en el mismo enlace de descarga, y las versiones viejas iban desapareciendo  ;D

Windgate

Pero tampoco es tan complicado, seguro que algo se puede hacer, con el próximo proyecto que suba lo intento xD

También tengo la ventaja de tener hosting, así puedo poner el directorio del proyecto en el primer post, y ahí guardo el historial de versiones completo, algo así haré vaya :P
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

SplinterGU

acabo de preparar un identador usando lex que identa todo perfectamente, salvo que me mete algunas lineas enter demas...

pero bueno, separa expresiones como la mencionada unas lineas mas arriba.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Mr Matsusaka

Quote from: SplinterGU on March 07, 2010, 03:03:59 AM
acabo de preparar un identador usando lex que identa todo perfectamente, salvo que me mete algunas lineas enter demas...

pero bueno, separa expresiones como la mencionada unas lineas mas arriba.

Y el link para la descarga esta en... ?  ;D

SplinterGU

no esta aun, estoy depurando, tengo algunos problemas... con los comentarios multilineas y como dije, algunas lineas ponen un enter demas... y no logro darle al clavo...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

Vamos por partes.
Esta fue mi primera aportación a la "scene" (o si no, una de las primeras, ya no recuerdo) entonces la dejé muy apartada, ya daba el resultado que necesitaba y no he seguido con ella, ni actualizando el post.
Sí es verdad que lo suyo es tener el primer post actualizado, también el no perder ningún enlace a versiones anteriores, si veis mi post de  fpgedit2009 vereis que en el primer post tengo un resumen de todos los mensajes y enlaces a todas las versiones, intentaré revisar todos mis post para hacer lo mismo.

En cuanto a el error  que comentas Mr Matsusaka, no es un error, es que este indentador que indenta por líneas, está hecho así a posta porque no necesitaba que hiciera y además facilitaba su implementación.

A ver si me explico mejor, este indentador no busca varias palabras clave en una misma línea, lo que permite hacer varias instrucciones en una línea sin que dicho indentador te las separe al intentar formatear tu código, así pues permite que tu código tenga líneas como
if (x<320) x++; end
o líneas como
while (!key(_esc)) frame;end
Y no te las divide ni indenta porque sabe que son varias instrucciones en una línea.
Por eso si haces cosas raras como las que pones tu en tu ejemplo no funciona bien
porque has puesto un if en una línea, un else y un end en otra línea, y el programa espera que todas las palabras clave estén en una misma línea como por ejemplo
if (x<320) x++; else x++;end
o bien todas en líneas separadas, pero no contrempla que el programador haga algo entre comillas "extraño" como hacer una mezca de los dos formatos :D.

Este programa está muy bien porque es sencillo y rápido, ya que su programación no es nada compleja, se trata de buscar retornos de carro y analizar la línea actual e indentar si hace falta la línea, por lo que no podría ofrecer la posibilidad de partición de instrucciones de una línea,(menos mal que splinter nos va a deleitar con un nuevo indentador para usar en los casos que queramos hacer esto, me ahorro el tener que hacerlo :D.)
De todas formas, en el post ya hablamos anteriormente de las limitaciones que tenía el programa, pero supuse que el programador que lo use es "responsable" y no le va a buscar las cosquillas al programa :D.

En cuanto a que no hace nada en windows 7, pues vamos, al igual que en todos los demás sistemas operativo :D, es un programa de comandos como podrían serlo grep, sed, dir o los mismos bgdc y bgdi así que para usarlo hay que hacerlo desde la línea de comandos(o lanzarlo desde pspad o cualquier editor de textos configurado para usarlo), y allí te dice cómo usarlo, pero que no es nada del otro mundo, es un programa con dos parámetros de entrada, uno el archivo de salida y otro el de entrada :D.

Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Mr Matsusaka

Bueno, si ese es el resultado final pues me conformo y me espero hasta el indentaodor de SplinterGD. Aun asi karma++ por el trabajo realizado