Programozási nyelv létrehozása: 15 lépés (képekkel)

Tartalomjegyzék:

Programozási nyelv létrehozása: 15 lépés (képekkel)
Programozási nyelv létrehozása: 15 lépés (képekkel)

Videó: Programozási nyelv létrehozása: 15 lépés (képekkel)

Videó: Programozási nyelv létrehozása: 15 lépés (képekkel)
Videó: 10 лучших продуктов для перерыва 2024, Lehet
Anonim

Sok embernek nehézségei vagy frusztrációi vannak a mindennap használt programozási nyelvekkel kapcsolatban. Egyesek azt akarják, hogy a dolgokat absztraktabban kezeljék, míg mások nem szeretik azokat a funkciókat megvalósítani, amelyekről azt szeretnék, hogy „szabványosak” legyenek. Akár informatikai szakember, akár csak hobbi, sokszor előfordulhat, hogy új programozási nyelvet szeretne létrehozni.

Lépések

Programozási nyelv létrehozása 1. lépés
Programozási nyelv létrehozása 1. lépés

1. lépés: Ismerkedjen meg a technológiával

Nem tud programozási nyelvet létrehozni, ha nem ismeri a számítógép használatát.

Programozási nyelv létrehozása 2. lépés
Programozási nyelv létrehozása 2. lépés

2. lépés: Ismerje meg a terminológiát

A fordítóírók gyakran használnak ismeretlen terminológiát. Mielőtt folytatná, olvassa el a fordítókat. Feltétlenül tudjon mindent, amit tudnia kell.

Programozási nyelv létrehozása 3. lépés
Programozási nyelv létrehozása 3. lépés

3. lépés. Döntse el, milyen problémát old meg a nyelve

Tartományspecifikus problémát old meg, vagy általános célú nyelvet használ?

Programozási nyelv létrehozása 4. lépés
Programozási nyelv létrehozása 4. lépés

4. lépés Gondolja át nyelvének szemantikáját és fogalmait

  • Megengedi a közvetlen mutatóhozzáférést, vagy sem?
  • Melyek az Ön nyelvének adattípusai?
  • Statikus vagy dinamikus nyelv?
  • Mi a memóriamodellje? Szemétgyűjtőt vagy manuális memóriakezelést fog használni? (Ha szemétgyűjtőt használ, akkor készüljön fel annak írására, vagy illesszen meg egy meglévőt az Ön nyelvéhez.)
  • Hogyan fogják kezelni az egyidejűséget? Egy egyszerű menetes/záró modellt vagy valami összetettebbet fog használni, mint Linda vagy a színész modell? (Mivel manapság a számítógépek több maggal rendelkeznek.)
  • Vannak primitív funkciók a nyelvben, vagy minden könyvtárból származik?
  • Mi az Ön nyelvének paradigmája vagy paradigmái? Funkcionális? Objektum orientált? Prototípus (mint a JavaScript)? Szemlélet-orientált? Sablon orientált? Vagy valami teljesen új?
  • Hogyan fog az Ön nyelve kapcsolódni a meglévő könyvtárakhoz és nyelvekhez (főleg C)? Ez a pont fontos, ha tartományspecifikus nyelvet épít.
  • Végül, ezekre a kérdésekre adott válaszok egy része a második lépésben megválaszolásra kerül, és segít a következő lépés megválaszolásában.
Programozási nyelv létrehozása 5. lépés
Programozási nyelv létrehozása 5. lépés

5. lépés Gondoljon néhány konkrét feladatra, amelyeket valaki szeretne az Ön nyelvével elvégezni

Például: „lehet, hogy egy robotot egy vonal követésére akarnak irányítani”, vagy „viszonylag hordozható asztali programokat akarnak létrehozni benne”, vagy „esetleg webes alkalmazásokat akarnak vele létrehozni”.

Programozási nyelv létrehozása 6. lépés
Programozási nyelv létrehozása 6. lépés

6. lépés Kísérletezzen a fenti példák szintaktikai ötleteivel (a nyelv szövegével)

Vigyázzon arra, hogy nyelvét a kontextusmentes nyelvkategóriában tartsa, vagy valami benne. Az elemző generátor és később értékelni fogja

Programozási nyelv létrehozása 7. lépés
Programozási nyelv létrehozása 7. lépés

7. lépés. Írjon ki egy hivatalos nyelvtant a szintaxishoz

Programozási nyelv létrehozása 8. lépés
Programozási nyelv létrehozása 8. lépés

8. lépés. Döntse el, hogy a nyelvet tolmácsolják vagy fordítják

Ez azt jelenti, hogy az értelmezett világban a felhasználó általában szerkesztőprogramban szerkeszti a programját, és közvetlenül a tolmácson futtatja; míg a fordított világban a felhasználó szerkeszteni fogja a programját, lefordítja azt, elmenti valahol a kapott végrehajtható fájlt, és futtatja.

Programozási nyelv létrehozása 9. lépés
Programozási nyelv létrehozása 9. lépés

9. lépés. Írja be az előlapi szkennert és az elemzőt, vagy keressen egy eszközt, amely segít ebben

Gondoljon arra is, hogy a fordító/tolmács hogyan figyelmezteti a felhasználót a hibás programokról és a szintaktikai hibákról

Programozási nyelv létrehozása 10. lépés
Programozási nyelv létrehozása 10. lépés

10. lépés. Az elemző információ használatával írja be az objektumkódot vagy egy közbenső ábrázolást

Kérje meg az elemzőt, hogy hozzon létre egy AST -t, majd hozza létre az objektumkódját az AST -ből három címkód vagy annak nagy testvére SSA használatával, majd hozzon létre egy szimbólumtáblát a funkciók, a globális változók stb.

Ezenkívül nyelvétől függően virtuális mutatótáblázatokat vagy információs táblákat is létrehozhat osztályai számára (a reflexió vagy az RTTI támogatása érdekében)

Programozási nyelv létrehozása 11. lépés
Programozási nyelv létrehozása 11. lépés

11. lépés. Írja le a végrehajtót vagy a kódgenerátort, amely mindent összeköt

Programozási nyelv létrehozása 12. lépés
Programozási nyelv létrehozása 12. lépés

12. lépés Írjon sok tesztprogramot a nyelv tesztelésére

Olyan programokat szeretne létrehozni, amelyek hangsúlyozzák a formális nyelvtan terhét, annak érdekében, hogy lássa, hogy a fordítója mindent elfogad, ami a definíción belül van, és elutasít mindent, ami rajta kívül van

Programozási nyelv létrehozása 13. lépés
Programozási nyelv létrehozása 13. lépés

13. lépés. Gondolja át, hogyan fogja a felhasználó hibakeresni saját programjait

Programozási nyelv létrehozása 14. lépés
Programozási nyelv létrehozása 14. lépés

14. lépés. Ha a nyelve szabványos könyvtárat használ, akkor azt meg kell írnia

Egy szemétszedővel vagy más futási funkciókkal együtt, ha szüksége van rá.

Pontosabban, ha fordítót ír, szüksége lesz arra a kódra, amelyet az operációs rendszer végrehajt, hogy elkezdhesse futtatni a felhasználói kódot (például az összes globális változó kiosztása)

Programozási nyelv létrehozása 15. lépés
Programozási nyelv létrehozása 15. lépés

15. lépés. Nyilvánosságra hozza nyelvét, a hozzá tartozó specifikációkat és néhány példát arra vonatkozóan, hogy mit tehet benne

Ne felejtse el dokumentálni, hogyan integrálható a meglévő könyvtárakkal, nyelvekkel, és hogyan kell használni a futásidejű szolgáltatásokat és/vagy a szabványos könyvtárat

Videó - A szolgáltatás használatával bizonyos információk megoszthatók a YouTube -lal

Tippek

  • Kezdje azzal, hogy megtervezi a nyelvet, és ne írjon semmilyen kódot, amíg meg nem elégedett, és nem válaszolt a tervezéssel kapcsolatos kérdésekre vagy problémákra (vagy legtöbbjére), mivel könnyebb korábban megváltoztatni a mintát.
  • Ismerje meg a célplatformját (operációs rendszerét és könyvtárait) a fordító/tolmács számára, elvégre használni fogja és manipulálja.

Figyelmeztetések

  • Gondolja át, hogy valóban szüksége van -e egy új nyelvre, és milyen újdonságokkal rendelkezik a nyelve, ami más nyelvekkel nem rendelkezik (lehet, hogy a funkciók kombinációja vagy egyetlen szolgáltatás).
  • Nehéz nyelveket írni, ha nem tudja, mit csinál. Ez is sok gyakorlást igényel.
  • Készüljön fel arra, hogy egy kis időt fordít a nyelvtervezésre, mivel a fordító megírása után és a tervezési ponton túl nem lesz lehetősége nyelvének megváltoztatására.
  • Ne próbálja meg több nyelv egyesítésére alapozni a sajátosságait, például azt, hogy az Ön nyelve az X, az Y és a Z nyelv egyesülése lesz. A történelem azt mutatta, hogy az így létrehozott nyelvek soha nem fognak sikeresek lenni, vagy mindenki PL/1 -et programozna valami C helyett.

Ajánlott: