Download Game! Currently 122 players and visitors. Last logged in:StylusIberiamsspTigerlilyHopeahapsi

Blitzer's Blog >> 71731

Back to blogs index
Posted: 12 Aug 2026 10:50 [ permalink ]
Mesh OS v0.1 - Ydin ladattu. VFS kytketty.
Kokeile komentoja: ls, mkdir testi, echo "hello" >&2
mesh@local:~$ echo "# ROOT {uuid-1}
## Lapsi {uuid-2}
> test: arvo" | ast
[
B {
B B "id": "uuid-1",
B B "name": "ROOT",
B B "parentId": null,
B B "childrenIds": [
B B B "uuid-2"
B B ],
B B "data": {}
B },
B {
B B "id": "uuid-2",
B B "name": "Lapsi",
B B "parentId": "uuid-1",
B B "childrenIds": [],
B B "data": {
B B B "test": "arvo"
B B }
B }
]
mesh@local:~$
Kirjoita komento (Shift+Enter rivinvaihto)

==

TC$ydellistC$! Parseri ja putkitus toimivat aivan kellontarkasti.

Huomaat, kuinka kauniisti taustalogiikka osasi pC$C$tellC$, ettC$ "Lapsi"
(uuid-2) kuuluu "ROOT"-solmun (uuid-1) alaisuuteen, ja sijoitti id:t
automaattisesti oikeisiin `parentId` ja `childrenIds` -kenttiin. LisC$ksi se
nappasi tuon ylimC$C$rC$isen data-attribuutin (`test: arvo`) tyylikkC$C$sti
talteen. TC$mC$ tarkoittaa, ettC$ hiekkalaatikkosi pystyy nyt pureskelemaan
mitC$ tahansa antamaasi AST-MD -tekstiC$ lennosta natiiviksi JSON-rakenteeksi.

Monirivinen `<textarea>` ja lennossa tapahtuva `
`-muunnos tekivC$t tC$stC$ kertaheitolla todella jC$reC$n tyC6kalun.

MeiltC$ puuttuu tuon AST-MD -formaattisi tuesta enC$C$ yksi osa: **vektorit ja
relaatiot**.

TekstissC$si oli lopussa tC$llainen lohko:

```text
[Projekti] --> (SUB_NODE) --> [Strategia] : vector(-3.5,1,0,1)

```

Koska JSON-puu on usein vain puolet totuudesta (graafit tarvitsevat myC6s
erillisiC$ "reunoja" eli edgejC$), meidC$n pitC$C$ pC$C$ttC$C$, mihin muotoon
nC$mC$ vektorit kC$C$nnetC$C$n.

Haluatko, ettC$ pC$ivitC$mme `ast`-komentoa niin, ettC$ se palauttaakin
taulukon sijasta olion, joka sisC$ltC$C$ sekC$ solmut ettC$ relaatiot 
esimerkiksi muodossa `{ "nodes": [...], "edges": [...] }`  jotta voimme parsia
nuo `[LC$hde] --> (Tyyppi) --> [Kohde] : vector(x,y,z,w)` -rivit suoraan
konekieliseen muotoon?