SlideShare une entreprise Scribd logo
1  sur  24
PPrrooggrraammsskkii jjeezziiccii
PPrreegglleedd pprrooggrraammsskkiihh jjeezziikkaa 
Jezik služi za komunikaciju između entiteta 
Pomoću jezika se predstavljaju i prenose 
informacije 
Podela jezika: 
◦ Prirodni jezici 
◦ Veštački jezici 
Programski jezici 2
PPrreegglleedd pprrooggrraammsskkiihh 
jjeezziikkaa ssttrr22 
Prirodni jezik se koristi za komunikaciju 
između ljudi u govornoj ili pisanoj formi 
Programski jezik je veštački jezik 
Programski jezik služi za komunikaciju između 
čoveka i računara. (Ponekad se koristi i za 
komunikaciju između ljudi!) 
Programski jezici 3
PPrreegglleedd pprrooggrraammsskkiihh 
jjeezziikkaa ssttrr33 
Programski jezik služi za opis programa, a 
preko programa se obavlja komunikacija 
između čoveka i računara 
Programski jezici su jednoznačni (za razliku od 
prirodnih koji mogu biti dvosmisleni) 
Poželjne osobine programskih jezika su: 
jednostavnost, izražajnost, rasprostranjenost, 
efikasnost, … 
Programski jezici 4
PPrreegglleedd pprrooggrraammsskkiihh 
jjeezziikkaa ssttrr44 
 Sintaksa — skup pravila za određivanje 
pravilnih konstrukcija jezika 
 Semantika — određuje značenje sintaksno-ispravnih 
konstrukcija jezika 
Programski jezici 5
PPrreegglleedd pprrooggrraammsskkiihh 
jjeezziikkaa ssttrr55 
 Nekoliko hiljada programskih jezika do sada 
 Kriterijumi za klasifikaciju programskih jezika: 
◦ Stepen zavisnosti od računara 
◦ Vreme nastanka 
◦ Oblast primene 
◦ Način rešavanja problema 
Programski jezici 6
KKllaassiiffiikkaacciijjaa pprreemmaa sstteeppeennuu 
zzaavviissnnoossttii oodd rraaččuunnaarraa 
Programski jezici (PJ) 
Mašinski zavisni PJ Mašinski nezavisni PJ (Viši PJ) 
Programski jezici 7 
Mašinski jezici 
Proceduralno orijentisani PJ 
Problemski orijentisani PJ 
Simbolički (asemblerski) PJ
KKllaassiiffiikkaacciijjaa pprreemmaa 
vvrreemmeennuu nnaassttaannkkaa 
Programski jezici 8 
Programski jezici 
I generacija 
Mašinski i 
asemblerski PJ 
II generacija 
FORTRAN, 
COBOL,LISP, 
BASIC, 
PL/1, ... 
III generacija 
Pascal, C, 
PROLOG, 
Smalltalk, C+ 
+, Java, … 
IV generacija 
SQL, 
VisualBasic, …
KKllaassiiffiikkaacciijjaa pprreemmaa 
oobbllaassttii pprriimmeennee 
Programski jezici 9 
Programski jezici 
Učenje 
progra-miranja 
Pascal, 
Basic, 
Logo, 
… 
Razvoj 
sistem. 
softvera 
C, 
Modula 2, 
Asembler, 
… 
Poslovne 
primene 
COBOL, 
SQL, 
RPG , 
… 
Internet 
Java, 
JavaScript, 
Perl, … 
Tehničke 
primene 
FORTRAN, 
Algol, 
APL, 
…
KKllaassiiffiikkaacciijjaa pprreemmaa nnaaččiinnuu 
rreeššaavvaannjjaa pprroobblleemmaa 
Programski jezici (PJ) 
Proceduralni PJ Neproceduralni PJ 
Programski jezici 10 
Imperativni PJ 
Strukturirani PJ 
Objektno orijentisani PJ 
Deskriptivni PJ 
Funkcionalni PJ 
Logički PJ
RRaazzvvoojjnnoo ssttaabblloo 
pprrooggrraammsskkiihh jjeezziikkaa 
Vreme nastanka pojedinih programskih 
jezika, kao i međusobni uticaji 
Posebno su istaknuti (na narednom 
slajdu) najznačajniji programski jezici 
Programski jezici 11
ssttaabblloo 
LISP (58-60) 
ISWIM (66) 
Programski jezici 12 
54-56 FORTRAN 
Fortran II 
60 
70 
80 
90 
Planer (66) 
MAC LISP (68) 
Scheme (75) 
InterLISP (75) 
Common LISP (85) 
Fortran IV 
Fortran 66 
Fortran 77 
Fortran 90 
Cobol 
Basic 
Algol 60 
Pascal 
C 
C++ 
Java 
Smalltalk 
Pl/I 
Modula 2 
Oberon 
Telos 
Euclid 
Ada 
Prolog 
CPL 
Simula 67 
Visual C++ 
Visual BASIC 
00 
FP (78) 
Miranda (86) 
Haskell (88) 
Fortran 2000
PPrreevvoođđeennjjee pprrooggrraammsskkiihh 
jjeezziikkaa 
Računari mogu da izvršavaju jedino programe 
na mašinskom jeziku 
Mašinski jezik je izražen preko binarne 
azbuke, tj. izvršni program je zapisan pomoću 
simbola 0 i 1 
Ako je program napisan na nekom višem 
jeziku (kao što je C), mora se izvršiti 
prevođenje na mašinski jezik 
Programski jezici 13
PPrreevvoođđeennjjee pprrooggrraammsskkiihh jjeezziikkaa 
ssttrr33 
Mašinski jezik je nepogodan za čoveka 
Prevođenje na mašinski jezik obavljaju specijalni 
programi 
Prevođenje sa mašinski orijentisanih jezika na 
mašinski jezik obavljaju asembleri 
Prevođenje sa viših programskih jezika na mašinski 
jezik obavljaju prevodioci (kompajleri) i 
interpretatori 
Programski jezici 14
PPrreevvoođđeennjjee mmaaššiinnsskkii 
oorriijjeennttiissaanniihh jjeezziikkaa 
Proces prevođenja sa mašinski orijentisanih jezika na 
mašinski jezik, koji obavljaju asembleri, naziva se 
asembliranje 
Asembleri prevode izvorni program na mašinski 
orijentisanom jeziku u međuoblik koji se naziva 
objektni program 
Povezivači povezuju objektni program i 
odgovarajuće rutine niskog nivoa u izvršni program 
15
AAsseemmbblliirraannjjee 
Izvorni 
program Asembler Objektni program Povezivač Izvršni program 
Programski jezici 16 
Izveštaj o 
greškama 
Izveštaj o 
greškama
PPrreevvoođđeennjjee vviiššiihh 
pprrooggrraammsskkiihh jjeezziikkaa 
Dva načina za prevođenje izvornih programa 
sa viših programskih jezika na mašinski jezik: 
◦ Kompajliranje 
◦ Interpretiranje 
Programski jezici 17
PPrreevvoođđeennjjee vviiššiihh 
pprrooggrraammsskkiihh jjeezziikkaa ssttrr22 
Kompajliranje programa ako su prevođenje 
programa i izvršavanje programa vremenski 
odvojeni procesi 
Kompajliranje izvode programi koji se 
nazivaju prevodioci (kompajleri) 
Programski jezici 18
PPrreevvoođđeennjjee vviiššiihh pprrooggrraammsskkiihh 
jjeezziikkaa ssttrr33 
Programski jezici 19 
Kompajliranje 
programa 
Izvorni 
program Kompajler Objektni program 
Izve{ Izveštaj taj o 
greškama 
gre{ kama 
Povezivač Izvršni program 
Izveštaj o 
greškama
PPrreevvoođđeennjjee vviiššiihh pprrooggrraammsskkiihh 
jjeezziikkaa ssttrr44 
Interpretiranje programa ako su prevođenje 
programa i izvršavanje programa vremenski 
spojeni procesi u jedan 
Interpretiranje izvode programi koji se 
nazivaju interpretatori 
Programski jezici 20
PPrreevvoođđeennjjee vviiššiihh pprrooggrraammsskkiihh 
jjeezziikkaa ssttrr55 
Programski jezici 21 
Ulazni 
podaci 
Izvorni 
program Interpretator 
Izveštaj o 
greškama 
Rezultati programa 
Interpretiranje 
programa
SSttrruukkttuurraa kkoommppaajjlleerraa 
Izvorni program 
Leksički analizator 
Sintaksni analizator 
Semantički analizator 
Rukovalac 
tabelama Obrađivač 
Generator međukoda 
Optimizator međukoda 
Generator koda 
grešaka 
Prevedeni program 
Dejan Živković Programski jezici 22 
Kompajler
SSttrruukkttuurraa iinntteerrpprreettaattoorraa 
23 
Izvorni 
program 
Ulazni 
podaci 
Rezultati 
programa 
Pripremni blok 
Izvršni blok 
Obrada nar. Obrada izlaza … Obrada ulaza 
Upravljački blok 
Izveštaj o 
greškama 
Interpretator
IInntteeggrriissaannaa rraaddnnaa 
ookkrruužžeennjjaa 
Za mnoge programske jezike postoje kompajleri i 
interpretatori 
Neki programski jezici (Java) su kompajlersko-interpretatorskog 
tipa 
Proizvođači softvera obezbeđuju grafičko radno 
okruženje koje sadrži niz razvojnih softverskih alata 
(kompajleri, interpretatori, editori, debageri, ...) 
24

Contenu connexe

En vedette

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

En vedette (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Programski jezici

  • 2. PPrreegglleedd pprrooggrraammsskkiihh jjeezziikkaa Jezik služi za komunikaciju između entiteta Pomoću jezika se predstavljaju i prenose informacije Podela jezika: ◦ Prirodni jezici ◦ Veštački jezici Programski jezici 2
  • 3. PPrreegglleedd pprrooggrraammsskkiihh jjeezziikkaa ssttrr22 Prirodni jezik se koristi za komunikaciju između ljudi u govornoj ili pisanoj formi Programski jezik je veštački jezik Programski jezik služi za komunikaciju između čoveka i računara. (Ponekad se koristi i za komunikaciju između ljudi!) Programski jezici 3
  • 4. PPrreegglleedd pprrooggrraammsskkiihh jjeezziikkaa ssttrr33 Programski jezik služi za opis programa, a preko programa se obavlja komunikacija između čoveka i računara Programski jezici su jednoznačni (za razliku od prirodnih koji mogu biti dvosmisleni) Poželjne osobine programskih jezika su: jednostavnost, izražajnost, rasprostranjenost, efikasnost, … Programski jezici 4
  • 5. PPrreegglleedd pprrooggrraammsskkiihh jjeezziikkaa ssttrr44  Sintaksa — skup pravila za određivanje pravilnih konstrukcija jezika  Semantika — određuje značenje sintaksno-ispravnih konstrukcija jezika Programski jezici 5
  • 6. PPrreegglleedd pprrooggrraammsskkiihh jjeezziikkaa ssttrr55  Nekoliko hiljada programskih jezika do sada  Kriterijumi za klasifikaciju programskih jezika: ◦ Stepen zavisnosti od računara ◦ Vreme nastanka ◦ Oblast primene ◦ Način rešavanja problema Programski jezici 6
  • 7. KKllaassiiffiikkaacciijjaa pprreemmaa sstteeppeennuu zzaavviissnnoossttii oodd rraaččuunnaarraa Programski jezici (PJ) Mašinski zavisni PJ Mašinski nezavisni PJ (Viši PJ) Programski jezici 7 Mašinski jezici Proceduralno orijentisani PJ Problemski orijentisani PJ Simbolički (asemblerski) PJ
  • 8. KKllaassiiffiikkaacciijjaa pprreemmaa vvrreemmeennuu nnaassttaannkkaa Programski jezici 8 Programski jezici I generacija Mašinski i asemblerski PJ II generacija FORTRAN, COBOL,LISP, BASIC, PL/1, ... III generacija Pascal, C, PROLOG, Smalltalk, C+ +, Java, … IV generacija SQL, VisualBasic, …
  • 9. KKllaassiiffiikkaacciijjaa pprreemmaa oobbllaassttii pprriimmeennee Programski jezici 9 Programski jezici Učenje progra-miranja Pascal, Basic, Logo, … Razvoj sistem. softvera C, Modula 2, Asembler, … Poslovne primene COBOL, SQL, RPG , … Internet Java, JavaScript, Perl, … Tehničke primene FORTRAN, Algol, APL, …
  • 10. KKllaassiiffiikkaacciijjaa pprreemmaa nnaaččiinnuu rreeššaavvaannjjaa pprroobblleemmaa Programski jezici (PJ) Proceduralni PJ Neproceduralni PJ Programski jezici 10 Imperativni PJ Strukturirani PJ Objektno orijentisani PJ Deskriptivni PJ Funkcionalni PJ Logički PJ
  • 11. RRaazzvvoojjnnoo ssttaabblloo pprrooggrraammsskkiihh jjeezziikkaa Vreme nastanka pojedinih programskih jezika, kao i međusobni uticaji Posebno su istaknuti (na narednom slajdu) najznačajniji programski jezici Programski jezici 11
  • 12. ssttaabblloo LISP (58-60) ISWIM (66) Programski jezici 12 54-56 FORTRAN Fortran II 60 70 80 90 Planer (66) MAC LISP (68) Scheme (75) InterLISP (75) Common LISP (85) Fortran IV Fortran 66 Fortran 77 Fortran 90 Cobol Basic Algol 60 Pascal C C++ Java Smalltalk Pl/I Modula 2 Oberon Telos Euclid Ada Prolog CPL Simula 67 Visual C++ Visual BASIC 00 FP (78) Miranda (86) Haskell (88) Fortran 2000
  • 13. PPrreevvoođđeennjjee pprrooggrraammsskkiihh jjeezziikkaa Računari mogu da izvršavaju jedino programe na mašinskom jeziku Mašinski jezik je izražen preko binarne azbuke, tj. izvršni program je zapisan pomoću simbola 0 i 1 Ako je program napisan na nekom višem jeziku (kao što je C), mora se izvršiti prevođenje na mašinski jezik Programski jezici 13
  • 14. PPrreevvoođđeennjjee pprrooggrraammsskkiihh jjeezziikkaa ssttrr33 Mašinski jezik je nepogodan za čoveka Prevođenje na mašinski jezik obavljaju specijalni programi Prevođenje sa mašinski orijentisanih jezika na mašinski jezik obavljaju asembleri Prevođenje sa viših programskih jezika na mašinski jezik obavljaju prevodioci (kompajleri) i interpretatori Programski jezici 14
  • 15. PPrreevvoođđeennjjee mmaaššiinnsskkii oorriijjeennttiissaanniihh jjeezziikkaa Proces prevođenja sa mašinski orijentisanih jezika na mašinski jezik, koji obavljaju asembleri, naziva se asembliranje Asembleri prevode izvorni program na mašinski orijentisanom jeziku u međuoblik koji se naziva objektni program Povezivači povezuju objektni program i odgovarajuće rutine niskog nivoa u izvršni program 15
  • 16. AAsseemmbblliirraannjjee Izvorni program Asembler Objektni program Povezivač Izvršni program Programski jezici 16 Izveštaj o greškama Izveštaj o greškama
  • 17. PPrreevvoođđeennjjee vviiššiihh pprrooggrraammsskkiihh jjeezziikkaa Dva načina za prevođenje izvornih programa sa viših programskih jezika na mašinski jezik: ◦ Kompajliranje ◦ Interpretiranje Programski jezici 17
  • 18. PPrreevvoođđeennjjee vviiššiihh pprrooggrraammsskkiihh jjeezziikkaa ssttrr22 Kompajliranje programa ako su prevođenje programa i izvršavanje programa vremenski odvojeni procesi Kompajliranje izvode programi koji se nazivaju prevodioci (kompajleri) Programski jezici 18
  • 19. PPrreevvoođđeennjjee vviiššiihh pprrooggrraammsskkiihh jjeezziikkaa ssttrr33 Programski jezici 19 Kompajliranje programa Izvorni program Kompajler Objektni program Izve{ Izveštaj taj o greškama gre{ kama Povezivač Izvršni program Izveštaj o greškama
  • 20. PPrreevvoođđeennjjee vviiššiihh pprrooggrraammsskkiihh jjeezziikkaa ssttrr44 Interpretiranje programa ako su prevođenje programa i izvršavanje programa vremenski spojeni procesi u jedan Interpretiranje izvode programi koji se nazivaju interpretatori Programski jezici 20
  • 21. PPrreevvoođđeennjjee vviiššiihh pprrooggrraammsskkiihh jjeezziikkaa ssttrr55 Programski jezici 21 Ulazni podaci Izvorni program Interpretator Izveštaj o greškama Rezultati programa Interpretiranje programa
  • 22. SSttrruukkttuurraa kkoommppaajjlleerraa Izvorni program Leksički analizator Sintaksni analizator Semantički analizator Rukovalac tabelama Obrađivač Generator međukoda Optimizator međukoda Generator koda grešaka Prevedeni program Dejan Živković Programski jezici 22 Kompajler
  • 23. SSttrruukkttuurraa iinntteerrpprreettaattoorraa 23 Izvorni program Ulazni podaci Rezultati programa Pripremni blok Izvršni blok Obrada nar. Obrada izlaza … Obrada ulaza Upravljački blok Izveštaj o greškama Interpretator
  • 24. IInntteeggrriissaannaa rraaddnnaa ookkrruužžeennjjaa Za mnoge programske jezike postoje kompajleri i interpretatori Neki programski jezici (Java) su kompajlersko-interpretatorskog tipa Proizvođači softvera obezbeđuju grafičko radno okruženje koje sadrži niz razvojnih softverskih alata (kompajleri, interpretatori, editori, debageri, ...) 24