Kezdőoldal » Számítástechnika » Programozás » Hogyan készíthetek egy saját...

Hogyan készíthetek egy saját programozási nyelvet?

Figyelt kérdés

2012. máj. 5. 09:31
 1/8 anonim ***** válasza:
44%
Ha itt kezded már rossz...
2012. máj. 5. 09:37
Hasznos számodra ez a válasz?
 2/8 iostream ***** válasza:
Egyszerű: írsz egy fordítót. Ez a fordító fordítson mondjuk C-re, és akkor nem kell sokat szívni.
2012. máj. 5. 10:05
Hasznos számodra ez a válasz?
 3/8 iostream ***** válasza:
+1: keress arra, hogy lex, yacc. Ezek viszonylag egyszerűen paraméterezhető eszközök, amik előállítják neked a lexikális elemzőt és a szintaxisfa építőt.
2012. máj. 5. 10:06
Hasznos számodra ez a válasz?
 4/8 anonim ***** válasza:
Elsőnek érdemes feltenni a kérdést hogy miért. A mai nyelvek többszáz ember munkája, kizárt hogy valaki egyedül jobbat csináljon, akár egy egész élet alatt is!
2012. máj. 5. 11:08
Hasznos számodra ez a válasz?
 5/8 gepzene ***** válasza:
Egyszerű, speciális makronyelvek vagy sajátos feldolgozások könnyen programozhatóvá tétele jó ok lehet. Biztos van pár lib, amivel pikkpakk definiálható egy saját mininyelv. Aztán győzd megírni a sajátos funkciókat :)
2012. máj. 5. 12:12
Hasznos számodra ez a válasz?
 6/8 A kérdező kommentje:
Nem akarok én ilyen világmegrengető nyelvet készíteni, csak ki szeretném próbálni, hogy mit tudnék kihozni belőle. Kis délutáni elfoglaltság gyanánt :)
2012. máj. 5. 13:53
 7/8 gepzene ***** válasza:
A fentebb, iostream testvér által nevesített eszközöknek nézz utána, az maga a könnyű út!
2012. máj. 5. 17:22
Hasznos számodra ez a válasz?
 8/8 Srapnel ***** válasza:

Ha esetleg Java-ban akarod, akkor ANTLR. Rákeresel, ott van minden, tutorial, bármi.


Nagyjából úgy működik általában is, hogy:


1. Egy lexikai elemző feldolgozza a nyers forráskódot: "szavakra", elemeire, ún. tokenekre bontja (mint pl. kulcsszó, string, egész szám, azonosító, stb.), a whitespace-eket és a megjegyzéseket kiiktatja.


2. Egy parser az előzőekben előállt tokensorozatot dolgozza föl. A tokensorozatban mintákat keres és azokat vagy azonnal feldolgozza, vagy ún. AST-t (Abstract Syntax Tree) épít belőle. Ez semmi más, mint a forráskódod fa struktúrájú reprezentációja, ahol az egyes nyelvi struktúrák a fa felépítésébe kódolva vannak felismerve. Elképzelheted úgy is, mintha XML (DOM) lenne, csak nem XML formátumban. Innen megint két nagy eset lehet. A fából generálsz valamit, vagy a fát közvetlenül futtatod, ha a fa csúcsait úgy valósítod meg, hogy lehessen futtatni. (Ez matematikai kifejezéseknél pl. tipikusan könnyű.)

2012. máj. 7. 09:08
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!