Fermer2
deleted2Le 08/06/2016 à 20:01
Folco a encore frappé avec un programme kiserarien sur une scène désertique depuis de longues années. De quoi s'agit-il ? De Framegen bien sûr.

Qu'est-ce que c'est ?
Un générateur de frame, qui pond des headers de ce genre à partir d'un simple fichier texte.

A quoi sert-il ?
Il calcule les offsets, les aligne à la demande, utilise un offset de base paramétrable, définit une taille totale si ça vous amuse, et, comble de l'inutilité, il sait même virer les commentaires !!!

Comment ça marche en pratique ?
Le readme est là. C'est en ligne de commande, compilé avec MinGW (statique, donc il n'y a qu'un exe), et compilable sous Linux (makefile).

C'est programmé en quoi ?
En C. Ce langage est reconnu pour son inadaptation totale à parser du texte, mais comme le dit un très vieux proverbe chinois, 500 lignes de C sont plus simple à maintenir que deux lignes de Perl qui font la même chose. Surtout quand la performance est aussi cruciale que pour ce genre de travail. Et au moins, c'est portable sur TI et Apple Watch.

C'était pas possible de faire une macro pour éviter ce truc aussi affreux qu'inutile ?
Si, d'ailleurs voici le code :
offset	set	0
var	macro
\1	equ	offset
offset	set	offset+\2
	endm
Mais il est bien connu que les macros tombent en panne quand la Lune et la Terre sont alignées sur une droite, alors que Framegen est rock-solid.

Et en vrai, ça te sert à quoi ?
A replonger dans des très vieux projets avec des headers comme celui cité en exemple. Faut avouer que c'est quand même plus commode, même si complètement gadget.

Tu comptes distribuer ton programme ?
Oui, il est téléchargeable ici, mais personne n'ira le prendre vu que tout le monde s'en fout. N'allez pas voir les sources non plus, et puis elles sont sous GPL.

Si on est quand même très con, on en fait quoi de ton programme ?
On écrit des stack frames pour la moindre fonction, même quand on utilise pas de var locale. Dans ce cas, on remplace les registres par des vars. Mais on utilise Framegen de partout parce que c'est inutile.

Et sinon, tu fais quoi dans la vie ?
Directeur marketing. Au chômage.

Le mot de la fin ?
Betterave.