FORMALNI SISTEMI KAO OSNOVA ZA PROJEKTOVANJE KOMPAJLERA

Σχετικά έγγραφα
Iskazna logika 3. Matematička logika u računarstvu. novembar 2012

Operacije s matricama

Elementi spektralne teorije matrica

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15

3.1 Granična vrednost funkcije u tački

XI dvoqas veжbi dr Vladimir Balti. 4. Stabla

Računarska grafika. Rasterizacija linije

SISTEMI NELINEARNIH JEDNAČINA

III VEŽBA: FURIJEOVI REDOVI

APROKSIMACIJA FUNKCIJA

numeričkih deskriptivnih mera.

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).

radni nerecenzirani materijal za predavanja R(f) = {f(x) x D}

Zadaci iz Osnova matematike

5. Karakteristične funkcije

Programski prevodioci

41. Jednačine koje se svode na kvadratne

Teorijske osnove informatike 1

18. listopada listopada / 13

1 Afina geometrija. 1.1 Afini prostor. Definicija 1.1. Pod afinim prostorom nad poljem K podrazumevamo. A - skup taqaka

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

Iskazna logika 1. Matematička logika. Department of Mathematics and Informatics, Faculty of Science, University of Novi Sad, Serbia.

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA.

Azbuka, niska: formalizam

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A

Računarska grafika. Rasterizacija linije

Zavrxni ispit iz Matematiqke analize 1

ELEKTROTEHNIČKI ODJEL

IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI)

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost

Sistemi veštačke inteligencije primer 1

Sintaksa i semantika u logici

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f

1. Pojam fazi skupa. 2. Pojam fazi skupa. 3. Funkcija pripadnosti, osobine i oblici. 4. Funkcija pripadnosti, osobine i oblici

Dijagonalizacija operatora

7 Algebarske jednadžbe

SKUPOVI I SKUPOVNE OPERACIJE

a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A.

Diskretna matematika. Prof. dr Olivera Nikolić

Programiranje I. Smer Informatika Matematički fakultet, Beograd. Jelena Tomašević, Sana Stojanović November 16, 2005

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.

Inženjerska grafika geometrijskih oblika (5. predavanje, tema1)

Funkcije dviju varjabli (zadaci za vježbu)

KONVEKSNI SKUPOVI. Definicije: potprostor, afin skup, konveksan skup, konveksan konus. 1/5. Back FullScr

PID: Domen P je glavnoidealski [PID] akko svaki ideal u P je glavni (generisan jednim elementom; oblika ap := {ab b P }, za neko a P ).

Riješeni zadaci: Limes funkcije. Neprekidnost

SOPSTVENE VREDNOSTI I SOPSTVENI VEKTORI LINEARNOG OPERATORA I KVADRATNE MATRICE

( ) π. I slučaj-štap sa zglobovima na krajevima F. Opšte rešenje diferencijalne jednačine (1): min

Matematiqki fakultet. Univerzitet u Beogradu. Domai zadatak

Kardinalni brojevi i Lebegova mera

10. STABILNOST KOSINA

Elektrotehnički fakultet univerziteta u Beogradu 17.maj Odsek za Softversko inžinjerstvo

DRUGI KOLOKVIJUM IZ MATEMATIKE 9x + 6y + z = 1 4x 2y + z = 1 x + 2y + 3z = 2. je neprekidna za a =

Parser primer kalkulatora

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1

SEMINAR IZ KOLEGIJA ANALITIČKA KEMIJA I. Studij Primijenjena kemija

Klasifikacija blizu Kelerovih mnogostrukosti. konstantne holomorfne sekcione krivine. Kelerove. mnogostrukosti. blizu Kelerove.

radni nerecenzirani materijal za predavanja

Betonske konstrukcije 1 - vežbe 3 - Veliki ekscentricitet -Dodatni primeri

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x

INTELIGENTNO UPRAVLJANJE

1 UPUTSTVO ZA IZRADU GRAFIČKOG RADA IZ MEHANIKE II

10 Iskazni račun - deduktivni sistem za iskaznu logiku

[1] Formalni jezik iskazne logike

Verovatnoća i Statistika I deo Teorija verovatnoće (zadaci) Beleške dr Bobana Marinkovića

Matematička logika. novembar 2012

8 Predikatski račun kao deduktivni sistem

PRIMJER 3. MATLAB filtdemo

Neka su A i B proizvoljni neprazni skupovi. Korespondencija iz skupa A u skup B definiše se kao proizvoljan podskup f Dekartovog proizvoda A B.

1. zadatak , 3 Dakle, sva kompleksna re{ewa date jedna~ine su x 1 = x 2 = 1 (dvostruko re{ewe), x 3 = 1 + i

6 Polinomi Funkcija p : R R zadana formulom

Linearna algebra 2 prvi kolokvij,

Pismeni dio ispita iz Matematike Riješiti sistem jednačina i diskutovati rješenja u zavisnosti od parametra a:

Skup svih mogućih ishoda datog opita, odnosno skup svih elementarnih događaja se najčešće obeležava sa E. = {,,,... }

Konstruisati efikasan algoritam znači dati skup preciznih uputstava kako doći do rešenja zadatog problema Algoritmi se mogu opisivati:

Kaskadna kompenzacija SAU

LINEARNA ALGEBRA 1, ZIMSKI SEMESTAR 2007/2008 PREDAVANJA: NENAD BAKIĆ, VJEŽBE: LUKA GRUBIŠIĆ I MAJA STARČEVIĆ

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je,

1 Algebarske operacije i algebraske strukture

Neka su A i B skupovi. Kažemo da je A podskup od B i pišemo A B ako je svaki element skupa A ujedno i element skupa B. Simbolima to zapisujemo:

U raznim oblastima se često javlja potreba da se izmed u izvesnih objekata uspostave izvesne veze, odnosi ili relacije.

Funkcije. Predstavljanje funkcija

On predstavlja osnovni pojam, poput pojma tačke ili prave u geometriji. Suštinsko svojstvo skupa je da se on sastoji od elemenata ili članova.

Cauchyjev teorem. Postoji više dokaza ovog teorema, a najjednostvniji je uz pomoć Greenove formule: dxdy. int C i Cauchy Riemannovih uvjeta.

Pravilo 1. Svaki tip entiteta ER modela postaje relaciona šema sa istim imenom.

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto

π π ELEKTROTEHNIČKI ODJEL i) f (x) = x 3 x 2 x + 1, a = 1, b = 1;

Predikatska logika. January 8, 2012

Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika. Monotonost i ekstremi. Katica Jurasić. Rijeka, 2011.

Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1.

Relacije poretka ure denja

1 Promjena baze vektora

Matematika 1 { fiziqka hemija

Prediktor-korektor metodi

POTPUNO RIJEŠENIH ZADATAKA PRIRUČNIK ZA SAMOSTALNO UČENJE

4.7. Zadaci Formalizam diferenciranja (teorija na stranama ) 343. Znajući izvod funkcije x arctg x, odrediti izvod funkcije x arcctg x.

Ispitivanje toka i skiciranje grafika funkcija

Transcript:

FORMALNI SISTEMI KAO OSNOVA ZA PROJEKTOVANJE KOMPAJLERA Definicije Sintaksa, Semantika Projektovanje kompajlera kompajlera. 1

Kompajler, Procedura, Algoritam: KOMPAJLER: prevodioc sa višeg programskog jezika na mašinski jezik. Procedura: skup operacija koje se izvršavaju u konačnom vremenu i dovode do jednoznačnog rezultata. Algoritam: skup operacija i skup pravila o njihovoj primeni nad polaznim podacima u cilju dobijanja rezultata. kompajlera. 2

Formalni sistem: Formalni sistem: neinterpretativan matematički sistem, koji čine azbuka, aksiome i skup pravila zaključivanja. Primeri: teorija skupova, Bulova algebra, račun predikata. Formalni sistem je META-JEZIK za definisanje programskih jezika. Simboli jezika objekta nazivaju se terminalnim simbolima, a simboli meta-jezika su neterminalni simboli. kompajlera. 3

Formalni sistem - nastavak Formalni sistem definiše oblik odnosno sintaksu programskog jezika. Sintaksa: skup pravila kojima se pokoravaju relacije između važećih reči jezika. Jezik služi za prenos značenja (info). Semantika: skup sadržaja (značenja) nekog jezika. kompajlera. 4

Azbuka, rečnik i jezik, formalnih sistema: AZBUKA T je konačan skup terminalnih simbola. Npr. T={a,b,c} Formula u azbuci (rečenica ili niz znakova) se dobija pripajanjem simbola: ab, ac... Skup svih konačnih reči (nizova) azbuke T* je REČNIK formiran u T. JEZIK L: podskup rečnika, definisan pomoću jednog ili više znakova smene (smena zadatu reč zamenjuje jednom od reči u koju se ona transformiše). kompajlera. 5

Odlučivost formalnih sistema: Skup POSLEDICA formalnog sistema: skup reči koji se dobija primenom pravila zaključivanja nad skupom reči jezika. TEZA sistema: skup posledica izvedenih iz sopstvenih aksioma. Osnovni problem teorije formalnih sistema je određivanje da li je neka reč jezika element teze sistema. Ukoliko postoji algoritam, koji omogućava takav zaključak, za sistem se kaže da je odlučiv. kompajlera. 6

Specifikacije jezika: Generativna: ukoliko je neku rečenicu moguće generisati uvek kad je to potrebno. Analitička: algoritam određuje da li je zadata reč važeća ili nevažeća u jeziku. kompajlera. 7

Generisanje reči: Početni simbol je označen neterminalni simbol od koga se razvijaju svi nizovi jezika. Proces generisanja se sastoji od primene u svakom koraku jedne redukcije ili SMENE. Ovaj proces pretvara jednu reč u drugu. kompajlera. 8

Formalna gramatika: Skup četiri elementa G (N, T,, P) gde je: (1) N - skup neterminalnih simbola (2) T - skup terminalnih simbola (3) Σ -Početni simbol; Σ je element N (4) P - skup SMENA ->, gde su i elementi (NUT)* i nije nula (5) N i T su disjunktni kompajlera. 9

Rečenična forma, Rečenica, Jezik definisan gramatikom: Rečenična forma: bilo koja reč koja može da se razvije od polaznog simbola. Rečenica je rečenična forma koja sadrži samo terminalne simbole. Jezik L koji je definisan gramatikom G: L(G) = {W je element T* takav da se indirektno razvija iz }. kompajlera. 10

Sintaksa jezika Najprostiji metod definisanja sintakse jezika je pisanjem skupa generacionih pravila - produkcija. Radi pisanja kompajlera, potreban je i skup pravila prepoznavanja. Primena pravila prepoznavanja se naziva ANALIZOM ili PARSINGOM. kompajlera. 11

Bakus-Naurova forma (BNF) Bakus-Naurova forma je notacija za izražavanje produkcije. Svaka produkcija definiše sintaksnu klasu. Elementi ovog meta-jezika su: :: = predstavlja strelicu smene < > ograđuju ime sintaksne klase l simbol "ILI", omogućava dodelu više smena. kompajlera. 12

Format produkcije: NAZIV SINTAKSNE KLASE ::= DEFINICIJA Npr. <SLOVO> ::= AlBlC <IDENTIFIKATOR> ::= <SLOVO>l<SLOVO>.<SLOVO> Mogući identifikatori: A.A B.A C.A A.B B.B C.B A.C B.C C.C kompajlera. 13

Primer specifikacije: <DODELA> ::= <IDENTIFIKATOR> = <IZRAZ> <IZRAZ> ::= <TERM>l<IZRAZ> + <TERM> <TERM> ::=<IDENTIFIKATOR>l<TERM> *<IDENTIFIKATOR> <IDENTIFIKATOR> ::= AlBlC Mogući programi u ovom jeziku: A = B + C C = A*B + C... kompajlera. 14

Semantika jezika SEMANTIČKI OPIS daje smisao rečenicama koje se formiraju programskim jezikom. Svakoj smeni se mora dati formalizovano objašnjenje razumljivo mašini. Polazi se od osnovnog semantičkog skupa, koji je razumljiv računaru. Kroz strukturu koju je sintaksa nametnula nad rečenicom, identifikuju se njeni sastavni elementi. Polazeći od značenja sastavnih elemenata rečenice dolazi se do njenog ukupnog značenja. kompajlera. 15

PROJEKTOVANJE KOMPAJLERA Kompajler je programska komponenta koja prevodi programe, napisane na višem programskom jeziku na mašinski jezik. U opštem slučaju jezik L koji je nezavisan od konkretne mašine, prepoznaje tipove kojima mašina ne može da manipuliše. Uobičajeno je da se taj prevodioc dekomponuje na tri osnovna dela. kompajlera. 16

Dekompozicija prevodioca MAKRO JEZIK JEZIK ISKAZA PREPROCESOR OSNOVNI JEZIK KOMPAJLER MEĐUJEZIK APSTRAKTNA MAŠINA PODACI REZULTAT INTERPRETER kompajlera. 17

Komponente prevodioca Preprocesor: prelaz sa spoljnjeg oblika jezika na osnovni jezik. Kompajler: prelaz sa osnovnog programskog jezika na međujezik. Interpreter:simulira pseudomašinu na realnoj mašini. kompajlera. 18