π
<-
Chat plein-écran
[^]

Nouveau langage interprété on-calc TI-83 PCE : Neon

Assembleur, Axe, C/C++, ICE...

Nouveau langage interprété on-calc TI-83 PCE : Neon

Message non lude Bobb » 22 Mar 2023, 21:13

(Note : les informations données dans ce post ne sont plus à jour, veuillez vous référer au site officiel de Neon ou à la suite de ce topic)

Bonsoir à tous,

Aujourd'hui je vais enfin vous présenter le projet sur lequel je travaille depuis plus d'un an, et qui n'est pas loin d'aboutir.
Je précise avant toute chose que Neon n'est pas un langage `professionnel`, donc pas très optimisé, et encore un peu buggé.

Voici mon constat sur la TI-83 Premium CE Edition Python :
Pour les langages on-calc :
-> ICE : trop compliqué pour faire des trucs simples et rapidement + pas assez souple
-> TI-Basic : trop lent et limité en terme de fonctionnalités autres que mathématiques
-> Python : pas assez de mémoire et trop lent en terme de graphiques

Donc : pour ceux qui veulent programmer sur calculatrice, ils commencent par le python ou le TI-Basic, puis se rendent compte des limites, donc vont devoir passer du temps à apprendre ICE, un langage compilé de bas niveau, ou bien abandonnent.

Conclusion : Il faut nouveau langage interprété on-calc. Mais quelque chose de mieux que ce qui a déjà été proposé jusqu'alors, C'est-à-dire une solution :
-> facile à apprendre
-> facile à utiliser (si possible proche du python pour plus de facilité à utiliser et à apprendre)
-> relativement rapide ou présence d'un grand nombre de fonctions built-in pour avoir un code léger et rapide
-> souple, léger, ne limitant pas les fonctionnalités, et utilisant peu de mémoire


C'est pourquoi j'ai l'honneur de vous présenter Neon.

Neon est un langage interprété impératif de haut niveau, implémenté en C, donc l'interpréteur tient en moins de 40 ko.
Reprenant en partie des concepts de python, Neon est extrêmement facile à apprendre pour quelqu'un qui sait déjà programmer un peu.

Neon peut être qualifié de `langage moderne`, par opposition à ICE, au TI-Basic. Vous pouvez utiliser autant de variables que vous voulez, créer des listes de tout ce que vous voulez, bref, Neon est infiniment plus souple que Ti-Basic.

Aucun test de performance pour comparer n'a cependant été mené, pour la simple et bonne raison que Neon n'a jamais été compilé pour la calculatrice, bien qu'il puisse être prêt. J'attends encore, le temps d'ajouter quelques fonctionnalités avant.



Vous pouvez néanmoins bien sûr le télécharger pour votre PC sur TI-Planet, ou bien consulter le code source et exécuter Neon en ligne sur Replit.

Vous pouvez également dès maintenant vous rendre sur le site officiel du langage Neon : https://langage-neon.org
Vous y trouverez pas mal d'informations, dont un tuto pour apprendre Neon (bien qu'il ne soit pas terminé).

Rejoignez-nous également sur notre serveur Discord pour discuter, poser des questions, etc.



Maintenant, un petit bilan rapide sur les fonctionnalités de Neon (et les fonctionnalités à venir) :
- variables de chaines de caractères, nombres, booléens, None
- listes de tous types confondus
- boucles (for et while)
- blocs conditionnels
A venir
- mots clés break, continue, import, return
- création de fonctions !


Ainsi, visitez les liens que j'ai donnés, le tutoriel sur langage-neon.org va petit à petit se remplir. Je joins également une mini-documentation rapide pour apprendre rapidement Neon.


Voilà, j'espère que je reviendrais bientôt vers vous pour vous présenter des nouveautés. En attendant, vous pouvez me dire ce que vous en pensez ou bien me poser des questions.

Bonne soirée,
Bobb
Dernière édition par Bobb le 10 Nov 2023, 17:44, édité 4 fois.

Tous mes programmes sont disponibles ici

↳ Testez mon simulateur Android sur Ti-83 Premium CE et / ou Édition Python
Jetez un coup d'oeil à mon langage de programmation interprété Neon.

Image
Avatar de l’utilisateur
BobbProgrammeur
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Prochain niv.: 94.5%
 
Messages: 300
Inscription: 19 Avr 2020, 12:37
Localisation: Morbihan
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: CPGE MPI

Re: Nouveau langage interprété on-calc TI-83 PCE : Neon

Message non lude hr59 » 23 Mar 2023, 05:13

Bravo , Felicitations !
Grace a toi , nous allons assister a la naissance d'un nouveau language de programmation , crée par un des emembres de la communauté TI-Planet , ce qui te permettra à toi et Ti-Planet du prestige!
Fe plus , j'ai essayé de lancer un programme que j'ai crée avec et j'ai constaté que l'execution du programme était +rapide que sur python ou ti-basic
Continue comme ça !
Avatar de l’utilisateur
hr59
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Prochain niv.: 93.6%
 
Messages: 15
Images: 4
Inscription: 01 Nov 2022, 18:46
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Nouveau langage interprété on-calc TI-83 PCE : Neon

Message non lude Bobb » 23 Mar 2023, 07:19

Je te remercie pour ton enthousiasme, néanmoins, je tiens à préciser que cette différence de rapidité vient du fait que l'ordinateur sur lequel tu as exécuté le programme est plus rapide que la calculatrice.
Il me reste encore pas mal d'optimisations à faire.

Tous mes programmes sont disponibles ici

↳ Testez mon simulateur Android sur Ti-83 Premium CE et / ou Édition Python
Jetez un coup d'oeil à mon langage de programmation interprété Neon.

Image
Avatar de l’utilisateur
BobbProgrammeur
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Prochain niv.: 94.5%
 
Messages: 300
Inscription: 19 Avr 2020, 12:37
Localisation: Morbihan
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: CPGE MPI

Re: Nouveau langage interprété on-calc TI-83 PCE : Neon

Message non lude GRIFFON » 10 Juin 2023, 21:17

G regarder moi aussi mais je n'ais pas vu de technique pour afficher des sprites ou ne serais ce que des formes.
J'ai mal vu ou c'est un langage plus pour les calculs que pour les graphismes ?
Teste mon meilleur jeu : Labyrinthe
Le sujets sur ce jeu ici
Image
Avatar de l’utilisateur
GRIFFONProgrammeur
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 32%
 
Messages: 55
Images: 4
Inscription: 28 Déc 2022, 10:43
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: premiere pro tma

Re: Nouveau langage interprété on-calc TI-83 PCE : Neon

Message non lude Bobb » 12 Juin 2023, 06:23

Neon est bel et bien destiné à un affichage graphique et à la création de jeux.
Cependant il est encore dans une phase expérimentale de développement, où je me concentre sur ses fonctionnalités internes.
Autrement dit, j'ai encore à implémenter les blocs break/continue et la création de fonctions utilisateur avant de simplement ajouter des fonctions built-in.
Ensuite, je pourrais effectivement ajouter toutes sortes de fonctions, graphismes, etc.
Dernière édition par Bobb le 09 Juil 2023, 23:11, édité 1 fois.

Tous mes programmes sont disponibles ici

↳ Testez mon simulateur Android sur Ti-83 Premium CE et / ou Édition Python
Jetez un coup d'oeil à mon langage de programmation interprété Neon.

Image
Avatar de l’utilisateur
BobbProgrammeur
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Prochain niv.: 94.5%
 
Messages: 300
Inscription: 19 Avr 2020, 12:37
Localisation: Morbihan
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: CPGE MPI

Re: Nouveau langage interprété on-calc TI-83 PCE : Neon

Message non lude GRIFFON » 26 Juin 2023, 19:42

Ok génial
J'attends avec impatience la suite de Néon
Teste mon meilleur jeu : Labyrinthe
Le sujets sur ce jeu ici
Image
Avatar de l’utilisateur
GRIFFONProgrammeur
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 32%
 
Messages: 55
Images: 4
Inscription: 28 Déc 2022, 10:43
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: premiere pro tma

Re: Nouveau langage interprété on-calc TI-83 PCE : Neon

Message non lude Bobb » 22 Aoû 2023, 21:12

Bonsoir à tous,
J'ai enfin commencé à travailler sur la version calculatrice de Neon.
Mais un problème se pose.
Alors que tout le code compile sans aucun Warning avec gcc, clang, sur Windows et Linux et que tout fonctionne à merveille, même sous l'oeil attentif de Valgrind, rien ne va plus quand j'exécute Neon sur la calculatrice.
Je dois faire face à des erreurs incompréhensibles.
J'explique : j'ai un tableau rempli de pointeurs de structures, que j'appelle ADRESSES. Dans ces structures, il y a un champ de type char que je mets à 'f' (la valeur importe peu).
Ensuite, j'effectue la copie d'un tableau de char* appelé NOMS.
C'est là que tout se corse. Quand je relis la valeur du champ de type char du premier élément du tableau ADRESSES, elle a changé toute seule, et est devenue la dernière lettre du septième élément du tableau de chaînes de caractères.

La ligne causant l'erreur est exactement :
list->tab[list->len] = chaine;

Où chaine est "exit" et list->tab est de type char**. Je précise que le tableau est au moins de taille list->len + 1. Cette ligne est au moment où l'on met le septième élément du tableau de char* dans le nouveau tableau.

Tout se passe comme si en même temps d'exécuter la ligne comme il faut, le programme exécutait quelque chose du genre de : ADRESSES->tab[0]->type = chaine[3];

Cette erreur survient systématiquement, et je n'arrive pas à comprendre le lien entre le septième élément du tableau de char* et la première structure du tableau ADRESSES.

Je pense que c'est une erreur due au fait que le Zilog ez80 est un processeur d'un type différent des processeurs sur lesquels je compile habituellement, et qui ne sont pas sensibles à une certaine chose que je fais peut être mal.

En tous cas, je compte sur vous pour m'aider.

Tous mes programmes sont disponibles ici

↳ Testez mon simulateur Android sur Ti-83 Premium CE et / ou Édition Python
Jetez un coup d'oeil à mon langage de programmation interprété Neon.

Image
Avatar de l’utilisateur
BobbProgrammeur
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Prochain niv.: 94.5%
 
Messages: 300
Inscription: 19 Avr 2020, 12:37
Localisation: Morbihan
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: CPGE MPI

Re: Nouveau langage interprété on-calc TI-83 PCE : Neon

Message non lude Adriweb » 22 Aoû 2023, 22:02

Euh alors oui ok on veut bien t'aider, mais il va nous falloir le code source :P
C'est dispo sur GitHub ou autre ?
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.1%
 
Messages: 14605
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Nouveau langage interprété on-calc TI-83 PCE : Neon

Message non lude Bobb » 23 Aoû 2023, 10:14

Vous trouverez le code source ici : https://replit.com/@raphaelbob/Langage- ... eon#main.c, mais ça ne sera pas très utile car le programme fonctionne très bien ici.
Je vous donnerai accès au Project Builder dès que j'aurai enlevé les modifications d'hier qui n'ont servi à rien et qui ajoutent plein de fuites mémoire au programme.
Dernière édition par Bobb le 23 Aoû 2023, 14:30, édité 1 fois.

Tous mes programmes sont disponibles ici

↳ Testez mon simulateur Android sur Ti-83 Premium CE et / ou Édition Python
Jetez un coup d'oeil à mon langage de programmation interprété Neon.

Image
Avatar de l’utilisateur
BobbProgrammeur
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Prochain niv.: 94.5%
 
Messages: 300
Inscription: 19 Avr 2020, 12:37
Localisation: Morbihan
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: CPGE MPI

Re: Nouveau langage interprété on-calc TI-83 PCE : Neon

Message non lude SlyVTT » 23 Aoû 2023, 11:59

Je dois être bête, mais je n'accède à rien avec ton lien, sauf à une vidéo, pas de code source.

C'est peut être bête ce que je vais écrire, n'ayant pas de code pour vérifier si ça tombe juste ou pas, mais deux choses m'interpellent quand je vois une ligne telle que
Code: Tout sélectionner
list->tab[list->len] = chaine;


1- quand on a un tableau avec N éléments, les indices valident pour accéder aux éléments du tableau vont de 0 à N-1. Tu comprendras donc que ton list->len me semble plus que douteux.

2- en C, il est interdit d'assigner une chaîne de caractères via l'opérateur égal (=). J'ai une suspicion quand je vois la fin de la ligne '= chaine;'. Peut-être travailles tu avec des pointeurs alors là ça peut fonctionner, sinon, si ce sont vraiment des chaînes, il faut faire une affectation via la fonction strcpy() ou strdup() si tu veux avoir une allocation automatique de la mémoire pour la chaîne de destination (penser à libérer la mémoire avec free() dans ce cas sinon fuite de mémoire).

Bref, Adriweb a raison, sans code source, on saura pas trop t'aider hormis possiblement répondre via des hypothèses (qui peuvent être complètement à côté de la plaque).
Some works in progress :
The GUI Toolkit NF for nSpireMyShmup for fxCG-50Magic Light for Casio Graph 90+E
and
Magic Light for nSpire CX/CX-II
Simple Text Editor for nSpireOutRun for Casio Graph 90+E
95%
50%
100%
75%
100%
And more to come ... stay tuned
Avatar de l’utilisateur
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 43%
 
Messages: 481
Images: 31
Inscription: 19 Jan 2021, 09:41
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
GitHub: SlyVTT

Suivante

Retourner vers Langages alternatifs

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 10 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1775 utilisateurs:
>1761 invités
>9 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)