zo iNiTiATiON SPEECHES
S01E85 2024-10-21

S01E85 — 21-10-2024.

Long come un tokenizer.

jour 85.

J’ai mis à jour mon Tokenizer, dorénavant, il est capable d’analyser des attributs en mode Template et surtout des attributs dynamiques qui seront utilisés par dans le langage de programmation. C-q-v-d que ça :

<a foo={1 + 2}></a>

C’est une déclaration valide. Pour l’instant, la partie qui se trouve entre crochets 2 + 1 est une chaîne de caractères que je compte analyser syntaxiquement côté Parser. Sinon les attributs propre au Html sont aussi valides. Mais ce n’est pas le point que je voulais mettre en avant.

Je ne peux pas m’empêcher de penser à comment je dois m’y prendre pour la génération de code avec la partie Template. Surtout si je dois suivre l’approche Sea of nodes de Cliff CLick. Je verrai une fois que je serai sur la finalisation du Tokenizer. Mais en y pensant, il va surement falloir bien avancer sur la partie Program avant.

Mystère, mystère…

J’ai aussi tenté de répliqué l’approche dynamique de Svelte pour les attributs déclarés de la façcon suivante :

<a {href}></a>

C’est un raccourci intéressant. Merci à Rich Harris car je n’avais jamais vu ça avant. Seul, l’exemple n’est pas éloquent mais avec son context, c’est un turfu à trois bandes :

imu href := "/";
imu anchor ::= <a {href}>home</a>;

Le nom de la variable devient le nom de l’attribut et la valeur de la variable devient la valeur de l’attribut. C’est propre de ouf. La gestion des attributs n’était pas supportée dans la première version du Tokenizer. Et sans ça, ça ne sert à rien d’avoir des balises. Le baye commence à devenir de plus en plus sophistiqué.

@invisageable