Porting: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
Tag: Suntingan perangkat seluler Suntingan peramban seluler |
Tidak ada ringkasan suntingan Tag: Suntingan perangkat seluler Suntingan peramban seluler |
||
(5 revisi perantara oleh 5 pengguna tidak ditampilkan) | |||
Baris 1:
Dalam [[ilmu komputer]], '''''porting''''' atau '''pemortaan''' adalah proses
== Etimologi ==
Istilah "''port''" berasal dari bahasa Latin ''[[wikt:port#
Istilah ini umumnya tidak diterapkan pada proses menyadurkan perangkat lunak agar berjalan dengan lebih sedikit memori pada CPU dan sistem operasi yang sama, juga tidak diterapkan pada penulisan ulang kode sumber dalam [[Bahasa pemrograman|bahasa]] yang berbeda (yaitu konversi atau terjemahan bahasa).
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]]
[[Kategori:Istilah teknologi informasi dalam bahasa Inggris]]
[[Kategori:Interoperabilitas]]▼
[[de:Portierung]]
[[es:Portabilidad]]
▲[[Kategori:Interoperabilitas]]
|