π
<-
Chat plein-écran
[^]

[HELP] Portage de Golem sur Nspire

C, C++, ASM...

[HELP] Portage de Golem sur Nspire

Unread postby Ti64CLi++ » 28 Sep 2019, 13:19

Bonjour,
Je ne sais pas si vous avez vu, mais j'ai fait un portage d'un interpréteur/compilateur de Golem sur Nspire, disponible ici.
Je suis actuellement en train de l'améliorer, et je rencontre un problème vraiment bizarre.

Dans le fichier neuron.gs, à la fin, ces quelques lignes ne marchent pas comme il faudrait:
Code: Select all
println("Enter two values:")
print("V1: ")
let v1 = parseFloat(getline())
print("V2: ")
let v2 = parseFloat(getline())


C'est à dire que le print("V1: ") est affiché après l'exécution des getline(), de même pour le print("V2: ").
En faisant quelques tests sur les implémentations des fonctions print( et println(, j'ai remarqué qu'en remplaçant le print par un println, cela s'affichait bien dans l'ordre.

C'est donc la ligne putchar('\n'); qui fait que le texte s'affiche avant ou pas, dans le fichier corelib.c:
Code: Select all
void core_print(vm_t* vm) {
   val_print(vm_pop(vm));
   vm_push(vm, NULL_VAL);
}

void core_println(vm_t* vm) {
   val_print(vm_pop(vm));
   putchar('\n');
    vm_push(vm, NULL_VAL);
}


Mais je ne comprends pas pourquoi cela ne marcherait pas avec print alors que ça marche avec println.
Comment le putchar('\n'); conditionne l'affichage direct ou non avec val_print?

Le code complet est disponible sur github : https://github.com/Ti64CLi/golem-nspire

En espérant que quelqu'un puisse m'aider,
Ti64CLi++
Image
User avatar
Ti64CLi++Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 76.7%
 
Posts: 3168
Images: 61
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
Class: Maths Sup
GitHub: Ti64CLi

Re: [HELP] Portage de Golem sur Nspire

Unread postby Ti64CLi++ » 30 Sep 2019, 15:46

Up
Image
User avatar
Ti64CLi++Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 76.7%
 
Posts: 3168
Images: 61
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
Class: Maths Sup
GitHub: Ti64CLi

Re: [HELP] Portage de Golem sur Nspire

Unread postby Adriweb » 01 Oct 2019, 03:49

Ca ne serait pas buffurisé jusqu'au prochain \n, comme en gros le printf sur ordinateur par exemple ?
User avatar
AdriwebAdmin.
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 52.8%
 
Posts: 12782
Images: 1081
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
Class: (ingénieur)
Twitter: adriweb
GitHub: adriweb

Re: [HELP] Portage de Golem sur Nspire

Unread postby Ti64CLi++ » 01 Oct 2019, 18:00

Euh, je sais pas, mais dans le code de val_print j'ai justement remplacé les printf par un fputs donc j'en sais rien je t'avoue, je m'y connais pas assez.
Mais même avec fputs ça marche pas :(
Image
User avatar
Ti64CLi++Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 76.7%
 
Posts: 3168
Images: 61
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
Class: Maths Sup
GitHub: Ti64CLi

Re: [HELP] Portage de Golem sur Nspire

Unread postby Ti64CLi++ » 14 Feb 2020, 16:55

Up
Image
User avatar
Ti64CLi++Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 76.7%
 
Posts: 3168
Images: 61
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
Class: Maths Sup
GitHub: Ti64CLi

Online

Re: [HELP] Portage de Golem sur Nspire

Unread postby Extra44 » 14 Feb 2020, 18:51

Bon faudrait voir plus dans le détail, mais je dirais comme adriweb.
Que c'est bufferisé jusqu'à recevoir un "/n" pour envoyer tout le buffer sur l'écran.
Pour en être sûr, il ne te reste plus qu'à faire quelques essais avec print, println,getline... pour bien voir comment ces instructions fonctionnent(... ou pas ;) )
User avatar
Extra44Premium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 43.9%
 
Posts: 576
Images: 1
Joined: 20 Jan 2011, 00:00
Gender: Male
Calculator(s):
Class: S.I.

Re: [HELP] Portage de Golem sur Nspire

Unread postby Ti64CLi++ » 15 Feb 2020, 14:23

OK, merci je vais essayer de regarder.
Mais je ne comprends pas exactement qu'est-ce qui est bufferise, les instructions telles que printf et puts ou les fonctions créées dans golem ?
Image
User avatar
Ti64CLi++Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 76.7%
 
Posts: 3168
Images: 61
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
Class: Maths Sup
GitHub: Ti64CLi


Return to Native: Ndless, Linux, ...

Who is online

Users browsing this forum: No registered users and 2 guests

-
Search
-
Featured topics
Omega, le fork étendant les capacités de ta NumWorks, même en mode examen !
Comparaisons des meilleurs prix pour acheter sa calculatrice !
12
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...

Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety 
-
Stats.
550 utilisateurs:
>523 invités
>21 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)