lisaac target

Nicolas Boulay nicolas.boulay at gmail.com
Thu Sep 17 07:31:18 UTC 2009


The following texte is in french. It's about to find a way to better
defined target in lisaac.

Nous avons 4 targets qui sont gérés au niveau du .lip. Il faudrait
trouver un moyen pour que cela soit gérer de préférence dans /lib_os/
directement. Cela faciliterait les ajouts.

Si on regarde les cibles gcc, il y en a un peu plus que nous :
http://gcc.gnu.org/install/specific.html

Elles sont sous la forme <cpu>_<os>. Par exemple, notre target unix
contient du code assembleur x86. C'est plus une target x86_unix. C'est
géré par une manipulation des paths de recherches des prototypes dans
le .lip.

Je pense qu'il faudrait trouver un système qui permet tout aussi bien
d'avoir une target "c_ansi" qui marche partout (FS_MIN en gros) et des
targets +ou - spécifique si besoin pour les cpus (x86_linux qui est le
plus courant pour nous).

Peut-être qu'il est possible de le faire en utilisant le bout de code
lip inscrit dans chacun des entêtes ?

Pour le cas spécifique de FILE_SYSTEM, il s'agit d'une sorte de
factory qui se définit à la première utilisation. Dans le cas de
lib_os/unix, j'avoue que j'ai du mal à voir la différence avec un
héritage direct de DIRECTORY_UNIX avec l"utilisation d'une sorte de
constructeur.

Le top serait d'avoir un FILE_SYSTEM qui soit une vrai factory
statique et qui renvoit le bon type de directory à la compilation.

Je connais mal les design pattern factory et les arcanes de lisaac
pour pouvoir faire une factory propre qui rend le bon type de façon
statique. Cela peut servir à plein de niveau pour gérer des proto par
défaut, pour prendre des spécificités par cpu, etc...

Je prends toutes idées :)

Nicolas

Le 16 septembre 2009 09:14, Nicolas Boulay <nicolas.boulay at gmail.com> a écrit :
> Je me doutais que c'était un truc du genre. Hériter d'un BLOC, j'avais
> un peu de mal :)
>
> Est-ce nécessaire que file_system.li soit dans lib_os/unix ? J'ai
> l'impression que c'est le seul prototype commun entre les différents
> lib_os/<>/file_system/.
>
> Le 16 septembre 2009 07:48, Hilbert Jerome <hilbertjerome at gmail.com> a écrit :
>> Hello Nico,
>>
>> c'est du pure Lisaac !!! Tu ne trouveras jamais cette puissance dans d'autre
>> langages. (à ce jour et à jamais :) )
>> le premier appel sur FILE_SYSTEM va calculer le parent et le fixer.
>> Durant son calcul, il crée un premier DIRECTORY qui est le répertoire
>> courant.
>> Après ce calcul, le parent devient une donnée.
>> C'est pour forcer ce calcul que FILE_SYSTEM ne contient que cela.
>> (Voir algorithme de lookup)
>>
>> Ben & Jérôme
>>
>> 2009/9/16 Nicolas Boulay <nicolas.boulay at gmail.com>
>>>
>>> Quelqu'un peut m'expliquer comment ce slot fonctionne ?
>>>
>>> Section Inherit
>>>
>>>  + parent_directory:DIRECTORY <-
>>>  ( + cwd:NATIVE_ARRAY(CHARACTER);
>>>    + result:DIRECTORY;
>>>
>>>    DIRECTORY.string_tmp.clear;
>>>    cwd := DIRECTORY.string_tmp.to_external;
>>>    `getcwd(@cwd,255)`;
>>>    DIRECTORY.string_tmp.from_external cwd;
>>>
>>>    result ?= DIRECTORY_UNIX.physical_get_entry (DIRECTORY.string_tmp);
>>>    DIRECTORY.alias.put result to (result.path);
>>>    ? {result != NULL};
>>>    parent_directory := result
>>>  );
>>>
>>>
>>> Le 16 septembre 2009 00:44, Hilbert Jerome <hilbertjerome at gmail.com> a
>>> écrit :
>>> > Salut,
>>> >
>>> > le slot est dans DIRECTORY.
>>> >
>>> > Jérôme
>>> >
>>> > 2009/9/15 Nicolas Boulay <nicolas.boulay at gmail.com>
>>> >>
>>> >> Quelqu'un peut-il m'expliquer comment cette ligne fonctionne ?
>>> >>
>>> >>    entry := FILE_SYSTEM.make_file string_tmp;
>>> >>
>>> >> D'ou vient le slot make_file? il n'est pas dans file_system.li,
>>> >> j'imagine que le slot en héritage est en cause mais je ne comprends
>>> >> rien.
>>> >>
>>> >> nicolas
>>> >>
>>> >> _______________________________________________
>>> >> Lisaac-devel mailing list
>>> >> Lisaac-devel at lists.alioth.debian.org
>>> >> http://lists.alioth.debian.org/mailman/listinfo/lisaac-devel
>>> >
>>> >
>>> > _______________________________________________
>>> > Lisaac-devel mailing list
>>> > Lisaac-devel at lists.alioth.debian.org
>>> > http://lists.alioth.debian.org/mailman/listinfo/lisaac-devel
>>> >
>>> >
>>>
>>> _______________________________________________
>>> Lisaac-devel mailing list
>>> Lisaac-devel at lists.alioth.debian.org
>>> http://lists.alioth.debian.org/mailman/listinfo/lisaac-devel
>>
>>
>> _______________________________________________
>> Lisaac-devel mailing list
>> Lisaac-devel at lists.alioth.debian.org
>> http://lists.alioth.debian.org/mailman/listinfo/lisaac-devel
>>
>>
>



More information about the Lisaac-devel mailing list