90

> pour le lbl, je comprend pas trop. ça veut dire que goto x[t] avec x[t]="test" renverras au lbl test ???
Non, Goto acceptera :
- un label explicite
- une expression quelconque de type label (x[t] par exemple), pas de type str; i.e. ici x[t]=test et pas "test"
- en mode compatibilité, #label, mais ce sera converti en interne


> Pour la porté des variable, c koi la porté parents ????
En fait c :
Define a()=Prgm
  Local a
  Define disp()=Prgm
    Parent a
    Disp a
    a+1->a
  EndPrgm
  1->a
  disp()
  disp()
EndPrgm


Ici, sans le 'Parent a', a pourrait très bien être en fait une variable globale; et la détermination automatique Global vs Parent est très risquée puisqu'on peut très bien imaginer un programme :
[pre] Define a()=Prgm 0->num Define b()=Prgm Define c()=Prgm Disp num num+1->num EndPrgm Local num For num,1,8 c() EndFor EndPrgm EndPrgm[/cite] Dans ce cas-là, si on fait une première version du prog sans la boucle For, il marche très bien; et dès qu'on modifie la fonction b() pour rajouter la boucle, le programme se mettrait à bugger! C un petit peu le problème, mais je pense pouvoir trouver une solution (du style Children, qui serait un peu le contraire de Parent - Children var ferait en sorte que tous les 'enfants' de la fonction accèdent à var telle qu'elle est définie dans la fonction qui comporte 'Children') Enfin bon, tout ça pour dire que c pas abandonné, mais que c pas non plus un petit truc fait en 2 secondes et qui serait aussi mal foutu que le basic TI...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

91

> En effet tu te trompes smile

Si tu n'utilises pas exactement les mêmes règles de portée des variables que TI, il n'y aura pas de compatibilité 100%. Même chose pour le système de labels, et probablement pour d'autres trucs encore.


Justement, je viens de dire que je ferai tout pour garder la compatibilité avec les progs existants (quitte à faire un mode compatibilité qui n'utilise pas toutes les optimisations de GT-Basic genre pour les Goto #label).
En particulier, la portée des variables sera une extension de la portée actuelle, et elle sera donc compatible.



> Etant donné que son truc a été annoncé comme 100 fois plus rapide que le Ti-Basic, tant pis pour les petits écarts de compatibilité
Je préfère quand même que tous les progs Basic puissent être recompilés avec GT-Basic (même si il va falloir rajouter des boucles de temporisation dans les jeux grin et éventuellement profiter du buffering, du plein écran ou encore de la vraie gestion des touches)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

92

Pollux
a écrit : En particulier, la portée des variables sera une extension de la portée actuelle, et elle sera donc compatible.

Pas forcément. Il faut penser à tous les cas de masquage bizarres. Par exemple, tu en as déjà donné un pour expliquer Parent.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

93

a ok, je vois... mais je crois pas qu'on puisse faire le 2nd exmple en TI-Basic (je suis pas sur, j'évite d'utiliser Prgm=p()...endprgm)
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

94

Kevin> avec la 1ère version que j'avais proposée (avec Parent), il faut effectivement changer la portée par défaut (Global en mode compatibilité, demande en mode 'natif'). Mais avec la 2è solution, il n'y a aucun pb de masquage. Et qd on importe un programme TI-Basic, il active automatiquement le mode de compatibilité, qui peut après être désactivé.

MacIntoc> non, c'est justement l'intérêt de GT-Basic. A l'époque où je programmais en basic, j'ai toujours été énervé par ces pbs de portée & co. Mais GT-Basic résoud ce pb (et il rajoute aussi les listes de listes, le retour de plusieurs valeurs par une fonction, etc...)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

95

arf... vivement qu'il sorte#soupir#
Et y a toujours pas de version utilisable ???
pasque je veux bien être beta-testeursmile
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

96

Pollux
a écrit : (et il rajoute aussi les listes de listes

C'est pas se qu'on appele communement un tableau a deux dimension ????

enfin en C c'est vrai qu'on peut faire un truc du genre

char **liste;

mais bon c'est pas tres propre..
Si tu parle de faire un truc genre
{{1,2},{7,8,4,1,6}}
c se qu'on appele un tableau..

le retour de plusieurs valeurs par une fonction, etc...)

Heu plusieur valeur par une fonction ???
je voudrait bien connaitre la syntaxe, pasque je ne connais aucun langage structuré qui fasse sa (C, Pascal,...)

Vaudrait mieux un type ressemblant au structure (record en vb) sa serait mieux a mon avis
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

97

godzil>
> Si tu parle de faire un truc genre
> {{1,2},{7,8,4,1,6}}
> c se qu'on appele un tableau..
Si tu veux, mais au contraire d'une matrice qui est une structure de données particulières (et donc fixe), comme la définition est récursive, je préfère parler de liste de liste. (puisqu'en Basic on appelle {1,2,3} une liste)

> Heu plusieur valeur par une fonction ???
> je voudrait bien connaitre la syntaxe, pasque je ne connais aucun langage structuré qui fasse sa (C, Pascal,...)
> Vaudrait mieux un type ressemblant au structure (record en vb) sa serait mieux a mon avis
Define Test()=Func
Return {a,b}
EndFunc
Test()->{c,d}

Par contre pour ce qui est du type structure, ce serait assez sympa, mais je ne vois vraiment pas comment concilier ça avec un typage run-time, sans générer un code absolument immonde (du style struct.property = getStructPropery(struct,"property")). Je ne vois pas d'autre manière de procéder :
- typage carrément explicite type C, mais problèmes de polymorphisme (fonction pouvant retourner plusieurs types de structures)
- typage implicite type CAML, mais alors c vraiment horrible puisque 2 records ne peuvent pas avoir les mêmes noms d'étiquettes (ie seul 1 type peut avoir une propriété nommée "x")
- typage run-time, mais alors le code serait horrible et l'accès serait plutôt lent (contrairement à ce qui se passerait pour une liste)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

98

au fait, avec ça, un sp local pourra-t-il s'appeler récursivement? car pour l'instant, en basic, on ne peut pas:
[12]Local [/12]fact
[12]Define [/12]fact(n)=[12]Func[/12]
[12]Return when[/12](n=0,1,fact(n-1))
[12]EndFunc[/12]
[12]Disp [/12]fact(1)[3]©ok[/3]
[12]Disp [/12]fact(2)[3]©Error: program not found[/3]

Et si fact est globale, l'erreur disparait
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

99

Oui, à condition de changer Local en Children smile (la terminologie 'Children' n'est pas du tout définitive, mais tu vois ce que je veux dire)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

100

c ce genre de problème qu'il explique à la fin de la page précédente.
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

101

cela dit c plus une extension qu'un problème smile

je vous réserve aussi quelques surprises avec l'interfaçage avec le C ou encore les listes triées à la volée...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

102

j'imagine pas la tête de la doc que tu vas devoir te tapergrin

(t'as pas répondus à mon post #94grin)
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

103

ah oui, ben la réponse habituelle tongue

Sinon pour la doc, je pense que ça va être effectivement assez rigolo wink Mais je prendrais des syntaxes beaucoup plus claires que celles dont je vous ai parlé plus haut, et puis quelques exemples suffiront à clarifier les choses je pense...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

104

arf... dommagesad

lolgrin
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.