You are on page 1of 18

Sintaksa i semantika

 Svaki jezik, kako prirodni, tako i veštački ima svoju


sintaksu i semantiku.
 Sintaksa određuje šta su ispravne konstrukcije
(rečenice) u tom jeziku, dok im semantika pridružuje
značenje.
 Najelementarniji nivo sintakse naziva se leksika i
ona definiše šta su ispravne lekseme (npr. reči,
simboli) u jeziku. I programski jezici imaju svoje
leksike, sintakse i semantike.
Leksika

 Osnovne leksičke kategorije većine programskih


jezika čine:
- ključne (rezervisane reči)
- identifikatori,
- brojevni literali,
- niske karaktere - stringovi,
- operatori,
- separatori ...
Rezervisane reči

 Ključne (rezervisane) reči jezika su one reči koje


imaju rezervisano značenje u prograsmkom jeziku i
koje programer ne sme koristiti ni za šta drugo ,van
tog njihovog osnovnog značenja.
 Na primer komande: printf scanf , if, else, for, while,
getch ...
Identifikatori

 Identifikatori su imena promenljivih, funkcija,


konstanti i slično.
 Identifikatori se grade od slova, cifara i podvlake
(donja crta, znak _ ), pri čemu ne mogu počinjati
cifrom.
 Postoji nekoliko konvencija za zapis identifikatora.
Tzv. kamilja notacija kaže da svaka nova reč u
složenom identifikatoru trebada počne velikim
slovom (npr: EditPrviBroj) jer se tako složene reči
lakše čitaju. Drugi način zapisa složenih
Identifikatori

 Kamilja notacija kaže da svaka nova reč u složenom


identifikatoru treba da počne velikim slovom (npr:
StranicaKvadrata, TxtPrviBroj) jer se tako složene
reči lakše čitaju.
 Drugi način zapisa složenih identifikatora je da se
reči odvoje podvlakom (npr: omov_zakon)
 Mađarska notacija kaže da prvih nekoliko karaktera
identifikatora trebada sugerišu tip promenljive koju
identifikator imenuje (npr: btnIzracunaj)
Brojevi

 Brojevi se zapisuju na uobičajeni način.


 Kod realnih brojeva se umesto decimalnog zareza
koristi decimalna tačka (npr: 3.14)
Stringovi

 Niske karaktera tj. stringovi su način da se doslovan


tekst predstavi unutar programa.
 Niske se uvek navode između navodnika (npr: “ovo
je neki tekst“).
Komentari

 Komentari sadrže dodatna objašnjenja i napomene i


prilikom leksičke analize programa se potpuno
zanemaruju.
 U zavisnosti od programskih jezika oni se zapisuju
između vitičastih zagrada { } ili između znakova (*i*)
ili iza kose crte /.
 Operatori se koriste za kreiranje izraza.
Neki operatori su: +, -, *, /, <, <=, >, >=, <>.

• Separatori služe da razdvoje elemente programa.


Osnovni separatori su beline (razmak, prelazak u
novi red, tabulator) koji razdvajaju uzastopne
lekseme.
 Kombinovanjem leksema grade se komplikovanije
jezičke konstrukcije.
 Osnovni sintaksni elementi koji se koriste pri
izgradnji programa su:
- izrazi (brojevni izrazi, logički izrazi) i
- naredbe (algoritmi se predstavljaju u obliku
niza naredbi, razdvojenih simbolom ;).
Sintaksa programskog jezika

• Sintaksa programskog jezika je skup pravila na


osnovu kojih se pišu konstrukcije programskog jezika
• Kao što su kod prirodnog jezika slova, reči i rečenice,
tako su kod programskog jezika simboli, lekseme i
izrazi.
• Primenom sintaksnih pravila utvrđujemo da li je
određena konstrukcija pravilna.
• Sintaksne greške su formalne, pogrešno otkucana
reč, spojene dve reči i prevodilac ih lako otkriva.
Semantika programskog jezika

• Semantika programskog jezika određuje značenje


pojedinih konstrukcija u programu, odnosno
programa u celini.
• Semantičke greške su vezane za logiku programa i
znatno teže se otkrivaju. Ovakve greške otklanja sam
programer.
• Sintakse programskog jezika opisuju se pomoću
posebnog jezika - metajezika.
• Sintaksna pravila i definicije opisuju se pomoću
Bekusove notacije i sintaksnih dijagrama.
Bekusova notacija

• Bekusova notacija koristi sledeće simbole :


::= znači " po definiciji je ";
| znači " ili " ;
<> znači " opis pomoću metajezika neke
strukture programskog jezika ";
{A} znači da se A ponavlja nula ili više puta;
[A] znači da se A ponavlja nula ili jednom.
Sintaksni dijagrami

• Sintaksni dijagrami se sastoje od kružića ili ovalnih


simbola i pravougaonika međusobno povezanih.
• Kružići označavaju osnovne oznake jezika.
• Pravougaonici označavaju konstrukcije koje se
definišu pomoću drugih sintaksnih dijagrama.
Sintaksni dijagrami

• Sintaksni dijagrami su usmereni - može se kretati


samo u pravcu strelice.
• Svaki put kroz sintaksni dijagram je jedno sintaksno
pravilo na osnovu kojeg se grade ispravne sintaksne
konstrukcije.
• Sintaksni dijagrami su čitljiviji i razumljiviji od
Bekusove notacije
Sintaksni dijagrami

You might also like