„Fordítóprogram” változatai közötti eltérés

A Wikipédiából, a szabad enciklopédiából
[nem ellenőrzött változat][nem ellenőrzött változat]
Tartalom törölve Tartalom hozzáadva
GrinBot (vitalap | szerkesztései)
a GrinBot - robot Adding:fi
Szajd (vitalap | szerkesztései)
Egyértelműsítés
1. sor: 1. sor:
:''Ez a szócikk azokkal a fordítóprogramokkal foglalkozik, melyek egyik programozási nyelvről a másikra alakítanak át kódot. A nyelvi fordítással kapcsolatban lásd a [[Gépi fordítás]] szócikket.''
A '''fordítóprogram''' (ang. ''compiler'') olyan [[számítógépes program]], amely valamely [[programozási nyelv]]en írt programot képes egy másik programozási nyelvre lefordítani.

A '''fordítóprogram''' (angolul '''''compiler''''') olyan [[számítógépes program]], amely valamely [[programozási nyelv]]en írt programot képes egy másik programozási nyelvre lefordítani.


== Csoportosítás ==
== Csoportosítás ==
10. sor: 12. sor:


== Kivitelezés ==
== Kivitelezés ==

Régebben a fordítóprogramok több [[fázis]]ban működtek. Mikor egy fázis véget ért, a fordítóprogram felszabadíthatta a használatban levő [[memória (számítástechnika)|memóriát]].
Régebben a fordítóprogramok több [[fázis]]ban működtek. Mikor egy fázis véget ért, a fordítóprogram felszabadíthatta a használatban levő [[memória (számítástechnika)|memóriát]].
A mai modern fordítóprogramok csak két [[fázis]]t használnak:
A mai modern fordítóprogramok csak két [[fázis]]t használnak:

A lap 2004. augusztus 31., 16:43-kori változata

Ez a szócikk azokkal a fordítóprogramokkal foglalkozik, melyek egyik programozási nyelvről a másikra alakítanak át kódot. A nyelvi fordítással kapcsolatban lásd a Gépi fordítás szócikket.

A fordítóprogram (angolul compiler) olyan számítógépes program, amely valamely programozási nyelven írt programot képes egy másik programozási nyelvre lefordítani.

Csoportosítás

A fordítandó programot forrásprogramnak (nyelvét forráskód), a lefordított programot tárgyprogramnak (nyelvét tárgynyelvnek) nevezzük.

E szerint a fordítóprogramokat a következőképp csoportosíthatjuk:

  • natív-kódra fordítók
  • több platformra fordítók
  • magasszintű nyelvből egy másik magasszintű nyelvre

Kivitelezés

Régebben a fordítóprogramok több fázisban működtek. Mikor egy fázis véget ért, a fordítóprogram felszabadíthatta a használatban levő memóriát. A mai modern fordítóprogramok csak két fázist használnak:

  • az elsőben lefordítja a forráskódot egy közbeeső kódra (előrész)
  • a masodik fázisban torténik az úgynevezett fordítási eljárás. (hátrész)

Előrész

Az első fázis maga is több al-fázisból áll:

  1. lexikai ellenőrzés: a forráskód felbontása több egységre (jelkép), például: fenntartott szavak, változók vagy jelek.
  2. szintaktikai ellenőrzés: megfelel-e forráskód a nyelv szintaktikai specifikációinak
  3. szemantikai ellenőrzés: a típusellenőrzéseket hatja végre a fordítóprogram
  4. a közbeeső kód generálása

Hátrész

Itt történik a közbeeső kód lefordítása gépi kódra. Ez is több lépésből tevődik össze:

  1. optimizálás: a közbeeső kód átalakítása kisebb és gyorsabb formába (a program működése ettől nem változik)
  2. kódgenerálás: a gépi kód generálása.

Fordítóprogram vagy interpreter?

A magasszintű nyelveketkét kategóriába lehet sorolni: lefordított nyelvek és interpretált nyelvek. Általában a lefordított nyelvek sokkal gyorsabbak, mivel az interpreter is kénytelen a kódot lefordítani gépi kódra futás közben.

Történet

Az 1990-es évek során nagyszámban jelentek meg szabadfordítóprogramok a GNU projekt és az nyílt forráskód mozgalomban. Sok közűlük nagyon jó minőségűek és jó példaként szolgálhatnak bárkinek, aki ebben a témában érdeklődik.

Lásd még

Külső linkek