ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Kompiler - Wikipedia, den frie encyklopædi

Kompiler

Fra Wikipedia, den frie encyklopædi

Sammenskrivningsforslag
Denne artikel er foreslået sammenskrevet med Compiler.   (Diskutér forslaget).
Hvis sammenskrivningen sker, skal en administrator kontaktes. Denne vil sørge for at historikken holdes samlet. Kopiér ikke bare fra én artikel til en anden.

En kompiler er et transformationsværktøj for programmører der oversætter/transformerer højniveau kode (der kan skrives, læses og forstås af mennesker) til et lavere niveau som f.eks. det sprog en computer forstår (ultimativt binære instruktions sæt). Det behøver ikke nødvendigvis at være fra høj- til lavniveau men kan også være fra eet højniveaus sprog til et andet (fra java til XML). En java kompiler (javac) oversætter fra java programmerings sproget til java byte kode som kan fortolkes/forstås af en java virtuel maskine (JVM).

Herunder følger et eksempel på oversættelse af java programmet Hello.java.

public class Hello{
        public static void main(String[] args){
                for(int i=0; i<10; i++)
                        System.out.println("Hallo");
        }
}

Med javac oversættes Hello.java til en såkaldt class-fil, der indeholder det det oversatte program i såkaldt bytecode. Denne kode er instruktioner til en java-maskine (evt. en virtuel java-maskine, JVM).

Delen public class Hello extends java.lang.Object{ public Hello(); bliver eksempelvis til...

  0:   aload_0
  1:   invokespecial   #1; //Method java/lang/Object."<init>":()V
  4:   return

... og main-metoden bliver til...

  0:   iconst_0
  1:   istore_1
  2:   iload_1
  3:   bipush  10
  5:   if_icmpge       22
  8:   getstatic       #2; //Field java/lang/System.out:Ljava/io/PrintStream;
  11:  ldc     #3; //String Hallo
  13:  invokevirtual   #4; //Method java/io/PrintStream.println:(Ljava/lang/String;)V
  16:  iinc    1, 1
  19:  goto    2
  22:  return


...hvilket en JVM kan forstå og fortolke!

organisation


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -