zo iNiTiATiON SPEECHES
S01E19 2024-08-16

S01E19 — 16-08-2024.

Prisonnier du code.

jour 19.

Dans quoi, je me suis embarqué. Toujours en rapport avec mon idée d’ajouter une nouvelle syntaxe à mon langage. Je me rends compte que mon implémentation est bien tout autre. J’ai effectué un petit POC (proof of concept) pour parser la séquence suivante pour les fragments <></> et pour les balises <div foo foo=bar></div>.

Premier problème dans mon approche — mon Parser n’est pas en mesure d’analyser une balise qui possède des enfants. Si j’essaye d’analyser une balise imbriquée. Il va me cracher une erreur.

Second problème — comment intégrer cette extension sans devoir recommencer de zéro ? Puisque mon tokenizer n’a pas la capacité à scanner du texte. Par exemple :

<h1>hello, world</h1>

L’enfant de la balise n’est pas valide. Je ne sais pas comment procéder. Première solution serait d’opter pour une chaîne de caractère :

  <h1>"hello, world"</h1>
<!--  ^            ^    -->
<!-- quote        quote -->

De cette façcon, le tokenizer comprendra qu’il s’agit d’une string que je pourrai traiter en tant que tel côté Parser. Cependant, je ne trouve pas pas que ça soit esthétique. Si je prends en référence E4X ou JSX :

E4X

<phoneBook>    
  <phoneEntry>         
    <name>Joe Schwartz</name>         
    <phoneNumber>342-2351</phoneNumber>    
  </phoneEntry>    
</phoneBook>

JSX

<h1>Hello World!</h1>

Tout deux permettent d’introduire du texte sans devoir le spéficier en tant que chaîne de caractère. Si eux ont réussi, c’est que c’est possible et qu’il y a un délire que je ne pige pas. Mon approche n’est pas la bonne. Je vais me pencher dessus pour trouver une meilleure solution, mais il est fort possible que je sois fait comme un rat.

Parce que j’te jure, là je capte pas le tour de magie. Vasy, je retourne à la case départ.

@invisageable