Bibliothèque (French.h) : pistes d'amélioration

Pour discuter des langages que nous utilisons pour réaliser nos jeux : problèmes, solutions, suggestions...

Modérateurs: Stormi, Otto Grimwald

Bibliothèque (French.h) : pistes d'amélioration

Messagepar Stormi le Mer Nov 29, 2006 10:26 pm

Suite à mes débuts d'abord en tant que beta-testeur et depuis peu codeur enthousiate (c'est le début :)) de fiction interactive en français, un certain nombre de problématiques m'ont amené à me pencher sur la bibliothèque francophone de JL.

J'ouvre ce fil pour que l'on puisse y recenser les points que l'on pourrait améliorer dans la bibliothèque afin d'améliorer nos jeux en conséquence, et discuter de ces améliorations.

En espérant que le fil ne sera pas trop "fouillis". Si besoin on pourra l'organiser en "sommaire" avec des liens vers d'autres fils (si certains points suscitent de la discussion)
Edit : nous avons maintenant un outil permettant de gérer les diverses demandes et propositions qui ne trouvent pas de réponse immédiate dans ce fil : http://informfr.tuxfamily.org/flyspray/ (sélectionner le projet informfr. L'inscription nécessite une validation manuelle par Otto Grimwald ou par moi-même, que vous pouvez demander sur ce fil. Sauf exception nous sommes très rapides)

NDM (Otto) : voir un (ancien) fil annexe si besoin est :
viewtopic.php?t=114
Dernière édition par Stormi le Mer Nov 29, 2006 10:53 pm, édité 2 fois.
Samuel V.
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1205
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Messagepar Stormi le Mer Nov 29, 2006 10:28 pm

*** 1 - la gestion des pronoms *** [en cours de résolution, bien avancé]

Le fait que "le/la/les" puisse être à la fois un article ou un pronom pose des problèmes gênants.
Ce problème a déjà son fil dédié (en tout cas la fin du fil) : http://ifiction.free.fr/forumBB/viewtop ... =1729#1729


---------- Suite ----------
[30/11/2006] La version 2.1.1 améliore grandement la situation !
Dernière édition par Stormi le Sam Déc 02, 2006 11:33 am, édité 10 fois.
Samuel V.
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1205
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Messagepar Stormi le Mer Nov 29, 2006 10:33 pm

*** 2 - Ajout de verbes (verbe retirer) *** [quasiment validé, à faire]
Je suggère l'ajout du verbe retirer à la bibliothèque, en tant que synonyme de "enlever" (pour un vêtement).

Concrètement, ajouter 'retirer' en plus de 'enlever' et 'oter' déjà présents :

Code: Tout sélectionner
Verb 'enlever' 'oter' 'retirer'
* held -> Disrobe
* multiinside 'de'/'du'/'des' noun -> Remove;


Cela vous semble-t-il possible et souhaitable ?


---------- Suite ----------
[01/12/2006] L'avis de JL
Oui, pourquoi pas ? Penser à rajouter "retire"/"retirons"/"retirez" dans la fonction UnknownVerb.

A part ça il doit y avoir d'autres verbes à rajouter, je le crains. Les auteurs en rencontrent sans doute aux cours du développement de leur jeu. Une autre manière est de partir de la liste des actions en anglais (comme Disrobe) pour vérifier qu'elles sont formulables en français.
Dernière édition par Stormi le Sam Déc 02, 2006 11:34 am, édité 7 fois.
Samuel V.
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1205
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Messagepar Stormi le Mer Nov 29, 2006 10:37 pm

*** 3 - affichage d'un <l'> devant <ê> et autres lettres accentuées *** [à valider]

Des caractères peuvent-ils être ajoutés à la fonction LanguageContraction ? Pour tester, j'ai ajouté le caractère 'ê' à la fonction, afin que "le être" soit affiché en "l'être".

Code: Tout sélectionner
[ LanguageContraction text;
  if (text->0 == 'a' or 'e' or 'é' or 'è' or 'i' or 'o' or 'u' or 'h'
                 or 'A' or 'E' or 'I' or 'O' or 'U' or 'H') return 1;
  return 0;
];


Y a-t-il une raison particulière pour ne pas mettre tous les caractères accentués possiblement présents en début de mot dans la liste ?



---------- Suite ----------
[01/12/2006] L'avis de JL
A priori aucun problème pour rajouter 'ê', c'est sans doute un oubli.


[02/12/2006] Proposition de nouvelle version de la fonction (Samuel)
Code: Tout sélectionner
!*! ajouter d'autres voyelles (à accents) ?
[ LanguageContraction text;
  if (text->0 == 'a' or 'A' or 'à' or 'À' or 'â' or 'Â' or 'ä' or 'Ä'
      || text->0 == 'e' or 'E' or 'é' or 'É' or 'è' or 'È' or 'ê' or 'Ê' or 'ë' or 'Ë'
      || text->0 == 'i' or 'I' or 'î' or 'Î' or 'ï' or 'Ï'
      || text->0 == 'o' or 'O' or 'ô' or 'Ô' or 'ö' or 'Ö'
      || text->0 == 'u' or 'U' or 'û' or 'Û' or 'ü' or 'Ü'
      || text->0 == 'h' or 'H') return 1;
  return 0;
];

En espérant que cela ne pose pas de problèmes particuliers d'encodage selon le système. J'ai mis des lettres improbables (trouver "Ä" en début de mot, ce n'est pas évident à trouver, mais on ne sait jamais, quelqu'un peut inventer un mot qui commence toujours par une majuscule et qui commence par cette lettre là...
Dernière édition par Stormi le Sam Déc 02, 2006 11:36 am, édité 6 fois.
Samuel V.
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1205
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Messagepar Stormi le Mer Nov 29, 2006 10:49 pm

*** 4 - Gestion de "au/aux/à le/à la/à l'" lors de l'affichage *** [en cours, besoin d'aide]
Je n'ai pas trouvé de moyen simple d'afficher automatiquement "vous faites signe au conducteur" ou "vous faites signe aux voyageurs" ou "vous faites signe à l'homme".
En effet, en anglais dans tous les cas ce sera "to the" et on ne se pose pas de question.

J'ai donc écrit une petite fonction, probablement améliorable, afin de permettre l'utilisation de code tel que :
Code: Tout sélectionner
print "Vous faites signe ", (to_the) noun, ".^";


La fonction :
Code: Tout sélectionner
Array TabTemp1 -> 255;
Array TabTemp2 -> 255;
! Cette fonction permet d'afficher correctement "à la" "à l'" "au" ou "aux"
! selon le contexte.
! A AMELIORER : REUSSIR A NE PAS UTILISER DE VARIABLES GLOBALES
[ to_the obj;
    if (obj has pluralname)
    {
        print "aux ";
        obj.short_name.print();
    }
    else
    {
        !faire un tableau qui ne contient que le premier caractère de short_name
        obj.short_name.print_to_array(TabTemp1);
        TabTemp2->0 = TabTemp1->2;
        if (obj has male && LanguageContraction(TabTemp2)==0)
        {
            print "au ";
            obj.short_name.print();
        }
        else
        {
            print "à ", (the) obj;
        }
    }
];

Je ne suis pas complètement satisfait du code. J'ai pas mal galéré avec les tableaux, et je regrette d'avoir à déclarer deux tableaux globaux hors de la fonction. Si quelqu'un sait comment faire mieux...

A améliorer éventuellement : gérer une propriété, si elle est présente, similaire à 'articles', qui permettrait de spécifier explicitement que l'on dit par exemple "au haricot" et non pas "à l'haricot", pour un objet haricot.

Bref, je ne suis pas certain qu'en l'état actuel cela soit intégrable à la bibliothèque, ni même certain que cela soit souhaitable, mais je serais intéressé d'avoir votre retour.

Un développement similaire pourrait être fait pour "du/de l'/de la/des"...


---------- Suite ----------
[01/12/2006] ça existe déjà pour "du/de la/des", mais ne gère pas encore de cas "de l'". Le code de la fonction "to_the", que l'on pourrait d'ailleurs renommer "AAuAux" pour être cohérent, pourrait suivre le même modèle. Je remarque d'ailleurs que mon code ci-dessus ne gère pas les noms propres correctement.

Le code actuel de DeDuDes dans French.h :
(noter l'idée, bien que non opérationnelle pour l'instant, de réutiliser le formatage (the) pour savoir si le mot commence par un l', plutôt que de tout refaire comme dans ma fonction ci-dessus.)

Code: Tout sélectionner
[ DeDuDes obj; ! ex : descendre... sortir...
  if (obj == player) { print "de vous"; return; }
  if (obj has pluralname)  { print "des ", (name) obj; return;}
  if (obj has female or proper) { print "de ", (the) obj; return;} ! ex : de la voiture, de Paris
  !*! test ci-dessous à effectuer avec @output_stream (ZCode) et avec PrintAnyToArray (Glulx) ?
  ! if ((the)obj="l'...") {print "de ", (the) obj; return;} ! ex : de l'avion
  print "du ", (name) obj; return; ! ex : du train, du Nautilus (le Nautilus ne doit donc pas être considéré comme proper !*!)
];



[01/12/2006] L'avis de JL
La fonction me semble compliquée (il faut dire que je ne sais plus trop lire la syntaxe des tableaux en Inform ; en fait je suis un peu rouillé là). Il y a sans doute l'histoire du "h" aspiré ou pas (comme dans "haricot"), qui correspond peut-être à LanguageContraction, même si cette fonction ne semble pas traiter actuellement le problème [Edit: en fait LanguageContraction ne semble être appelée que lorsque la propriété articles n'existe pas].

(sinon pour cette histoire de "h" aspiré, il n'y avait pas déjà une propriété qui gère ça ? revoir le manuel du traducteur [Edit: oui, en fait la propriété articles permet de gérer le cas du "haricot" ; donc au lieu de rajouter une autre propriété il doit suffire de tester cette propriété articles (ou plutôt le résultat de l'affichage de (the) noun ; il faut peut-être écrire dans un buffer pour avoir cela, car obtenir l'article seul n'est peut-être pas possible) à l'intérieur de la fonction AAuAux et d'en déduire l'affichage correct ; mais ce n'est peut-être pas si facile, un peu comme dans DeDuDes le cas "de l'avion" que je n'avais pas codé sur le moment (trop difficile ?)])
Dernière édition par Stormi le Sam Déc 02, 2006 11:40 am, édité 9 fois.
Samuel V.
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1205
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Messagepar Stormi le Mer Nov 29, 2006 10:51 pm

*** 5 - ordres aux personnages à l'impératif *** [à étudier]

Actuellement, on peut dire "conducteur, sortir" ou "demander au conducteur de sortir", mais pas "conducteur, sors".
Si l'on veut pouvoir utiliser cette manière de donner des ordres, la gestion de l'impératif est importante, que cela soit dans nos propres jeux ou dans des traductions de jeux anglophones.

Je suis conscient que ce n'est peut-être pas une mince affaire, et je n'ai pas étudié la question en détail.


--------- Suite ----------
[01/12/2006] L'avis de JL
Ce n'est peut-être pas si compliqué, mais je ne sais pas d'où vient le problème. Il y a une remarque dans LanguageToInformese qui dit que les manipulations sur les tirets ne résolvent rien dans le cas d'un ordre donné à quelqu'un d'autre. C'est peut-être simplement parce que le pronom n'est plus à la première place mais à la troisième, peut-être que c'est plus compliqué que ça.
Dernière édition par Stormi le Sam Déc 02, 2006 11:43 am, édité 2 fois.
Samuel V.
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1205
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Messagepar Otto Grimwald le Jeu Nov 30, 2006 8:48 am

et bien, quel boulot ! Félicitation pour tes découvertes et projets.

Par contre
gérer une propriété, si elle est présente, similaire à 'articles', qui permettrait de spécifier explicitement que l'on dit par exemple "au haricot" et non pas "à l'haricot", pour un objet haricot.


il me semble que "au haricot" doit forcément fonctionner (je viens de tester : au haricot et à l'haricot fonctionnent en fait), donc ce que tu voudrais c'est empêcher d'écrire de façon incorrecte en français ? Je pense que ce n'est pas trop un problème dans le sens où les gens ne vont pas s'amuser à taper cela, et bon, s'ils le font par erreur, on dira qui peut le plus peut le moins...

en tout cas c'est super que tu te penches sur la question de l'amélioration de la bibliothèque francophone.
Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3025
Inscription: Mar Aoû 24, 2004 12:02 pm

Messagepar Stormi le Jeu Nov 30, 2006 9:53 am

Otto Grimwald a écrit:et bien, quel boulot ! Félicitation pour tes découvertes et projets.

Par contre
gérer une propriété, si elle est présente, similaire à 'articles', qui permettrait de spécifier explicitement que l'on dit par exemple "au haricot" et non pas "à l'haricot", pour un objet haricot.


il me semble que "au haricot" doit forcément fonctionner (je viens de tester : au haricot et à l'haricot fonctionnent en fait), donc ce que tu voudrais c'est empêcher d'écrire de façon incorrecte en français ? Je pense que ce n'est pas trop un problème dans le sens où les gens ne vont pas s'amuser à taper cela, et bon, s'ils le font par erreur, on dira qui peut le plus peut le moins...

en tout cas c'est super que tu te penches sur la question de l'amélioration de la bibliothèque francophone.

Non, c'est au niveau de l'affichage que je veux un français correct, pas à la saisie : "vous ne pouvez parler au haricot", et non "vous ne pouvez parler à l'haricot". (code : print "Vous ne pouvez parler", (to_the) noun)
Samuel V.
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1205
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Messagepar Otto Grimwald le Jeu Nov 30, 2006 10:58 am

ok, effectivement, l'argument est recevable.
Mais c'est vrai que souvent il vaut mieux essayer de faire des réponses assez générales pour éviter de se retrouver avec des cafouillages dans les articles. En tout cas s'il est possible d'améliorer la bibliothèque pour rendre les réponses plus précises, c'est un bon point.
Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3025
Inscription: Mar Aoû 24, 2004 12:02 pm

Messagepar Stormi le Ven Déc 01, 2006 1:16 pm

Hop, j'ai mis à jour les 5 points avec leur statut.
Samuel V.
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1205
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Messagepar Stormi le Ven Déc 01, 2006 4:51 pm

*** 6 - faire la différence entre "et" et "et"*** [à étudier]

En anglais, et donc en français, il y a deux mots séparés en inform pour dire "et" :

- and (et) => "prends la carotte et le lapin"
- then (puis) => "prends la carotte puis mange-la"

En français, on a aussi terriblement envie d'écrire cela, peut-être plus qu'en anglais : "prends la carotte et mange-la", qui donne un message d'erreur parce qu'on ne peut pas voir l'objet "mange".

Dans l'idéal, le parseur pourrait faire la distinction entre "et" utilisé en tant que "and" et "et" utilisé en tant que "puis".

- et "then" est suivi d'un verbe (ou d'un pronom, mais après bidouille de JL le pronom repasse derrière le verbe... sauf que ça suppose qu'on ait déjà reconnu "then" pour séparer... l'oeuf ou la poule ?)
- et "and" est suivi d'un mot désignant un objet.

Est-ce qu'à partir de ça on peut envisager quelque chose ?


---------- Suite ----------
[01/12/2006] L'avis de JL
C'est vrai que la solution Inform n'est pas très agréable ("." pour séparer les actions, "," interdit). "Puis" n'est pas ambigu à première vue, par contre "et", même si TADS se débrouille, si ça n'a pas été fait en anglais c'est mauvais signe car c'est le même problème. Ou alors c'était pour coller au parseur d'Infocom ?
Dernière édition par Stormi le Sam Déc 02, 2006 11:46 am, édité 2 fois.
Samuel V.
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1205
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Messagepar JL le Ven Déc 01, 2006 6:12 pm

Superbe, en effet !

*** 2

Oui, pourquoi pas ? Penser à rajouter "retire"/"retirons"/"retirez" dans la fonction UnknownVerb.

A part ça il doit y avoir d'autres verbes à rajouter, je le crains. Les auteurs en rencontrent sans doute aux cours du développement de leur jeu. Une autre manière est de partir de la liste des actions en anglais (comme Disrobe) pour vérifier qu'elles sont formulables en français.

*** 3

A priori aucun problème pour rajouter 'ê', c'est sans doute un oubli.

*** 4

La fonction me semble compliquée (il faut dire que je ne sais plus trop lire la syntaxe des tableaux en Inform ; en fait je suis un peu rouillé là). Il y a sans doute l'histoire du "h" aspiré ou pas (comme dans "haricot"), qui correspond peut-être à LanguageContraction, même si cette fonction ne semble pas traiter actuellement le problème [Edit: en fait LanguageContraction ne semble être appelée que lorsque la propriété articles n'existe pas].

(sinon pour cette histoire de "h" aspiré, il n'y avait pas déjà une propriété qui gère ça ? revoir le manuel du traducteur [Edit: oui, en fait la propriété articles permet de gérer le cas du "haricot" ; donc au lieu de rajouter une autre propriété il doit suffire de tester cette propriété articles (ou plutôt le résultat de l'affichage de (the) noun ; il faut peut-être écrire dans un buffer pour avoir cela, car obtenir l'article seul n'est peut-être pas possible) à l'intérieur de la fonction AAuAux et d'en déduire l'affichage correct ; mais ce n'est peut-être pas si facile, un peu comme dans DeDuDes le cas "de l'avion" que je n'avais pas codé sur le moment (trop difficile ?)])

*** 5

Ce n'est peut-être pas si compliqué, mais je ne sais pas d'où vient le problème. Il y a une remarque dans LanguageToInformese qui dit que les manipulations sur les tirets ne résolvent rien dans le cas d'un ordre donné à quelqu'un d'autre. C'est peut-être simplement parce que le pronom n'est plus à la première place mais à la troisième, peut-être que c'est plus compliqué que ça.

*** 6

C'est vrai que la solution Inform n'est pas très agréable ("." pour séparer les actions, "," interdit). "Puis" n'est pas ambigu à première vue, par contre "et", même si TADS se débrouille, si ça n'a pas été fait en anglais c'est mauvais signe car c'est le même problème. Ou alors c'était pour coller au parseur d'Infocom ?
JL
Grand Ancien
 
Messages: 287
Inscription: Mer Aoû 25, 2004 9:13 pm

Messagepar Stormi le Sam Déc 02, 2006 11:50 am

Info : j'ai mis à jour les 6 "points" avec leur statut, les réponses de JL et autres éléments.

J'ai également fait une proposition de codage pour le point 3.

Sauf avis contraire, dans quelque temps je supprimerai certains messages pour garder le fil bien clair, en ne conservant que les messages de résumé des différents sujets.
Samuel V.
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1205
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Messagepar JL le Sam Déc 02, 2006 2:33 pm

stormi a écrit:*** 3 - affichage d'un <l'> devant <ê> et autres lettres accentuées *** [à valider]
[02/12/2006] Proposition de nouvelle version de la fonction (Samuel)
Code: Tout sélectionner
!*! ajouter d'autres voyelles (à accents) ?
[ LanguageContraction text;
  if (text->0 == 'a' or 'A' or 'à' or 'À' or 'â' or 'Â' or 'ä' or 'Ä'
      || text->0 == 'e' or 'E' or 'é' or 'É' or 'è' or 'È' or 'ê' or 'Ê' or 'ë' or 'Ë'
      || text->0 == 'i' or 'I' or 'î' or 'Î' or 'ï' or 'Ï'
      || text->0 == 'o' or 'O' or 'ô' or 'Ô' or 'ö' or 'Ö'
      || text->0 == 'u' or 'U' or 'û' or 'Û' or 'ü' or 'Ü'
      || text->0 == 'h' or 'H') return 1;
  return 0;
];

En espérant que cela ne pose pas de problèmes particuliers d'encodage selon le système. J'ai mis des lettres improbables (trouver "Ä" en début de mot, ce n'est pas évident à trouver, mais on ne sait jamais, quelqu'un peut inventer un mot qui commence toujours par une majuscule et qui commence par cette lettre là...


Pour le code proposé, si ça ne ralentit pas trop le programme, pourquoi pas. A part ça, pour les retours à la ligne le plus simple et (peut-être) le plus rapide semble être de n'utiliser que des "or" :

Code: Tout sélectionner
!*! ajouter d'autres voyelles (à accents) ?
[ LanguageContraction text;
  if (text->0 == 'a' or 'A' or 'à' or 'À' or 'â' or 'Â' or 'ä' or 'Ä'
      or 'e' or 'E' or 'é' or 'É' or 'è' or 'È' or 'ê' or 'Ê' or 'ë' or 'Ë'
      or 'i' or 'I' or 'î' or 'Î' or 'ï' or 'Ï'
      or 'o' or 'O' or 'ô' or 'Ô' or 'ö' or 'Ö'
      or 'u' or 'U' or 'û' or 'Û' or 'ü' or 'Ü'
      or 'h' or 'H') return 1;
  return 0;
];
JL
Grand Ancien
 
Messages: 287
Inscription: Mer Aoû 25, 2004 9:13 pm

Messagepar Stormi le Sam Déc 02, 2006 3:24 pm

j'ai testé avec que des or, mais la fonction renvoyait alors "1" pour un mot qui commence par un "c" ! Je me suis dit qu'il y avait peut-être une limite au nombre de "or".

Sinon, ça ne devrait pas ralentir l'affichage puisque la fonction n'est pas appelée souvent et ce ne sont que de simples tests. Je pense que ça ne devrait pas ralentir d'une manière perceptible.
Samuel V.
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1205
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Messagepar JL le Lun Déc 25, 2006 7:36 pm

stormi a écrit:j'ai testé avec que des or, mais la fonction renvoyait alors "1" pour un mot qui commence par un "c" ! Je me suis dit qu'il y avait peut-être une limite au nombre de "or".

Sinon, ça ne devrait pas ralentir l'affichage puisque la fonction n'est pas appelée souvent et ce ne sont que de simples tests. Je pense que ça ne devrait pas ralentir d'une manière perceptible.


Oui, c'est sans doute très proche en terme de vitesse. Ca devrait même donner le même résultat. Bizarre quand même cette histoire, j'essaierai de tester ça un jour. Bref. A moins que le "or" ne fonctionne correctement qu'avec des caractères non-spéciaux, les spéciaux étant peut-être décomposés en plusieurs caractères non-spéciaux, dont le "c" ? (Edit: en fait non, les caractères accentués semblent fonctionner à ce stade comme les autres ; le problème viendrait plutôt du nombre de "or" utilisés) Bref.
JL
Grand Ancien
 
Messages: 287
Inscription: Mer Aoû 25, 2004 9:13 pm

Messagepar JL le Mar Déc 26, 2006 11:15 am

J'ai rajouté cette ligne dans la fonction Initialize d'un jeu:
Code: Tout sélectionner
   print 'c' == 'a' or 'A' or 'à' or 'À' or 'â' or 'Â' or 'ä' or 'Ä'
      or 'e' or 'E' or 'é' or 'É' or 'è' or 'È' or 'ê' or 'Ê' or 'ë' or 'Ë'
      or 'i' or 'I' or 'î' or 'Î' or 'ï' or 'Ï'
      or 'o' or 'O' or 'ô' or 'Ô' or 'ö'  or 'Ö'
      or 'u' or 'U' or 'û' or 'Û' or 'ü' or 'Ü'
      or 'h' or 'H';

Cela fait planter le compilateur. La ligne la plus longue qui a fonctionné est celle-ci :
Code: Tout sélectionner
   print 'c' == 'a' or 'A' or 'à' or 'À' or 'â' or 'Â' or 'ä' or 'Ä'
      or 'e' or 'E' or 'é' or 'É' or 'è' or 'È' or 'ê' or 'Ê' or 'ë' or 'Ë'
      or 'i' or 'I' or 'î' or 'Î' or 'ï' or 'Ï'
      or 'o' or 'O' or 'ô'; ! or 'Ô' or 'ö'  or 'Ö'
!      or 'u' or 'U' or 'û' or 'Û' or 'ü' or 'Ü'
!      or 'h' or 'H';

Cela affiche le chiffre 0 (pour "faux").
Bref je vais poser la question sur rec.arts.int-fiction pour voir si le problème est connu.
(Edit: la question est disponible sur http://groups.google.com/group/rec.arts ... f3e4080efe )
En attendant, ce que tu proposes est sans doute la meilleure solution.
(Edit: ceci semble confirmé dans la discussion mentionnée ci-dessus)
Dernière édition par JL le Dim Déc 31, 2006 9:32 pm, édité 1 fois.
JL
Grand Ancien
 
Messages: 287
Inscription: Mer Aoû 25, 2004 9:13 pm

Messagepar JL le Dim Déc 31, 2006 9:31 pm

Finalement pour "or" il s'agissait d'un bug connu du compilateur 6.30. La version 6.31 n'a pas ce problème. La limite au nombre d'éléments est bel et bien 27 :
http://www.inform-fiction.org/patches/C63013.html
JL
Grand Ancien
 
Messages: 287
Inscription: Mer Aoû 25, 2004 9:13 pm

Re: Bibliothèque (French.h) : pistes d'amélioration

Messagepar Yoruk le Dim Fév 17, 2008 8:04 pm

Il y a un petit problème avec la mise à jour des bibliothèques pour I7 windows... voici ce que me renvoie I7:


The 471-word source text has successfully been translated into an
intermediate description which can be run through Inform 6 to complete
compilation. There were 4 rooms and 3 things.
Inform 7 has finished.

C:\PROGRAM FILES\INFORM 7\Compilers\inform-631 \
-wSDG +include_path=..\Source,"C:\PROGRAM FILES\INFORM 7\Library\Natural",.\ auto.inf output.ulx
Inform 6.31N for Win32 (1st December 2007)
Inclus le français, seconde personne du pluriel au présent.
auto.inf(674): Error: No such constant as "I7_LIST_OF_TY_Say"
Compiled with 1 error and 912 suppressed warnings

Compiler finished with code 1





Je ne vois pas trop ce qu'il se passe... mais j'ai eu aussi un pb avec le fichier batch. (il manquait 2 fichiers à copier)
Yoruk, SATOR AREPO TENET OPERA ROTAS
Avatar de l’utilisateur
Yoruk
Grand Ancien
 
Messages: 1064
Inscription: Lun Juin 11, 2007 9:50 am
Localisation: Chiddes, à 150 mètres du lavoir

Re: Bibliothèque (French.h) : pistes d'amélioration

Messagepar Otto Grimwald le Dim Fév 17, 2008 8:28 pm

quels fichiers manquait-il ?

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3025
Inscription: Mar Aoû 24, 2004 12:02 pm

Suivante

Retourner vers Questions techniques et aide pour votre code

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron