Nem biztos, h ertem mire gondolsz az alatt, h kiprinteli a kivant list formokat. The ha
a lisp oldal general egy olyan foo.c file-t, amit ha leforditok es lefuttatok gcc-vel, akkor az kiirja azt a lisp programot, ami tartalmazza majd a C header file-okbol a magikus konstansokat.
rovidebben: egy DSL -> C fordito.
szoval kb ugyanaz mint a SWIG, csak valoszinuleg lenyegesen egyszerubben.
hatranya, h ehhez szukseg van egy C forditora... de ez persze belefer olyankor, amikor a target maga is egy C-ben irt oprendszer.
elonye, h viszonylag egyszeru, es garantaltan a host-nak a valos ertekeit fogja produkalni.
de itt a maru-nal nem jatszik egy ilyen SWIG meretu dependency... :)
egyebkent common-lisp-hez irtam egy eleg jot, ami egy c2ffi nevu LLVM+C++-ban irt program altal generalt json file-ok alapjan dolgozik. ezeket be lehet commit-olni a repo-ba es akkor nem hozza be a c2ffi dependency-t, es meglepoen stabilan mukodnek (ABI-change hatarokon belul). de ez is overkill lenne a maru eseteben.
mar van a maru-hoz egy DSL, plusz hozza egy parser grammar, amivel ilyen .c file-okat lehet generalni. azt elesztem most fel... csak szegenynek "osdefs" a neve, ami nem valami szerencses, mert itt igazabol nem OS-rol van szo, hanem a C-vel valo interface-elesrol.