π
<-
Chat plein-écran
[^]

Analyse lexicale et syntaxique -nouveau langage oncalc ti83p

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

Re: Analyse lexicale et syntaxique -nouveau langage oncalc t

Message non lude newprog_creator » 18 Sep 2021, 22:36

Merci pour ta réponse.
Ton résultat en NPI est correct même si pas écrit dans le même ordre que celui que j'ai mentionné.
J'utilise le langage c car il me permettra de compiler le compilateur d'un nouveau langage de programmation oncalc (ti83pce et éventuellement nspire).
Il y avait bien des cas boiteux avec des pointeurs, mais l'algorithme reste en gros correct et est fidèle à la source.
Avatar de l’utilisateur
newprog_creator
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 17.2%
 
Messages: 49
Inscription: 29 Mar 2014, 19:07
Genre: Non spécifié
Calculatrice(s):
Classe: bac+13

Re: Analyse lexicale et syntaxique -nouveau langage oncalc t

Message non lude rentech7289 » 18 Sep 2021, 23:07

Je ne suis pas un spécialiste de la NPI, j'en connais que les grandes lignes. L'avantage de python est que les machines que tu cites l'utilise déjà...
Avatar de l’utilisateur
rentech7289
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 66.4%
 
Messages: 107
Inscription: 16 Aoû 2021, 02:40
Localisation: Lorraine luxembourgeoise
Genre: Homme
Calculatrice(s):

Re: Analyse lexicale et syntaxique -nouveau langage oncalc t

Message non lude Lionel Debroux » 18 Sep 2021, 23:48

C'est exact en théorie; cependant, le pauvre petit ATSAMD21 des 83PCEEP est extrêmement limité :)
Utiliser C/C++ pour les TI-Z80 est clairement la bonne méthode, d'autant qu'ainsi, le nouveau langage fonctionnera également sur les modèles non Python; comme cela n'a pas de sens de faire et maintenir deux implémentations dans deux langages différents, donc l'implémentation Nspire devrait elle aussi être C/C++.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 10.2%
 
Messages: 6773
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
Classe: -
GitHub: debrouxl

Re: Analyse lexicale et syntaxique -nouveau langage oncalc t

Message non lude rentech7289 » 19 Sep 2021, 03:58

La 83PCEEP dispose d'un processeur ARM 32 bits dédié pour python. L'autre avantage de python est que le code écrit pour un modèle est utilisable dans une autre sans trop de modifications. Les seules modifications concernées étant liées à tout ce qui touche à l'affichage. Avec les langages C, il faut une compilation pour chaque modèle... Le vrai problème dans le cas présent est le besoin de mémoire et de puissance de calcul. Or seul un processeur multicore comme un ARM est adapté pour ce genre d'applications parce qu'une analyse lexicale et une analyse syntaxique ne se traitent pas de la même manière. En conséquence, sauf à relire plusieurs fois les même données, avantage python...
Avatar de l’utilisateur
rentech7289
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 66.4%
 
Messages: 107
Inscription: 16 Aoû 2021, 02:40
Localisation: Lorraine luxembourgeoise
Genre: Homme
Calculatrice(s):

Re: Analyse lexicale et syntaxique -nouveau langage oncalc t

Message non lude Adriweb » 19 Sep 2021, 14:38

Non, le coprocesseur ARM des CE est trop peu puissant pour lui donner l'avantage malheureusement. Une base commune C/C++ est donc la seule alternative viable pour calculatrice. Elle pourra être compilée pour Nspire et CE, avec juste la couche d'interaction clavier+affichage de spécifique à la calculatrice ciblée.

Mais bon, faites des essais dans plusieurs langages si vous voulez voir quand même ce que ca donne :)
Image
MyCalcs
: Help the community's calculator documentations by filling out your calculator info!
MyCalcs
: Aidez la communauté à documenter les calculatrices en donnant des infos sur votre calculatrice ![/url]
Inspired-Lua.org
: All about TI-Nspire Lua programming
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 71.9%
 
Messages: 13728
Images: 1114
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
Twitter: adriweb
GitHub: adriweb

Re: Analyse lexicale et syntaxique -nouveau langage oncalc t

Message non lude rentech7289 » 19 Sep 2021, 14:52

Ce qui ne laisse que les nspire comme machine cible. Le C est à oublier, il ne peut pas gérer de threads. Il ne reste plus que le C++ et python. Le second est plus abordable, il n'y a pas de pointeurs à gérer. Comme langage de prototypage, c'est le meilleur choix. Rien n'empêche par la suite une implémentation dans un langage plus typé...
Avatar de l’utilisateur
rentech7289
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 66.4%
 
Messages: 107
Inscription: 16 Aoû 2021, 02:40
Localisation: Lorraine luxembourgeoise
Genre: Homme
Calculatrice(s):

Re: Analyse lexicale et syntaxique -nouveau langage oncalc t

Message non lude Adriweb » 19 Sep 2021, 14:58

Le C peut parfaitement gérer les threads, qu'est-ce que tu racontes lol.

Mais de toute façon, C'est pas comme si la CE était multithreadé ou multi-core. Sur la Nspire il y a des sortes de threads, oui, mais propriétaires a l'environnement Nucleus.

Mais pourquoi y aurait-il besoin de threads En premier lieu ?

Si le but est de faire un proto rapide sur ordi, oui, go utiliser python. Ca permettra de valider l'algorithme etc. Mais il me semblait que ce n'était pas le but ici.
Image
MyCalcs
: Help the community's calculator documentations by filling out your calculator info!
MyCalcs
: Aidez la communauté à documenter les calculatrices en donnant des infos sur votre calculatrice ![/url]
Inspired-Lua.org
: All about TI-Nspire Lua programming
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 71.9%
 
Messages: 13728
Images: 1114
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
Twitter: adriweb
GitHub: adriweb

Re: Analyse lexicale et syntaxique -nouveau langage oncalc t

Message non lude newprog_creator » 19 Sep 2021, 15:14

J'ai posté mon code c de Shunting yard dans un post précédent. J'ai fini par trouvé l'erreur, c'était dans la récupération des priorités des opérateurs avec la liste op_priority[]. L'algorithme respectait bien l'algorithme de shunting yard.
Quant au débat python/C, je pense que le C est bien plus rapide pour une compilation et pour l'interprétation d'un langage. On a accès au code natif également.
Avatar de l’utilisateur
newprog_creator
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 17.2%
 
Messages: 49
Inscription: 29 Mar 2014, 19:07
Genre: Non spécifié
Calculatrice(s):
Classe: bac+13

Re: Analyse lexicale et syntaxique -nouveau langage oncalc t

Message non lude rentech7289 » 19 Sep 2021, 15:38

Mais pourquoi y aurait-il besoin de threads En premier lieu ?

En TLN une analyse lexicale et une analyse syntaxique sont deux choses différentes, ce qui veut dire deux traitements au minimum...
Le C peut parfaitement gérer les threads, qu'est-ce que tu racontes lol.

En programmation objet, le C n'est pas ce qu'il y a de mieux dans la famille C, en particulier au niveau des structures de données...
C est bien plus rapide pour une compilation et pour l'interprétation d'un langage

Le prototypage consiste à vérifier si un programme fonctionne, pas à chercher à plusieurs endroits une possible erreur de programmation. Ce problème est d'autant plus important que le programme est volumineux. Et je ne parle pas des importations de bibliothèques et autres exotismes...
Avatar de l’utilisateur
rentech7289
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 66.4%
 
Messages: 107
Inscription: 16 Aoû 2021, 02:40
Localisation: Lorraine luxembourgeoise
Genre: Homme
Calculatrice(s):

Re: Analyse lexicale et syntaxique -nouveau langage oncalc t

Message non lude Adriweb » 19 Sep 2021, 15:48

newprog_creator a écrit:J'ai posté mon code c de Shunting yard dans un post précédent. J'ai fini par trouvé l'erreur, c'était dans la récupération des priorités des opérateurs avec la liste op_priority[]. L'algorithme respectait bien l'algorithme de shunting yard.

Ah, tant mieux si le problème a été trouvé et résolu :)

newprog_creator a écrit:Quant au débat python/C, je pense que le C est bien plus rapide pour une compilation et pour l'interprétation d'un langage. On a accès au code natif également.

Pour une implementation finale, oui en effet, il n'y a pas vraiment débat. Si tu te sens deja a l'aise avec ca, pourquoi pas :)


rentech7289 a écrit:
Mais pourquoi y aurait-il besoin de threads En premier lieu ?

En TLN une analyse lexicale et une analyse syntaxique sont deux choses différentes, ce qui veut dire deux traitements au minimum...

Et depuis quand 2 choses différentes = 2 threads différents ?
Les traitements n'ont aucun besoin d'être fait en parallèle. Ce qui ne serait de toute manière pas possible sur calculatrice et ne rajouterait que des contraintes inutiles.

Le C peut parfaitement gérer les threads, qu'est-ce que tu racontes lol.

En programmation objet, le C n'est pas ce qu'il y a de mieux dans la famille C, en particulier au niveau des structures de données....

Il n'y a
aucun
rapport entre le style de programmation (objet ou non), les structures de données disponibles, et la capacité (ou le besoin) à gérer les threads.

Tu sembles faire beaucoup de mélanges faux/inutiles pour je ne sais quelle raison, et ca risque de perdre tes interlocuteurs qui ne sont pas forcément experts.
Image
MyCalcs
: Help the community's calculator documentations by filling out your calculator info!
MyCalcs
: Aidez la communauté à documenter les calculatrices en donnant des infos sur votre calculatrice ![/url]
Inspired-Lua.org
: All about TI-Nspire Lua programming
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 71.9%
 
Messages: 13728
Images: 1114
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
Twitter: adriweb
GitHub: adriweb

PrécédenteSuivante

Retourner vers Langages alternatifs

Qui est en ligne

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

-
Rechercher
-
Social
-
Sujets à la une
Concours de dessin de Noël 2021 Jusqu'au 31 janvier 2022 inclus par Casio. Dessine ta liste au Père Noël sur calculatrice/émulateur Graph 90/35+E II en Python ou fx-92+ Spéciale Collège. Ouvert aux élèves et enseignants, classement séparé. À gagner 2 consoles Nintendo Switch pour les élèves, 2 trottinettes électriques pour les enseignants, 10 calculatrices Graph 90/35+E II au choix, 72 montres Casio G-Shock ou Vintage. Pas de perdant, goodies Casio pour tous les autres !
Coque NumWorks édition limitée Janvier 2022 à gagner.
Comparaisons des meilleurs prix pour acheter sa calculatrice !
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.
634 utilisateurs:
>599 invités
>29 membres
>6 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)