Tietäiskö kukaan miten ohjelmointi-kieliä tehdään???
En pä tiedä mut katon jos tiedän
miten toi sun toka kommenti liitty?
voihan niitä ohjelmointikieliä tehä melkeen millä vaan toisella kielellä :) tosin kovin hyvää jälkeä tuskin qb:lä saa
http://reaper.letku.net/leim/tac02.zip
Siinä on todella laama asmilla muutamassa päivässä väännetty kieli (siis itse tekemäni). "Kääntää" filut .COM suoritettaviksi tiedostoiksi.
En suosittele.
Kenties samix on unohtanut kirjautua ulos, ja siihen on tullut joku muu koneelle. Aikaväli näyttää todella lyhyeltä, joten samix on kenties lähtenyt koneelta heti ekan viestin jälkeen...
Periaatteessa tiedän.
Otat assemblerin ja alat kirjoittaa sillä komentokirjastoja haluamallesi syntaksille. Seuraavaksi kirjoitat kääntäjän, joka tulkkaa nuo käskysi binääreiksi - kakkupala ;D (ei ihan niinkään).
Netistä löytyy englanninkielisenä listoja, joissa on erilaisten ohjelmointikielten ominaisuuksia ja kotisivuja. Monet Jenkkilän yliopistot ovat kehittäneen esimerkiksi oppilastöinä omia ohjelmointikieliään.
Kuka viittisi lähettää mulle itse tehdyn ohjelmointi-kielen koodin? Osoite on samilau@mbnet.fi
lainaus:
Kuka viittisi lähettää mulle itse tehdyn ohjelmointi-kielen koodin? Osoite on samilau@mbnet.fi
Ei kukaan.
Kielen voi tehdä niin, että keksii sille vain syntaksin. Tosin jos haluaa käyttää sitä kieltä, niin sitten kannattaa tehdä myös jokin kääntäjä.
Vaikka QB:llä voi tehdä ohjelmointikielen. Huonon sellaisen.
lainaus:
Vaikka QB:llä voi tehdä ohjelmointikielen. Huonon sellaisen.
Riippuu miten ohjelmointikielen määrittelee. Esim C++ "ohjelmointikieli" ei sinäänsä ole "tehty" millään. Se vain määrittelee kielen syntaksin, esim että jokaisen käskyn perään tulee puolipiste jne.
Nämä "QB ohjelmointikielet" ovat useimmiten surkeita tekeleitä jotka "kääntävät" sen oman "ohjelmointikielensä" BASIC-kielelle QB:tä varten.
Aiommeko tehdä olioperustaisen kielen kun siitä kyselemm?/?*
Löytyisikö muuten mistään päin nettiä ohjeita/vinkkejä ohjelmointikielen tekoon? En usko, että teen sellaista ohjelmointikieltä itse, mutta olisi niitä ohjeita mielenkiintoista lukea. Ja sitten, että löytyykö aiheesta mitään kirjoja?
No seuraavasta linkistä löytyy jotain (englanniksi)
http://sk.nvg.org/lang/lang.html
Tässä suomenkielinen yleisdokumentti:
http://www.cs.utu.fi/knuutila/Courses/okp/
Kirjoittamalla Googleen ohjelmointikieli saat listan jos jonkin näköisistä linekistä eri ohjelmointikieliin - ihan suomenkielellä...
Juu... sen pdf dokumentin aloitus sivu on muuten tämä:
http://www.cs.utu.fi/knuutila/Courses/okp/
Siinä on kokonaiskatsaus ohjelmointiin ja ohjelmointikielen vaatimuksiin. Kyseessä on jokin luentomateriaali aiheesta.
Itse kun väänsin ohjelmointikieleleni tulkintaa, jaoin sen kolmeen osaan: parseri, esitulkki ja itse tulkki. Parseri on melko simppeli, palasteli skriptin palasiksi. Esitulkki katsoo minkä tyyppistä data on ja säilöö datan rekursiivisesti. Tulkki taas ajaa komennot. Ja selitys:
hirvi = (1 + 2) * 5 hauva = 4 * hirvi
Parserilta tulee hirvi, =, (, 1, +, 2, ), *, 5, separator, hauva, =, 4, *, hirvi, separator
Esitulkin jälkeen:
cmdlist ( (name hirvi, oper =, brackets (int 1, oper +, int 2), oper *, int 5), (name hauva, oper =, int 4, oper *, name hirvi) )
oper on lyhenne operatorista. Ja data sisältää dataa, cmdlist pitää sisällään kaksi komentoa joista toinen pitää vielä sisällään sulkeet, jossa on komento.
Sulkeet ajetaan ensin, sen jälkeen operit suurimmasta laskujärjestysluvusta alkaen. = operilla on tietenkin pienin, * ja / taitaa olla suurimmat.
(name hirvi, oper =, brackets (int 1, oper +, int 2), oper *, int 5)
Ekat sulut: (int 1, oper +, int 2). Lasketaan 1 + 2 ja palautetaan tulos eli 3.
(name hirvi, oper =, int 3, oper *, int 5).
Kaksi operia, = ja *. Kertomisella on suurempi laskujärjestys joten se ensin.
(name hirvi, oper =, int 15).
Asetetaan ympäristöön hirvi-kohdalle 15.
Seuraava komento:
(name hauva, oper =, int 4, oper *, name hirvi)
= ja *. Valitaan *. int * name. Haetaan name ympäristöstä, 4 * 15. Ja sitten vain name = int.
Innostuinpas kirjottamaan ja tuli aika pitkä, suorastaan artikkeli, mutta ehkä tästä on jollekki hyötyä. :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.