Hei!
Olen rakentamassa lautapeli sivustoa, ja minua on mietityttänä monesti,
mahdollisuus että rakentaisin koko sivuston omalla ohjelmointi kielellä,
jos näin toimisin niin sivusto olisi todella helppo ja nopea siirtää eri
alustoille joissa sitten voisin ajaa ohjelmointi kieleni tulkkia.
Metodithan menevät melkein suorina kutsuina, oli sitten tulkki alustana Java
C++ taikka jokin kolmaskin kieli.
Oikeastaan minulla on kaikki muu jo aika selkeätä, mutta, muuttujien käsittely
on vielä hieman varmennusta vailla.
Eli, kuinka olisi parasta rakentaa jokin BASIC tyylin kieli ja siihen
FLOAT ja INT tyylin muuttujat joita voi laskea ja vertailla keskenäänsä ??
Toivoisin asiallisen ja kattavan vastauksen,
koska tämä on minulle todella tärkeä asia tällä hetkellä :)
//.....
Kiitos..
Oman skriptikielen tulkin tekeminen ei välttämättä ole ihan yksinkertainen tehtävä. Joudut tekemään parserin lausekkeita varten, minkä avulla jaat lausekkeen osiin (tokens). Sitten käyt läpi nämä osaset (komento, luku, muuttuja, yms) ja käsittelet ne tarpeen vaatimalla tavalla.
Mitä tulee muuttujien toteutukseen, niin yksinkertaisin vaihtoehtohan on sallia nimeltään vain yhden kirjaimen mittaiset muuttujat. Tällöin voit vain yksinkertaisesti pitää muuttujat tallennettuna vakiomittaiseen taulukkoon. Joustavampi tapa on tietysti sallia muuttujille kunnon nimet, jolloin joudut tallentamaan ne nimitiedon ja sisällön kanssa jonkunlaiseen listaan tai muuhun vastaavaan tietorakenteeseen.
Kohtuullisen hyvä esimerkki yksinkertaisesta tulkista löytyy PortablE ohjelmointikielen paketin mukana tulevasta esimerkistä: ToyInterpreter.
Assembly sopii C++:ssan sisällä tuohon kuin kuula otsaan.
kpzpt kirjoitti:
Olen rakentamassa lautapeli sivustoa, ja minua on mietityttänä monesti, mahdollisuus että rakentaisin koko sivuston omalla ohjelmointi kielellä, jos näin toimisin niin sivusto olisi todella helppo ja nopea siirtää eri alustoille joissa sitten voisin ajaa ohjelmointi kieleni tulkkia.
Ohjelmointikielesi toimii juuri niin monella alustalla kuin millä tulkkisi toimii. Se taas riippuu miten ja millä kielellä tulkkisi kirjoitat -- mutta jos saat tehtyä porttautuvan tulkin, niin etkö yhtä hyvin voisi suoraan kirjoittaa porttautuvan toteutuksen lautapelisivustosta ilman ylimääräisen kielen keksimistä?
Uuden kielen keksiminen ei ole ratkaisu porttautuvuusongelmiin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.