Coxeter

English version

Extensions du programme

Bien que Coxeter ne soit pas pourvu d'un langage de programmation, il n'est cependant pas difficile de rajouter au programme quelques commandes personnelles, pourvu que l'on connaisse la programmation C++. Cela se fait en éditant le fichier special.cpp, qui est prévu à cet effet.

La manière la plus simple consiste à éditer la fonction special_f, qui par défaut se contente d'imprimer "not implemented". Le contenu de la fonction est executé, après recompilation, en tapant la commande special.

Mais il est à peine plus difficile de rajouter des noms de commande au programme; il suffit pour cela de rajouter une ligne à la fonction addSpecialCommands, sur le modè de celle aui définit la commande special. Il suffit alors de définir la fonction associée à la commande, et de recompiler, en tapant simplement make. Bien sûr, tout ceci suppose que vous ayez les droits d'écriture sur les fichiers source du programme --- pour ce genre d'utilisation, il vaut d'ailleurs mieux travailler sur une copie du programme résidant dans votre répertoire personnel.

Il me faut malheureusement ici faire un aveu embarassant: l'état actuel du code rend l'utilisation sérieuse du programme dans ce mode d'extension beaucoup plus difficile que ce ne devrait être le cas. Le problève est que ce projet a servi pour moi de terrain d'apprentissage pour le C++. Faute de temps ou de courage pour apprendre certaines techniques (telles que l'organisation des entrées-sorties, et les éléments de la STL), j'ai continué à faire mes entrées-sorties en style C, donc avec des FILE* au lieu de streams, et ai essentiellement redéfini un certain nombre de choses qui se trouvent dans la STL --- en particulier mon template List, qui est omniprésent dans le programme, est essentiellement équivalent au vector de la STL. Une raison plus profonde que l'ignorance ou la paresse d'adopter ces types est que, après quelques mésaventures avec le new-système, j'ai décidé de gérer moi-même les allocations-mémoire; par endroits, cela a conduit à une augmentation de vitesse d'un facteur au moins dix! Cet aspect-là aussi est paramétrisable dans la STL, mais c'est encore une chose qui reste pour moi à maîtriser.


Retour à la page d'accueil de Coxeter.