Discuss Scratch

ababoin07
Scratcher
500+ posts

eval() mais sur scratch

Bonjour,

Je suis actuellement en train de travailler sur un projet, qui prendra en input une expression (comme “max(min(1,2),abs(-3))”), j’ai vu sur internet un algorithme pour cela, l’algorithme de shunting yard, sauf que je nnarrive pas à y implémenter les fonctions sans utiliser de récursivité… quelqu’un a t il déjà essayé de faire quelque chose de semblable? Et comment a t il fait?

Merci d’avance

ababoin07
ma33-ma
Scratcher
100+ posts

eval() mais sur scratch

J'ai déjà essayé de faire de l'analyse syntaxique (dans un projet qui analyse le Bbcode)
j'utilise des listes pour séparer les fonctions et les expressions mais les performances de scratch me rattrape facilement…
wilhelm43
Scratcher
1000+ posts

eval() mais sur scratch

ababoin07 wrote:

Bonjour, …
C'est possible sans récursivité mais ça reste mieux avec (j'en utilisé pour la lecture de listes (PAM+) ou encore un projet en développement).
Il suffit d'utiliser des listes (ou ma PAM) pour créer des indexs propres à chaque “profondeur”.
ababoin07
Scratcher
500+ posts

eval() mais sur scratch

Donc vous me conseillez la récursivité? J’essayerais donc de faire cela, @ma33-ma, j’ai déjà fait dans le passé un programme comme cela en python (sans eval() du coup), il était bugué mais bon, je vais essayer de l’implémenter en scratch. @wilhelm43 , merci pour ta proposition, mais j’ai trouvé une technique pour la récursivité beaucoup plus optimisé que l’utilisations de listes, et sans limite de profondeur… merci pour vos réponses..

Powered by DjangoBB