( persicsb | 2020. 03. 24., k - 18:37 )

Az a baj, hogy alapvető dolgokkal nem vagy tisztában.

Az, hogy egy nyelv készen van-e, azt eldönthető azzal, hogy a nyelv szintakszisának és szemantikájának specifikációja elkészült-e. Ehhez 1 sor kódot se kell írni, semmiféle interpreterben vagy compilerben.

Ehhez a formális nyelveket kell ismerni, környezetfüggetlen nyelvtant definiálni, a nyelvtan egyes nemterminális és terminális szimbólumainak jelentést adni.

Ez maga a nyelv.

Az, hogy ezt a nyelvet azután hogyan implementálod, közvetlen értelmezőként, bytecode értelmezőként, JIT fordítóként vagy natív fordítóként, az megint más kérdés.

Te meg itt kevered a dolgokat össze-vissza, féltudásúként, ahelyett, hogy valóban belemélyednél, hogyan kell egy nyelvet definiálni, meg a nyelvhez értelmezőt vagy compilert írni. Igen, hobby programozó vagy, és amatőr szinten cisnálsz mindent, de akkora arccal, mint amekkora keveseknek van.

Te nem programnyelvet alkotsz, mert a nyelvednek sehol nincs meg a formális definíciója. A szemantikája sem. Te egy lexer+parzer+interpreter programot írsz, ami egy szövegfájlt valamilyen módon értelmez. De ettől ez még nem lesz programnyelv (megsúgom, még attól sem, hogy Turing teljes-e vagy nem, az egy ortogonális kérdés).

Ha a programozásban is a szépet keresed, akkor tényleg csináld is szépen a dolgokat, ahogy azt kell csinálni. Formális nyelvi leírással, szemantikával, memóriamodellel, utána meg lehet rá interpretert/compilert/transpilert írni.