Przede wszystkim jako ćwiczenie edukacyjne, piszę maszynę wirtualną, asembler i kompilator od zera, w zależności od narzędzi zewnętrznych.Zasoby dotyczące przekształcania drzewa składni na zespół?
Wierzę, że mam przyzwoite konceptualne zrozumienie działania wirtualnej maszyny i asemblera, a także niektórych części kompilatora.
Oto, co chcę wiedzieć: W kompilatorze, przypuśćmy, że zmieniłem kod źródłowy na drzewo składniowe. W jakim procesie przechodzę, aby przekonwertować drzewo składniowe na zespół?
(Załóżmy, że kilka prostych konstrukcji językowych, jak wtedy, gdy. Szukam minimalną i proste wyjaśnienie tutaj).
Nie jestem szczególnie zainteresowany kompleksowych rozwiązań, lub rozwiązania oparte na istniejących narzędzi . Chciałbym raczej czegoś na wzór 1-stronicowego, obszernego opisu idei stojących za drzewem składni do montażu.
Ktoś wie o takim źródle?
Dzięki :)
Pewnie. Druga i trzecia strona rozdziału 1 każdej książki kompilującej. Ale myślę, że masz nadzieję, że to wszystko, czego potrzebujesz, i to nie jest długa szansa. Problem polega na tym, że tłumaczenie języków proceduralnych na * dobry * kod maszynowy (nawet na maszynę wirtualną) wymaga dużej ilości maszyn, a podczas gdy te 2 strony dają niejasne pojęcie o tym, co jest potrzebne, nie będzie można budować wszelkiego rodzaju sensownego generatora kodu bez czytania pozostałych 200 stron książki kompilatora. –