π
<-
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: 97.7%
 
Posts: 3300
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
Class: MP
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: 97.7%
 
Posts: 3300
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
Class: MP
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: 55.3%
 
Posts: 13040
Images: 1087
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: 97.7%
 
Posts: 3300
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
Class: MP
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: 97.7%
 
Posts: 3300
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
Class: MP
GitHub: Ti64CLi

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: 45.1%
 
Posts: 589
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: 97.7%
 
Posts: 3300
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
Class: MP
GitHub: Ti64CLi

Re: [HELP] Portage de Golem sur Nspire

Unread postby Ti64CLi++ » 28 Aug 2020, 16:12

J'ai finalement résolu mon problème, en recommençant de zéro.
Voici le lien du repo github : https://github.com/Ti64CLi/golem-nspire
Je m'occupe actuellement de rajouter des fonctionnalités, celle de base fonctionnant toutes à priori.
Je mets à jour sur TI-P dès que possible ;)
Image
User avatar
Ti64CLi++Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 97.7%
 
Posts: 3300
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
Class: MP
GitHub: Ti64CLi

Re: [HELP] Portage de Golem sur Nspire

Unread postby Zocipal » 28 Aug 2020, 16:42

Super :-) !
Image
User avatar
ZocipalProgrammeur
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 48.6%
 
Posts: 112
Joined: 12 Sep 2019, 20:15
Location: Hauts-de-France
Gender: Male
Calculator(s):
Class: 1ère Maths Physique NSI

Re: [HELP] Portage de Golem sur Nspire

Unread postby Ti64CLi++ » 28 Aug 2020, 16:51

Je ne savais pas que ce projet intéressait encore du monde :p
Image
User avatar
Ti64CLi++Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 97.7%
 
Posts: 3300
Images: 75
Joined: 04 Jul 2014, 14:40
Location: Clermont-Ferrand 63
Gender: Male
Calculator(s):
Class: MP
GitHub: Ti64CLi


Return to Native: Ndless, Linux, ...

Who is online

Users browsing this forum: No registered users and 2 guests

-
Search
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Découvre les nouvelles fonctionnalités en Python de l'OS 5.2 pour les Nspire CX II
Découvre les nouvelles fonctionnalités en Python de l'OS 5.5 pour la 83PCE/84+C-T Python Edition
Omega, le fork étendant les capacités de ta NumWorks, même en mode examen !
1234
-
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 Calculatrices à acheter chez Calcuso
-
Stats.
926 utilisateurs:
>908 invités
>12 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)