Hogyan készíthetek egy saját programozási nyelvet?
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ű.)
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!