FR 2535489 A1 19840504 FR 8317328 A 19831028 La présente invention concerne de façon généra- le les systèmes informatiques, et en particulier ceux qu'on appelle ordinateurs individuels, et elle porte encore plus particulièrement sur ceux utilisés le plus. fréquemment par des personnes n'ayant que peu ou pas d'expérience antérieure de la programmation d'un ordina- teur. Les ordinateurs individuels sont de plus en plus utilisés, essentiellement du fait de l'apparition et de la disponibilité d'unités de traitement économiques, comme celles qui utilisent un microprocesseur ou un mi- cro-ordinateur De tels systèmes ont une structure très variable, mais on peut dire que tous contiennent les éléments communs suivants: une unité centrale de traite- ment,-un clavier, un dispositif d'affichage et une mémoi- re, associés au processeur Dans la majorité, sinon dans la totalité, des ordinateurs individuels du type pour lequel l'invention est la plus avantageuse, l'unité cen- trale de traitement consiste en un microprocesseur au- quel est associée une mémoire dans laquelle la logique de programmation du langage d'ordinateur particulier qui est utilisé est enregistrée, en association avec une ca- pacité suffisante de mémoire temporaire ou de travail dans laquelle un processeur peut enregistrer temporaire- ment de l'information pour faciliter son traitement Le clavier consiste le plus couramment en un ensemble de touches alphanumériques qui sont généralement disposées pratiquement en conformité avec les configurations de touches des machines à écrire classiques, mais qui com- prennent très souvent des touches supplémentaires Pour des commutateurs destinés à faciliter desbtches particuières concernant des exigences spéciales de la programmation des ordinateurs Le dispositif d'affichage le plus fré- quemment utilisé dans les ordinateurs à microprocesseur actuels est un dispositif à tube cathodique dans lequel 2- des caractères alphanumériques traités ou liés de façon quelconque aux programmes traités sont présentés sur l'écran d'affichage du tube cathodique Au cours des der- nières années, essentiellement pour des facteurs de couit et de commodité, de nombreux ordinateurs individuels ont été conçus pour l'utilisation avec un récepteur de télé- vision en couleur classique Bien entendu, ceci diminue considérablement le coût associé à l'ordinateur Dans de tels systèmes, l'ordinateur individuel de base comporte, au lieu d'un dispositif d'affichage réservé à l'ordina- teur, un circuit destiné à moduler l'information à pré- senter sur une porteuse d'image disponible, conformément à la structure classique des signaux de diffusion de télévision, ce qui fait que l'information à présenter peut être transmise à l'entrée d'antenne du récepteur de télévision. Bien qu'un grand nombre de langages de-pro- grammation qui facilitent l'interaction entre l'utilisa- teur et le processeur de l'ordinateur aient été imaginés pour satisfaire divers besoins, le processus fondamental de la programmation consiste essentiellement dans la présentation par l'utilisateur, au processeur de l'ordi- nateur, d'un ensemble ordonné d'instructions et/ou de demandes qui sont formulées dans une séquence de langage appropriée compréhensible ou pouvant être interprétée par le processeur de l'ordinateur, et qui constituent les instructions et les demandes que l'utilisateur adresse au processeur pour parvenir au résultat final A titre d'exemple simple, l'utilisateur peut demander à l'ordina- teur de résoudre une équation particulière en indiquant premièrement l'équation au processeur, en indiquant secon- dement les valeurs connues pour plusieurs des variables figurant dans l'équation, et en demandant troisièmement à l'ordinateur de résoudre l'équation et de présenter le- ou les nombres corrects qui correspondent à la valeur de la variable désirée. Indépendamment du fait que le programme qui est réalisé ou établi soit aussi simple que l'exemple précé- dent ou beaucoup plus complexe; il est essentiel que cha- que instruction présentée au processeur soit sous une for- me qui facilite la communication correcte avec le proces- seur Cet aspect de la programmation constitue l'un des domaines les plus difficiles pour les personnes n'ayant que peu d'expérience de la programmation des ordinateurs, ou seulement l'expérience d'un débutant, et qui désirent écrire des programmes corrects pour un ordinateur La majorité des erreursque font les programmeurs dans la- présentation de l'information pour l'écriture d'instruc- tions, sont celles qu'on appelle des erreurs de syntaxe, is ce qui signifie fondamentalement qu'une instruction a été présentée à l'ordinateur d'une manière que le processeur ne peut pas interpréter correctement Deteles erreurs de syntaxe et le fait qu'un processeur ait besoin d'une ins- truction avec une syntaxe correcte, et même insiste pour obtenir une telle instruction, avant que le traitement puisse se poursuivre, donnent souvent au néophyte l'im- pression d'une grande complexité de fonctionnement et, de façon similaire, conduisent souvent à des efforts tota- lement frustrants de la part du débutant dans le domaine de la programmation des ordinateurs. Les problèmes associés aux tentatives faites par des débutants ou des néophytes pour programmer ou écrire des programmes pour un ordinateur individuel revêtent une importance particulière pour les constructeurs d'ordina- teurs bon marché qui, avec des ressources limitées, sont essentiellement prévus pour être achetés et utilisés par des personnes n'ayant que peu ou pas d'expérience en programmation Ayant reconnu les difficultés qui existent pour amener de telles personnes à la programmation des or- dinateurs, et donc à faire en sorte que leur produit soit accepté par les consommateurs, ces constructeurs ont tenté de réduire les complications et les frustrations pour l'opérateur qui sont associées aux exigences de syntaxe pour l'écriture de programmes Par exemple, face à une instruction ou une commande incorrecte pendant la program- mati-on, de nombreux ordinateurs individuels fournissent une certaine sorte d'indication signalant qu'une erreur de syntaxe existe dans l'instruction En outre, certains systèmes de l'art antérieur donnent une indication du ty- pe d'erreur, le plus souvent sous la forme d'un numéro d'erreur qui permet à l'opérateur de consulter une table et de trouver la description de ce type d'erreur, ainsi que des conseils sur la façon de corriger l'erreur de syntaxe existante. Bien qu'un tel système apporte effectivement une certaine aide dans l'utilisation d'ordinateurs pro- grammables par des débutants, il demeure, un besoin con- cernant un moyen simple et d'utilisation, aisée pour com- muniquer à l'utilisateur la nature et le type d'erreurs de syntaxe De plus, jl demeure nécessaire de faciliter l'interaction entre l'utilisateur et le processeur, d'une manière par laquelle le processeur puisse ignorer des erreurs insignifiantes. L'invention a donc pour but de procurer un procédé et une structure qui facilitent la communication d'erreurs de syntaxe à l'utilisateur L'invention a plus particulièrement pour but de procurer un procédé et une structure permettant de communiquer à l'utilisateur un maximum d'information concernant la nature et le type d'une erreur de syntaxe présentée, ainsi que des mesures de correction, sans utiliser de tables et de sources d'information externes. L'invention sera mieux comprise à la lecture de la description qui va suivre d'un mode de réalisation et en se référant aux dessins annexés sur lesquels: la figure 1 est un schéma synoptique d'un dispositif conforme à l'invention. La figure 2 est un diagramme d'affichage con- forme à l'invention. Les figures 3 à 7 sont des organigrammes con- formes à l'minvention La figure 8 est une table de couleurs conforme à l'invention; La figure 1 présente un schéma synoptique du dispositif de l'invention, dans lequel un microprocesseur est connecté à une mémoire morte de programme 11, à une mémoire vive de données 12, à une mémoire vive gra- phique 15 et à un processeur de sons/circuit d'attaque de colonnes et de lignes, 13 Un clavier 14 est connec- té à la partie de circuit d'attaque de colonnes et de li- gnes du processeur de sons 13 Un contrôleur de tél-évi- sion 17 est connecté à une mémoire morte de caractères 16 et à la mémoire vive graphique 15 Le contrôleur de télévision 17 est en outre connecté à un processeur de couleur 18 qui est lui-même connecté à un modulateur ra- diofréquence 19, dont la sortie est connectée à un ré- cepteur de télévision 20 - Il faut noter que le schéma synoptique de la figure 1 représente un diagramme de circulation des si- gnaux et que, conformément à des pratiques bien connues dans la technique, chaque bloc fonctionnel représenté sur la figure 1 représente en fait un ou plusieurs disposi- tifs électroniques ou circuits intégrés, avec des inter- connexions appropriées avec des sources d'alimentation électrique appropriées, ou un potentiel de masse inter- connecté, et que les "lignes" d'interconnexion sont des- tinées à représenter des connexions électriques multiples pour transmettre une information numérique à plusieurs bits entre les blocs fonctionnels respectifs qui sont représentés. Le processeur 10 comprend des circuits classi- ques pour accomplir les fonctions de l'unité centrale de traitement d'un ordinateur numérique, et il consiste en un processeur tel qu'une puce de microprocesseur qui peut par exemple être un microprocesseur CP 160 fabriqué par General Instruments Corporation Le processeur 10 fonc- tionne en interaction avec la mémoire morte de programme 11 qui peut être par exemple un dispositif du type RO-3-9502 de General Instruments, et avec la mémoire vive 12 qui peut être par exemple un dispositif du type 3812 de General Instruments La mémoire morte de program- me 11 fournit les instructions de programme de base et assure la commande logique pour le processeur 10, grâce à quoi les étapes logiques exigées pour l'exécution d'un programme sont accomplies conformément aux techni- ques de traitement classiques des ordinateurs La mé- moire vive de données 12 fonctionne en mémoire de tra- vail pour le processeur 10 et assure, entre autres fonc- tions, celle d'un groupe de positions de mémoire tempo- raire que le processeur 10 peut-utiliser pour accumuler de l'information pendant des calculs relatifs à un pro- gramme, etc Le dispositif d'interface 13 comprend un ensemble de lignes de communication 13 a qui sont con- nectées aux sorties de signaux de colonne du clavier 14, conformément aux techniques classiques des ordina- teurs De façon similaire, le dispositif d'interface 13 comprend un ensemble de lignes de signal de ligne 13 b qui sont connectées à des bornes de sortie correspondan- tes sur le clavier 14. Pendant le fonctionnement, et d'une manière qu'on décrira ci-après de façon plus détaillée en rela- tion avec les dessins annexés représentant les organigram- mes relatifs à l'invention, le processeur 10 reçoit l'in- formation d'entrée de l'opérateur,, du fait de connexions de commutateurs qui sont établies sur le clavier 14, et de la transmission par le dispositif d'interface 13 vers l'entrée du processeur 10, grâce à quoi l'opérateur trans- met au processeur 10 une information d'entrée consistant en une instruction de programme ou en une commande En réponse à l'information introduite par l'utilisateur au moyen du clavier 14, le processeur 10 accomplit le trai- tement d'information exigé, conformément au jeu d'ins- tructions qui est enregistré dans la mémoire morte 11, avec l'aide d'une interaction avec la mémoire vive de données 12, dans la plupart des cas Le processeur pro- duit des signaux de sortie appropriés qui lorsqu'ils sont appliqués à la mémoire vive graphique 15 et par celle-ci au contrôleur de télévision 17, commandent le processeur de couleur 18 de-façon qu'il émette des si- gnaux de caractères vers le modulateur radiofréquence 19. Les signaux reçus par le modulateur radiofréquence 19 sont appliqués sur un signal porteur de télévision appro- prié, conformément aux standards de télédiffusion du ré- cepteur de télévision 20, et ils sont transmis à l'entrée radiofréquence (non représentée) du récepteur de télévi- sion 20. Conformément à un aspect important de l'inven- tion, chaque instruction reçue par le processeur 10, à partir du clavier 14 et-par l'intermédiaire du dispositif d'interface 13, est examinée d'une manière déterminée et conformément à la séquence de traitement d'information décrite ci-après de façon plus détaillée, pour déterminer la manière selon laquelle le processeur doit répondre au message reçu Chaque fois que l'utilisateur appuiesur une touche de caractère 14 a sur le clavier 14, le processeur reçoit ce caractère pour l'utiliser dans le traitement de l'information et, de plus, il commande l'application au contrôleur de télévision 17 du signal approprié pour produire ce caractère particulier L'information présente dans un tel signal de caractère comprend la nature du ca- ractère lui-même, c'est-à-dire un " 11 " ou un "A" ou un "X", ou n'importe quel autre caractère auquel une touche est affectée sur le clavier 14, c'est-à-dire fondamentalement tout caractère appartenant à la liste de caractères du jeu de caractères "ASCII" qui est utilisé à l'heure ac- tuelle dansla technologie des ordinateurs, ainsi que la couleur du caractère et la couleur de fond correspondante qui est associée à ce caractère Il en résulte que chaque fois que l'utilisateur appuiesur une touche de caractère 14 a du clavier 14, le caractère apparaît sur l'écran d'affichage 20 a du récepteur de télévision 20 et est in- troduit dans le processeur 10 pour être utilisé dans la commande par programme Conformément à un aspect impor- tant de l'invention, lorsqu'on appuie initialement sur chaque touche, le caractère apparaît immédiatement sur l'écran 20 a en un simple format noir sur blanc Une fois que l'utilisateur a achevé une instruction ou-un pas de programme, ce qui se traduit par l'appui sur la touche de retour chariot sur le clavier 14, le processeur 10, conformément au programme enregistré dans la mémoire morte 11, effectue un examen de correction de syntaxe de l'instruction proposée L'examen de l'instruction est décrit ci- après de façon plus détaillée en relation avec les organigrammes des figures 3 à 7 et on le décrira à ce moment Il suffit cependant de dire pour l'instant que le processeur 10 accomplit l'examen de syntaxe en appliquant une hiérarchie prédéterminée de règles d'in- terprétation à l'instruction proposée Les résultats de cette analyse de syntaxe de l'instruction proposée qu' effectue le processeur 10 sont communiqués à l'opérateur par l'application d'un code de couleur prédéterminé à chaque caractère présent sur la ligne de l'affichage qui est examinée Tout caractère dont la position ou la pré- sence ne se conforme pas à la syntaxe acceptée est affi- ché sans marque de couleur Tous les caractères pour les- quels l'analyse du processeur 10 détermine la conformité avec la syntaxe acceptée sont affichés avec une marque de couleur appropriée Dans le cas o la syntaxe est correc- te, l'instruction est affichée avec tous les caractères codés en couleur de façon appropriée, ou portant des marques de couleur appropriées, et l'opérateur est libre d'introduire le pas de programmation suivant Dans le cas o la syntaxe n'est pas correcte, le processeur 10 exécute une interprétation séparée dans laquelle un en- semble prédéterminé de règles d'interprétation décrites ci-dessous en relation avec les organigrammes annexés est mis en oeuvre, et le processeur 10 tente de parvenir à une interprétation acceptable de l'instruction A ti- tre de résultat de cette analyse supplémentaire, et dans le cas o le processeur peut déterminer une interpréta- tion appropriée se conformant à la syntaxe correcte, l'instruction proposée est affichée avec des marques de couleur appropriées pour tous les caractères compris par le processeur, et avec une indication par l'absence de marques de couleur des caractères qui sont fondamentale- ment ignorés par le processeur 10 Ceci permet à l'opé- rateur d'accepter l'interprétation faite par l'ordina- teur de l'instruction proposée, en dépit de l'erreur apparente dans l'instruction, et de poursuivre le pro- gramme Dans le cas o la seconde évaluation de l'instruc- tion proposée conduit néanmoins à une instruction qui ne peut pas être conformée à la syntaxe, l'affichage de l'instruction est modifié pour faire apparaître sur un fond gris toutes les instructions qui étaient précédem- ment en couleur, c'est-à-dire toutes les instructions portant précédemment une marque de couleur, ce qui indi- que que la syntaxe de l'instruction proposée est inaccep- table Du fait que la marque du caractère coloré précédem- ment, et donc compréhensible, demeure en gris, et que les caractères non compris par le processeur demeurent dans une couleur autre que le gris, l'opérateur est avisé de l'élimination ou de la suppression du caractère appro- prié qui doit être faite pour corriger l'instruction. Les figures 2 A à 2 C montrent des exemples de conséquences de la tentative d'entrer l'instruction "PRNT A+B" La figure 2 A représente la séquence d'événe- ments dans laquelle l'utilisateur construit correctement l'instruction et celle-ci est conforme à la syntaxe accep- table du langage de programmation La figure 2 B montre la situation résultante, telle qu'on la voit sur l'afficha- ge 20 a du récepteur de télévision 20, dans le cas de l'application d'une instruction avec une syntaxe erronée qui, bien qu'incorrecte, peut être interprétée par la machine, par l'analyse de remplacement, conformément à l'invention La figure 2 C montre la séquence d'événe- ments dans le cas o une tentative erronée d'introduire l'instruction cidessus est incorrecte et ne peut en outre pas être interprétée utilement par l'analyse de remplacement conforme à l'invention. Conformément aux techniques d'affichage clas- siques des ordinateurs, lorsque chaque caractère est affiché sous l'effet de l'appui sur une touche de carac- tère correspondante sur le clavier 14, il est placé dans * 20 un espace ou une cellule de caractère qui lui est affec- té sur l'affichage En d'autres termes, l'écran d'affi- chage 20 a est organisé en un ensemble d'espaces de ca- ractère disposés en lignes sur cet écran Par exemple, sur la figure 2 A, si on considère qu'on tente d'intro- duire l'instruction indiquée à la ligne marquée I, on voit que le curseur représenté à la position 1-17 de la ligne I est déplacé séquentiellement au fur-et-à-mesure que chaque caractère est placé dans des segments d'affi- chage 1-10 à 1-16 précédents Par exemple, au début de la frappe, le curseur serait affiché dans la cellule 1-10, et sous l'effet de l'appui sur la touche correspon- dant à la touche de caractère P sur le clavier 14, le cur- seur se déplacerait vers le segment 1-11 et une lettre P en noir sur un fond de cellule blanc apparaîtrait en 1-10. De façon similaire, au fur-et-à-mesure de l'appui sur cha- cune des lettres R N T, le curseur passerait successive- ment par les cellules I-11 à 1-13, en laissant derrière les lettres R N T affichées de la manière représentée sous la forme de lettres noires sur un fond blanc La cellule 1-14 a résulté de l'appui sur la touche correspondant à un espace et, de façon similaire, le A et le signe plus affichés dans les-cellules 1-15 et 1-16 de la ligne I ont résulté de l'appui séquentiel sur la tou- che de caractère A et sur le signe plus La cellule 1-17 est représentée avec le curseur occupant la cellu- le dans laquelle l'opération finale consistant à appu- yer sur la touche de caractère B est exigée pour entrer l'instruction PRNT A+B La ligne marquée II sur la fi- gure 2 A montre l'affichage une fois que tous les carac- tères ont été entrés correctement et que le curseur occupe la cellule 1-18, c'est-à-dire lorsque l'instruc- tion a été entrée correctement mais alors qu'on n'a pas encore appuyé sur la touche de retour chariot A ce mo- ment, l'instruction complète apparaît avec chaque carac- tère représenté en noir sur un fond blanc La ligne III montre la ligne d'affichage une fois qu'on a déclenché le retour chariot Comme on le décrira ci-après de fa- çon plus détaillée, l'application de l'ordre de retour chariot déclenche l'analyse de syntaxe conforme à l'in- vention Par conséquent, la situation représentée à la ligne III montre les lettres PRNT qui sont maintenant affichées en noir sur un fond bleu, qui est la marque de couleur affectée à une instruction de commande ou "code d'instructiori"reconnu De façon similaire, les lettres A et B occupant respectivement les cellules 1-15 et 1-16 apparaissent sous la forme de caractères noirs sur fond vert, conformément à l'affectation d'une telle marque -de couleur à une variable Enfin, le signe plus apparaissant dans la cellule 1-16 est affiché avec la marque de couleur correspondant au noir sur du brun La situation qui est alors indiquée à la ligne III de la figure 2 A signale à l'opérateur qu'une instruction correcte avec une syntaxe correcte a été introduite dans le programme, et l'opéra- teur est alors libre de passer à des instructions suivan- tes du programme, en ayant l'assurance que l'ordinateur comprend et traite l'instruction indiquée. La figure 2 B montre la même séquence de lignes 1, II et III dans laquelle existe une erreur d'un type qui, en dépit de l'erreur, peut donner lieu à une inter- prétation conformément à l'invention, et conduit à l'in- troduction de l'information correcte dans l'ordinateur, exactement comme si l'opération ou l'ordre avaient été. frappés correctement, de la manière indiquée sur la figu- re 2 A Ici encore, on tente d'entrer l'instruction indi- quée ci-dessus, mais bien que les cellules 1-20 à 1-24 représentent correctement les lettres PRNT et que la cellule 1-25 représente la variable A, un second A a été frappé par erreur dans la cellule 1-26, et un signe plus ou positif apparaît dans la cellule 1-27 tandis que le curseur apparaît dans la cellule 1-28 Comme dans le cas de la figure 2 A, à ce point tous les caractères ap- paraissent sous la forme de caractères noirs sur des fonds blancs La ligne Il sur la figure 2 B montre la frap- pe terminée d'une instruction erronée, dans laquelle une double variable A pour l'erreur de la cellule 1-26 et un double signe plus à la cellule 128 sont apparus avant le retour chariot Toujours en corresp'ondance avec la si- tuation représentée sur la figure 2 A, à ce point, c'est-à- dire avant le retour chariot, tous les caractères apparais- sent en noir sur fond blanc La ligne III de la figure 2 B montre la ligne après que le retour chariot a été déclen- * ché, ce qui déclenche l'analyse de syntaxe, comme indi- qué La situation représentée à la ligne III sur la figure 2 B montre le résultat de l'analyse de remplacement sur la ligne entrée de façon incorrecte Les lettres PRNT dans les cellules 1-20 à 1-23 apparaissent à nouveau avec une marque indiquant qu'elles sont correctes, comme il est représenté sur la figure 2 A, c'est-à-dire avec des carac- tères noirs sur des fonds bleus, indiquant que l'ordina- teur a correctement compris l'indication PRNT qui a été introduite De façon similaire, l'ordinateur interprète correctement comme une variable le premier A rencontré dans la cellule 1-24, et il apparait donc à nouveau avec la marque de couleur correspondant au noir sur un fond vert Cependant, la seconde lettre A apparaissant dans la cellule 1-26 ne peut pas faire l'objet d'une interpré- tation de syntaxe correcte et demeure donc sous la forme d'un caractère noir sur un fond blanc, indiquant à l'opé- rateur que cette lettre n'est pas considérée comme un caractère correct De façon similaire, le signe plus dans la cellule 1-27 se conforme à la syntaxe correcte et porte donc la marque de couleur correcte consistant en un caractère noir sur un fond brun, mais le second si- gne plus dans la cellule 1-28 apparait à nouveau en noir sur un fond blanc, ce qui indique un caractère incorrect. Enfin, la lettre B apparaissant dans la cellule 1-29 est correctement interprétée par l'analyse de syntaxe de l'ordinateur et ellé est donc affichée avec la marque de couleur correspondant à une variable, c'est-àdire un caractère noir sur un fond vert Du fait que les carac- tères portant la marque de couleur correcte, à l'exclu- sion des caractères ne portant pas de marque de couleur, forment conjointement un message d'entrée correct en con- formité aux exigences de syntaxe de l'instruction désirée, l'utilisateur peut déterminer, en examinant la ligne III de la figure 2 B, que l'instruction peut être utilisée dans la progression du programme désiré Conformément à un aspect important de l'invention, le processeur, com- mandé par programme, n'assemble que les caractères qui sont codés correctement avec des marques de couleur, et il exclut les caractères qui ne portent pas de marque de couleur, c'est-à-dire la seconde lettre A et le second signe plus, et il accomplit le traitement comme si l'ins- truction avait été introduite initialement de façon cor- recte Ceci procure une "tolérance" considérable du sys- tème aux programmeurs néophytes et minimise considérable- ment les frustrations que subissent de telles personnes lorsqu'elles tentent de parvenir à une syntaxe correcte. Le marquage de couleur conforme à l'invention corres- pond à une interprétation fonctionnelle de l'instruction proposée, ainsi qu'à une indication des caractères incor- rects L'opérateur doit connaître les techniques de pro- grammation et la construction de la syntaxe, mais le niveau de frustration est considérablement réduit, du fait que le processeur poursuit le programme en utilisant la syntaxe correcte obtenue par l'analyse de remplacement. L'homme de l'art notera que cette poursuite du programme et ce marquage de-couleur de la structure de syntaxe in- terprétée par la machine représentent un avantage consi- dérable par rapport à des systèmes de l'art antérieur, par le fait qu'ils facilitent, en un seul affichage, l'interprétation du fait que l'ordinateur a effectué une analyse de syntaxe, et l'indication des caractères qui ont créé des difficultés dans l'instruction et qui ont donc produit des erreurs de syntaxe A ceci s'ajoute un marquage indiquant l'instruction résultante qui a été communiquée à l'unité de traitement. La figure 2 C montre une séquence d'événements similaires à ceux représentés sur les figures 2 A et 2 B, mais avec une erreur dans la syntaxe de l'instruction appliquée qui est d'une nature pour laquelle le proces- seur ne peut pas effectuer avec succès une interprétation de remplacement La ligne I de la figure 2 C montre l'en- trée de caractères dans des cellules 1-40 à 1-45 incluse avec le curseur restant dans la cellule 1-46 en prépara- -2535489 tion de l'application du caractère B Cependant, l'examen des cellules 140 à 1-42 montre qu'une erreur a été faite dans l'entrée du groupe de symboles de code PRNT, qui est apparu à la place sous la formé "PRT" La ligne II montre l'instruction erronée telle qu'elle est affichée avant le déclenchement du retour chariot Comme dans le cas des lignes I et II des figures 2 A et 2 B, sur la figure 2 C les caractères apparaissent sous la forme de caractères noirs sur des fonds blancs Ici encore, de façon similaire aux cas précédents des figures 2 A et 2 B, la ligne III montre l'affichage résultant après que le retour chariot a dé- clenché l'analyse de syntaxe conforme à l'invention Com- me on le comprendra mieux ci-après en relation avec les organigrammes associés des figures 3 à 7, la configura- tion d'affichage obtenue sous l'effet de l'entrée d'in- formation correspondant à la figure 2 C, qui est représen- tée à la ligne III, est le résultat de l'incapacité de l'analyse de syntaxe correcte comme de l'analyse de syn- taxe de remplacement à parvenir à une instruction ou une commande reconnaissable Ainsi, le processeur a reconnu -la lettre P dans la cellule 1-40 comme étant une variable, mais il ne reconnaît pas le groupe de symboles PRT comme étant un groupe de symboles assigné ou un code En présen- ce de ceci, et contrairement à la situation de la figure 2 B, le dispositif de l'invention déclenche alors une ana- lyse dans laquelle il tente d'interpréter la commande d'en- trée comme étant une instruction d'affectation, c'est-à- dire une-simple instruction mathématique Cependant, l'ins- truction représentée est également incorrecte avec cette interprétation, du fait que le processeur ne peut pas re- connaître la juxtaposition des lettres PNR, ni des lettres RNT, comme correspondant à des variables juxtaposées, sans opérateur intercalé Par conséquent, le dispositif affiche la ligne représentée en III sur la figure 2 C, dans laquelle le caractère initial P est le seul auquel peut être affectée 2535489. une marque de couleur consistant en noir sur vert, indi- quant qu'il est interprété comme une variable Le reste de l'instruction apparaît sous la forme de caractères noirs sur blanc, indiquant qu'aucune interprétation par la ma- chine ne peut être effectuée Par conséquent, le disposi- tif'ne peut pas traiter l'instruction qu'on tente d'appli- quer De ce fait, la ligne IV de la figure 2 C montre une modification supplémentaire des marques de syntaxe du dis- positif de l'invention, selon laquelle tous les caractères qui étaient précédemment en couleur (c'est-à-dire inter- prétables par la machine), apparaissent sur des fonds en grisé, comme il est représenté dans la cellule 1-40 de. la ligne IV de la figure 2 C L'apparition du grisé au lieu d'une-marque de couleur informe l'opérateur que l'instruction ne peut pas faire l'objet d'une interpré- tation de remplacement et sera en fait ignorée par l'ordi- nateur Ceci conduit évidemment l'opérateur à tenter à nouveau d'analyser et de corrigelr l'instruction qu'il a essayé d'appliquer. Les figures 3 à 7 montrent l'organigramme par lequel le dispositif d'analyse d'erreur de syntaxe de l'invention est mis en oeuvre On notera tout d'abord que l'organigramme suivant représente un mode de réalisation de l'invention et que l'homme de l'art pourra imaginer d'autres organigrammes et organisations pour parvenir aux mêmes buts et pour mettre en oeuvre l'invention L'homme de l'art notera également que de nombreux programmes d'or- dinateur utilisant différents langages et différentes tech- niques de programmation peuvent être utilisés pour mettre en oeuvre l'invention telle qu'elle est représentée sur les figures 3 à 7, sans sortir du cadre de l'invention. -En considérant initialement la figure 3, on voit une étape d'interrogation de clavier, 21, dans laquelle le processeur de l'invention est prêt à accepter l'intro- duction de caractère suivante à partir du clavier 14, et dans cette étape l'opérateur appuie sur une succession de touches sur le clavier 14 pour introduire un certain nom- bre de caractères, comme le montrent par exemple les figu- res 2 A à 2 C Comme le montre également la figure 3, sous l'effet de l'accomplissement d'un retour chariot, le pro- gramme passe à une étape 22 dans laquelle le retour cha- riot est reçu Le programme passe ensuite à une interro- gation de moniteur 23, dans laquelle une interrogation- est effectuée pour déterminer s'il y a appel d'une comman- de sélectionnée parmi plusieurs qui ne nécessitent pas un examen de syntaxe Par exemple, des commandes d'effacement du registre ou d'effacement de la ligne d'affichage, ou de simple présentation de la ligne d'affichage, lorsqu' elles sont indiquées par le groupement de caractères approprié, ne nécessitent pas d'examen de syntaxe mais déclenchent simplement l'action correspondant à la de- mande particulière Dans le cas o une commande relative au moniteur est présente, le programme passe par la bran- che affirmative de l'étape 23, vers l'étape 24 dans la- quelle l'exécution de la commande demandée est effectuée, hors de tout examen de syntaxe Le programme retourne ensuite à l'étape d'interrogation de clavier 21 En l'absence d"une commande relative au moniteur, le pro- gramme passe à une étape 25 dans laquelle il détermine si un caractère est présent ou non Si aucun caractère n'est présent, le programme emprunte la branche négative de l'étape 25 pour passer à l'étape 26 dans laquelle un re- tour vers-l'étape d'interrogation de clavier 21 est effec- tué Si la réponse à l'étape 25 est affirmative, c'est-,à- dire si un caractère est présent, le programme passe à une étape de décision 27 dans laquelle il détermine si le caractère initial rencontré est un chiffre Dans la néga- tive, le programme passe à l'étape 32 dans laquelle le nu- méro de ligne est remplacé par un zéro, et le dispositif est informé qu'une étape d'exécution immédiate va suivre. Le programme passe ensuite à l'étape 29, dans laquelle les groupes de caractères sont examinés En retournant à l'étape 27, dans le cas o on obtient un résultat affir- matif, c'est-à-dire lorsqu'un chiffre est présent, le programme passe à une étape 28 dans laquelle le nombre est interprété comme étant un numéro de ligne, et la cou- leur appropriée correspondant à un numéro de ligne est affectée à chacun des caractères formant le nombre Le programme passe ensuite à l'étape 29 A l'étape 29, le programme examine le groupe de caractères, et à l'étape il prend une décision concernant la-présence d'un code d'instruction (c'est-à-dire un groupe de symboles ou de caractères ayant une signification spéciale pour le processeur) Si le programme détermine effectivement la présence d'un code d'instruction à l'étape 30, il passe à l'étape 31 conduisant à la figure 5, et dans le cas contraire il passe à l'étape 33 dans laquelle l'ins- truction est interprétée comme étant une instruction d'affectation, conformément aux étapes représentées sur la figure 4 L'interprétation correspondant à la présen- ce d'un code d'instruction, à l'étape 30 de la figure 3, fait passer le programme à l'étape 31, conduisant à-une étape 74 sur la figure 5, qui détermine s'il y a présence d'une instruction PRNT ou d'une instruction DIM Dans l'affirmative, le programme passe à une étape 93 dans la- quelle un indicateur concernant ce type de fonction est positionné, et de l'étape 93 le programme passe à l'étape Si une indication négative est trouvée à l'étape 74, le programme passe directement à l'étape 75 Les étapes 75 à 83 effectuent un examen séquentiel du code d'instruc- tion pour déterminer quel code d'instruction est présent. Par exemple, à l'étape 75 le programme détermine si le code d'instruction est un code PRNT, et dans l'affirma- tive le programme passe à un examen de syntaxe d'une ins- truction PRNT, et la marque de couleur pour un code d'ins- truction est affectée S'il ne s'agit pas d'une instruc- tion PRNT, le programme passe à l'étape 76 dans laquelle il détermine si un code d'instruction DIM est présent. Dans l'affirmative, le programme passe à une étape 85 dans laquelle il effectue un examen conformément aux rè- gles de syntaxe de l'instruction DIM, pour déterminer si l'instruction est une instruction DIM correcte De façon similaire, les étapes de décision successives 77 à 83 produisent un branchement du programme dans lequel l'ins- truction est analysée pour déterminer quel code d'ins- truction est présent, et sous l'effet de la détermination d'un code d'instruction particulier, le format d'examen de syntaxe sélectionné parmi les formats 86 à 92 est-mis en oeuvre Bien qu'on puisse utiliser n'importe quel nom- bre de codes d'instruction, et que, dans le cas présent, on effectue une analyse de code d'instruction pour les instructions suivantes: PRNT, DIM, GO TO, GO SUB, END, RTRN,IF, INPUT, FOR, NEXT, l'homme de l'art notera qu'on peut créer et utiliser dans le langage de programmation n'importe quel nombre de codes d'instruction supplémen- taires, c'est-à-dire des instructions ayant une signifi- cation spéciale Pour mettre en oeuvre le dispositif de l'invention, il suffit que l'organigramme représenté com- porte une étape appropriée dans laquelle on effectue un examen portant sur la présence de ce code d'instruction de programmation particulier, et que sous l'effet de la détermination de sa présence, le programme se branche vers une étape qui déclenche l'examen de l'instruction considérée, en utilisant les formules d'examen-de syntaxe appropriées Conformément à un aspect important de l'in- vention, chaque étape d'examen de syntaxe pour des codes d'instruction, 84 à 92, comprend une opération qui consiste à déterminer si toutes les conditions nécessaires ont été remplies dans l'instruction en cours d'analyse Inverse- ment, on peut donner à un caractère facultatif à certains critères de la syntaxe d'un code d'instruction donné quel- conque L'importance du caractère facultatif ou obligatoi- re d'un tel élément de syntaxe apparaîtra dans l'examen de la figure suivante Il suffit de dire ici que ceci joue un role important dans l'aspect du dispositif de l'invention qui permet d'ignorer des erreurs de syntaxe, de façon à parvenir à une instruction valable et incorpo- rée au programme. Après l'étape appropriée parmi les étapes 84 à -10 92, le programme retourne dans chaque cas, après l'exa- men de syntaxe, à l'étape 94 de la figure 6 dans laquel- le il détermine si un élément obligatoire quelconque est manquant dans l'instruction examinée Si un élément obli- gatoire est manquant, le programme se branche vers l'éta- pe 95 dans laquelle chaque élément coloré précédemment est transformé en un caractère affiché sur un fond en grisé Le programme passe ensuite à une étape 96 dans laquelle il détermine s'il y a ou non un numéro de ligne. S'il n'y a pas de numéro de ligne, le programme passe à une étape de retour 100, et de là à l'étape d'interroga- tion de clavier 21 Si un numéro de ligne est présent, l'instruction considérée est désignée de façon interne, pour l'interprétation par le processeur, comme étant une instruction non exécutable Ceci indique à l'unité de traitement que cette étape ne doit pas être exécutée dans le programme En d'autres termes, l'erreur de syn- taxe irrécupérable du type qu'on trouve sur la figure 2 C a été découverte, et l'affichage est coloré en gris pour tous les caractères indiqués précédemment par une couleur, et le processeur reçoit l'indication d'ignorer cette étape. En retournant à l'étape 94, on note que dans le cas o aucun élément obligatoire n'est trouvé manquant, le pro- gramme passe à une étape 98 dans laquelle il détermine s'il y a ou non un numéro de ligne S'il y a un numéro de ligne, le programme passe à une étape 101 dans laquelle l'instruction est enregistrée dans la mémoire de l'ordi- nateur, en tant que partie du programme de base S'il n'y a pas de numéro de ligne, le programme passe à une étape 99 dans laquelle l'instruction est exécutée, et il retour- ne ensuite à l'étape d'interrogation de clavier 21 en pas- sant par l'étape de retour 100. On va maintenant retourner à l'étape 30 de la figure 3, dans laquelle le programme détermine si l'ins- truction contient un code d'instruction ou un groupe de symboles Si aucun code d'instruction n'est présent, le programme passe à une étape 33 dans laquelle il est in- diqué qu'une analyse d'instruction d'affection sera accom- plie, et il passe ensuite à l'étape 40 de la figure 4 dans laquelle chaque fonction contenue dans l'instruc- tion est identifiée On utilise ici le terme fonction dans un sens plus restreint que celui qu'on lui donne normalement en mathématique, dans la mesure o ce terme est limité à une opération spécifique dans le processeur. Par exemple, la fonction "SET" commande au processeur d'affecter à une variable particulière la valeur qui suit le mot SET De façon similaire, la fonction "FETCH" commande au processeur d'appeler la valeur présente de la variable nommée dans la fonction Enfin, à titre d'exemple supplémentaire, la fonction "CO" commande au processeur de déterminer la couleur présente qui est affectée à un mot binaire particulier Dans l'étape 40, la fonction particulière contenue dans l'instruction est identifiée et le programme passe à une étape 41 dans laquelle un caractère spécial destiné uniquement à l'uti- lisation interne, qui n'est pas un caractère qu'on trouve sur le clavier mais est extrait d'une bibliothèque de ca- ractères séparée, est substitué à la fonction dans tout traitement ultérieur Le programme passe ensuite à une étape 42 dans laquelle l'examen retourne au début d'une ligne d'instruction, après quoi le programme passe à une étape 43 dans laquelle il détermine si une variable est présente ou non dans l'instruction Si la réponse est OUI le programme passe à l'étape 49 Dans la négative, le programme passe à une étape 44 dans laquelle il détermine si une fonction est présente ou non -Si une fonction est présente, le programme passe à nouveau à l'étape 49. Dans la négative, le programme passe à l'étape 45 A l'éta- pe-45, chaque caractère coloré précédemment est affiché sur un fond gris, puis le programme passe à une étape 46 dans lequel il détermine s'il y a ou non un numéro de li- gne S'il n'y a pas de numéro de ligne, le programme re- tourne par l'étape 48 à l'étape d'interrogation de cla- vier 21 Si un-numéro de ligne est présent, le programme passe à une étape 47 dans lequel l'instruction est dési- gnée comme étant non exécutable, et le programme l'igno- rera Le programme retourne à l'étape 49 par la sortie affirmative de l'une ou l'autre des étapes 43 ou 44, et l'instruction est alors examinée pour déterminer la pré- sence d'un signe égal,tandis que tous les autres carac- tères sont ignorés Le programme passe ensuite à une éta- pe de détermination 50, dans lequel il détermine si un signe égal est présent Si aucun signe égal n'est présent, le programme passe-à une étape 46, tandis que si un signe égal est présent, le programme passe à une étape 51 dans laquelle la marque de couleur appropriée pour le caractère consistant en un signe égal est affectée, et le signe égal est enregistré Le programme passe ensuite à une étape 52 dans laquelle il détermine si une constante, une variable ou une fonction est présente après le signe égal Dans l'affirmative, le programme passe à l'étape 57 sur la figure 7 dans laquelle il détermine le nombre de parenthè- ses ouvertes, c'est-à-dire de parenthèses gauches présen- tes, et le nombre de parenthèses fermées ou de parenthèses droites présentes Le programme passe ensuite à une étape 58 dans laquelle il détermine si les parenthèses gauches 2.3 et droites sont en nombre égal Dans l'affirmative, le programme passe à une étape 61 et'dans la négative il passe à une étape 59 dans laquelle il demande si le nom- bre de parenthèses gauches est-supérieur au nombre de pa- renthèses droites Si la réponse est OUI, le programme passe à une étape 60 dans laquelle, en partant de l'extrê- me-gauche de l'instruction, les parenthèses ouvertes sont effacées de la gauche vers la droite en nombre égal à la différence entre les nombres de parenthèses gauches et droites, après quoi le programme passe à l'étape 61 Dans le cas o le nombre de parenthèses gauches ne dépasse pas le nombre de parenthèses droites, le programme passe à une étape 63 dans laquelle, en partant de l'extrême- droite de l'instruction, il efface successivement les pa- renthèses droites en un nombre égal à la différence entre les nombres de parenthèses gauches et droites Le program- me retourne ensuite à l'étape 61 A l'étape 61, le program- me localise la variable ou la constante dans l'instruc- tion et il efface tout ce qui la précède, après quoi le programme passe à l'étape 62 dans laquelle il localise un opérateur ou une parenthèse fermée, et efface tout ce qui le précède Le programmé passe ensuite à l'étape 63 dans laquelle il détermine s'il y a une Parenthèse droite ou un opérateur Dans la négative, le programme passe à une étape 68 dans laquelle l'instruction est-interprétée comme étant correcte au point de vue de la syntaxe, et est traduite en une notation appropriée, connue dans la tech- nique sous l'appellation "Notation Polonaise inverse", pour effectuer le traitement algébrique dans l'ordre appro- prié De plus, l'affichage est commandé de façon à présen- ter les constantes, variables, fonctions et opérateurs avec les marques de couleur appropriées En retournant à l'étape 63, on note que si une parenthèse droite ou un opé- rateur est présent, le programme passe à l'étape 6-4 dans lequel il détermine s'il y avait ou non une parenthèse droi- te Dans l'affirmative, le programme retourne à l'étape 62 et dans la négative il passe à l'étape 65 dans laquel- le il examine l'instruction pour y trouver une variable, une fonction, une constante ou une parenthèse ouverte, et pour effacer tout ce qui la précède Le programme pas- se ensuite à-l'étape 66 dans laquelle il détermine si l'un quelconque des éléments recherchés à l'étape 65 est présent et, dans la négative, il passe à l'étape 67 dans laquelle le dernier opérateur est effacé, après quoi le programme retourne à l'étape 68 Si l'un des éléments recherchés à l'étape 65 est présent, le programme passe à une étape 70 dans laquelle il détermine si l'élément recherché à l'étape 65 et qui a été trouvé était une pa- renthèse ouverte Dans la négative, le programme retour- ne à l'étape 62, tandis que dans l'affirmative il passe à une étape 71 dans laquelle il examine une instruction pour trouver la variable, la fonction, la constante ou la parenthèse ouverte suivante, en effaçant tout ce qui ne répond pas à ces dénominations Le programme passe ensuite à une étape 72 dans laquelle il détermine si l'un des élé- ments recherchés à l'étape 71 est présent Dans l'affirma- tive, le programme retourne à l'étape 62 Dans la négative, le programme passe à l'étape 73 dans laquelle la dernière parenthèse ouverte qui est trouvée est effacée, puis le programme retourne à l'étape 57. Il va de soi que de nombreuses modifications peu- vent être apportées au dispositif et au procédé décrits et représentés, sans sortir du cadre de l'invention. REVENDICATIONS 1 Procédé d'examen et de correction de syntaxe, destiné à être utilisé dans un ordinateur dans lequel une série d'instructions de programmation sont traitées, et dans lequel la structure des instructions de programmation doit se conformer à un ensemble prédéterminé de critères de syntaxe pour permettre le traitement, caractérisé en ce que: on prend en charge une instruction-de programma- tion sous la dépendance de l'information introduite par l'utilisateur; on affiche cette instruction de programma- tion; on examine la structure de cette instruction con- formément à un ensemble prédéterminé de règles de syn- taxe; on affiche une marque de couleur sélectionnée pour chaque caractère appartenant à l'instruction qui est -15 conforme à l'ensemble prédéterminé de règles de syntaxe; on détermine s'il reste des caractères auxquels aucune marque de couleur n'a été affectée; on examine les seuls caractères portant des marques de couleur, conformément à l'ensemble de règles de syntaxe et on désigne l'instruc- tion comme étant acceptable ou inacceptable, et si elle est désignée comme étant acceptable, on introduit dans le programme une forme modifiée de l'instruction de pro- grammation qui est formée uniquement par des caractères portant des marques de couleur. 2 Procédé selon la revendication 15 caractérisé en ce qu'il comprend en outre l'opération suivante: si l'instruction est désignée comme étant inacceptable, on affiche cette instruction d'une manière selon laquelle tous les caractères portant des marques de couleur portent une désignation visuelle commune. 3 Procédé selon la revendication 2, caractérisé en ce que la désignation visuelle consiste en un fond en grisé entourant le caractère. 4 Procédé selon la revendication 1, caractérisé en ce que la marque de couleur consiste en un fond de cou- leur prédéterminée qui entoure une partie notable du ca- ractère. - Dispositif d'examen et de correction de syn- taxe destiné à être utilisé dans un ordinateur dans le- quel une série d'instructions de programmation sont trai- tées, et dans lequel la structure des instructions de programmation doit se conformer à un ensemble prédéterminé de critères de syntaxe pour permettre le traitement, ca- ractérisé en ce qu'il comprend: des moyens ( 10) qui pren- nent en charge une instruction de programmation sous l'effet de l'information introduite par un utilisateur; des moyens ( 10, 16, 17, 18, 19, 20) qui affichent l'ins- truction de programmation; des moyens ( 10) qui exami- nent la structure de l'instruction conformément à un en- semble prédéterminé de règles de syntaxe; des moyens ( 10, 16-20) qui présentent avec une marque de couleur sé- lectionnée chaque caractère contenu dans l'instruction qui est conforme à l'ensemble prédéterminé de règles de syntaxe; des moyens ( 10) qui déterminent s'il reste des caractères auxquels aucune marque de couleur n'a été affectée; et des moyens ( 10) qui examinent les seuls caractères portant des marques de-couleur, conformément à l'ensemble de règles de syntaxe, et qui désignent l'ins- truction comme étant acceptable ou inacceptable, et qui, si'elle est désignée comme acceptable, introduisent dans le programme une forme modifiée de l'instruction de pro- grammation qui est formée exclusivement par des caractères portant des marques de couleur. 6 Dispositif d'examen et de correction de syn- taxe selon la revendication 5, caractérisé en ce qu'il comprend en outre des premiers moyens ( 10, 16-20) qui, si l'instruction est désignée comme étant inacceptable, affichent cette instruction d'une manière selon laquelle tous les caractères portant des marques de couleur portent une désignation visuelle commune. -7 Dispositif d'examen et de correction de syn- taxe selon la revendication 6, caractérisé en ce que la désignation visuelle est un fond en grisé entourant le caractère. 8- Dispositif d'examen et de correction de syn- taxe selon la revendication 5, caractérisé en ce que la marque de couleur est un fond de couleur prédéterminée qui entoure une partie notable du caractère.