Lengoaia konpilatu

Lengoaia konpilatua programazio lengoaia bat zeinek bere inplementazioak konpiladoreak (iturburu kodetik makina lengoaia eratzen duten itzultzaileak) diren eta ez interpreteak (iturburu kodea pasoz pauso exekutatzen dute, exekuzioan inolako itzulpenik egin gabe).

Definizioa ez da beti betetzen. Printzipioz, edozein lengoaia konpiladore edo itzultzaile bat erabiliz inplementatu daiteke . Hala ere, gero eta ohikoagoa da bi irtenbideen arteko konbinazio bat: konpiladore batek  iturburu-kodea itzuli dezake tarteko elementu bat erabilita (sarritan Bytecode bat), gero interprete bati pasatuko zaiona exekutatzeko.

 Abantailak eta desabantailak 
Konpilazio denborari dagokionez, kode makinara konpilatutakoak, itzuli egin behar direnak baino azkarragoak dira, itzulpen prozesua egin behar ez dutelako. Hala ere, teknologia berriak, konpilazioa denbora exekuzioan bezala, eta hainbat hobekuntzak itzulpen prozesuan, hutsune hori murrizten hasi dira. Tarteko uneren batean, irtenbide mistoa eraginkorragoa izan ohi da bytecode-ak erabiliz.

Behe-mailako programazio lengoaiak normalean konpilatuak dira, batez ere eraginkortasuna kezka nagusia bada, gurutze-plataformen euskarria ordez. 

Ahalegin txikiak eginda posible da lengoaia interpretatuentzako konpiladoreak eraikitzea. Adibidez, Common Lisp  Java bytecode-re konpilatua izan daiteke, Java-ren makina birtualak interpretatzen duena; C kodera, kode-makinara konpilatu egiten dena. Konpilazio era ezberdin eskaintzen dituzten lengoaiek, kontrol gehiago eskaintzen dute programatzaileak exekuzio denbora kontrolatzeko eta plataforma ezberdinetan bateragarritasuna sustatzeko.

 Lengoaiak 
Normalean konpilatutzat hartzen diren zenbait lengoaia:
 Ada
 ALGOL
 Algol 60
 Algol 68
 SMALL
 BASIC
 C
 C++
 Objective-C
 C# (bytecode-ra)
 D
 CLEO
 COBOL
 Cobra
 Common Lisp
 Delphi
 Eiffel
 Sather
 Ubercode
 Factor (azken bertsioak)
 Forth
 Fortran
 Go
 Haskell
 Haxe (bytecode-ra)
 IBM RPG
 Java (bytecode-ra)
 JOVIAL
 G
 Lisp
 Lush
 Mercury
 Meta Lengoaia
 Standard ML
 Alice
 OCaml
 Modula-2
 Modula-3
 Open-URQ
 PureBasic
 Pascal
 Perl
 PHP
 PL/I
 Rust
 Scala
 Seed7
 Swift
 Visual Basic
 Visual Foxpro
 Visual Prolog

 Tresnak 
 ANTLR
 CodeWorker
 Lex
 Yacc
 Flex
 GNU Bison
 Yacc

 Ikusi gehiago 
 Konpiladore
 Interprete

 Kanpo estekak 

Kategoria:Programazio lengoaiak