Top Banner

Click here to load reader

Azbuka,Rec,Jezik,Jezicki Procesor

Jun 21, 2015

ReportDownload

Documents

mmiljana95

3

Azbuka, re, jezik, jeziki c c procesoriJezik je sredstvo za komunikaciju izmed dva ili vie korisnika i mora da bude prihu s vatljiv za sve korisnike. Ako su svi korisnici jezika ljudi, onda je jezik komunikacije obino prirodni jezik (srpski, engleski, francuski, itd.). Prirodni jezici su eksprec sivni (univerzalni), i njima se moe izraziti svaka informacija, ali su nejednoznani z c i neprecizni u predstavljanju specinih informacija kao to su matematike. Zato c s c se izgrad uju vetaki jezici u specinim oblastima, npr. jezik matematikih fors c c c mula u matematici, jezik hemijskih formula u hemiji, jezik saobraajnih znakova u c saobraaju, itd. c Posebna klasa vetakih jezika, u sluaju da je jedan od korisnika jezika s c c raunar, jesu programski jezici. Osnovni motiv za uvod c enje programskih jezika je potreba da se premosti razlika u nivou apstrakcije oveka i raunara. Dok ovek c c c ima potrebu i mogunost da razmilja na razliitim, ponekad visokim nivoima apc s c strakcije, raunar je ogranien mogunostima koje su denisane u trenutku njegove c c c izgradnje i izgradnje njegovog operativnog sistema. Programski jezici omoguuju c oveku da formulie poruku na nain koji je za njega relativno prirodan i jednosc s c tavan. S druge strane, precizna denicija doputenih oblika i njihovog znaenja s c omoguuje izgradnju jezikih procesora (prevodilaca i interpretera) programa c c pomou kojih se ovekova poruka prevodi na jezik razumljiv maini mainski c c s s jezik. Postoje razne denicije programskog jezika. Jedna od njih je denicija Amerikog instituta za standarde (ANSI) koja glasi: Programski jezik je jezik c koji se koristi za pripremanje raunarskih programa. Ova denicija, pored toga c to je veoma opta, ne odraava tekuu upotrebu jezika, tj. ne pravi razliku izmed s s z c u raznih programskih jezika. Ta razlika u lozoji, strukturi i upotrebi raznih programskih jezika najbolje se sagledava kroz klasikaciju programskih jezika o kojoj e biti rei u odeljku Klasikacija programskih jezika. c c Programski jezici kao nain komunikacije izmed oveka i raunara primenjuju c u c c 1

2

3. Azbuka, re, jezik, jeziki procesori c c

se od druge polovine pedesetih godina 20. veka, kada je denisana prva verzija programskog jezika FORTRAN (FORmula TRANslation) i napravljen prevodilac za njega (Backus, 1957). Od tada pa do danas razvijeno je vie stotina programskih s jezika.

3.1

Jezik. Sintaksa i semantika

Svaki jezik pa i programski jezik denie se sintaksom i semantikom jezika. s Sintaksa je nauka o jeziku koja izuava korektne doputene konstrukcije jezika. c s Semantika je nauka o jeziku koja izuava znaenje doputenih konstrukcija c c s jezika.

3.1.1

Azbuka, niska

Svaki jezik za komunikaciju oveka i raunara koristi konani skup simbola c c c (znakova) azbuku. Simbol (znak, slovo) je nedeljiva jedinica jezika. Nizanjem slova azbuke dobiju se niske nad azbukom. Duina niske je broj slova u nisci. z Ako je w niska, njena duina obino se obeleava sa |w|. Niska koja ne sadri z c z z nijedno slovo zove se prazna niska i obeleava se sa e (engl. empty prazan). Ako z je a slovo azbuke, sa ai oznaava se niska aa . . . a koja sadri i slova a. Tako a0 c z oznaava praznu nisku, a1 = a, a2 = aa, itd. c Formalno, niska nad azbukom A denie se na sledei nain: s c c 1. e je niska nad A; 2. ako je w niska nad A i a slovo iz A, onda je wa niska nad A; 3. sve niske nad azbukom A mogu se dobiti primenom pravila 1. i 2. Osnovna operacija nad niskama je dopisivanje (konkatenacija) i ona se denie s na sledei nain: c c Ako su w, u niske, |w|=x, |u|=y, onda je rezultat dopisivanja (konkatenacije) niske u na nisku w niska wu duine |wu|=x + y, i kojoj je i-to slovo jednako i-tom z slovu niske w za i x, tj. jednako i x-tom slovu niske u za x < i x + y. Ako je A azbuka sa n slova, A = {a1 , a2 , . . . an }, onda oznaka A oznaava c beskonani skup svih moguih niski nad azbukom A (A = {e, a1 , a2 , . . . , an , a1 a1 , c c a1 a2 , . . . , a1 an , a2 a1 , a2 a2 , . . . , a1 a1 a1 , . . . }. Oznaka A+ oznaava skup svih moguih niski nad azbukom A duine 1 c c z + (A = A \ e).

3.1.2

Karakterski skup

Za tekstualnu komunikaciju oveka sa raunarom (npr. preko tastature i ekrana terc c minala), tj. za saoptavanje programa i podataka raunaru i dobijanje izlaznih ins c formacija iz raunara, potrebno je, pre svega, imati precizno denisanu spoljanju c s azbuku tj. konani skup nedeljivih slova (znakova, simbola) npr. {A,B, . . . Z,1,2, c

3.1. Jezik. Sintaksa i semantika

3

. . . , 9, ?}. U raunaru se razliiti simboli spoljanje azbuke kodiraju razliitim komc c s c binacijama nula i jedinica ksne duine, tzv. kdom ksne duine nad binarnom z o z azbukom. Svaki raunar ima svoj skup karaktera za komunikaciju sa korisnikom, i taj skup c nije standardizovan. Karakteri imaju svoj spoljanji oblik koji vidimo na ekranu s (npr. A, a, +, }, [, 0, itd.) i svoju unutranju reprezentaciju u binarnom obliku, s koja odgovara nekoj standardnoj kodnoj emi (graka reprezentacija karaktera na s c tampau moe biti trea, npr. karakter { sa tastature moe se prikazati kao slovo s c z c z Z na tampau). s c Objasnimo ukratko principe, strukturu i svojstva kodnih ema (pronai na Ins c ternetu izvore informacija o karakterima i raznim nainima za njihovo kodiranje). c Danas su u upotrebi kodne rei duine 7 odnosno 8 bitova (ukupno 128 odnosno c z 256 kodnih rei) i 16 bitova (ukupno 65536 kodnih rei). Kodne rei u jednom kodu c c c ksne duine nazivaju se karakteri. Ako se za registrovanje jednog znaka spoljanje z s azbuke u raunaru koristi jedan bajt (kao to je to sluaj sa 7-bitnim odnosno 8c s c bitnim kodnim reima), onda vai i da sadraju jednog bajta, bez obzira da li on c z z predstavlja deo binarnog zapisa grake, zvune ili tekstualne informacije, odgovara c c jedan znak spoljanje azbuke (koji moe imati svoj graki lik ili ne). s z c Najrasprostranjeniji je 7-bitni kd koji je 1983. o godine standardizovan med unarodnim (ISO International Standard Organization) standardom. Najpoznatija je njegova nacionalna amerika verzija koju je denisao ANSI American c National Standards Institute 1968. godine u dokumentu American Standard Code for Information Interchange po kome se ovaj kd i zove ASCII-kd. o o U ASCII kdu se, na primer, znak A zapisuje kao 1000001, znak B kao o 1000010, znak 0 kao 0110000, znak 9 kao 0111001, itd. Kako se vrednost ovih binarnih brojeva moe sraunati u dekadnom sistemu (npr. 10000012 = 1 26 + z c 0 25 + 0 24 + 0 23 + 0 22 + 0 21 + 1 20 = 6410 + 110 = 6510 , to se i ASCII kodovi obino zapisuju (za komunikaciju med ljudima) u dekadnom sistemu, pa c u je kd za znak A 65, za znak B 66, za znak 0 48, za znak 9 57, itd. o Navedimo neke principe na kojima je struktuiran ASCII kd, i njegove osobine. o Prva 32 karaktera (kodovi 031) i poslednji karakter (kd 127) su kontrolni o karakteri. To su karakteri bez grakog lika, kao CR (kd 13), LF (kd 10). c o o Skup simbola spoljanje azbuke je ured prema ured s en enju njihovih karaktera - unutranjih kodova u odgovarajuoj kodnoj emi. U ASCII kodu, skup velikih s c s slova AZ (kodovi 6590), kao i skup malih slova az (kodovi 97122), kodiran je u abecednom poretku (65