He publicado dos programas que podrían ser útiles a otros
desarrolladores de Forth. Son preprocesadores y traductores de fuentes
para sistemas Forth que necesitan ficheros de bloques.  Se llaman fsb y
fsb2.

Ambos permiten la edición y el mantenimiento de fuentes de Forth casi
sin ninguna de las limitaciones impuestas por los bloques.  Basta
respetar unas sencillas convenciones para representar las líneas de
cabecera de los bloques, así como los comentarios que no deben
conservarse en el formato final.  Las líneas en blanco son eliminadas.

Los dos formatos de salida principales son: un fichero de bloques (con
extensión .fb) y una variante con códigos de final de línea  (con
extensión .fbs), este último usado por la librería del sistema Forth
lina.

Se incluyen también conversores adicionales que traducen los .fb a
formatos específicos de ZX Spectrum.

fsb está escrito en el lenguaje de programación del editor Vim, pero
puede usarse como un comando, independientemente del editor.  fsb2 está
escrito en Forth para Gforth.  fsb2 es mucho más rápido pero carece de
algunas características secundarias relacionadas con Vim.

La diferencia de velocidad solo se hace notar traduciendo ficheros muy
grandes en máquinas lentas. En mi caso, usar fsb para convertir un
fichero fuente de unos 400 bloques en una imagen de disquete MGT
bloqueaba la Raspbery Pi un instante. Sin embargo fsb2 hace lo mismo de
forma casi instantánea.

Todos los detalles están en los ficheros README (en inglés):

https://github.com/programandala-net/fsb

https://github.com/programandala-net/fsb2

He usado fsb durante el desarrollo de Afera
(http://programandala.net/es.programa.afera.html) y Tron 0xF
(http://programandala.net/es.programa.tron_0xf.html), que está casi
terminado, y ha funcionado muy bien. Ahora estoy usando fsb2 para el
desarrollo de Solo Forth
(http://programandala.net/es.programa.solo_forth.html) y también
funciona muy bien.

-- 
Marcos Cruz
http://programandala.net

Responder a