Primera semana programando BLK

Como este es un tipo de proyecto al que no estoy acostumbrado, que requiere hacer las cosas con cuidado y de forma constante, en vez de tirar codigo según vengan las ideas durante un rato y acabar, me he decidido a ir "documentando" la experiencia, a ver si de paso consigo interesar a alguien en el proyecto :P

El plan original (el roadmap_del_proyecto esta en su wiki) era aprovechar la semana anterior para preparar el parser de C y la definición del bytecode, pero las cosas se torcieron:

* Dejé la definición del formato para lo más tarde posible, ya que no
encontraba un motivo lo suficiente fuerte para hacerlo de una forma. Al
final el formato estará "basado" en bencode, lo que le da bastante
flexibilidad y lo mantiene fácil de parsear (aunque cuando haya que
pasarlo a C ya veremos los líos que habrá con punteros :/ ), pero mejor
que la primera idea, de hacerlo como un conjunto de bytes sin una
estructura obvia, creo que al menos es un punto de partida.

* El preprocesador de C es la mitad de la batalla, sí, parece poca cosa
pero da para ratos preguntandose que @#$%! pasa, lo acabé el viernes,
cuando la idea era hacerlo días antes... y ni siquiera está completo,
le falta manejar chars y strings en los #if, pero creo que eso lo dejaré
para cuando se pase a C.
*

Por otro lado es una satisfacción cuando por fin consigue funcionar como preprocesador del gcc :) * Estado actual ***

Ahora mismo el preprocesador funciona moderadamente bien con los headers de gcc, y me las voy arreglando con el parser, y aunque en estos momentos aún no esté en el repositorio, mete 'typedef's, y firmas de funciones en el bytecode, y la definición general del bytecode está media lista, maneja tipos, variables y funciones quedando por acabar de definir los condicionales/bucles, la asignación, el 'return' y alguna operación más.

El plan para esta semana es acabar el prototipo de parser de C de una vez y dedicar el resto y la siguiente al compilador a ensambador x86, pasar el código de Python a C/C++, y documentar, documentar y documentar.

Enfin, eso es todo lo que se me ocurre, pronto más y mejor.

untagged

Rompiendo captchas animados [post-relampago] » « De permisos de directorios [unix]