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 dikenal yang 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
PENGGUNAANview layout [text "hello world"] button "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.
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.
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:
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:
Selamat (55%)
BalasHapusPosting Komentar