Archive for April, 2009
Maszyna wirtualna: jak działa i jak ją napisać
Zakres tematyczny posta
Kod źródłowy pisany jest w języku/formie pozwalającej programiście na szybkie i eleganckie rozwiązanie problemu (języki wysokiego poziomu, jak C, Erlang, czy też mnemoniczny zapis asemblera). Kod taki jest nieprzydatny dla maszyny, gdyż zawiera abstrakcyjne konstrukcje, musi więc zostać przetłumaczony do prostszej/innej postaci — temu służą kompilatory. Efektem jest kod, który maszyna może wykonać (kod maszynowy, kod pośredni).
Wspomnianą maszyną może być komputer, może to być też aplikacja potrafiąca wykonać instrukcje skompilowanego programu. Taka aplikacja nosi nazwę maszyny wirtualnej (VM), a jej implementacji poświęcony jest ten post. Druga część poświęcona zostanie projektowi i implementacji własnego języka programowania (już niedługo — właśnie kończę:)).