PF:Moduł Podstawy: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Przemek (dyskusja | edycje)
Nie podano opisu zmian
Przemek (dyskusja | edycje)
Linia 23: Linia 23:
formalizmu.
formalizmu.
Opis notacji:
Opis notacji:
*\bnf{konstrukcja},
*\kwd{słowo kluczowe},
*<math>::=</math>,  
*<math>::=</math>,  
*<math>\dots | \dots</math>,  
*<math>\dots | \dots</math>,  

Wersja z 09:13, 17 lip 2006

W każdym języku programowania mamy trzy rodzaje konstrukcji językowych:

  • podstawowe symbole (typy, wartości, operacje, relacje, itp.) --- pochodzące z dziedziny algorytmicznej,
  • sposoby konstrukcji --- czyli jak z prostszych całości budować bardziej skomplikowane,
  • sposoby abstrakcji --- czyli jak złożone konstrukcje mogą być nazwane i dalej wykorzystywane tak, jak podstawowe elementy.

Nasza dziedzina algorytmiczna zawiera m.inn.:

  • typy: \codeline{bool}, \codeline{int}, \codeline{float}, \codeline{char}, \codeline{string},
  • stałe: logiczne (\codeline{true} i \codeline{false}), całkowite (np.: 0, 1, -2), rzeczywiste (np.: 2.3, -3.4, 4.5e-7), znakowe (np.: \codeline{'a'}, napisy (np. \codeline{"ala ma kota"}).
  • procedury: \codeline{+}, \codeline{-}, \codeline{*}, \codeline{/}, \codeline{mod}, \codeline{+.}, \codeline{-.}, \codeline{*.}, \codeline{/.}, \codeline{||}, \codeline{&&}, \codeline{not}, =, , , <, >, <>, \codeline{^}.

Powtórka: rozróżnienie symboli od ich interpretacji.

BNF

Gramatyka bezkontekstowa jako sposób opisu związku między zapisem, a drzewem rozbioru gramatycznego. Opisując składnię języka będziemy się posługiwać notacją BNF (rozszerzenie gramatyk bezkontekstowych), ale bez przesadnego formalizmu. Opis notacji:

  • \bnf{konstrukcja},
  • \kwd{słowo kluczowe},
  • ::=,
  • |,
  • [],
  • {}*,
  • {}+,
  • {}.

Tego formalizmu będziemy używać do opisu składni.