W językach imperatywnych rozróżniamy dwa rodzaje funkcji - takie, które zwracają wartość i takie, które nic nie zwracają (void). Chcielibyśmy się upewnić, że jeśli funkcja ma coś zwracać to zwraca wartość na każdej ścieżce wykonania.
Czytaj dalej Kompilator - sprawdzanie powrotuKategoria: Kompilator
Kompilator - zwijanie stałych
Podczas kompilacji dochodzi do wielu optymalizacji. Jest wiele operacji, które można wykonać raz podczas kompilacji, zamiast podczas każdego wykonania programu. Poniżej opiszę zwijanie stałych i propagację stałych.
Czytaj dalej Kompilator - zwijanie stałychKompilator - sprawdzanie typów
Są języki dynamicznie typowane i są języki statycznie typowane. Ja wyznaję wyższość języków ze statycznym typowaniem, ale są różne opinie. Dzisiaj spojrzymy na to jak wygląda sprawdzanie typów podczas kompilacji.
Czytaj dalej Kompilator - sprawdzanie typówKompilator - odsładzanie
Odsładzanie (z ang. desugaring) to proces przetwarzania abstrakcyjnego drzewa składni, do pewnej prostszej (logicznie) formy, który być może w kodzie zajmowałaby za dużo miejsca.
Czytaj dalej Kompilator - odsładzanieKompilator od podstaw
Przez większość grudnia pisałem kompilator na studia w ramach przedmiotu Metody Realizacji Języków Programowania. Skoro czegoś się dowiedziałem, to stwierdziłem że opiszę nowo nabytą wiedzę na moim blogu.
Czytaj dalej Kompilator od podstaw