![]()
![]()
![]()
![]()
![]()
Next: Logique numérique Up: Example : Simulateur logique Previous: Résumé   Contents   Index
Introduction Notre introduction au langage Scheme est maintenant terminée. Les lecteurs connaissent pratiquement tous les aspects du langage, dans sa norme R4RS. Les éléments présentés dans ce tutorial sont portables sur toutes les implémentations conformes à cette norme.
La norme R5RS est parue il y a peu. Cette nouvelle définition du langage spécifie quelques fonctionnalités supplémentaires, dont un langage de macro extrêmement puissant, qui permet d'ajouter de nouvelles formes spéciales à Scheme, comme la forme while, repeat, etc. Avec ce langage de définition de macro, Scheme devient définitivement l'un des langages le plus puissant dans ses possibilités d'extension.
Nous préparons environnement Scheme qui sera distribué prochainement sur le CD ROM de Linux Magazine et sur le WEB afin de permettre d'utiliser ces macro. La description des macro fera l'objet d'un prochain chapitre.
Pour le moment, nous allons utiliser nos connaissances pour fabriquer un programme en Scheme de simulation de circuits logiques. Conforme à la norme R4RS, ce programme de simulation sera utilisable sur tous les environnements Scheme.
Bien que le projet soit ambitieux, la réalisation aura moins de 200 lignes de code !
Un schéma logique comporte des portes logiques élémentaires, comme les portes AND (et), OR (ou), NOT (non) ou NAND (non-et). Il est possible d'assembler ces portes afin de construire des éléments plus complexes.
Notre programme de simulation ne sera graphique. La description du schéma et l'affichage des résultats à l'aide des sondes seront effectués en mode texte. La modularité de la conception permettrait d'ajouter assez facilement une interface graphique à ce moteur élémentaire.
De plus, nous ne nous préoccuperons pas ici des portes sensibles aux fronts d'horloges.
Le programme que nous présentons ici est issu du livre Structure et Interprétation des programmes informatiques de Abelson et Susman, véritable bible de Scheme, dont les références sont données en annexe, et du projet PSOM de l'unité de recherche SPORTS du Laboratoire I3S de l'Université de Nice-Sophia Antipolis. Cependant, les programmes présentés ici sont originaux et conçus spécialement pour Linux Magazine et ses lecteurs.
Mais avant de commencer la programmation, un peu de logique !
![]()
![]()
![]()
![]()
![]()
Next: Logique numérique Up: Example : Simulateur logique Previous: Résumé   Contents   Index © 1993 to 2001 Erian Concept