Micro Systèmes n°29 mars 1983
Micro Systèmes n°29 mars 1983
  • Prix facial : 20 F

  • Parution : n°29 de mars 1983

  • Périodicité : mensuel

  • Editeur : Société Parisienne d'Edition

  • Format : (203 x 271) mm

  • Nombre de pages : 206

  • Taille du fichier PDF : 168 Mo

  • Dans ce numéro : Forth... un langage sans programmes.

  • Prix de vente (PDF) : gratuit

Dans ce numéro...
< Pages précédentes
Pages : 94 - 95  |  Aller à la page   OK
Pages suivantes >
94 95
Forth laisse au programmeur la liberté de formuler ses créations. Dossier LE LANGAGE FORTH Dans le domaine graphique, Forth est l'égal de Logo, célèbre pour ses qualités de dessins. En outre, son aspect « applicatif » autorise la création de nouveaux mots destinés à réaliser des dessins de plus en plus compliqués  : dessiner une fleur revient à la création d'une tige, puis d'une succession de pétales, chaque élément étant lui-même un mot Forth défini à partir de primitives plus simples telles qu'avancer, reculer, tourner à gauche ou à droite. Cette méthode de construction se retrouve à tous les niveaux du langage, et laisse au programmeur l'entière liberté de formuler ses créations. ■ P.HAGEGE  : CASE  : SWAP 2 * + @ Execute ;  : OHELLO. « Salut » ;  : 1HELLO. « Bonjour » ;  : 2HELLO. « Au revoir » ; CASE  : HELLO OHELLO 1HELLO 2HELLO ; 0 HELLO Salut OK 1 HELLO Bonjour OK 2 HELLO Au revoir OK Fig. 3. - Une structure de contrôle à choix multiples telle qu'elle peut se décrire en Forth Ici le mot CASE: » sert à définir de nouveaux mots qui verront le déroulement de leur exécution dépendant d'un paramètre placé sur la pile. Pour en savoir plus 11 n'existe malheureusement pas, à notre connaissance, d'ouvrage en français sur le langage Forth  : les ouvrages indiqués sont donc en langue anglaise. Pet-Forth Manual, Datatronic AB, Box 42094, S-126 12 Stockholm, Sweden. Manuel d'utilisation du Forth sur système Commodore. Starting Forth, Leo Brodie, Forth Inc., Prentice-Hall. ISBN 0-13-842930-8. Le meilleur ouvrage sur ce sujet. Byte Magazine, août 1980. Bons articles sur le Forth. Pratiquement toute la revue ne traite que de ce sujet. Threaded Interpretive Languages, R.G. Loeliger, Byte Books. Décrit comment réaliser un système Forth en Z80. D'autre part, les listing sources de diverses implémentations, notamment sur 6502, 808Q, Z80 et PDP 11, sont disponibles pour une somme modique, auprès du Forth Interest Group, PO Box 1105, San Carlos CA 94070 U.S.A. 94 — MICRO-SYSTEMES Mars 1983
Le langage Forth Dossier La structure du dictionnaire Les mots Forth sont placés et regroupés au fur et à mesure de leur création dans un dictionnaire. Chaque mot possède une structure identique, qu'il s'agisse de variables, de constantes ou de mots compilés. Cette structure est divisée en quatre champs  : - Le premier correspond à l'en-tête. Il est appelé « Name Field Address » en anglais (NFA) et comprend la longueur et le nom du mot. Le premier octet de ce champ contient  : ■ 5 bits de poids faible caractérisant la longueur du nom (lequel ne peut donc dépasser 25-1, soit 31 caractères). ■ Le 6 e bit appelé « SMUDGE » bit. Il est positionné à 0, lorsque le mot n'est pas trouvé dans le dictionnaire lors d'une recherche. Sa valeur est à 1 durant toute la compilation. ■ Le 7e bit se nomme bit de précédence. Sa valeur est à 1 si le mot est de type « immédiat », c'est-à-dire s'il doit être exécuté dans tous les cas, même au cours d'une compilation d'un autre mot. Toutes les structures de contrôle sont déclarées 1M- MEDIAT (BEGIN, IF, etc.). ■ Le 8e bit, sans signification, est toujours mis à 1. - Les deux octets suivants, qui correspondent au champ LFA (Link Field Address), contiennent l'adresse du mot précédent dans le dictionnaire. L'utilisation d'un tel pointeur facilite la recherche des mots dans le dictionnaire. - Le champ suivant, de deux octets, comprend le CFA (Code Field Address), 5 C t En tete (NFA) A R R E LFA Adresse du mots p ecedent Code machine CFA Adresse code routine 41 Adresse de DUR PFA Adresse de " Adresse de• 4 C En tete (NFA) u B E LFA CFA Adresse du mot precedent Adresse code routine Code machine 11e, Adresse de Dtirl Adresse de CARRE PFA Adresse de Adresse de La test [ :.•(1r.C,5›'›, Au durrn, mot compile Fig. A. La structure des mots Forth est découpée en quatre champs  : NFA, LFA, CFA et PFA c'est-à-dire l'adresse d'une routine, en langage machine, qui sera exécutée dès l'invocation du mot. Cette routine dépend du type du mot concerné. - Les octets suivants définissent le PFA « Parameter Field Address », qui comporte les informations du mot, valeurs de constantes ou de variables ou adresses des mots appelés dans le cas d'une définition Forth. Les activités de compilation sont très simplifiées.'Certains mots Forth sont définis comme immédiats. Ils seront exécutés dès leur rencontre, même durant une compilation. Les mots « : » et « ; », en particulier, sont de ce type. Le premier a pour tâche de créer une entrée dans le dictionnaire pour le mot qui le suit, d'effectuer le chaînage avec le terme précédemment défini, puis de placer l'adresse d'une routine en langage machine dans le CFA. Un indicateur, appelé STATE, est positionné afin d'indiquer à l'interpréteur qu'il doit stocker l'adresse des mots qu'il rencontre au lieu de les exécuter. Le dernier terme d'une définition, « ; », place l'adresse d'une routine appelée « ; S » dans la définition, laquelle a le même rôle que l'instruction « Return » en Basic, puis inverse le statut de STATE afin de revenir au mode interprété. La figure A montre la structure du dictionnaire. Deux mots Forth y sont représentés  : CARRE et CUBE que nous avons déjà rencontrés. Tous les mots sont chaînés entre eux. La variable LATEST pointe sur le dernier mot défini. Mars 1983 MICRO-SYSTEMES — 95



Autres parutions de ce magazine  voir tous les numéros


Liens vers cette page
Couverture seule :


Couverture avec texte parution au-dessus :


Couverture avec texte parution en dessous :


Micro Systèmes numéro 29 mars 1983 Page 1Micro Systèmes numéro 29 mars 1983 Page 2-3Micro Systèmes numéro 29 mars 1983 Page 4-5Micro Systèmes numéro 29 mars 1983 Page 6-7Micro Systèmes numéro 29 mars 1983 Page 8-9Micro Systèmes numéro 29 mars 1983 Page 10-11Micro Systèmes numéro 29 mars 1983 Page 12-13Micro Systèmes numéro 29 mars 1983 Page 14-15Micro Systèmes numéro 29 mars 1983 Page 16-17Micro Systèmes numéro 29 mars 1983 Page 18-19Micro Systèmes numéro 29 mars 1983 Page 20-21Micro Systèmes numéro 29 mars 1983 Page 22-23Micro Systèmes numéro 29 mars 1983 Page 24-25Micro Systèmes numéro 29 mars 1983 Page 26-27Micro Systèmes numéro 29 mars 1983 Page 28-29Micro Systèmes numéro 29 mars 1983 Page 30-31Micro Systèmes numéro 29 mars 1983 Page 32-33Micro Systèmes numéro 29 mars 1983 Page 34-35Micro Systèmes numéro 29 mars 1983 Page 36-37Micro Systèmes numéro 29 mars 1983 Page 38-39Micro Systèmes numéro 29 mars 1983 Page 40-41Micro Systèmes numéro 29 mars 1983 Page 42-43Micro Systèmes numéro 29 mars 1983 Page 44-45Micro Systèmes numéro 29 mars 1983 Page 46-47Micro Systèmes numéro 29 mars 1983 Page 48-49Micro Systèmes numéro 29 mars 1983 Page 50-51Micro Systèmes numéro 29 mars 1983 Page 52-53Micro Systèmes numéro 29 mars 1983 Page 54-55Micro Systèmes numéro 29 mars 1983 Page 56-57Micro Systèmes numéro 29 mars 1983 Page 58-59Micro Systèmes numéro 29 mars 1983 Page 60-61Micro Systèmes numéro 29 mars 1983 Page 62-63Micro Systèmes numéro 29 mars 1983 Page 64-65Micro Systèmes numéro 29 mars 1983 Page 66-67Micro Systèmes numéro 29 mars 1983 Page 68-69Micro Systèmes numéro 29 mars 1983 Page 70-71Micro Systèmes numéro 29 mars 1983 Page 72-73Micro Systèmes numéro 29 mars 1983 Page 74-75Micro Systèmes numéro 29 mars 1983 Page 76-77Micro Systèmes numéro 29 mars 1983 Page 78-79Micro Systèmes numéro 29 mars 1983 Page 80-81Micro Systèmes numéro 29 mars 1983 Page 82-83Micro Systèmes numéro 29 mars 1983 Page 84-85Micro Systèmes numéro 29 mars 1983 Page 86-87Micro Systèmes numéro 29 mars 1983 Page 88-89Micro Systèmes numéro 29 mars 1983 Page 90-91Micro Systèmes numéro 29 mars 1983 Page 92-93Micro Systèmes numéro 29 mars 1983 Page 94-95Micro Systèmes numéro 29 mars 1983 Page 96-97Micro Systèmes numéro 29 mars 1983 Page 98-99Micro Systèmes numéro 29 mars 1983 Page 100-101Micro Systèmes numéro 29 mars 1983 Page 102-103Micro Systèmes numéro 29 mars 1983 Page 104-105Micro Systèmes numéro 29 mars 1983 Page 106-107Micro Systèmes numéro 29 mars 1983 Page 108-109Micro Systèmes numéro 29 mars 1983 Page 110-111Micro Systèmes numéro 29 mars 1983 Page 112-113Micro Systèmes numéro 29 mars 1983 Page 114-115Micro Systèmes numéro 29 mars 1983 Page 116-117Micro Systèmes numéro 29 mars 1983 Page 118-119Micro Systèmes numéro 29 mars 1983 Page 120-121Micro Systèmes numéro 29 mars 1983 Page 122-123Micro Systèmes numéro 29 mars 1983 Page 124-125Micro Systèmes numéro 29 mars 1983 Page 126-127Micro Systèmes numéro 29 mars 1983 Page 128-129Micro Systèmes numéro 29 mars 1983 Page 130-131Micro Systèmes numéro 29 mars 1983 Page 132-133Micro Systèmes numéro 29 mars 1983 Page 134-135Micro Systèmes numéro 29 mars 1983 Page 136-137Micro Systèmes numéro 29 mars 1983 Page 138-139Micro Systèmes numéro 29 mars 1983 Page 140-141Micro Systèmes numéro 29 mars 1983 Page 142-143Micro Systèmes numéro 29 mars 1983 Page 144-145Micro Systèmes numéro 29 mars 1983 Page 146-147Micro Systèmes numéro 29 mars 1983 Page 148-149Micro Systèmes numéro 29 mars 1983 Page 150-151Micro Systèmes numéro 29 mars 1983 Page 152-153Micro Systèmes numéro 29 mars 1983 Page 154-155Micro Systèmes numéro 29 mars 1983 Page 156-157Micro Systèmes numéro 29 mars 1983 Page 158-159Micro Systèmes numéro 29 mars 1983 Page 160-161Micro Systèmes numéro 29 mars 1983 Page 162-163Micro Systèmes numéro 29 mars 1983 Page 164-165Micro Systèmes numéro 29 mars 1983 Page 166-167Micro Systèmes numéro 29 mars 1983 Page 168-169Micro Systèmes numéro 29 mars 1983 Page 170-171Micro Systèmes numéro 29 mars 1983 Page 172-173Micro Systèmes numéro 29 mars 1983 Page 174-175Micro Systèmes numéro 29 mars 1983 Page 176-177Micro Systèmes numéro 29 mars 1983 Page 178-179Micro Systèmes numéro 29 mars 1983 Page 180-181Micro Systèmes numéro 29 mars 1983 Page 182-183Micro Systèmes numéro 29 mars 1983 Page 184-185Micro Systèmes numéro 29 mars 1983 Page 186-187Micro Systèmes numéro 29 mars 1983 Page 188-189Micro Systèmes numéro 29 mars 1983 Page 190-191Micro Systèmes numéro 29 mars 1983 Page 192-193Micro Systèmes numéro 29 mars 1983 Page 194-195Micro Systèmes numéro 29 mars 1983 Page 196-197Micro Systèmes numéro 29 mars 1983 Page 198-199Micro Systèmes numéro 29 mars 1983 Page 200-201Micro Systèmes numéro 29 mars 1983 Page 202-203Micro Systèmes numéro 29 mars 1983 Page 204-205Micro Systèmes numéro 29 mars 1983 Page 206