Kompilatoret

Print

Artur Koci, PhD

Kodi
CMP 116
Emri
Kompilatoret
Semestri
2
Leksione
3.00
Seminare
1.00
Laboratore
0.00
Kredite
3.50
ECTS
5.00
Përshkrimi

Lenda Kompilatoret eshte nje lende qe jep njohuri baze per kompilatoret, funksionet, proceset, fazat e nje kompliatori dhe elementet e tyre perberes. Lenda ka nje aspekt te gjere dhe do te perpiqet te njohe studentet me bazat e kompilatoreve, rendesine e tyre ne programim, shnderrimet qe peson kodi gjate perkthimit te tiaj nga ana e kompilatorit. Lenda trajton me ne detaje fazat ne te cilat kalon nje program burim per tu perkthyer nga kompilatori ne nje gjuhe te kuptueshme dhe te ekzekutueshme nga makinat.

Objektivat

Lënda ka për qëllim të japë njohuri mbi strukturën e kompilatorëve dhe te teknikave të përdorura në ndërtimin e tyre, ku përfshihet analiza leksikore, analiza sintaksore dhe gjenerimi i kodit të ndërmjetëm. Ndertimi dhe analizimi i pemës se sintaksës abstrakte, tabelat e simboleve si dhe staku i makinës; Studimi i software-ve të përdorur për ndërtimin e kompilatorëve si gjeneratori i analizuesit leksikor Jflex dhe gjeneratori i analizuesit sintaksor Java CUP; Ndërtimi i një kompilatori për gjuhën minijava duke përdorur teknikat më sipër do të jetë projekti i lëndës.

Java
Tema
1
Hyrje- Në këtë temë do të trajtohen, struktura e një kompilatori, evoluimi i gjuhëve të programimit, ndërtimi i një kompilatori, aplikacionet e teknologjisë së kompilatorëve.
2
Përkthyes i thjeshtë i drejtuar sintaksor (Syntax-Directed)- Në këtë temë do të trajtohen, përkufizimi i sintaksës dhe analiza gramatikore (parsing), përkthim i drejtuar sintaksor (Syntax-Directed Translation), një përkthyes i thjeshtë.
3
Përkthyes i thjeshtë i drejtuar sintaksor (Syntax-Directed) -Në këtë temë do të trajtohen, analiza leksikore, gjenerimi i kodit të ndërmjetëm (Intermediate code generation), tabelat e simboleve.
4
Analiza leksikore- Në këtë temë do të trajtohen, roli i analizuesit leksikor, specifikimet e tokens, njohja e tokens, shprehjet e rregullta.
5
Finite Automata (Automata të fundme)-Në këtë temë do të trajtohen, shprehje të rregullta, Nondeterministic Finite Automata (NFA, Deterministic Finite Automata (DFA).
6
Analiza sintaksore- Në këtë temë do të trajtohen, Deterministic Finite Automata (DFA), konvertimi i një NFA në një DFA
7
Përsëritje
8
Provimi gjysmefinal
9
Analiza sintaksore- Në këtë temë do të trajtohen, analiza sintaksore, gramatika pa kontekst, derivimet, pema sintaksore konkrete dhe abstrakte, shkrimi i gramatikës, paqartësitë.
10
Analiza sintaksore, Parsimi Top-Down I- Në këtë temë do të trajtohen, algoritmi BFS, algoritmi BFS e majtë, algoritmi DFS e majtë, parsim parashikues, algoritmi LL(1).
11
Analiza sintaksore, Parsimi Top-Down II-Në këtë temë do të trajtohen, algoritmi LL(1), ndërtimi i tabelave parse LL(1), Llogaritja FIRST dhe FOLLOW, rekursioni i majtë dhe faktorizueshmeria e majtë.
12
Analiza sintaksore, Parsimi Bottom-Up I-Në këtë temë do të trajtohen, parsimi bottom-up, gjetja e trajtuesve (handle), parsimi shift/reduce, ndërtimi i automatës përcaktuese për gjetjen e trajtuesve (handles), njohja e trajtuesve, parsimi LR(0).
13
Analiza sintaksore, Parsimi Bottom-Up II-Në këtë temë do të trajtohen, parsimi LR(0), optimizimi i parsimit LR(0), ndërtimi i tabelës LR(0), konflikte LR, parsimi LR(1) ndërtimi i automatës LR(1), ndërtimi i tabelës LR(1).
14
Analiza sintaksore, Parsimi Bottom-Up III-Në këtë temë do të trajtohen, parsimi SLR(1), konvertimi LR(1) në LALR(1), analiza gramatikore LALR(1), automata LR(0).
15
Përsëritje
16
Provimi final
1
Njohuri në strukturën e kompilatorëve.
2
Ndërtimin e kompilatorëve.
3
Fazat në të cilat kalon një program burim për tu përkthyer nga kompilatori në një gjuhë të kuptueshme dhe të ekzekutueshme nga makinat.
Sasia Përqindja Përqindja totale
Gjysmë finale
1 30% 30%
Kuize
0 0% 0%
Projekte
0 0% 0%
Detyra
0 0% 0%
Laboratorët
0 0% 0%
Pjesëmarrja në mësim
1 10% 10%
Përqindja totale e vlerësimit
40%
Përqindja e provimit përfundimtar
60%
Përqindja totale
100%
Sasia Kohëzgjatja (orë) Gjithsej (orë)
Kohëzgjatja e kursit (përfshirë javët e provimit)
16 4 64
Orë studimi jashtë klasës
14 3 42
Detyrat
0 0 0
Gjysmë finale
1 9 9
Provimi përfundimtar
1 10 10
Të tjera
0 0 0
Ngarkesa totale e punës
125
Ngarkesa totale e punës / 25 (orë)
5.00
ECTS
5.00