przypisania - typ wartości przypisywanej musi być zgodny z typem elementu do którego przypisujemy, operacje arytmetyczne - wartości, do których używany jest operator arytmetyczny, muszą zgadać się z rodzajem operatora, wywołania funkcji - typy parametrów funkcji przy jej wywołaniu muszą zgadzać się z typami zadeklarowanymi, odwołania do pól rekordu - rekord, do którego się odwołujemy, musi mieć pole o podanej nazwie, wywołania metod obiektu - obiekt musi być instancją klasy, która zawiera wywoływaną metodę.

W czasie kontroli typów sprawdzane też jest czy identyfikatory były zadeklarowane. Do tego celu służy tablica symboli.

Kontrola poprawności instrukcji Przez "poprawność instrukcji" rozumie się wszelką inną poprawność instrukcji poza sprawdzaniem typów i identyfikatorów. Sprawdzanie obejmuje:

kontrolę L-wartości, kontrolę przepływu sterowania, kontrolę dostępu do obiektów i klas,

Kontrola nazw Kontrola nazw polega na sprawdzeniu, czy nazwy identyfikatorów i etykiet w programie źródłowym są poprawne.