Kezdőoldal » Számítástechnika » Programozás » Mennyire nehéz feladat egy...

Mennyire nehéz feladat egy saját fordítóprogramot írni?

Figyelt kérdés

2021. febr. 7. 14:45
 1/9 anonim ***** válasza:
44%
Nem olyan nehéz. Assemblyt kell vágni.
2021. febr. 7. 15:26
Hasznos számodra ez a válasz?
 2/9 anonim ***** válasza:
27%
Ami miről fordít mire?
2021. febr. 7. 16:46
Hasznos számodra ez a válasz?
 3/9 anonim ***** válasza:
77%
Minden gépi kódra fordít. Jó jó kivétel Java stb azok a keretrendszerre, de a keretrendszer ugyanúgy Assemblyre fog. Assembly meg bitekre. :))
2021. febr. 7. 17:28
Hasznos számodra ez a válasz?
 4/9 anonim ***** válasza:
83%

Semmiképpen sem triviális dolog, viszont mindenképpen megéri. Nagyon sok dolgot meg lehet tanulni közben. Feltételezem, hogy hobbiból szeretnél ilyet csinálni és nem professzionális környezetben. A következöket ennek fényében írom.


Ha elfogadsz néhány tanácsot:

- inkább interpretert kezdj el írni. Az interpreterek meg a compilerek felsö 2-3 rétege azonos, a végén nem kell szopnod kódgenerálással. Ha késöbb úgy döntesz (és a programnyelv, amit kitaláltál engedi), akkor kiegészítheted compilerré.

- válassz/találj ki olyan nyelvet, aminek nincs túl sok szintaktikai feature-je. Én azt ajánlom, hogy valami Lisp szerü nyelvet találj ki. Ha nincs kedved kitalálni sajátot, ajánlom a Scheme nevü lisp dialektust. Persze célszerü elsöre ennek is csak egy részhalmazát megvalósítani.

- válassz olyan nyelvet az implementációra(amiben írod a compilered), amiben kényelmesen tudsz dolgozni. Bármilyen rendes programozási nyelven lehet compilert írni(igen, még PHP-ban is, jöhet a lepontozás :D )

- Jó ha kicsit utánnaolvasgatsz a formális nyelvek témakörének. Elsöre elég matekos, igazság szerint másodikra is, de meg lehet érteni.

2021. febr. 7. 17:37
Hasznos számodra ez a válasz?
 5/9 anonim ***** válasza:
29%

"Minden gépi kódra fordít."


Hát, nem egészen. A példádban említett JAVA sem, a VM-hez meg a fordítónak semmi köze, tehát a fordító írójának se sok.

2021. febr. 7. 17:46
Hasznos számodra ez a válasz?
 6/9 anonim ***** válasza:
87%

Minek ma már olyat írni?

Antrl4-nek megadsz egy CF nyelvtant és legeneralod a fordítót és kész.

2021. febr. 7. 18:28
Hasznos számodra ez a válasz?
 7/9 anonim ***** válasza:
86%
#6: abszolút igazad van, HA professzionális környezetben kell fordítót csinálni. Söt, én még tovább is mennék egyel: ha csak egy DSL-t akarsz írni, sokkal gyorsabb lesz, ha pl racket-ben csinálod. Ez egy olyan programozási nyelv, ami úgy lett kitalálva, hogy könnyü(relatíve) legyen benne más programozási nyelveket megvalósítani.
2021. febr. 7. 18:51
Hasznos számodra ez a válasz?
 8/9 anonim ***** válasza:
9%

"#6: abszolút igazad van"


Dehogy van igaza!

2021. febr. 7. 18:58
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:
50%

[link]


In this Github repository, I'm documenting my journey to write a self-compiling compiler for a subset of the C language. I'm also writing out the details so that, if you want to follow along, there will be an explanation of what I did, why, and with some references back to the theory of compilers.


But not too much theory, I want this to be a practical journey.

2021. febr. 7. 22:46
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, 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!