Mengenal Bahasa Pemrograman Rebol dan Prinsip Desain Rebol

 


 
                                 
                                       
Secara  historis "Rebol" adalah bahasa pertukaran data lintas platform dan bahasa pemrograman dinamis multi- paradigma yang dirancang oleh "Carl sassenrath" untuk komunikasi jaringan dan komputasi terdistribusi. Ini memperkenalkan konsep dialek: kecil, dioptimalkan, bahasa khusus domain dan data.                
                                                                                                                  Meskipun dapat digunakan untuk pemrograman, menulis fungsi dan melakukan proses, kekuatan terbesar adalah kemampuannya untuk dengan mudah membuat bahasa atau dialek khusus domain"

Douglas crockford yang banyak dikenayang dikenal karena keterlibatannya dalam pengembangan JavaScript, menggambarkan Rebol sebagai "bahasa yang lebih modern, tetapi dengan beberapa ide yang sangat mirip dengan Lisp, karena semuanya dibangun di atas representasi data yang kemudian dapat dieksekusi sebagai program" dan sebagai salah satu pengaruh JSON.Awalnya, bahasa dan implementasi resminya adalah milik dan sumber tertutup, yang dikembangkan oleh REBOL Technologies. Setelah diskusi dengan Lawrence Rosen, penerjemah versi 3 Rebol dirilis di bawah lisensi Apache 2.0 pada 12 Desember 2012. Versi lama hanya tersedia dalam bentuk biner, dan tidak ada rilis sumber yang direncanakan

Asal usul kata "REBOL"

REBOL adalah singkatan dari "RELATIF EXPRESSION BASED OBJEK LANGUAGE" yang artinya adalah bahasa objek berbasis ekspresi relatif. Rebol diciptakan untuk menyelaraskan dengan trend modern dalam penanaman bahasa yang diwakili, contohnya yaitu merubah kata LISP oleh lisp.

Sejarah bahasa pemrograman "REBOL"

Bahasa pemrograman ini pertama kali dirilis pada tahun 1997, Rebol dirancang selama periode 20 tahun oleh carl sassenrath ia adalah seorang arsitek dan pengembang utama AmigaOS, Ia menggunakan konsep bahasa pemrograman lisp, fortg, logo dan self.

DESAIN

PENGGUNAAN  
 
Salah satu prinsip desain Rebol yaitu melakukan hal hal sederhana. Dalam contoh berikut, dialek antarmuka Visual digunakan untuk menggambarkan Program hello world sederhana dengan antarmuka pengguna grafis:

view layout [text "hello world"] button "quit"

view [text "Hello world!" button "Quit" on-action [quit]]

DIALEK  

Bahasa mikro yang dioptimalkan untuk tujuan tertentu . Dialek dapat digunakan untuk mendefinisikan aturan bisnis, antarmuka pengguna grafis atau urutan layar selama instalasi program. Pengguna dapat menentukan dialek mereka sendiri, menggunakan kembali kata Rebol yang ada dan memberinya arti khusus dalam dialek tersebut.Dialek ditafsirkan oleh fungsi yang memproses blok Rebol (atau mengurai string) dengan cara tertentu.

SYNTAX

 
        gambar syntax
 

Berbeda dengan bahasa pemrograman seperti c, dialek pertukaran data tidak terdiri dari deklarasi, pernyataan, ekspresi, atau kata kunci. Aliran teks dialek pertukaran data yang valid adalah struktur data pohon yang terdiri dari blok (blok akar implisit, subblok dibatasi dengan tanda kurung siku). parens(dibatasi oleh tanda kurung bulat). string(dibatsi oleh kutip ganda atau tanda kurung kurawal cocok untuk multi string -line; notasi tanda sisipan digunakan untuk karakter yang tidak dapat dicetak). URL, alamat email,file,jalur,atau gabungan lainnya

SEMANTICS  

Semantics yaitu blog berisi domain dapat dikirimkan sebagai argumen ke fungsi elevuator tertentu.

DO

Evaluator yang paling sering digunakan adalah DO ini digunakn secara default untuk menafsirkan input teks ke konsol luar bahasa. dialek do yang ditafsirkan oleh fungsi do, adalah subbahasa yang berorientasi ekspresi dari dialek pertukaran data. unit semantik utama bahasa ekspresi. Berbeda dengan bahasa pemrograman imperatif yang diturunkan ALGOL, dialek do tidak memiliki kata kunci, maupun pernyataan. fungsi do biasanya mengikuti gaya evaluasi awalan, di mana fungsi memproses argumen yang mengikutinya. namun,evaluasi infiks menggunakan operator infiks juga ada. evaluasi sisipan lebih diutamakan dari pada evaluasi awalan. sebagain contoh:

abs -2+3

mengembalikan 1 karena penambahan  infiks lebih diutamakan dari pada perhitungan nilai absolut. Saat mengevaluasi ekspresi infiks,urutan evaluasi dari kiri ke kanan, tidak ada operator yang didahulukan dari yang lain. Sebagai contoh:

    2 * 4

mengembalikan 20 yang mengutamakan perkalian akan menghasilkan 14. semua operator memiliki versi awalan. DO biasanya mengevaluasi argumen sebelum meneruskannya ke suatu fungsi

PARSE

fungsi untuk menentukan, memvalidasi mengubah dan menafsirkan dialek dan melakukannya dengan mencocokkan ekspresi parse saat run time.

Dialek parse milik keluarga tata bahasa yang diwakili oleh bahasa parsingtop-down atau tata bahasa ekspresi parsing (PEG). Kesamaan utama adalah adanyaoperator urutan dan pilihan yang dimiliki semua anggota keluarga. Sintaks dialek parse dan kesamaan antara dialek parse dan PEG diilustrasikan PEGdiilustrasikan oleh transliterasi contoh PEG ini yang mem-parsing ekspresi aritmatika:                                                  

 charset [#"0" - #"9"]
Value: [some Digit | "(" Expr ")"]
Product: [Value any [["*"| "/"] Value]]
Sum: [Product any [["+"| "-"] Product]]
Expr: Sum
parse/all "12+13" Expr

Itulah pemaparan secara singkat tentang bahasa pemrograman rebol, bahasa pemrograman dengan berbagai keunggulan diantaranya adalah mampu dengan mudah membuat bahasa dan dialek khusus domain.



Penulis : M. Depryansyah (Mahasisiwa kelas 1G Prodi Sistem Informasi FST UIN Sulthan Thaha Saifuddin Jambi)

Sumber : https://en.wikipedia.org/wiki/Rebol

1 Komentar

Posting Komentar

Lebih baru Lebih lama