Fordítóprogramok FORD01 Programozó matematikus III. évf. Miskolci Egyetem 1 Fordítóprogramok 1 Programozó matematikus szak 2003/2004-es tanév II. félév.

Slides:



Advertisements
Hasonló előadás
Programozási feladatok
Advertisements

Hatékonyságvizsgálat, dokumentálás
Összefoglalás 1. Pascal program szerkezete 2. Pascal típusai
Algoritmus és programozás
3. A programozás eszközei, programozás-technikai alapismeretek
Kifejezések, operandusok, operátorok
Determinisztikus programok. Szintaxis: X : Pvalt program változók E : Kifkifejezések B : Lkiflogikai kifejezések C : Utsutasítások.
A C nyelv utasításai. Kifejezés+ ; Utasítás printf("Hello")printf("Hello"); a=b+ca=b+c; fuggveny(a,b)fuggveny(a,b); Blokkok: több utasítás egymás után,
9. előadás (2005. április 26.) Parancssor argumentum kezelés példák (K&R) Fordítóprogramok A C előfordító 1.
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Az első program, avagy ismerkedés a nyelvvel
Programozás alapjai.
Programozási nyelvek.
1 Programozás alapjai GEIAL312B (ANSI C) BSc (Bachelor of Science) / Alap képzés 2005/2006. őszi félév Miskolci Egyetem Általános Informatikai Tanszék.
Ez a dokumentum az Európai Unió pénzügyi támogatásával valósult meg. A dokumentum tartalmáért teljes mértékben Szegedi Tudományegyetem vállalja a felelősséget,
Programozáselmélet Logikák és módszerek a programhelyesség bizonyításához.
Mutatók, tömbök, függvények
C A C nyelv utasításai. Ismétlés Utasítások csoportosítása.
Készítette: Rummel Szabolcs Elérhetőség:
Algoritmizálás Göncziné Kapros Katalin humaninformatika.ektf.hu.
Programozó matematikus szak 2003/2004-es tanév II. félév
Fordítóprogramok FORD01 Programozó matematikus III. évf. Miskolci Egyetem 1 Fordítóprogramok 1.5 Programozó matematikus szak 2003/2004-es tanév II. félév.
PHP Webprogramozás alapjai
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
2. előadás Programegység, fordítási egység, könyvtári egység, beágyazás, blokkszerkezet, alprogramok, csomagok.
2. előadás Programegység, fordítási egység, könyvtári egység, beágyazás, blokkszerkezet, alprogramok, csomagok.
Szombathely Dinamikus WEB programozás: PHP és JSP.
Vizuális és web programozás II.
ISZAM III.évf. részére Bunkóczi László
Kivételkezelés a C++ nyelvben Bevezetés
Bevezetés a C++ programozási nyelvbe
A programozás alapjai A számítógép számára a feladat meghatá- rozását programozásnak nevezzük. Ha a processzor utasításait használjuk a feladat meghatározásához,
Ismétlés A pascal program szerkezete: program programnev; Programfej
Programozási nyelvek, Pascal
Szintaktikai, szemantikai szabályok
1.3. Pascal program felépítése Az els ő program. Program ; … Begin … End. Program fej Deklarációs rész Végrehajtó rész.
1.4. Fordítás, szerkesztés, az objektumkönyvtár használata.
Operátorok Értékadások
Programozási nyelvek.
Programozás és programozás módszertan
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Programozás. Programozási nyelvek: Gépi nyelv A számítástechnika őskorában egyedüli lehetőség volt a gép bitsorozattal való programozása. Minden processzor.
A szoftver, szoftvertípusok
Podoski Péter és Zabb László. Bevezető Algoritmus-vizualizáció témakörében végeztünk kutatásokat és fejlesztéseket Felmértük a manapság ismert eszközök.
Funkciós blokkok A funkciós blokkok áttekintése Az alkalmazás előnyei.
Török Katalin és Marosi Nóra 11/c. Pascal: Az es években megjelent magas szintű programozási nyelv, közel áll az emberi gondolkodáshoz. Nevét.
Mintapélda Készítsünk programot, amely beolvas egy egész számot, és eldönti arról, hogy prímszám-e. Készítsünk programot, amely beolvas egy egész számot,
C Programozási alapok.
Kiterjesztések szemantikája: Szemantikai tartomány : Adatoknak, vagy értékeknek egy nem üres halmazát szemantikai tartománynak nevezzük. Jelölése: D. Egy.
Készítette: Weigel Szilvia számítástechnika szak III. évfolyam, Budapest – ADU A Logo programozási nyelv X.
Programok készítése és futtatása. Integrált fejlesztői környezet (IDE) tartalmaz:  szövegszerkesztőt a program forráskódjának szerkesztésére,  fordítóprogramot.
Programstruktúrák. Program A program utasítások olyan sorozata, amely a számítógépen önállóan képes megoldani egy feladatot. A program háttértáron futtatható.
Fordítóprogramok gyakorlat tavaszi félév gyakorlatvezető:Kitlei Róbert szoba:D 2-616B honlap:
Adatstruktúrák Algoritmusok Objektumok
Programozási nyelvek Programozási alapismeretek
Programozási alapok.
Programozási nyelvek típusossága.
Compiler illetve interpreter nyelvek
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Példa: Dinteger = {..., -1,0,1,...}; Dboolean = {true, false};
Bevezetés a programozásba Algoritmikus gondolkodás
Programozási nyelvek alapfogalmai
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Informatikai gyakorlatok 11. évfolyam
Informatikai gyakorlatok 11. évfolyam
1. Bevezetés A programozásba
Előadás másolata:

Fordítóprogramok FORD01 Programozó matematikus III. évf. Miskolci Egyetem 1 Fordítóprogramok 1 Programozó matematikus szak 2003/2004-es tanév II. félév Készítette: dr. Nagy Ferenc I.

Fordítóprogramok FORD01 Programozó matematikus III. évf. Miskolci Egyetem 2 Programnyelvek Magasszintű nyelvek számítógép függetlenek hardware funkciókat nem biztosítják fordítóprogram szükséges, amely adott operációs rendszer alatt fut és adott operációs rendszer alá fordít Vannak: felhasználó orientált nyelvek (általános probléma könnyen megfogalmazható) probléma orientált nyelvek (speciális terület pl folyamatirányítás) Alacsonyszintű nyelvek Gépi kód (utasításai bináris numerikus értékek (kódok), operandusok, memóriacímek szintén binárisak) Assembly (A gépi kód szimbolikus megfelelője) A Makro-assembly közelít a magasszintű struktúrákhoz

Fordítóprogramok FORD01 Programozó matematikus III. évf. Miskolci Egyetem 3 A fordítóprogram működési sémaja Adatok  Forrásnyelvű program  Compiler  Tárgynyelvű program  Tárgyprogram végrehajtása  Eredmények  Fordítási időFutási idő A fordítási és a futási idő jól elkülönül Matematikailag: Q=T(P) ahol P - forrásnyelvű program Q - tárgynyelvű program T - fordítás (Transzláció, transzformáció) Ha többmenetes a fordító, akkor: P n-1 =T n (P n ), P n-2 =T n-1 (P n-1 ), …, P 1 =T 2 (P 2 ), Q=T n (P 1 ) ahol P i - közbülső programforma

Fordítóprogramok FORD01 Programozó matematikus III. évf. Miskolci Egyetem 4 Az interpreter működési sémaja Adatok  Forrásnyelvű program  Interpreter  Eredmények  Fordítási és futási idő A fordítási és a futási idő nem válik szét A hardware által vezérelt („bedrótozott”) interpreter neve formulavezérelt számítógép

Fordítóprogramok FORD01 Programozó matematikus III. évf. Miskolci Egyetem 5 A fordítóprogram szerkezete A forrásprogram általában egy file-ban van. Compiler(forrásnyelvű program)(tárgyprogram, lista) A fordítás lépései: 1.Source-handler(forrásnyelvű program, hibák)(karaktersorozat, lista) Input-handler(forrásnyelvű program)(karaktrersorozat) Output-handler(forrásnyelvű program, hibák)(lista) 2.Compiler(karaktersorozat)(tárgykód, hibák) 3.Kód-handler(tárgykód)(tárgyprogram) Forrás program  Source-handler  Compiler  Kód-handler  ListaTárgyprogram

Fordítóprogramok FORD01 Programozó matematikus III. évf. Miskolci Egyetem 6 Az analízis feladata A compiler analizálja a kapott karaktersorozatot és szintetizálva építi fel a tárgykódot. 1.Lexikális elemzés: az input karaktersorozatban a szimbolikus egységek meghatározása (konstansok, változók, kulcsszavak, operátorok felismerése, szóközök, kommentárok kiszűrése). A szimbólumok általában kódoltak (típuskód, cím a szimbólumtáblába) Lexikális elemző(karaktersorozat)(szimbólumsorozat, lexikális hibák) 2.Szintaktikus elemző(szimbólumsorozat)(szintaktikusan elemzett program, szintaktikus hibák) A programstruktúra felismerése Szintaxisfa kialakítása Lengyel formák 3.Szemantikus elemző(szintaktikusan elemzett program)(analizált program, szemantikai hibák) Szemantikai tulajdonságok vizsgálata (pl A+B esetén deklarált-e A és B, azonosak-e a típusok, van-e értékük)

Fordítóprogramok FORD01 Programozó matematikus III. évf. Miskolci Egyetem 7 A szintézis 1.Kódgenerátor(Analizált program)(tárgykód) Szintaxisfából, lengyel formából kód generálása Gépfüggő, operációs rendszerfüggő assembly vagy gépi kód kimenet 2.Kódoptimalizáló(tárgykód)(tárgykód) Azonos programrészek kiemelése alprogramba Hurkok ciklusváltozótól független részeinek hurkon kívüli elhelyezése Optimális regiszterhasználat

Fordítóprogramok FORD01 Programozó matematikus III. évf. Miskolci Egyetem 8 A PL/0 nyelv A PL/0 nyelv lehetőségei, eszközei: Értékadó utasítás Struktúrálási elvek - Sorozatképzés - Feltételes végrehajtás - Ciklusképzés Szubrutin Adattípusok: integer konstans és változó Aritmetkiai és relációs műveletek

Fordítóprogramok FORD01 Programozó matematikus III. évf. Miskolci Egyetem 9 PL/0 szintaxis - 1 Program Blokk. Utasítás CONST=, ; VAR, ; PROCEDURE ; ; Blokk AzonosítóSzám Azonosító

Fordítóprogramok FORD01 Programozó matematikus III. évf. Miskolci Egyetem 10 PL/0 szintaxis - 2 Utasítás CALL WHILE BEGINEND Utasítás ; IF Feltétel THEN Utasítás Feltétel DO Utasítás := AzonosítóKifejezés Azonosító

Fordítóprogramok FORD01 Programozó matematikus III. évf. Miskolci Egyetem 11 PL/0 szintaxis - 3 Feltétel = Kifejezés ODD Kifejezés <><><=>= Kifejezés - Tag + - +

Fordítóprogramok FORD01 Programozó matematikus III. évf. Miskolci Egyetem 12 PL/0 szintaxis - 4 Tag Tényező ) ( / * Azonosító Szám Kifejezés