From: jimmyt@cs.tamu.edu (Jimmy Tirtawangsa)
Newsgroups: alt.culture.indonesia
Subject: Re: BP-2
Date: 22 Dec 1992 01:25:07 GMT
Organization: Computer Science Department, Texas A&M University
NNTP-Posting-Host: photon.tamu.edu

In article <1h5iikINNg0k@msuinfo.cl.msu.edu> dulimart@ahmeek.cps.msu.edu (Hansye S. Dulimarta) writes:
>In article <1992Dec14.022714.14610@random.ccs.northeastern.edu> okidz@ccs.northeastern.edu (Oki D Zakaria) writes:
>>
>>program NamaProgram;
>>
>>// penggunaan modul, jika perlu
>>gunakan modul InputOutput;
>>gunakan modul Berkas;
>>gunakan modul Modem;
>>gunakan modul Printer;
>>gunakan modul PemrosesString;
>>
>>// deklarasi konstanta
>>konstanta
>>   BILANGANKECIL : bilangan kecil = 127;
                     ^^^^^^^^^^^^^^
Sedikit komentar disini.
Yang pertama, leksikal, saya rasa kita tidak perlu mengubah "integer"
menjadi "bilangan" karena saya rasa kata integer sudah diterima dalam BI.
Setidaknya kata itu sudah dipakai dalam matematika modern.

Yang kedua, sintaktik/semantik. Perhatikan beda antara DM/MD dalam BI dan
Inggris. Kita lihat dari kata semula "short integer" menjadi "bilangan kecil".
Memang tidak banyak halangan pada waktu parsing, tapi struktur parsing nya
menjadi sedikit berlainan. Ini menjadi (agak) penting kalau kita mau
menggunakan perakit sekali jalan (single pass compiler).

>>   BILANGAN : bilangan = 32767;
>>   
>>// deklarasi jenis data
>>jenis data
>>   Karakter = karakter;
>>   StringBesar = string dinamik;
>>   String20 = string [20];
>>   Bkecil = bilangan kecil;             // "short integer" 
>>   Bilang = bilangan;                   // "integer"
>>   BBesar = bilangan besar;             // "long integer"
>>   Pecahan  = pecahan;                  // "real"
>>   PBesar   = pecahan besar;            // "real double"

Berikutnya,(rancangan bahasa) Kalau memang bahasa ini ditujukan untuk
pendidikan, dibandingkan dengan membagi-bagi satu tipe data dengan berbagai
ketelitian (short, long, dsb), apa tidak sebaiknya kelengkapan struktur data
yang lebih ditekankan (array, pointer, berbagai jenis file, dsb)?

>>   Daftar = deret bilangan [BILANGANKECIL];
>>   Daftar2 = deret bilangan [BILANGANKECIL, BILANGANKECIL];
>>   Daftar3 = deret bilangan [BILANGANKECIL, BILANGANKECIL, BILANGANKECIL];

Uh not again :-)(istilah). 
  array=aray=deret=larik=baris=list=lis=...=kolom=jalur=lajur=...=matrix=matrik
  ....
>>      
>>   KelompokNama = deret String20 [BILANGAN];
>>   
>>// deklarasi variabel
>>variabel
>>   Nama : KelompokNama;            // diakses dengan Nama[32767]
>>   PenyanggaBerkas : StringBesar;  // harus diakses dengan fungsi/prosedur
>>
>>fungsi NamaFungsi(Parameter; Parameter; ...) : JenisData;
>>// Parameter dinyatakan dalam bentuk NamaVariabel: JenisData

 [dst. dst dst.]
>>
>>obyek dari BP-2 ini kompatibel dengan kode obyek yang dihasilkan
>>oleh perakit-perakit lain yang telah mapan, sehingga kode obyeknya bisa
>>di-link dengan 'mudah'. 

(kompatibilitas) :-) ;-) 
pertama, kompatibel untuk mesin apa?
kedua, dalam sistem operasi yang mana?
ketiga, dengan bahasa apa?
keempat, dengan perakit yang mana?
kelima, "mudah" untuk siapa?

:
 [deklarasi modul]
:
>>Jenis data yang dipunyai BP-2 tidak mewah-mewah. Deret (array) hanya
>>bisa tiga 'dimensi'. "Record" tidak disertakan, apalagi "pointer".
>>Di atas disebutkan "string dinamik". Yang saya inginkan dari jenis
>>data ini adalah suatu penyangga (buffer) yang bisa diisi teks sepenuh-
>>penuhnya (sampai "heap"-nya sisa satu byte). Dengan mempunyai
>>jenis data yang cukup besar, operasi-operasi yang menyangkut teks (men-
>>cari kata tertentu, menghitung jumlah kata, "sorting", menghilangkan
>>kata tertentu) bisa dilakukan didalam memori; semuanya ini dilakukan
>>oleh pustaka fungsi/prosedur yang disimpan di dalam "modul".
>>
>>"Record" mungkin bisa ditambahkan, hanya saja saya belum menemukan
>>kata Indonesianya.
>>

(rancangan vs. implementasi)
Kelihatannya sampai tahap ini, topik antara mencari/merancang bahasa masih
tercampur aduk dengan (cemas) bagaimana bahasa tersebut akan diimplementasikan.
Saya pikir sebaiknya BP-2 Oki dimulai dengan obyektif; bahasa ini untuk siapa.
Fasilitas apa saja yang sebaiknya ada untuk menunjang obyektif itu.
Baru dipikirkan bagaimana bahasa tersebut diimplementasikan.

Dan  terutama formalisasi. Sebaiknya penulisan rancang bahasa tersebut
mengikuti konvensi yang ada, apakah BNF atau diagram sintaks.
Ini penting sekali untuk kemudahan verifikasi rancangan bahasa tersebut.

>>Sekian dulu, mengenai pencabangan dan pengulangan akan diketengahkan di
>>posting yang lain.

Iya saya tunggu. Saya belum melihat operator apa saja yang ada dan struktur
kontrol apa saja yang bakal dimasukkan.

>Dari posting di atas, saya melihat bahwa struktur bahasa BP-2 yang
>diusulkan oleh Oki adalah gabungan antara C dengan Pascal. Kedua bahasa ini
>mempunyai karakteristik jauh berbeda dalam hal penyocokan jenis variabel
>(type checking), bahasa Pascal menganut 'strict type checking' sedangkan
>bahasa C tidak. Model mana yang akan dipakai oleh BP-2?

Tidak hanya itu. Kalau saya lihat BP-2 Oki lebih merupakan bahasa Pascal
yang menggunakan sintaks C.

jimmy
Newsgroups: alt.culture.indonesia