260 likes | 435 Views
Programski jezici. Elementi programskih jezika. Elementi programskih jezika. Azbuka Rezervisane re či Konstante Promenljive Komentari Leksički elementi Struktura programa. Azbuka.
E N D
Programski jezici Elementi programskih jezika
Elementi programskih jezika • Azbuka • Rezervisane reči • Konstante • Promenljive • Komentari • Leksički elementi • Struktura programa
Azbuka • Prilikom definicije jezika polazi se od osnovnog skupa znakova, azbuke jezika koja sadrži sve završne simbole (terminalne simbole) jezika • Osnovni skup simbola od kojih se grade sve sintaksne kategorije • Nad azbukom se definišu ostali elementi jezika, konstante, rezervisane reči, identifikatori • Broj znakova se kreće od 48 do 90 • Najviše se razlikuju po skupu specijalnih znakova koje obuhvataju
Rezervisane reči • Lekseme – nizovi znakova azbuke koji u programu imaju određeni smisao, leksička jedinica koja odgovara jednoj reči ili grupi reči koja obrazuje gramatičku ili frazeološku celinu (npr. goto) • Rezervisane reči – definisane pravilima jezika, ne mogu se menjati, u većini slučajeva ni koristiti kao identifikatori
Primeri rezervisanih reči • ADA – abs, access, begin, body, case, do, if, else, function, generic, new, not, null, private, procedure, ... • C – int, char, float, double, struct, union, long, break, continue, if, else, for, do, while, switch, case, default, ... • Pascal 35; C 28; Ada 63
Konstante • Podatak – bilo koji niz znakova u programu, posmatran nezavisno od njegovog logičkog značenja, nad kojim se mogu izvršavati određene operacije • Element podatka – deo podatka nad kojim se mogu izvršavati elementarne operacije • Konstanta – veličina koja u toku izvršavanja programa ima samo jednu vrednost, koja se ne može menjati • U nekim programskim jezicima konstante se mogu imenovati (Ada, Pascal, C)
Primeri konstanti • Celobrojne konstante • 1; 50; 153; +55; -55 • Realne konstante u fiksnom zarezu • 3.14; 3.0; -0.314; -.314; +.314 • Realne konstante u pokretnom zarezu • 3.14 E 0; -0.314 E 1 • -.314 E +0; +.314 E -2 (Fortran, Pascal, Ada) • 3.14 10 2; -0.324 10 +3 (Algol) • Realne konstante dvostruke tačnosti: • 3.14 D 0; -3,14 D1; +.314 D2 (Fortran)
Primeri konstanti • Kompleksne konstante • (3.14, 0.13); (0, -23) (Fortran) • 3.13, 013 I; 0, -23 I (PL/1) • Binarne konstante (PL/1) • 10111B; -0.0001B (u fiksnom zarezu) • 11011 E -4B; 111.001 E 2 B (u pokretnom zarezu) • Logičke konstante • true; false (Pascal, Ada) • .TRUE.; .FALSE. (Fortran) • Znakovne konstante • 'A'; 'B' (Pascal, Ada, C) • String konstante • "Beograd"; "Alfa 1" (Ada, C)
Promenljive • Veličine čije se vrednosti menjaju u toku izvršavanja programa • Ime • Referenca • Vrednost • Identifikatori – uvedene reči kojima se imenuju promenljive i druge sintaksne kategorije (potprogrami, moduli, klase, itd.)
Vrednost Ime Referenca Vrednost Ime Promenljive • Veza između imena, reference i vrednosti • Za slučaj imenovane konstante • Primer: X:=3.14
Komentari • Proširenje programskog koda komentarima u cilju pojašnjenja pojedinih delova koda • Ignorišu se od strane kompilatora pri prevođenju programa • Poboljšavaju čitljivost programa
Primeri komentara • Ada • -- Ada komentar • C • /*komentar u programskom jeziku C*/ • //komentar u jednom redu • Pascal • {Pascal komentar} • HTML • <!-- HTML komentar -->
Leksički elementi - Ada • Rezervisane reči • Ograničavači • Identifikatori • Konstante • Komentari
Ada – rezervisane reči • U jeziku Ada postoji ukupno 63 rezervisane reči • Primeri: abs | accept | all | begin | case | declare | do | entry | else |elsif | for | function | goto | if | is | loop | mod | not | out | private |record | select | task | use | when | xor
Ada - ograničavači • Ograničavači - osnovni simboli, specijalni znaci: • & | ' | ( | ) | * | + | - | . | , | / | : | ; | < | = | > | | • Složeni, komponovani ograničavači: • => | .. | ** | := | /= | >= | <= | << | >> | <>
Ada - identifikatori • Identifikatori - imena, uvedene rečikojimaprogramerimenujenekeelementeprogramanpr. promenljive, potprogramei sl. • Predefinisanaimenakojaimajuodređenoznačenjenanivoukompilatorakoji se koristizaprevođenje • Imenakojasusastavnideostandardnihbibliotekapotprogramakaošto suU/Ibiblioteke
Struktura programa • Razlikuje se od jezika do jezika • Globalna struktura programa zavisi od toga da li su u jeziku zastupljeni stariji ili noviji koncepti • Stariji koncept – implicitne definicije tipova promenljivih • Noviji koncept – eksplicitne definicije tipova promenljivih
Struktura – Fortran 77 • Jezici sa implicitnom definicijom mogu da sadrže samo izvršni deo programa kojim se kodira algoritam • Definicija tipa promenljive zavisno od početnog slova - FORTRAN
Struktura - Pascal • Program započinje specifikacijom tipova podataka, promenljivih, konstanti i potprograma, zatim sledi izvršni deo
Struktura - Ada • Ada programi mogu imati i znatno složeniju strukturu koja omogućava konkurentno izvršavanje na multiprocesorskim sistemima
Struktura - C • Struktura bloka, ograničena zagradama {} • Stariji koncept bloka, opisi elemenata u bloku
Pitanja ???
Pitanja - ponavljanje Koji su osnovni elementi programskog jezika? Šta je azbuka programskog jezika? Šta su rezervisane reči programskog jezika? Šta predstavlja konstanta u programskom jeziku? Šta su promenljive u programskom jeziku? Šta su identifikatori u programskom jeziku? Koji su atributi promenljive?