Jakie funkcje językowe są wymagane w języku programowania, aby utworzyć kompilator?
Języki programowania wydają się przechodzić przez kilka etapów. Po pierwsze, ktoś marzy o nowym języku, Foo Language. Kompilator / tłumacz jest napisany w innym języku, zwykle C lub innym języku niskiego poziomu. W pewnym momencie FooL dojrzewa i rośnie, a ostatecznie ktoś, gdzieś, napisze kompilator i / lub interpreter dla FooL w samym FooL.
Moje pytanie brzmi: Jaki jest minimalny podzbiór funkcji językowych, tak że ktoś mógłby sam wdrożyć ten język?