π
<-

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

Unread postby 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
Last edited by Bobb on 10 Nov 2023, 17:44, edited 4 times in total.

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
User avatar
BobbProgrammeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 0.4%
 
Posts: 320
Joined: 19 Apr 2020, 12:37
Location: Morbihan
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes info

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

Unread postby 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 !
User avatar
hr59
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 93.6%
 
Posts: 15
Images: 4
Joined: 01 Nov 2022, 18:46
Gender: Not specified
Calculator(s):
MyCalcs profile

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

Unread postby 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
User avatar
BobbProgrammeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 0.4%
 
Posts: 320
Joined: 19 Apr 2020, 12:37
Location: Morbihan
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes info

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

Unread postby GRIFFON » 10 Jun 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
User avatar
GRIFFONProgrammeur
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 60.2%
 
Posts: 73
Images: 4
Joined: 28 Dec 2022, 10:43
Gender: Male
Calculator(s):
MyCalcs profile
Class: terminal pro tma

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

Unread postby Bobb » 12 Jun 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.
Last edited by Bobb on 09 Jul 2023, 23:11, edited 1 time in total.

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
User avatar
BobbProgrammeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 0.4%
 
Posts: 320
Joined: 19 Apr 2020, 12:37
Location: Morbihan
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes info

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

Unread postby GRIFFON » 26 Jun 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
User avatar
GRIFFONProgrammeur
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 60.2%
 
Posts: 73
Images: 4
Joined: 28 Dec 2022, 10:43
Gender: Male
Calculator(s):
MyCalcs profile
Class: terminal pro tma

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

Unread postby Bobb » 22 Aug 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
User avatar
BobbProgrammeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 0.4%
 
Posts: 320
Joined: 19 Apr 2020, 12:37
Location: Morbihan
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes info

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

Unread postby Adriweb » 22 Aug 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 ?

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...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79%
 
Posts: 14758
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

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

Unread postby Bobb » 23 Aug 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.
Last edited by Bobb on 23 Aug 2023, 14:30, edited 1 time in total.

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
User avatar
BobbProgrammeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 0.4%
 
Posts: 320
Joined: 19 Apr 2020, 12:37
Location: Morbihan
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes info

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

Unread postby SlyVTT » 23 Aug 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: Select all
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
User avatar
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 45.7%
 
Posts: 524
Images: 31
Joined: 19 Jan 2021, 09:41
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
GitHub: SlyVTT

Next

Return to Langages alternatifs

Who is online

Users browsing this forum: ClaudeBot [spider] and 1 guest

-
Search
-
Social TI-Planet
-
Featured topics
Grand Concours 2024-2025 - Programmation Python
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
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.
755 utilisateurs:
>745 invités
>2 membres
>8 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)