mengenal bahasa pemprograman smalltalk -...
Post on 04-May-2019
212 Views
Preview:
TRANSCRIPT
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Mengenal Bahasa Pemprograman Smalltalk
Muhamad Burhanudin
Muhamadburhanudin981@gmail.com
Abstrak
Smalltalk adalah bahasa pemrograman berorientasi objek yang dikembangkan oleh
Xerox PARC. Ide dasar Smalltalk meliputi: Semua adalah objek, Objek bisa saling
berkomunikasi melalui messages atau berita dan semua tersedia untuk dimodifikasi.
Versi lain dari bahasa ini adalah smalltalk 76 dan smalltalk 80. Refleksi pertama
terutama fitur bahasa ditafsirkan seperti Smalltalk dan Lisp. Fakta bahwa pernyataan
ditafsirkan berarti bahwa program memiliki akses ke informasi yang dibuat karena
mereka diurai dan bisa bahkan sering memodifikasi struktur mereka sendiri.
Kata Kunci: Smalltalk
Pendahuluan
Sebagai seorang programmer bahasa smalltalk harus dapat dikuasai untuk menambah
wawasan agar menjadi programmer yang handal. Smalltalk adalah sistem struktural
reflektif yang strukturnya didefinisikan oleh Smalltalk-80. Kelas-kelas dan metode yang
mendefinisikan sistem itu sendiri adalah obyek. Karena kelas itu sendiri objek, mereka
dapat pertanyaan seperti bertanya "metode apa yang Anda menerapkan?" atau "apa
bidang/slot/instance variabel anda mendefinisikan?". Jadi obyek dengan mudah dapat
diperiksa, disalin, serial dan seterusnya dengan kode generik yang berlaku untuk objek
apapun dalam sistem. IBM memiliki 'akhir life'd VisualAge Smalltalk memiliki pada
akhir tahun 1990 memutuskan untuk kembali dan jawaban itu, seperti tahun 2006,
didukung oleh instansi, Inc yang telah berganti nama menjadi produk VA Smalltalk dan
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
baru dirilis beberapa versi. Pelaksanaan menciptakan smalltalk memiliki komunitas
aktif pengembang, termasuk banyak dari masyarakat Smalltalk asli, dan baru-baru ini
telah digunakan untuk menyediakan lingkungan etos pada proyek OLPC, sebuah tool
untuk mengembangkan aplikasi kolaboratif Croquet Proyek, dan aplikasi dunia maya
terbuka Cobalt. GNU Smalltalk adalah implementasi perangkat lunak bebas turunan
smalltalk-80 dari proyek GNU. Smalltalk adalah sebuah MIT baru dan bersih
berlisensi. Smalltalk saat ini, adalah meningkatnya penggunaan dua kerangka web,
Seaside dan AIDA / Web, untuk menyederhanakan pembangunan aplikasi web yang
rumit. Seaside telah melihat minat pasar yang cukup besar dengan Cincom, batu
permata, dan instantiations menggabungkan dan memperluas.
Pembahasan
Smalltalk adalah object-oriented, dinamis diketik, reflektif pemrograman bahasa.
Smalltalk diciptakan sebagai bahasa untuk mendukung "dunia baru" komputerisasi
dicontohkan oleh "simbiosis manusia-komputer". Ini dirancang dan diciptakan sebagian
untuk pendidikan digunakan, lebih lagi untuk belajar konstruksionis, di Research
Group Learning (LRG) dari Xerox PARC oleh Alan Kay, Dan Ingalls, Adele Goldberg,
Ted Kaehler, Scott Wallace dan lain-lain selama tahun 1970.
Bahasa ini pertama kali umumnya dirilis sebagai Smalltalk-80. Bahasa Smalltalk-seperti
berada dalam melanjutkan pembangunan yang aktif, dan telah mengumpulkan
komunitas pengguna setia di sekitar mereka. ANSI Smalltalk diratifikasi pada tahun
1998 dan merupakan versi standar Smalltalk.
1. Sejarah
Smalltalk adalah produk dari penelitian yang dipimpin oleh Alan Kay di Xerox Palo
Alto Research Center (PARC), Alan Kay dirancang sebagian besar awal versi
Smalltalk, yang Dan Ingalls dilaksanakan. Versi pertama, yang dikenal sebagai
Smalltalk-71, diciptakan oleh Ingalls dia bertaruh bahwa bahasa pemrograman
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
berdasarkan ide pesan yang lewat terinspirasi oleh Simula dapat diterapkan di "halaman
kode”. Sebuah varian kemudian benar-benar digunakan untuk pekerjaan penelitian yang
sekarang dikenal sebagai Smalltalk-72 dan mempengaruhi perkembangan dari model.
Sintaks dan pelaksanaan model yang sangat berbeda dari varian Smalltalk modern.
Setelah revisi signifikan yang membeku beberapa aspek eksekusi semantik untuk
mendapatkan kinerja (dengan mengadopsi Simula kelas seperti warisan model
eksekusi), Smalltalk-76 diciptakan.
Smalltalk-80 adalah varian bahasa pertama dibuat tersedia di luar PARC, pertama
sebagai Smalltalk-80 Versi 1, diberikan kepada sejumlah kecil perusahaan (Hewlett-
Packard, Apple Computer, Tektronix, dan Desember) dan universitas (UC Berkeley)
untuk "peer review" dan implementasi pada platform mereka. Kemudian (pada tahun
1983) implementasi ketersediaan umum, yang dikenal sebagai Smalltalk-80 Versi 2,
dirilis sebagai sebuah gambar (file yang platform-independen dengan definisi objek)
dan mesin virtual spesifikasi. ANSI Smalltalk telah menjadi referensi bahasa baku sejak
tahun 1998. Dua varian implementasi Smalltalk saat ini populer adalah keturunan dari
Smalltalk-80. Squeak adalah open source implementasi berasal dari Smalltalk-80 Versi
1 dengan cara Apple Smalltalk. Visual Works berasal dari Smalltalk-80 Versi 2 dengan
cara Smalltalk -80 2,5 dan Object Works (baik produk ParcPlace Systems, sebuah
perusahaan spin-off Xerox PARC dibentuk untuk membawa Smalltalk ke pasar).
Selama akhir 1980-an sampai pertengahan 1990-an, Smalltalk lingkungan-termasuk
dukungan, pelatihan dan add-ons yang dijual oleh dua organisasi bersaing: ParcPlace
Sistem dan Digital, keduanya berbasis California. ParcPlace Sistem cenderung berfokus
pada pasar Unix / Sun Microsystems, sementara Digital difokuskan pada PC berbasis
Intel menjalankan Microsoft Windows atau IBM OS / 2. Kedua perusahaan berjuang
untuk mengambil Smalltalk utama karena kebutuhan Smalltalk yang sub stansial
memori, kinerja run-waktu yang terbatas dan kurangnya awal didukung konektivitas ke
SQL server database relasional berbasis. Sementara tingginya harga ParcPlace Smalltalk
terbatas penetrasi pasar untuk organisasi komersial menengah dan besar, produk
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Digitalk awalnya mencoba untuk menjangkau khalayak yang lebih luas dengan harga
yang lebih rendah. IBM awalnya mendukung produk digital, tapi kemudian memasuki
pasar dengan produk Smalltalk pada tahun 1995 disebut VisualAge / Smalltalk. Kuda-
kuda memperkenalkan Enfin saat ini pada Windows dan OS / 2. Enfin menjadi jauh
lebih populer di Eropa, seperti IBM memperkenalkan ke toko-toko IT sebelum
perkembangan mereka dari IBM Smalltalk (kemudian VisualAge). Enfin kemudian
diakuisisi oleh Cincom Sistem, dan sekarang dijual dengan nama Object Studio, dan
merupakan bagian dari Cincom Smalltalk produk suite.
Pada tahun 1995, ParcPlace dan Digital bergabung menjadi ParcPlace-Digitalk dan
kemudian namanya pada tahun 1997 sebagai Object Share, terletak di Irvine, CA.
Object Share (NASDAQ:OBJS) diperdagangkan secara publik sampai tahun 1999,
ketika delisting dan dibubarkan. Perusahaan gabungan tidak pernah berhasil
menemukan tanggapan yang efektif terhadap Java untuk posisi pasar, dan pada tahun
1997 pemiliknya sedang mencari untuk menjual bisnis. Pada tahun 1999, Seagull
Software mengakuisisi laboratorium pengembangan Object Share Java (termasuk yang
asli Smalltalk dan Visual tim pengembangan Smalltalk), dan masih memiliki
VisualSmalltalk, meskipun hak distribusi di seluruh dunia untuk produk Smalltalk tetap
dengan ObjectShare yang kemudian menjualnya kepada Cincom. Visual Works dijual
ke Cincom dan kini menjadi bagian dari Cincom Smalltalk. Cincom telah didukung
Smalltalk kuat, merilis beberapa versi baru VisualWorks dan ObjectStudio setiap tahun
sejak tahun 1999.
2. Pemrograman berorientasi objek
Seperti dalam bahasa berorientasi objek lainnya, konsep sentral dalam Smalltalk-80
(tetapi tidak dalam Smalltalk-72) adalah bahwa suatu objek . Sebuah objek selalu
merupakan contoh dari kelas . Sebagai contoh, sebuah GUI jendela kelas mungkin
menyatakan bahwa jendela memiliki sifat seperti label, posisi dan apakah jendela
terlihat atau tidak. Kelas mungkin juga menyatakan bahwa kasus mendukung operasi
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
seperti membuka, menutup, bergerak dan bersembunyi. Setiap objek jendela tertentu
akan memiliki nilai tersendiri dari properti-properti, dan masing-masing akan mampu
untuk melakukan operasi didefinisikan oleh kelasnya. Sebuah objek Smalltalk dapat
melakukan persis tiga hal:
1. Tahan negara (referensi ke objek lain).
2. Menerima pesan dari dirinya sendiri atau obyek lain.
3. Dalam perjalanan pengolahan pesan, mengirim pesan untuk dirinya sendiri atau
obyek lain.
Alan Kay telah berkomentar bahwa meskipun perhatian yang diberikan kepada objek,
pesan adalah konsep yang paling penting dalam Smalltalk: "Ide besar adalah 'pesan' -
itulah inti Smalltalk / Squeak adalah semua tentang (dan itu adalah sesuatu yang tidak
pernah cukup diselesaikan dalam fase Xerox PARC kami)”. Di Smalltalk, nilai-nilai
primitif seperti integer, boolean dan karakter benda, dalam arti bahwa mereka adalah
contoh dari kelas yang sesuai, dan operasi pada mereka dipanggil dengan mengirimkan
pesan. Seorang pemrogram dapat mengubah atau memperpanjang (melalui sub
classing ) kelas yang mengimplementasikan nilai-nilai primitif, sehingga perilaku baru
dapat didefinisikan untuk kasus, misalnya untuk menerapkan struktur baru-atau kontrol
bahkan sehingga perilaku mereka yang ada akan berubah. Fakta ini diringkas dalam
frase umum terdengar "Dalam Smalltalk segala sesuatu adalah obyek", yang mungkin
lebih akurat dinyatakan sebagai "semua nilai adalah objek", sebagai variabel tidak.
Karena semua nilai adalah objek, kelas sendiri juga obyek. Setiap kelas adalah turunan
dari metaclass kelas itu.Metaclasses pada gilirannya juga obyek, dan semua contoh
kelas yang disebut Metaclass. Kode blok juga obyek.
3. Sintaks
Smalltalk-80 sintaks agak minimalis, berdasarkan hanya segelintir deklarasi dan kata-
kata reserved. Bahkan, hanya enam "kata kunci" yang disediakan di Smalltalk : benar ,
palsu , nihil , dan this Context . Ini benar-benar disebut pseudo-variabel , identifier
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
yang mengikuti aturan untuk identifier variabel tetapi menunjukkan binding bahwa
programmer tidak dapat berubah. Daya Smalltalk berasal dari perlakuan terhadap objek.
Dalam dokumen ini, kami telah sebagian besar menghindari masalah sintaks dengan
menggunakan ekspresi ketat kurung yang diperlukan. Ketika hal ini mengarah ke kode
yang sulit untuk dibaca karena kepadatan kurung, pengetahuan tentang sintaks
Smalltalk dapat membiarkan Anda menyederhanakan ekspresi. Presentasi berikut
menyajikan tata bahasa beberapa unsur terkait pada suatu waktu. Kami menggunakan
gaya EBNF tata bahasa. Bentuknya:
[...]
berarti bahwa " ... "dapat terjadi nol atau satu kali.
[...] *
berarti nol atau lebih;
[...] +
berarti satu atau lebih.
... | ... [| ...] *
berarti bahwa salah satu varian harus dipilih. Karakter dalam tanda kutip ganda
mengacu pada karakter literal. Sebagian besar elemen dapat dipisahkan dengan spasi; di
mana hal ini tidak sah, unsur disajikan tanpa spasi di antara mereka.
metode: "!" id ["kelas"] "methodsFor:" "" "" string ["!" metode]
Metode diperkenalkan dengan terlebih dahulu penamaan kelas (elemen id), menentukan
"kelas" jika Anda menambahkan metode kelas bukan metode instan, dan mengirim
argumen string ke methodsFor: pesan. Setiap metode diakhiri dengan "!"; dua poni
berturut-turut (dengan ruang di tengah) menandakan akhir dari metode baru.
Metode: Pesan [pragma] [temps] exprs
pesan: id | binsel id | [keysel id] +
pragma: "<" keymsg ">"
temps: "|" [id] * "|"
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Definisi metode dimulai dengan semacam template. Pesan untuk ditangani ditentukan
dengan nama pesan terbilang dan pengenal di tempat argumen. Khusus jenis definisi
adalah pragma tersebut; belum tercakup dalam tutorial ini dan menyediakan cara untuk
menandai sebuah metode khusus serta antarmuka untuk yang mendasari mesin virtual
Smalltalk. temps adalah deklarasi variabel lokal. Akhirnya, exprs (segera dibahas)
adalah kode aktual untuk menerapkan metode ini.
Unit: id | literal | blok | arrayconstructor | "(" expr ")"
unaryexpr: Unit [id] +
utama: unit | unaryexpr
Ini adalah "blok bangunan" dari ekspresi Smalltalk. Unit A merupakan nilai Smalltalk
tunggal, dengan prioritas tertinggi sintaksis. Sebuah unaryexpr hanyalah sebuah unit
yang menerima sejumlah pesan unary. Sebuah unaryexpr mempunyai prioritas tertinggi
berikutnya. Sebuah primer hanyalah sebuah nama kiri-sisi nyaman untuk salah satu di
atas.
exprs: ["." expr] * [["^"] expr]
expr: [id ": ="] * expr2
expr2: primer | msgexpr [";" cascade] *
Sebuah urutan ekspresi yang dipisahkan oleh titik dan dapat berakhir dengan nilai yang
dikembalikan ( ^ ). Ada dapat tugas utama; tidak seperti C, tugas hanya berlaku untuk
nama variabel sederhana. Sebuah ekspresi adalah baik primer (dengan prioritas
tertinggi) atau pesan yang lebih kompleks. cascade tidak berlaku untuk konstruksi
utama, karena mereka terlalu sederhana untuk meminta konstruk. Karena semua
konstruk utama adalah unary, Anda hanya dapat menambahkan pesan lebih unary:
1234 printNl printNl printNl
msgexpr: unaryexpr | binexpr | keyexpr
Sebuah pesan yang kompleks adalah salah satu pesan unary (yang kita sudah dibahas),
pesan biner ( + , - , dan sebagainya), atau pesan kunci ( pada: , new:, ... ) Unary
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
mempunyai prioritas tertinggi, diikuti oleh pesan biner, dan kata kunci memiliki
prioritas terendah. Memeriksa dua versi dari pesan berikut. Yang kedua telah telah
kurung ditambahkan untuk menunjukkan didahulukan default.
MyVar: 2 + 3 put: 4
mybool ifTrue: [^ 2/4 roundup]
(Myvar pada: (2 + 3) menempatkan: (4))
(Mybool ifTrue: ([^ (2 / (4 roundup))]))
cascade: id | binmsg | keymsg
Sebuah kaskade digunakan untuk mengarahkan pesan lebih lanjut untuk objek yang
sama yang terakhir digunakan. Ketiga jenis pesan (id adalah bagaimana Anda mengirim
pesan unary) sehingga dapat dikirim.
binexpr: binmsg primer [binmsg] *
binmsg: binsel primer
binsel: binchar [binchar]
Sebuah pesan biner dikirim ke obyek, yang utama telah diidentifikasi. Setiap pesan
biner adalah pemilih biner, dibangun dari satu atau dua karakter, dan argumen yang juga
disediakan oleh primer.
1 + 2 - 3/4
yang mem-parsing sebagai:
(((1 + 2) - 3) / 4)
keyexpr: keyexpr2 keymsg
keyexpr2: binexpr | primer
keymsg: [keysel keyw2] +
keysel: id ":"
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Ekspresi kata kunci yang mirip ekspresi biner, kecuali bahwa pemilih terdiri dari
pengidentifikasi dengan usus ditambahkan. Dimana argumen untuk fungsi biner hanya
dapat dari sekolah dasar, argumen untuk kata kunci dapat menjadi ekspresi biner atau
yang utama. Hal ini karena kata kunci memiliki prioritas terendah.
block: "[" [[":" id] * "|"] [temps] exprs "]"
Sebuah blok kode adalah tanda kurung di sekitar koleksi ekspresi Smalltalk. Terkemuka
": id" bagian adalah untuk blok argumen. Perhatikan bahwa adalah mungkin untuk satu
blok untuk memiliki variabel sementara sendiri.
arrayconstructor: "{" exprs "}"
Tidak tercakup dalam tutorial ini, sintaks ini memungkinkan untuk membuat array yang
nilai-nilainya tidak literal, tetapi bukan dievaluasi pada saat run-time.Bandingkan # (ab)
, yang menghasilkan sebuah Array dari dua simbol # a dan # b , dengan {a. b + c} yang
menghasilkan sebuah Array yang dua elemen adalah isi dari variabel a dan hasil dari
penjumlahan c untuk b .
literal: Nomor | String | charconst | symconst | arrayconst | mengikat | eval
arrayconst: "#" array | "#" bytearray
bytearray: "[" [jumlah] * "]"
array: "(" [literal | berbagai | bytearray | arraysym |] * ")"
Nomor: [[menggali] + "r"] ["-"] [alphanum] + ["." [alphanum] +] [exp ["-"] [menggali]
+].
String: "'" [Char] * "'"
charconst: "$" char
symconst: "#" simbol | "#" string
arraysym: [id | ":"] *
exp: "d" | "e" | "q" | "s"
Kami telah menunjukkan penggunaan banyak konstanta ini. Meskipun tidak dibahas
dalam tutorial ini, nomor dapat memiliki dasar yang ditentukan di depan mereka, dan
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
mengikuti notasi ilmiah. Kita telah melihat contoh-contoh karakter string, dan konstanta
simbol. Konstanta Array cukup sederhana; mereka akan terlihat seperti:
a: = # (1 2 'Hi' $ x Hello 4 16r3F #)
Ada juga konstanta ByteArray, yang unsur-unsurnya dibatasi untuk bilangan bulat
antara 0 dan 255; mereka akan terlihat seperti:
a: = # [1 2 34 16r8F 26r3H 253]
Akhirnya, ada tiga jenis konstanta floating-point dengan berbagai presisi (yang satu
dengan e menjadi kurang tepat, diikuti oleh d dan q ), dan konstanta skala-desimal untuk
kelas khusus yang melakukan perhitungan yang tepat tetapi memotong perbandingan
dengan mengingat jumlah desimal. Misalnya, 1.23s4berarti "nilai 1,23 , dengan empat
angka desimal yang signifikan ".
mengikat: "# {" ["." id] * id "}"
Sintaks ini belum digunakan dalam tutorial, dan hasil dalam literal Association (dikenal
sebagai variabel mengikat ) terikat pada kelas yang diberi nama antara kawat gigi.
Sebagai contoh, # {} Kelas nilai sama dengan Kelas . Dot sintaks diperlukan untuk
mendukung ruang nama: # {} Smalltalk.Classadalah sama dengan Smalltalk
associationAt: # Kelas , tetapi diselesaikan pada waktu kompilasi daripada pada saat
run-time.
simbol: id | binsel | keysel [keysel] *
Simbol sebagian besar digunakan untuk mewakili nama-nama metode. Dengan
demikian, mereka dapat menahan pengidentifikasi sederhana, penyeleksi biner, dan
penyeleksi kata kunci:
# Halo
# +
# Di: menempatkan:
eval: "#" "#" "(" [temps] exprs ")"
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Sintaks ini juga belum digunakan dalam tutorial, dan hasil dalam mengevaluasi ekspresi
sewenang-wenang kompleks pada saat kompilasi, dan mengganti hasilnya: misalnya # #
(ukuran allInstances Object) adalah jumlah kasus Object diadakan di gambar di waktu
metode dikompilasi .
id: letter [surat | dig] *
binchar: "+" | "-" | "*" | "/" | "~" | "|" | "," |
"<" | ">" | "=" | "&" | "'' |"? "|" \ "|"% "
alphanum: "0" .. "9" | "A" .. "Z"
menggali: "0" .. "9"
Ini adalah kategori karakter dan bagaimana mereka digabungkan pada tingkat yang
paling dasar. binchar hanya menampilkan karakter yang dapat dikombinasikan untuk
nama pesan biner.
Penutup
Sekian penjelasan singkat mengenai bahasa pemprograman smalltalk. Semoga dapat
bermanfaat dan semoga dapat menambah wawasan bagi kita semua.
Referensi
http://www.gnu.org/software/smalltalk/manual/html_node/The-syntax.html
http://id.wikipedia.org/wiki/smalltalk
http://fourseasonnews.blogspot.com/2012/01/penjelasan-tentang-bahasa
pemrograman_7745.html
Biografi
Nama : Muhamad Burhanudin
Alamat : Jl.Ahmad Yani Kp.Ciawi-Pisangan Jaya kab.Tangerang
Hobby : Bermain Game Online
top related