S01E28 — 25-08-2024.
Toujours plus loin.
jour 28.
Te revoilà, je ne pensais pas que tu suivrais au temps ma folie. Je profite que tu sois encore là pour te montrer le reste des avancées :
-bytes
Les octets peuvent s’écrire litéralement de la façon suivante.
-- atlas: bytes.
`0` `*` `?` `!` `#`
`$` `t` `n` `r` `)`
`+` `-` `=` `{` `}`
`[` `]` `|` `;` `:`
`2` `"` `,` `.` `ç`
-chars
Les caratères ascii suivront la syntaxe qui suit.
« c’est très maigre en ce moment mais je ne comprends pas encore comme je dois procédé avec les caractères d’échappements. C’est encore très instable pour le moment. Je corrigerai tout ça après mettre aéré l’esprit et potasser un peu. »
-- atlas: chars.
'a' 'b' 'c' ' ' '\0'
'\n' '\t' '\r' 'İ' '山'
-groups
L’ensemble des délimiteurs du langages.
-- atlas: groups.
( ) { } [ ]
-kws
L’ensemble des mots clés du langage pour le moment. J’essaye de la réduire à moins de 25 mots clés en vain. Garde-toi en tête c’est une liste temporaire. Sinon ça fonctionne bien. Je suis content.
-- atlas: kws.
abstract and apply as async
await break continue else enum
ext false Fn fn fun
for if imu load loop
match me mut pack pub
return struct true type _
val wasm when while
-strs
Côté chaines de caractères, il n’y a rien de ouf à l’horizon. C’est la même syntaxe que les autres langages. Plus tard, j’aimerai bien créer un Formatter pour permettre d’écrire des bayes du type : "hello, {name}" pour que ce qui se trouve entre les crochets permettre l’interpolation. La variable name serait récupérer si elle est présente dans le scope courant. Si non, j’écris un rapport d’erreur pour me signaler que la variable n’existe pas.
« Pareil que pour les caractères, c’est très maigre comme symboles supportés mais les caractères d’échappements me bloquent encore. C’est instable aussi. »
-- atlas: strs.
"Ahoj" "გამარჯობა" "yo" "안녕하세요" "Բարեւ"
"{turfu}" "ሰላም" "你好" "A1B2C3" "wesh"
"Olá" "fødselsdag" "नमस्ते" "হ্যালো" "สวัสดี"
"Привет" "char" "str" "¡Hola!" "שלום"
"unicode_µ" "emoji_😊" "こんにちは" "fn()" "مرحبا"
-zsx
C’est un langage de balisage de la famille des XML que je suis encore entrain de développer. Avec je vais pouvoir créer des applications multi-platformes. Je voulais partir sur du egui mais entre temps, j’ai de nouvelles recherches, mon choix final est encore en suspens.
- characters.
Comme je suis la spécification W3C pour l’instant, chaque caractère correspond à un jeton de type ZsxCharacter contenant le caractère qui va bien à chaque fois. J’ai cru voir qu’il fallait ensuitre construire l’arbre mais je ne sais pas si on parle ici d’un arbre plus au niveau du Tokenizer ou un truc niveau arbre de syntaxe abstraite. Je verrai…
-- atlas: zsx character.
::=
foobar lorem ipsum raboof
;
- tags.
Ici c’est le plaisir de la nuit blanche.
« Petite détection de balises — va-li-dé! »
-- atlas: zsx tag.
::=
<foobar> <lorem> </ipsum> </raboof>
;
- mixes
Là, c’est ce qui me laisse pantois. J’apprécie la beauté de la récursivité et de l’entralassement entre les balises et les caractères. Ne sont-ils pas tous beaux à danser à l’unissons.
-- atlas: zsx tag.
::=
<foobar> <lorem> foobar </ipsum> </raboof>
;
Samedi 25 août minuit et dix minutes, ça sent la nuit blanche. Je vais passer ma soirée avec Takeoff (Paix à son âme) en boucle pour me motiver à charbonner 24 - 7. Ja-mais lâcher le steak.
« focus, focus, focus! » by Robert Virding