Kezdőoldal » Számítástechnika » Programozás » Mi kell a programozási nyelv...

Mi kell a programozási nyelv írásához?

Figyelt kérdés
Ugye az jó hogy kitalálok karaktereket de ha akarok írni egy fordítót, ami lefordítja a win7 nek, akkor a win7 mechanizmusát, működésést is ismernem kell ami rohadt bonyolult nem? És a fordítót úgy lehet csak megírni ha ismerjük az OP rendszert.
2016. márc. 6. 16:24
1 2
 1/12 anonim válasza:
35%
ez nem így van. va negy programozási nyelv azt kell megtanulnod, kell egy programozási felület és kezdődhet.
2016. márc. 6. 16:26
Hasznos számodra ez a válasz?
 2/12 anonim ***** válasza:
Hát az asm-et kell kenni-vágni hozzá. Indulj ki abból, hogy a világon eddig elég keveseknek sikerült használható nyelvet összehozniuk. Szűkösebb ez a kör, mint a világűrben járt emberek összessége.
2016. márc. 6. 16:27
Hasznos számodra ez a válasz?
 3/12 A kérdező kommentje:
Mit értesz programozási felület alatt? Amúgy tudom, hogy csak létező programozási nyelvben lehet programozási nyelvet írni.
2016. márc. 6. 16:30
 4/12 A kérdező kommentje:
Mi az az ASM?
2016. márc. 6. 16:30
 5/12 anonim ***** válasza:
53%

"Szűkösebb ez a kör, mint a világűrben járt emberek összessége."


Hát azért ez erős túlzás.

A fordító megírása nem olyan kegyetlenül nehéz.

Sokkal nehezebb egy nyelvet megtervezni, mint a fordítóját implementálni.

Az operációs rendszer ismerete inkább a linkerhez kell. Ez csinál a lefordított fájlból, vagy fájlokból futtatható állományt.

A teljes operációs rendszert nem kell ismernie ehhez sem, csak a memóriaszervezést. A processzort kell nagyon ismerni ahhoz, hogy valaki jó, hatékony fordítót csináljon.


Egy interpreter megírásánál viszont ez nem követelmény. Az sokkal egyszerűbb feladat.

2016. márc. 6. 16:35
Hasznos számodra ez a válasz?
 6/12 anonim ***** válasza:
68%
#5: kiemelném a "használható" szót. Ami ugyan nem foglalt sok helyen a mondatban, de nem elhanyagolható. Haszontalan fordítót sokan írtak már - ez tény.
2016. márc. 6. 16:37
Hasznos számodra ez a válasz?
 7/12 anonim ***** válasza:

Hát használható nyelv van minimum száz, de inkább több.


Egyébként, a fordító megírásához vannak már régóta segédeszközök, tool-ok.

Ilyen a lexx & yacc is. (YACC = Yet Another Compiler Compiler)


Ebben csak definiálni kell a nyelv kulcsszavait, relációkat és az eszköz legenerálja a lexikális elemző és a compiler forráskódját, amit már csak egy c, pascal, vagy más fordítóval le kell fordítani és kész. Előtte azért ajánlott optimalizálni a kódot.

2016. márc. 6. 16:43
Hasznos számodra ez a válasz?
 8/12 anonim ***** válasza:
Egy brainfuck interpretert bármiféle segédeszköz (Yacc, stb.) nélkül lehet írni egy, másfél óra alatt, ha nagyon alapos akar lenni az ember. Ha nem, akkor ennyi idő sem kell.
2016. márc. 6. 16:46
Hasznos számodra ez a válasz?
 9/12 anonim ***** válasza:

Inkább a <Digitális Technikai> egyetemi kurzusok ALU/CPU architektúrák működésében kellene ELŐSZÖR magas lexikális tudásra szert tenned, milyen matematikai művelet hogyan működik, milyen áramkörtervezési/órajelkalkulációs/adatszélességi vonzata van, milyen tárolók és bitműveletek vannak, hogyan lehetne ezeket gyorsítani stb stb.....


Ez szükséges, de nem elégséges feltétel a programnyelv kitalálásához.


Mert másik oldalról ott vannak az user előremutató igényei, és nyilván az user összetettebb és magasabb absztrakciós rendű problémáira akarsz megoldást adni az új programnyelveddel, mert egyébként öncélúan nem lenne semmi értelme/nyereség a fejlesztéssel.


Bizonyos user fukciók új processzor utasításkészlet implementáláshoz vezethet, mint ahogy történt a lebegőpontos FPU esetében is.


HA nem tartod szem előtt az user igényeit, akkor senki se fogja használni a nyelvedet / nem lesz népes táborod, és akkor megint gazdagítod a [futottak még] kategóriát.


Ezért van az, hogy mindenki scriptnyelvek kitalálásával kezdi, mert sokkal egyszerűbb egy már létező operációs rendszer funkcióit szélesíteni az user felé, mintsem új processzorarchitektúrákban gondolkodni, amik kb lehetetlen eséllyel (legalábbis nem piaci érdekeltség miatt nem kifizetődő) kerülnek gyártásba.

2016. márc. 6. 19:57
Hasznos számodra ez a válasz?
 10/12 anonim ***** válasza:
Vagy pedig utánanézel, hogy mi az az LLVM például, meg keresel még további eszközöket, és rájössz, hogy nem kell ahhoz idegsebésznek és asztronautának lenni, hogy megalkoss egy programnyelvet, mint ahogy a korábbi válaszok próbálják azt sugallni.
2016. márc. 7. 01:14
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!