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
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