Hei!
Olen rakentamassa lautapelisivustoa Helsingissä.
Päätin, en ihan varma vielä, niin, rakentaa lautapelini omalla ohjelmointikielelläni, olen jo 38 vuotias harrastaja koodari.
Nyt tahtoisin mielipiteitä siintä kuinka muuttuja rimpsut tulisi käsitellä.
esim..
int aa = 10 / 10 + bb + cc + dd [ 10 + ee [ ff + 10 ] ] * 10;
tuo on aika hyvä esimerkki monimutkaisesta tilanteesta.
mitenkä tuo olisi parasta suorittaa, kääntäjä lukee koodia kohta kerrallaansa,
( lisään sitten myöhemmin binaariksi kääntäjän ja sille lukijan joka suorittaa binaari koodia. )
Nämä muuttujien käsittelyt voivat mennä aika monimutkaisiksi !!
//----
Kiitos,,
Bisonilla ja Flexillä se on melko helppoa.
Katsele luentoja ja harkkoja:
http://www.it.lut.fi/kurssit/07-08/CT20A6400/index_fin.html
Javallekkin taisi olla jotain vastaavia.
ps. jos haluat tajuta jotain, tee harkkoja
int aa = 10 / 10 + bb + cc + dd [ 10 + ee [ ff + 10 ] ] * 10;
=>
int temp1 = ff + 10; int temp2 = ee[temp1]; temp2 += 10; temp1 = dd[temp2]; temp1 *= 10; int aa = 10 / 10 aa = aa + bb + cc + temp1;
Toisin sanoen, joko muokkaat rivit useammaksi komennoksi ohjelmallisesti tai kirjoitat alunperin yksinkertaista koodia. Kun rivit on avattu useammalle riville, niitä voi sitten suorittaa rivi kerrallaan.
Muuta lauseke ensin postfix-muotoon eli niin, että operaattori tulee laskettavien jälkeen. Tässä muodossa ei tarvita sulkuja, ja lausekkeen laskeminen onnistuu helposti pinon avulla. Jos et osaa johtaa muunnosalgoritmia itse, voit luntata Wikipediasta. Algoritmi on kuitenkin aika helppo keksiä, joten kannattaa itse miettiä ensin, jotta ymmärtäisit, mistä on kyse.
Aihe on jo aika vanha, joten et voi enää vastata siihen.