2010-09-08 11 views
9

Studiuję Forth dla osobistego projektu Mam na myśli. Wygląda na to, że jest to naprawdę fajny i prosty język do wdrożenia na małej wirtualnej maszynie.W jaki sposób Forth implementuje słownik? (kontrowersje)

Jestem szczególnie pod wrażeniem możliwości używania słowników na ten temat. Z drugiej strony, myślę, że sposób działania słownika jest zbyt skomplikowany dla języka, który jest ogólnie tak prosty. Mówię to, ponieważ przeczytałem kilka artykułów na ten temat i wiem, że istnieje wiele kontrowersji.

Istnieje kilka mikroprocesorów, które implementują niektóre funkcje Forth w swoich instrukcjach, i jestem zainteresowany, aby dowiedzieć się, w jaki sposób implementują słownik i funkcje, takie jak słownictwo na nich, więc mogę zaimplementować wirtualną maszynę, która wygląda jak te mikroprocesory.

Oznacza to, że słownik nie jest prostą stertą, która rośnie i nie jest prostym liniowym wektorem, który możemy po prostu zindeksować, więc nie jest to łatwe dla mikroprocesora mikroprocesora (chyba) . Byłbym naprawdę pod wrażeniem, gdyby te specjalne procesory były w stanie zaimplementować słownik, jak powinien, bez żadnego dodatkowego kodu, oczywiście. Myślę, że to niemożliwe.

Tak więc dla mojego projektu rozważam kodowanie interpretera za pomocą sterty, z opkodami do manipulowania nim, jak to jest na przykład w 6852. Kod dla słownika zostanie skompilowany razem z tłumaczem i redaktor w Forth. Myślę, że powinno to wyglądać bardziej jak rzeczywistość.

Na czym polega ta cała kontrowersja? Jak działają te specjalne procesory w odniesieniu do słownika i wykorzystania słowników?

+0

@otkins Jak planujesz wdrożyć maszynę wirtualną? W asembler? ANSI C? Wybór języka implementacji i architektury docelowej będzie miał największy wpływ na sposób implementacji słownika. –

+0

Powiedz jeszcze raz bardziej precyzyjnie, jakiego mikroprocesora używasz i jakiej implementacji Forth You używasz na początku? –

Odpowiedz

Powiązane problemy