A tartalom eléréséhez kérjük, lépj be!
Kezdd itt
Szavas kereso
Szint kereso
Top 10 feltöltő

Top 10 feltöltő


A fordítási direktívák a Turbo PASCAL-ban

VN:F [1.9.22_1171]
Értékeld
Beküldő: - Szólj hozzá
Szint: - Kedvencekhez
Megnézték:
2472
Nyomtasd
Dátum: 2007-12-20 Küldd tovább
  Letöltés

A fordítási direktívák a Turbo PASCAL-ban

Fordító direktívák: A fordítóprogramnak adott speciális utasítások, amelyekkel a fordítás körülményeit és a keletkező lefordított program tulajdonságait megváltoztathatjuk.

A direktívák csoportosítása:
- Kapcsoló direktívák: csak két állapotuk lehet, aktív és passzív, ezt a direktíva neve után tett ‘+’ ill. ‘-’ jellel tüntetjük fel. Szintaxisuk a következô: a direktívákat kapcsos zárójelbe tesszük, de megkülönböztetésül a kommentektől a nyitó zárójel ‘{‘ után dollár jel ‘$’jelzi, hogy ez direktíva. Ezután a direktíva neve, majd az állapotot jelzô ‘+’ vagy ‘-’ jel következik. Például: {$I+} vagy {$B-}. Egymás után több direktívát is felsorolhatunk, mint például: {$I+,B-,N+}. A kapcsoló direktívák globálisak vagy lokálisak lehetnek:

- Globális kapcsoló direktívák: az általuk definiált tulajdonságok az egész program vagy unit területére érvényesek. Közvetlenül a programfej vagy unitfej után kell elhelyeznünk ôket; hatásuk a program, ill. unit egészére vonatkozik.
(Globális direktívák: A, D, E, L, M, O)

- Lokális kapcsoló direktívák: e direktívákat bárhol elhelyezhetjük a program és a unit területén, sôt, hatásukat bármikor módosíthatjuk.
(Lokális direktívák: B, F, I, R, S, V)

- Paraméteres direktívák: a direktíva neve után paraméterek következnek, például memóriaméret vagy egy filenév, ez esetben a direktíva és a paraméterek együttesen specifikálják az utasítást a fordítónak. Szintaxisuk:
{$ <direktívanév> <paraméter_1>…<,paraméter_n>}.
(Paraméteres direktívák : I, L, M, O )

- Feltételes direktívák: a fordítás menetét specifikálják. E direktívákkal elérhetô, hogy a fordítás a forrásfájlnak csak egy, valamely feltétel kiértékelésétôl függô, részére terjedjen ki. Két szerkezetet használhatunk:
{$IFxxx feltétel}


{$ENDIF} , vagy

{$IFxxx feltétel}


{$ELSE}


{$ENDIF}

(Feltételes direktívák: IFDEF, IFNDEF, IFOPT, DEFINE, UNDEFINE. A feltételes direktívák nem tartoznak szorosan a tananyaghoz, ezért elég csak megemlíteni ôket)

Fordítási direktívák

‘B’ direktíva: logikai kifejezés kiértekelése. Lokális kapcsoló direktíva, alapértelmezése passzív. Aktív állapotban a logikai kifejezések kiértekelése teljes mértékben, passzív állapotban csak a végeredmény egyértelművé válásáig történik. Az aktív állapot beállítása tesztelésnél célszerű, de a már tesztelt programban a gyorsabb futás érdekében célszerű kikapcsolni.
‘E’ direktíva: aritmetikai processzor emulálása. Globális kapcsoló direktíva, alapértelmezése aktív. Aktív állapotban a numerikus processzor emulálásra kerül, hiszen co-processzor hiányában csak így használhatjuk a real típustól különbözô valós típusokat (single, extended, double, comp). Az ‘E’ direktíva aktív állapotának előfeltétele az ‘N’ direktíva bekapcsolása. Tehát ha nincs matematikai társprocesszor, és használni szeretnénk a kiterjesztett valós típusokat akkor az ‘E’ és az ‘N’ direktívát is be kell kapcsolnunk, ha van akkor az ‘E’ direktívát kapcsoljuk ki.
‘I’ direktíva mint I/O ellenőrzés. Lokális kapcsolódirektíva, alapértelmezése aktív. Aktív állapota mellett input-output hiba esetén a program futása megszakad, és a vezérlés visszakerül az operációs rendszerhez. Passzív állapot esetén az IORESULT függvény segítségével kezelhetjük az I/O hibákat. Hiba esetén nem áll le a program futása, de minden I/O művelet felfüggesztôdik az IORESULT meghívásáig. A függvényt meghívva megkapjuk a hibára jellemzô hibakódot.
‘I’ direktíva mint include-file beszerkesztése. Segítségével include (beszúrt) fájlokat szerkeszthetünk be a forrásprogramunkba. Az include fájlok forrásnyelvű programrészletek, melyek a fordítás alatt a programunkhoz szerkesztôdnek. Használata: {$I <fájlnév>}. A kiterjesztés alapértelmezése .PAS, hiánya esetén a rendszer ezt feltételezi. E direktíva nem állhat ‘BEGIN’ és ‘END’ között, maximálisan 15 include-file ágyazható egymásba.
‘N’ direktíva: numerikus processzorhoz. Globális kapcsoló direktíva, alapértelmezése passzív. Passzív állapotban csak a real valós típust használhatjuk. Ha a kiterjesztett valós típusokat akarjuk használni, akkor kapcsoljuk be, és az ‘E’ direktíva állapotától függôen, vagy a co-processzor fog működni, vagy pedig csak annak emulálására kerül sor.
‘R’ direktíva: érvényességi tartomány ellenôrzése. Lokális kapcsoló direktíva, alapértelmezése passzív. Aktív állapotban futás közben ellenôrzésre kerül az indexek érvényességi, illetve a skaláris és résztartomány típusok értelmezési tartománya. Túlcsordulás esetén a program futása hibaüzenettel megszakad. Az aktív állapot beállítása tesztelésnél célszerű, de a már tesztelt programban a gyorsabb futás érdekében célszerű kikapcsolni.


 

Facebook hozzászólok

Facebook hozzászólók

Hozzászólok

Ha szeretnél hozzászólni, lépj be!

Ezt olvastad már?
Az Objektum Orientált Programozás szerepe (Pascal)

Az Objektum Orientált Programozás (OOP) szerepe és eszközei a Turbo...

Close