Metody realizacji języków programowania/MRJP Wykład 3

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Statyczna analiza semantyczna

Streszczenie

Plan

Kontrola typów

  • System typów
    • atomowe (int, float, double)
    • wskaźniki i referencje
    • struktury, rekordy, obiekty
    • tablice
    • krotki
    • funkcje (zwykłe i funkcyjne)
    • cykle przy deklarowaniu typów (wskaźniki lub np. drzewa funkcyjne)
  • sprawdzanie poprawności wyrażeń -- wyliczanie typów
    • wyr. arytmetyczne
    • wywołania funkcji i wartość zwracana
    • odwołanie do pól obiektu, rekordu, krotki
  • Równość typów
    • strukturalna
    • przez nazwę
  • konwersja typów
    • typy arytmetyczne i proste (int->double, etc)
    • typy polimorficzne - rzutowanie
    • jawne rzutowanie
  • Przeciążanie
    • liczenie zbioru możliwych typów dla podwyrażenia
    • zstępujące zawężanie zbioru możliwych typów
  • Funkcje polimorficzne
    • Dynamiczna kontrola (smalltalk)
    • statyczna kontrola (języki funkcyjne z silnym typowaniem)
    • szablony (c++) i generiki (java)
  • Języki funkcyjne i wnioskowanie typów
    • Zmienne typów
    • unifikacja, etc.


reszta

  • Kontrola przepływu sterowania
    • break, goto,
  • kontrola nazw (unikalności nazw identyfikatorów, bloków, etc.)
    • te same nazwy dla różnych obieków
    • słowa kluczowe
    • etykiety dla goto, case
  • kontrola dostępu
    • zmienne/funkcje prywatne/chronione/publiczne


test wiki

podrozdz1

podrozdz

Przykład:

x = y
a = x + y
b = a + x

link martwym kodem.

Lista punktowana

  • ala ma kota
    • aaa

adsfα+(4b)

bold

Italic

internal link

[external link]

Plik:An image

Media:media file

No wiki formating

--Mbiskup 10:41, 22 lip 2006 (CEST)Mój podpis

i = 0 
do { 
  j = 4 * i
  i = i + 1 
} while (i < 20)


Bibliografia

  1. elem2
    1. podelem1
      1. podpodelem
        1. podpodpodelem