než si napsat vlastní. Není to tak složité, jak to vypadá. Pár desítek či stovek řádek se dá napsat třeba i za hodinu.
Ano, psal. Ono to není nic složitého, implementovat parser a interpretaci je primitivní
Nejprve: Parser není problém, data si stejně musím umět nejprve rozparsovat ručně, parser neřešme.Velmi zajímavé! Jak byste na to šli?
Vytvořením virtuálního procesoru?
Pokud zkusím připravit virtuální procesor, znamená to, se postarat i o správu paměti.
Příklad, kdybych si chtěl napsat vlastní interpret "BASICU", resp. ten jazyk by se dal nazvat dialektem BASICu, ale chci používat velmi specifické vlastnosti, které nemají odpovídající paradigma (funkcionální, procedurální...atd).
Tak třeba primitivní: Print "Blah Blah",$F
To ovšem vyžaduje mít někde uloženou proměnnou F$, čili potřebuji spravovat paměť.
Opět primitivní: FOR $X=1 TO 100
V zásadě si potřebuji někde držet proměnnou X, resp. informace o ní, protože potřebuji typovou bezpečnost (což není u BASICU běžné, ale...)
To opět není problém....
Hm....
Jinými slovy,díky typové bezpečnosti, tj. každá proměnná musí být předem definovaná, se nemusím za chodu starat o přidělování paměti.
Tedy v zásadě je zbytečné emulovat funkce procesoru.
Spíš jít cestou, kdy emulovaná instrukce vyvolá odpovídající instrukci nativního jazyka.
Fakticky se tak musím starat jen o přidělení adres proměnných a posílání těchto proměnných do odpovídajících funkcí

Nebo se na to dívám špatně?