[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Résolution de l'équation iScheme = infix (Scheme)
From: |
Jean Abou Samra |
Subject: |
Re: Résolution de l'équation iScheme = infix (Scheme) |
Date: |
Wed, 8 Jun 2022 23:22:30 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 |
Bonjour,
Le 08/06/2022 à 19:08, Bernard Barbier a écrit :
Hello,
L'idée est excellente, mais il faudrait un truc comme bison et flex
pour parser le tout. Et ça, je ne sais plus faire...
La biblio donne beaucoup de réponses sur /Scheme to C/, mais pas
l'inverse, c'est que ça doit être graton comme on dit à Lyon.
Guile 2 (la version de Guile utilisée dans LilyPond 2.23) possède un
équivalent à Bison qui permet d'écrire un analyseur syntaxique sans
sortir de Scheme, ou plutôt deux : un générateurs d'analyseurs LALR(1),
comme Bison, et un pour les analyseurs PEG.
https://www.gnu.org/software/guile/manual/html_node/LALR_00281_0029-Parsing.html
https://www.gnu.org/software/guile/manual/html_node/PEG-Parsing.html
Par conséquent, il serait tout à fait envisageable de définir cette
syntaxe dans un fichier à \include, sans toucher au code de LilyPond.
Utile, je pense quand même : combien parmi les anciens (dont je fais
partie) et même la jeunesse ont appris LISP à l'école (et même parfois
sous la torture), juste pour le partiel de juin ?
Dès qu'on a compris que c'était un langage à pile, je pense qu'on a
compris beaucoup de choses (d'mon temps, on apprenait même la notation
polonaise inverse ! )
Du coup, Scheme devient /relativement/ listble, mais... de là à être
écrit... Donc utile, et ça vaudrait presque le coup d'y mettre un
thésard en info !
Oh, pas besoin d'un thésard : une fois la syntaxe définie, je ne crois
pas que l'implémenter devrait poser de problème majeur. Par contre, à
titre personnel, je serai plutôt concentré sur les grilles d'accords
cette semaine.
Comme je le disais à Jacques, je suis curieux des réponses sur ce fil
(merci pour celles déjà données). Comme l'apprentissage de Scheme est un
point qui cause régulièrement des difficultés, j'aimerais comprendre où
ça coince. Mon expérience personnelle est plutôt faite d'un chemin
tortueux pour comprendre le principe de la programmation fonctionnelle,
mais il est tout à fait possible que pour d'autres cela soit plutôt
compliqué au niveau de la syntaxe parenthésée et préfixe.
Même si je n'imagine pas abandonner moi-même un jour la syntaxe «
normale », ne serait-ce que parce que tout le code Scheme de LilyPond
est écrit comme cela, je serai intéressé de voir si cela aide les débutants.
Juste en passant... Peut être qu'avec Bigloo Scheme ?...
Si quelqu'un a le temps de regarder...
À quoi fais-tu référence ? En lisant la table des matières de la
documentation de Bigloo Scheme, je n'ai rien trouvé qui parle de syntaxe
infixe.
Cordialement,
Jean
Re: Résolution de l'équation iScheme = infix (Scheme), Olivier Miakinen, 2022/06/09