Metody realizacji języków programowania/MRJP Wykład 3: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Mbiskup (dyskusja | edycje)
Mbiskup (dyskusja | edycje)
plan wykładu
Linia 1: Linia 1:
Statyczna analiza semantyczna
= Statyczna analiza semantyczna =
 


= Streszczenie =
= Streszczenie =


Akapit1


Akapit2


= Rozdz 1 =
= 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 ==
== podrozdz1 ==
Linia 23: Linia 71:
Lista punktowana
Lista punktowana
* ala ma kota
* ala ma kota
* a kot ma ale
** aaa
** aaa


Linia 35: Linia 82:


[external link]
[external link]
== headline 2 ==


[[Grafika:an image]]
[[Grafika:an image]]
Linia 49: Linia 92:


--[[Użytkownik:Mbiskup|Mbiskup]] 10:41, 22 lip 2006 (CEST)Mój podpis
--[[Użytkownik:Mbiskup|Mbiskup]] 10:41, 22 lip 2006 (CEST)Mój podpis
----
(0) i1 = 0
(1) a = 13
(2) i2 = <math>\phi</math>(i1,i3)
(3) i3 = i2 + 1
(4) '''if''' (i3 < 15) '''goto''' (2)


  i = 0  
  i = 0  
Linia 70: Linia 101:


= Bibliografia =
= Bibliografia =
# elem1
# elem2
# elem2
## podelem1
## podelem1
### podpodelem
### podpodelem
#### podpodpodelem
#### podpodpodelem

Wersja z 09:29, 22 lip 2006

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