W końcu zacząłem rozumieć złożoność tworzenia interpretera i kompilatora. Zbudowałem kilka wersji TinyBasic, 1964 (Dartmouth) Basic, i moje własne rozszerzenia na te języki, zanim przejdę do tego punktu. Najnowszy projekt nazywam Open Source Basic ... ponieważ nie mogłem wymyślić żadnych innych cech języka, które zainteresowałyby ludzi. Aby móc otworzyć źródło języka i zrozumieć, jak wykonywane są niektóre skomplikowane rzeczy (w jaki sposób wykonuje się skanowanie, analizę, interpretację i kompilację)
Open Source Basic jest najpierw tłumaczony na język oparty na stosie. Ten język oparty na stosie jest następnie interpretowany i wykonywany natychmiast lub zamieniany w plik wykonywalny CLR.
Moje pytania sprowadzają się do tego:
- Jakie są podstawowe cechy / konstrukcje języka opartego na języku podstawowym? Mam już te podstawowe konstrukcje: Przydziały, Wyrażenia, Zmienne, niektóre funkcje (Losowe, ToUpper, ToLower), Pętle (dla i do-while / till), If (blok i jednowierszowe) Inne decyzje, dane wejściowe na konsoli (dane wejściowe ) i danych wyjściowych (Drukuj) oraz podprogramów (jeszcze bez parametrów).
- Kiedy „skończę” dodawanie podstawowych konstrukcji do mojego języka - jak mam się rozwijać? W jakich domenach? Innymi słowy, w jakim kierunku powinien podążać mój podstawowy język open source po uruchomieniu wszystkich ogólnych konstruktów?
Dziękuję za Twój czas,
Dominick