En fait, l'outil ayant inspiré le générateur de code de cpython et dont le générateur de cpython n'est qu'une version spécifique à la tache est: https://nedbatchelder.com/code/cog/ C'est du bon mangez en!
Exemple tiré de la documentation (basique pour comprendre comment ca marche:
Vous écrivez ce code source
// This is my C++ file.
...
/*[[[cog
import cog
fnames = ['DoSomething', 'DoAnotherThing', 'DoLastThing']
for fn in fnames:
cog.outl("void %s();" % fn)
]]]*/
//[[[end]]]
...
Vous le faites passé à la moulinette cog et ca donne ca:
// This is my C++ file.
...
/*[[[cog
import cog
fnames = ['DoSomething', 'DoAnotherThing', 'DoLastThing']
for fn in fnames:
cog.outl("void %s();" % fn)
]]]*/
void DoSomething();
void DoAnotherThing();
void DoLastThing();
//[[[end]]]
...
Et vous pouvez à nouveau modifier le code source python et repasser a la moulinette pour regénérer au sein du même fichier le code source.
L'idée de base est que le code généré est le le code générant sont gardés dans le même source
# version généraliste du générateur de code de cpython
Posté par Xavier Combelle (site web personnel) . En réponse au journal PyConfr2017 - Boudu !. Évalué à 4.
En fait, l'outil ayant inspiré le générateur de code de cpython et dont le générateur de cpython n'est qu'une version spécifique à la tache est: https://nedbatchelder.com/code/cog/ C'est du bon mangez en!
Exemple tiré de la documentation (basique pour comprendre comment ca marche:
Vous écrivez ce code source
Vous le faites passé à la moulinette cog et ca donne ca:
Et vous pouvez à nouveau modifier le code source python et repasser a la moulinette pour regénérer au sein du même fichier le code source.
L'idée de base est que le code généré est le le code générant sont gardés dans le même source