Porting: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
Tidak ada ringkasan suntingan Tag: VisualEditor Suntingan perangkat seluler Suntingan peramban seluler |
Tidak ada ringkasan suntingan Tag: Suntingan perangkat seluler Suntingan peramban seluler |
||
(3 revisi perantara oleh 3 pengguna tidak ditampilkan) | |||
Baris 1:
Dalam [[ilmu komputer]], '''''porting''''' atau '''pemortaan''' adalah proses
Peranti lunak bersifat [[Portabilitas perangkat lunak|mudah alih]] (''portable'') karena biaya memindahkannya ke [[platform komputasi|pelantar]] baru secara signifikan lebih murah daripada biaya penulisannya dari awal. Semakin rendah biaya pemortaan peranti lunak relatif terhadap biaya implementasinya, dikatakan akan semakin mudah alih.
Baris 22:
== Kompilator portaan ==
Alih-alih menerjemahkan langsung ke [[kode mesin]], [[kompiler|kompilator]] modern menerjemahkan ke [[Bytecode|kode perantara]] mesin independen untuk meningkatkan portabilitas kompilator dan meminimalkan upaya desain. Bahasa perantara mendefinisikan ''[[mesin virtual]]'' yang dapat menjalankan semua program yang ditulis dalam [[Intermediate representation|bahasa perantara]] (sebuah mesin yang ditentukan oleh bahasanya dan sebaliknya).<ref name="Machinelanguage">{{harvnb|Tanenbaum|1984|p=3. §1.1 Languages,Levels, and Virtual Machines}} describes the terms and their relations.</ref> Instruksi kode perantara diterjemahkan ke dalam urutan kode mesin yang setara oleh sebuah ''code generator'' (penghasil kode) untuk membuat [[Executable|kode yang dapat dieksekusi]]. Dimungkinkan juga untuk melewati pembuatan kode mesin dengan benar-benar menerapkan ''[[interpreter]]'' atau [[Just-in-time compilation|JIT]] untuk mesin virtual.<ref>{{harvnb|Tanenbaum|1984|p=2. Ch. 1 Introduction}} explains translation and interpretation.</ref>
Menulis sumber kompilator seluruhnya dalam bahasa pemrograman yang seharusnya diterjemahkan oleh kompilator, membuat pendekatan berikut, lebih dikenal sebagai ''[[Bootstrapping (kompiler)|compiler bootstrapping]]'', layak di mesin sasaran:
# Pemortaan
# Sesuaikan sumber
# Eksekusi sumber yang disadurkan menggunakan penerjemah dengan sumber
Bagian yang sulit dari pengkodean rutinitas pengoptimalan dilakukan dengan menggunakan [[bahasa pemrograman tingkat tinggi|bahasa tingkat tinggi]] alih-alih bahasa rakitan sasaran.
Menurut para perancang bahasa [[BCPL]], kode yang ditafsirkan (dalam kasus BCPL) lebih ringkas daripada kode mesin; biasanya dengan faktor dua banding satu. Namun kode yang ditafsirkan berjalan sekitar sepuluh kali lebih lambat daripada kode yang dikompilasi pada mesin yang sama.<ref>{{harvnb|Richards|Whitby-Strevens|1984|p=136. §7.4.3 Example}} gives an example translation of a BCPL program into INTCODE for the interpreter.</ref>
Baris 48:
{{Reflist|2}}
==
* {{cite book|last1=Richards|first1=Martin|last2=Whitby-Strevens|first2=Colin|year=1984|title=BCPL, the language and its compiler|isbn=0-521-28681-6|author-link=Martin Richards (computer scientist)}}
* {{cite book|last=Tanenbaum|first=Andrew S.|year=1984|title=Structured computer organization|url=https://archive.org/details/structuredcomput0000tane_x2o7|isbn=0-13-854605-3|author-link=Andrew S. Tanenbaum}}
[[Kategori:Kode sumber]]
|