Babeş–Bolyai Tudományegyetem Kolozsvár
Matematikai és Informatikai Kar  
2006/2007  tanév,   1.  félév 

I.	A tantárgy adatai

A tantárgy neve: Formális nyelvek és fordítóprogramok (Limbaje formale si compilatoare)
Kód: MIF0003
Kreditszám: 5
Hol tartják?  (előadás, szeminárium, laboratórium):
Mikor tarják? (előadás, szeminárium, laboratórium):

II.	Az oktatók adatai 
 
Előadás
Név, tudományos cím:  Dr. Kása Zoltán
Elérhetőség (e-mail, telefon): kasa@cs.ubbcluj.ro, 405837, 405327
Fogadóóra : szerad 14–15
Szeminárium
Név, tudományos cím: 
Elérhetőség (e-mail, telefon):
Fogadóóra :
Laboratórium
Név, tudományos cím: 
Elérhetőség (e-mail, telefon):
Fogadóóra :

III.	A tantárgy leírása: 
[Célja, tartalma, milyen kompetenciát biztosít, az órán (előadás, szeminárium laboratórium) használt módszerek – 10-20 sor].

A tantárgy célja megismertetni a hallgatókkal a formális nyelvek és automaták alapfogalmait, algoritmusait, amelyek használatosak a fordítóprogramok esetében, bevezetni őket a fordítóprogramok tervezésének és megvalósításának tudományába.  

A szemináriumokon az elméleti tudást gyakorlati feladatokon mélyítjük el. A gyakorlati órákon konkrét algoritmusokat programoznak.

IV.	Kötelező könyvészet:
 [Teljes és pontos adatok, elérhetési mód  (akár internetcím is) – max. 10 cím].

1. Fülöp Zoltán, Formális nyelvek és szintaktikus elemzésük,  Polygon, Szeged, 1999.
2. Kása Zoltán: Formális nyelvek és automaták, Kolozsvár, 2004. Egyetemi jegyzet
3. Aho, A. V., Ullmann, J. D.: The Theory of Parsing, Translation and Compiling, Vol  I-II., Prentice-Hall, 1972--1973
4. Csörnyei Zoltán, Fordítópogramok, Typotex Kiadó, Budapest, 2006.
5. Demetrovics János, Denev, J.,  Pavlov, R.,  A számítástudomány matematikai alapjai, Nemzeti Tankönyvkiadó, Budapest, 1999.
6. Manna, Z., Programozáselmélet,  Műszaki Könyvkiadó, Budapest, 1981.
7. Moldovan, G., Cioban, V., Lupea, M, Limbaje formale si teoria automatelor. Culegere de probleme}, Editura Mesagerul, Cluj-Napoca,  1997.

Az ajánlott könyvek megtalálhatók a kari könyvtárban.

V.	Az oktatásban használt eszközök:
[Esetenként: számítógép, laboratóriumi felszerelések, különleges eszközök stb. – annak megjelölésével, hogy a kar biztosítja-e vagy nem – nem kötelező].

A gyakorlati órákat a kar számítógép-laboratóriumaiban tartjuk.

VI.	A tevékenységek és ellenőrzések/részleges vizsgák órarendje:
[Minden tevékenység – előadás, szeminárium, laboratórium, részleges vizsga – tematikája, dátuma és a következő adatok (tevékenységekként): 
-	alapfogalmak vagy kulcsszavak, 
-	a megfelelő kötelező könyvészet adatai (fejezetek, oldalak)
-	a hallgatók kötelezettségei az illető tevékenységen (kötelező olvasmányok, házi feladatok, dolgozatok)].

1. előadás:  Formális nyelvtanok, nyelvek, alapfogalmak, Chomsky-féle nyelvosztályok
2. előadás:  Normálalakok, kiterjesztett nyelvtanok
3–4. előadás: Véges automaták és reguláris nyelvek (determinisztikus és nemdeterminisstikus automaták, műveletek véges automatákkal, minimalizálás)
5. előadás:.Reguláris nyelvek, pumpáló lemma reguláris nyelvekre
6. előadás: Reguláris kifejezések
7–8. előadás: Veremautomaták és környezetfüggetlen nyelvek
9. előadás: Turing-automaták és algoritmikusan megoldható feladatok
10. előadás: Speciális nyelvtanok és nyelvek (LL(k) nyelvtanok, LR(k) nyelvtanok, elsőbbségi (precedencia) nyelvtanok)
11. előadás:  Fordítóprogramok szerkezete
12. előadás: Lexikális, szintaktikai és szemantikai elemzések
13. előadás: Felülről lefelé és alulról felfelé történő elemzések
14. előadás: Kódgenerálás és kódoptimalizálás

A hallgatók tevékenységét a szemináriumokon és a gyakorlati órákon állandóan ellenőrizzük.  Ezen tevékenységek súlya a végleges jegyben 50 %.  Nincsenek félévközi vizsgák.

VII.	Az értékelés módja:
[A hallgatók milyen tevékenységét értékeljük (állandó ellenőrzés, zárthelyi dolgozatok, kutatási projektek, aktív részvétel stb.), ezek súlya a végleges jegyben, a vizsgáztatás módja, értékelési kritériumok]. 

A végleges jegyben 50% súllyal szerepel az írásbeli vizsga, 25% súllyal a szemináriumi és 25% súllyal a laboratóriumi tevékenység.

VIII.	Szervezési kérdések, a különleges esetek kezelése:
[Óralátogatás (esetleg), vizsgára való jelentkezés feltételei, bepótolás lehetőségei, plagizálás, másolás, csalás következményei, óvások megoldása].

A laboratóriumi dolgozatok elkészítése kötelező határidőre, esetleg pótolni lehet más csoporttal. Mindenki megnézheti az írásbeli dolgozatát, az óvást eredményét helyben megtudhatja.

IX.	Ajánlott, de nem kötelező könyvészet:
[Teljes és pontos adatok, elérhetési mód  (akár internetcím is) ].

1. Gécseg Ferenc, Peák István, Algebraic Theory of Automata,  Akadémiai Kiadó,  Budapest, 1972.
2. Hopcroft, J. E., Ullmann, J. D., Introduction to Automata Theory, Languages and Computation, Addison-Wesley, 1979.
3. Révész György, Bevezetés a formális nyelvek elméletébe,  Akadémiai Kiadó, Budapest, 1979.
4. Motogna Simona: Metode de proiectare a compilatoarelor, Ed. Albastra, Cluj, 2006.
5. Iványi Antal (szerk.) Informatikai algoritmusok II., ELTE-Eötvös Kiadó, Budapest, 2005.
      
Az ajánlott könyvek megtalálhatók a kari könyvtárban.