Messages et erreurs d'Up ! Parser
Messages 1 à 99
Erreur 1
Message
Erreur UpsPrs-1 : erreur lexicale dans 'essai.upl' ligne 1 colonne 2. Un bloc de commentaires est mal fermé dans 'essai.upl'.
Description
Un bloc de commentaires est délimité par /*
et */
. Le dernier bloc de commentaires a été ouvert et non fermé.
Action
Fermez ce bloc de commentaires par */
.
Erreur 2
Message
Erreur UpsPrs-2 : erreur lexicale dans 'essai.upl' ligne 1 colonne 2. Une chaîne est mal fermée dans 'essai.upl'.
Description
La dernière chaîne délimitée par des guillemets ou des apostrophes est mal fermée.
Action
Fermez cette chaîne par un guillemet ou un apostrophe selon le cas.
Erreur 3
Message
Erreur UpsPrs-3 : erreur lexicale dans 'essai.upl' ligne 1 colonne 2. Une chaîne comporte un saut de ligne dans 'essai.upl' en ligne 3.
Description
Une chaîne de caractères n'est pas fermée en fin de la ligne courante.
Action
- Si la chaîne s'arrête à cette ligne, fermez-la.
- Si la chaîne continue sur la ligne suivante, mettez le caractère division inversée
\
symbolisant la continuation de la chaîne sur la ligne suivante.
Erreur 4
Message
Erreur UpsPrs-4 : erreur lexicale dans 'essai.upl' ligne 1 colonne 2. L'identificateur 'abcdefgihjklmnopqrstuvwxyz...' dans 'essai.upl' en ligne 3 colonne 10 est trop long.
Description
Un identificateur est trop long dès qu'il comporte plus de 50 caractères.
Action
Raccourcissez cet identificateur.
Erreur 5
Message
Erreur UpsPrs-5 : erreur lexicale dans 'essai.upl' ligne 1 colonne 2. Le nombre '1234567890...' dans 'essai.upl' en ligne 3 colonne 2 est trop long.
Description
Un nombre est trop long dès qu'il comporte plus de 50 chiffres.
Action
Raccourcissez ce nombre ou écrivez ce nombre en notation scientifique.
Erreur 6
Message
Erreur UpsPrs-6 : erreur lexicale dans 'essai.upl' ligne 1 colonne 2. L'entier '12345678901234' dans 'essai.upl' en ligne 3 colonne 2 dépasse les capacités de calcul.
Description
Un nombre entier doit être compris entre -2147483647 et 2147483648.
Action
Raccourcissez ce nombre ou écrivez ce nombre en notation scientifique.
Messages 100 à 199
Erreur 100
Message
Erreur UpsPrs-100 : l'analyseur lexical 'UpsLex' est inconnu.
Description
L'identifiant d'analyseur lexical passé à une API de Up ! Parser est incorrect.
Action
- Vérifiez que l'analyseur lexical a bien été déclaré.
- Vérifiez l'origine de l'identifiant passé.
Erreur 101
Message
Erreur UpsPrs-101 : l'analyseur lexical 'UpsLex' est utilisé.
Description
Cette erreur est envoyée lorsque :
- SupprimerAnalyseurLexical est appelé alors que l'analyseur est en cours d'usage.
- DebuterAnalyseLexicale est appelé pour un analyseur qui est déjà utilisé.
Action
Vérifiez les conditions ci-dessus.
Erreur 102
Message
Erreur UpsPrs-102 : l'analyseur lexical 'UpsLex' n'est pas encore utilisé.
Description
Cette erreur est envoyée lorsque :
- LireToken est appelé alors que DebuterAnalyseLexicale n'a pas été appelé pour cet analyseur.
- LireNumeroLigneColonne est appelé alors que DebuterAnalyseLexicale n'a pas été appelé pour cet analyseur.
- InitNumeroLigneColonne est appelé alors que DebuterAnalyseLexicale n'a pas été appelé pour cet analyseur.
Action
Vérifiez les conditions ci-dessus.
Erreur 103
Message
Erreur UpsPrs-103 : le symbole 'Requete' est déjà déclaré pour le paquet 'Sql' de l'analyseur 'UpsLex'.
Description
Deux symboles ne peuvent porter le même libellé. Cette erreur est envoyé lors de l'appel à AjouterToken.
Action
- Changez l'un des deux symboles s'ils sont différents.
- Déclarez uniquement un symbole s'ils sont identiques.
Erreur 104
Message
Erreur UpsPrs-104 : le token 'Requete' du paquet 'Sql' est utilisé pour l'analyseur 'UpsLex'.
Description
Un symbole en cours d'utilisation ne peut avoir son token de supprimé. Cette erreur est envoyé lors de l'appel à SupprimerToken.
Action
- Ne supprimez pas le token si le symbole est encore utilisé.
- N'utilisez plus le symbole avant de le supprimer.
Erreur 105
Message
Erreur UpsPrs-105 : le token 'Requete' est inconnu du paquet 'Sql' de l'analyseur 'UpsLex'.
Description
Pour être valide, un token doit être lié à un symbole. Cette erreur est envoyé lors de l'appel à SupprimerToken.
Action
- Ne supprimez pas un token s'il n'est lié à aucun symbole.
- Vérifiez l'origine du token à supprimer.
Erreur 106
Message
Erreur UpsPrs-106 : l'analyseur lexical 'UpsLex' ne possède pas le séparateur ' '.
Description
Cette erreur est envoyé lors de l'appel à SupprimerSeparateur. Pour être supprimé, un séparateur doit exister pour l'analyseur.
Action
- Ne supprimez pas ce séparateur s'il n'existe pas pour l'analyseur.
- Vérifiez l'origine du séparateur à supprimer.
Erreur 107
Message
Erreur UpsPrs-107 : pas assez de séparateurs pour l'analyseur lexical 'UpsLex'.
Description
Le nombre de séparateurs est limité à 256 par analyseur lexical. Cette erreur est envoyé lors de l'appel à AjouterSeparateur.
Action
Revoyez votre analyseur afin de déclarer au plus 256 séparateurs utiles.
Erreur 108
Message
Erreur UpsPrs-108 : le paquet 'Test' est inconnu pour l'analyseur lexical 'UpsLex'.
Description
Cette erreur est envoyée lorsque :
- AjouterToken est appelé avec un numéro de paquet lexical incorrect.
- SupprimerToken est appelé avec un numéro de paquet lexical incorrect.
- UtiliserToken est appelé avec un numéro de paquet lexical incorrect.
- SelectionnerPaquetLexical est appelé avec un numéro de paquet lexical incorrect.
Action
Vérifier l'origine du numéro de paquet lexical.
Messages 200 à 299
Erreur 200
Message
Erreur UpsPrs-200 : la pile de l'analyseur syntaxique 'UpsSyn' est trop petite.
Description
Cette erreur est envoyée lors de l'appel à Analyser lorsque la pile d'analyse est trop petite.
Action
Augmenter la taille de la pile pour pouvoir effectuer l'analyse.
Erreur 201
Message
Erreur UpsPrs-201 : Attendu 'une variable' au lieu de la fin de 'essai.upl'.
Description
Cette erreur est envoyée lors de l'appel à Analyser lorsque la fin de la source d'informations à analyser est rencontrée prématurément.
Action
- Vérifiez que la source d'informations n'a pas été tronquée.
- Ajoutez la partie manquante sinon.
Erreur 202
Message
Erreur UpsPrs-202 : erreur de syntaxe dans 'essai.upl' ligne 3, colonne 2. Attendu un entier au lieu d'une chaîne entre " ".
Description
Cette erreur est envoyée lors de l'appel à Analyser lorsqu'une erreur de syntaxe est détectée.
Action
Corrigez cette erreur dans le source.
Erreur 203
Message
Erreur UpsPrs-203 : la fin de 'essai.upl' est attendue au lieu d'un entier.
Description
Cette erreur est envoyée lors de l'appel à Analyser lorsqu'il existe une suite dans le source qui ne sert pas à l'analyse.
Action
Supprimez la fin du source inutile ou mettez-la en commentaire.
Messages 300 à 399
Erreur 300
Message
Erreur UpsPrs-300 : l'analyseur syntaxique 'UpsSyn' est inconnu.
Description
L'identifiant d'analyseur syntaxique passé à une API d'Up ! Parser est incorrect.
Action
- Vérifiez que l'analyseur syntaxique a bien été déclaré.
- Vérifiez l'origine de l'identifiant passé.
Erreur 301
Message
Erreur UpsPrs-301 : l'analyseur syntaxique 'UpsSyn' est utilisé.
Description
Cette erreur est envoyée lorsque :
- AjouterEtapeRegle est appelé alors que l'analyseur est en cours d'usage.
- AjouterRegle est appelé alors que l'analyseur est en cours d'usage.
- ChangerEtatRegle est appelé alors que l'analyseur est en cours d'usage.
- AjouterNonTerminal est appelé alors que l'analyseur est en cours d'usage.
- SupprimerAnalyseurSyntaxique est appelé alors que l'analyseur est en cours d'usage.
- Analyser est appelé pour un analyseur qui est déjà utilisé.
- ModifierTailleParametreEtape est appelé alors que l'analyseur est en cours d'usage.
Action
Vérifiez les conditions ci-dessus.
Erreur 302
Message
Erreur UpsPrs-302 : l'analyseur syntaxique 'UpsSyn' n'est pas encore utilisé.
Description
Cette erreur est envoyée lorsque :
- LireNumeroLigneColonneSource est appelé alors que Analyser n'a pas été appelé pour cet analyseur.
- EnvoyerErreur est appelé alors que Analyser n'a pas été appelé pour cet analyseur.
- LireCommentaire est appelé alors que Analyser n'a pas été appelé pour cet analyseur.
- LireZoneLexicale est appelé alors que Analyser n'a pas été appelé pour cet analyseur.
- LireZoneParametre est appelé alors que Analyser n'a pas été appelé pour cet analyseur.
- LireZoneResulat est appelé alors que Analyser n'a pas été appelé pour cet analyseur.
- LireZoneValeur est appelé alors que Analyser n'a pas été appelé pour cet analyseur.
Action
Vérifiez les conditions ci-dessus.
Erreur 303
Message
Erreur UpsPrs-303 : le non terminal 'Instruction' de l'analyseur syntaxique 'UpsSyn' est utilisé.
Description
Deux non terminaux ne peuvent porter le même libellé. Cette erreur est envoyée lors de l'appel à AjouterNonTerminal.
Action
- Renommez l'un des deux non terminaux s'ils sont différents.
- Supprimez l'une des deux déclarations du non terminal s'il n'y en a qu'un.
Erreur 304
Message
Erreur UpsPrs-304 : le non terminal 'Instruction' de l'analyseur syntaxique 'UpsSyn' est inconnu.
Description
L'identifiant d'un non terminal passé à une API de Up ! Parser est incorrect.
Action
- Vérifiez que le non terminal a bien été déclaré.
- Vérifiez l'origine du libellé du non terminal passé.
Erreur 305
Message
Erreur UpsPrs-305 : le non terminal 'Instruction' de l'analyseur syntaxique 'UpsSyn' est non dérivable.
Description
Il n'existe pas une règle permettant de démarrer l'analyse du non terminal. Une telle règle doit soit commencer par un terminal ou soit par un non terminal dérivable. Voici un exemple menant à cette situation :
A : b B ;
B : B | C ;
C : | B B ;
Dans cette situation, B et C sont non dérivables.
Action
Revoyez la grammaire.
Erreur 306
Message
Erreur UpsPrs-306 : la dérivation du non terminal 'Instruction' de l'analyseur syntaxique 'UpsSyn' boucle.
Description
Pour un non terminal récursif, il doit exister au moins une règle permettant de sortir de la récurrence ou alors ce non terminal doit être optionnel. Voici un exemple menant à cette situation :
A : b B ;
B : b B | c B ;
Dans cette situation, B induit une boucle.
Action
Revoyez la dérivation du non terminal engendrant une boucle.
Erreur 307
Message
Erreur UpsPrs-307 : la règle 2 du non terminal 'Instruction' de l'analyseur syntaxique 'UpsSyn' est inconnue.
Description
Cette erreur est envoyée lors de l'appel à AjouterRegleEtape ou à ChangerEtapeRegle lorsque le numéro de la règle est incorrect.
Action
- Vérifiez que la règle a bien été déclarée.
- Vérifiez l'origine du numéro de la règle passé.
Erreur 308
Message
Erreur UpsPrs-308 : la règle 2 du non terminal 'Instruction' de l'analyseur syntaxique 'UpsSyn' est vide.
Description
Une règle doit avoir au moins une étape.
Action
- Ajoutez les étapes à la règle si elle est utile.
- Supprimez la règle si elle est inutile.
Erreur 309
Message
Erreur UpsPrs-309 : le token pour la nouvelle étape de l'analyseur syntaxique 'UpsSyn' est invalide.
Description
Cette erreur est envoyée lors de l'appel à AjouterRegleEtape lorsque le token du terminal est incorrect.
Action
Vérifiez l'origine du token du terminal passé.
Erreur 310
Message
Erreur UpsPrs-310 : les chemins 'A règle 3 étape2, B règle 1 étape 2' et 'A règle 4 étape 4' sont ambigus.
Description
Cette erreur est envoyée lors de l'appel à Analyser lorsqu'il existe deux chemins strictement identiques pour effectuer l'analyse.
Action
Revoyez la grammaire.
Erreur 311
Message
Erreur UpsPrs-311 : le non terminal 'Instruction' de l'analyseur syntaxique 'UpsSyn' nécessite des paramètres.
Description
Cette erreur est envoyée lors de l'appel à AjouterEtapeRegle lorsque l'étape à ajouter est un non terminal paramétré et qu'aucune procédure de paramétrage n'est passée.
Action
Passez une procédure de paramétrage du non terminal.
Erreur 312
Message
Erreur UpsPrs-312 : le non terminal 'Instruction' de l'analyseur syntaxique 'UpsSyn' n'a pas de paramètre.
Description
Cette erreur est envoyée lors de l'appel à AjouterEtapeRegle lorsque l'étape à ajouter est un non terminal non paramétré et qu'une procédure de paramétrage est passée.
Action
Ne passez plus une procédure de paramétrage du non terminal.
Erreur 313
Message
Erreur UpsPrs-313 : un terminal de l'analyseur syntaxique 'UpsSyn' ne peut avoir de paramètre.
Description
Cette erreur est envoyée lors de l'appel à AjouterEtapeRegle lorsque l'étape à ajouter est un terminal et qu'une procédure de paramétrage est passée.
Action
Ne passez plus une procédure de paramétrage du non terminal.
Erreur 314
Message
Erreur UpsPrs-314 : le non terminal 'Instruction' de l'analyseur syntaxique 'UpsSyn' n'a pas de zone paramètre.
Description
Cette erreur est envoyée lors de l'appel à LireZoneParametre et que le non terminal en cours de reconnaissance n'a pas de paramètre.
Action
- N'appelez pas LireZoneParametre si le non terminal ne doit pas avoir de paramètre.
- Paramétrez le non terminal s'il doit avoir des paramètres.
Erreur 315
Message
Erreur UpsPrs-315 : une action d'une règle du non terminal 'Instruction' de l'analyseur syntaxique 'UpsIns' demande la zone de valeur de l'étape 2 qui est inexistante.
Description
Cette erreur est envoyée lors de l'appel à LireZoneEtape et que le numéro de l'étape référencée est soit invalide ou soit non encore executée.
Action
- Vérifiez que le numéro de l'étape est valide.
- Vérifiez que vous ne référencez pas une étape qui succède l'étape courante.
Erreur 316
Message
Erreur UpsPrs-316 : la règle 2 du non terminal 'Instruction' de l'analyseur syntaxique 'UpsSyn' ne peut avoir d'action de reprise.
Description
Cette erreur est envoyée lors de l'appel à AjouterRegle et qu'une action de reprise est passée alors qu'il ne s'agit pas d'une règle de reprise.
Action
Supprimez l'action de reprise.
Erreur 317
Message
Erreur UpsPrs-317 : les règles 2 et 4 du non terminal 'Instruction' de l'analyseur syntaxique 'UpsSyn' sont incluses l'une dans l'autre.
Description
Deux règles non récursives ne peuvent être incluses l'une dans l'autre.
Action
Factorisez les deux règles.
Erreur 318
Message
Erreur UpsPrs-318 : la règle 3 du non terminal 'Expression' de l'analyseur syntaxique 'UpsSyn' est en cours d'utilisation.
Description
Lors de l'appel à ChangerEtatRegle, l'analyseur a détecté que la règle à changer d'état est en cours d'utilisation.
Action
Revoyez l'origine de l'appel à ChangerEtatRegle.
Messages 401 à 499
Erreur 400
Message
Erreur UpsPrs-400 : erreur de programmation de l'analyseur lexical 'MonAnalyseurLexical' : l'analyseur lexical 'MonAnalyseurLexical' est utilisé.
Exception
ActionLexicaleImpossible
Erreur 401
Message
Erreur UpsPrs-401 : erreur de programmation de l'analyseur syntaxique 'MonAnalyseurSyntaxique' : le non terminal 'MonNonTerminal' de l'analyseur syntaxique 'MonAnalyseurSyntaxique' est inconnu.
Exception
ActionSyntaxiqueImpossible