Ini adalah perintah bwbasic yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
bwbasic - penerjemah/shell Bywater BASIC
Bywater BASIC Interpreter/Shell, versi 2.10
---------------------------------------------
Hak Cipta (c) 1993, Ted A. Campbell
untuk bwBASIC versi 2.10, 11 Oktober 1993
ISI:
1. DESKRIPSI
2. KETENTUAN PENGGUNAAN
3. DAFTAR REFERENSI CEPAT PERINTAH DAN FUNGSI
4. CATATAN UMUM PADA PENGGUNAAN
5. REFERENSI YANG DIPERLUAS UNTUK PERINTAH DAN FUNGSI
6. VARIABEL YANG DITETAPKAN
7. PERINTAH DAN FUNGSI YANG TIDAK DITERAPKAN
dan AGENDA PEMBANGUNAN
8. KISAH DASAR BYWATER
9. KOMUNIKASI
Penulis ingin mengucapkan terima kasih kepada Bapak David MacKenzie,
yang membantu dalam pengembangan instalasi dan konfigurasi Unix
untuk versi ini.
1. DESKRIPSI
The Bywater BASIC Interpreter (bwBASIC) mengimplementasikan besar
superset dari Standar ANSI untuk Minimal BASIC (X3.60-1978)
dan subset yang signifikan dari Standar ANSI untuk Full BASIC
(X3.113-1987) dalam C. Ia juga menawarkan fasilitas pemrograman shell
sebagai perpanjangan dari BASIC. bwBASIC berusaha menjadi portabel
mungkin.
bwBASIC dapat dikonfigurasi untuk meniru fitur, perintah, dan
fungsi yang tersedia pada berbagai jenis penerjemah BASIC;
lihat file INSTALL untuk informasi instalasi lebih lanjut.
Penerjemahnya cukup lambat. Setiap kali dihadapkan dengan pilihan
antara kejelasan konseptual dan kecepatan, saya telah secara konsisten memilih
mantan. Interpreter adalah desain paling sederhana yang tersedia,
dan tidak menggunakan sistem kode perantara, yang akan mempercepat
jauh lebih tinggi operasinya. Seperti itu, setiap baris ditafsirkan
segar ketika penerjemah datang ke sana.
bwBASIC mengimplementasikan satu fitur yang tidak tersedia di BASIC sebelumnya
penerjemah: perintah shell dapat dimasukkan secara interaktif di
bwBASIC prompt, dan penerjemah akan menjalankannya di bawah a
cangkang perintah. Misalnya, perintah "dir *.bas" dapat berupa
dimasukkan dalam bwBASIC (di bawah DOS, atau "ls -l *.bas" di bawah UNIX) dan
itu akan dieksekusi sebagai dari baris perintah sistem operasi.
Perintah shell juga dapat diberikan pada baris bernomor dalam bwBASIC
program, sehingga bwBASIC dapat digunakan sebagai pemrograman shell
bahasa. implementasi bwBASIC dari RMDIR, CHDIR, MKDIR,
NAME, KILL, ENVIRON, dan ENVIRON$() perintah dan fungsi
menawarkan kemampuan pemrosesan shell lebih lanjut.
2. KETENTUAN PENGGUNAAN:
Versi Bywater BASIC ini dirilis di bawah ketentuan
Lisensi Publik Umum GNU (GPL), yang didistribusikan dengan ini
software dalam file "COPYING". GPL menentukan persyaratan
di mana pengguna dapat menyalin dan menggunakan perangkat lunak dalam distribusi ini.
Lisensi terpisah tersedia untuk distribusi komersial,
untuk informasi di mana Anda harus menghubungi penulis.
3. DAFTAR REFERENSI CEPAT PERINTAH DAN FUNGSI
Ketahuilah bahwa banyak dari perintah dan fungsi ini tidak akan
tersedia kecuali Anda telah menyetel flag tertentu di file header
(lihat bagian referensi yang diperluas di bawah untuk dependensi).
ABS ( nomor )
ASC(string$)
ATN ( nomor )
CALL nama subrutin
KASUS LAIN | ekspresi parsial JIKA | konstan
RANTAI [MERGE] nama file [, nomor baris] [, SEMUA]
nama jalur CHDIR
CHR$( nomor )
CINT( nomor )
CLEAR
TUTUP [[#]nomor-file]...
CLS
Variabel UMUM [, variabel...]
COS ( nomor )
CSNG ( nomor )
CVD( string$ )
CV( string$ )
CVS( string$ )
DATA konstan[,konstan]...
TANGGAL$
DEF FNname(arg...)] = ekspresi
DEFDBL huruf[-huruf](, huruf[-huruf])...
DEFINT huruf[-huruf](, huruf[-huruf])...
DEFSNG huruf[-huruf](, huruf[-huruf])...
DEFSTR huruf[-huruf](, huruf[-huruf])...
HAPUS baris[-baris]
Variabel DIM(elemen...)[variabel(elemen...)]...
LAKUKAN NUM|UNNUM
LAKUKAN [Ekspresi SAAT]
EDIT
ELSE
LAINNYA
AKHIR JIKA | FUNGSI | PILIH | SUB
LINGKUNGAN variabel-string = string
LINGKUNGAN$( variabel-string )
EOF (nomor perangkat)
HAPUS variabel[, variabel]...
ERL
ERR
nomor KESALAHAN
EXP ( nomor )
FIELD [#] nomor perangkat, nomor AS variabel string [, nomor AS variabel string...]
Spesifikasi file FILE$
FUNGSI
UNTUK penghitung = mulai UNTUK menyelesaikan [LANGKAH kenaikan]
DAPATKAN [#] nomor perangkat [, nomor catatan]
Baris GOSUB | label
Garis GOTO | label
HEX$( nomor )
Ekspresi IF THEN [pernyataan [pernyataan ELSE]]
INKEY$
INPUT [# device-number]|[;]["string prompt";]daftar variabel
INSTR( [posisi awal,] pencarian-string$, pola-string$ )
INT( nomor )
KILL nama file
KIRI$( string$, jumlah spasi )
LEN( string$ )
variabel LET = ekspresi
LINE INPUT [[#] device-number,]["prompt string";] string-variabel$
DAFTAR baris[-baris]
LOAD nama file
LOC (nomor perangkat)
TEMUKAN baris, kolom
LOF (nomor perangkat)
LOG( nomor )
LOOP [SAMPAI ekspresi]
LSET string-variabel$ = ekspresi
MERGE nama file
MID$( string$, start-position-in-string[, jumlah spasi ] )
MKD$( nomor )
nama jalur MKDIR
MKI$( nomor )
MKS$( nomor )
NAMA nama file lama SEBAGAI nama file baru
BARU
BERIKUTNYA [penghitung]
OKT$( nomor )
PADA variabel GOTO|GOSUB baris[,baris,baris,...]
ON ERROR GOSUB baris
BUKA "O"|"I"|"R", [#]nomor perangkat, nama file [,panjang rekaman]
nama file UNTUK INPUT|OUTPUT|TAMBAHKAN SEBAGAI [#]nomor perangkat [LEN = panjang rekaman]
OPSI nomor DASAR
POS
CETAK [# nomor perangkat,][MENGUNAKAN format-string$;] ekspresi...
PUT [#] nomor perangkat [, nomor catatan]
QUIT
RANDOMIZE nomor
BACA variabel[, variabel]...
senar REM
KEMBALIKAN garis
KEMBALI
KANAN$( string$, jumlah spasi )
Nama jalur RMDIR
RND ( nomor )
RSET string-variabel$ = ekspresi
JALANKAN [baris][nama-file]
SIMPAN nama file
PILIH ekspresi KASUS
SGN ( nomor )
SIN ( nomor )
SPASI$( nomor )
SPC ( nomor )
SQR ( nomor )
BERHENTI
STR$( nomor )
STRING$( angka, nilai ascii|string$ )
SUB-subrutin-nama
variabel SWAP, variabel
SISTEM
TAB ( nomor )
TAN ( nomor )
WAKTU$
TIMER
TROFF
TRON
VAL( tali$ )
PERGI KE
ekspresi SAAT
LEBAR [# nomor perangkat,] nomor
TULIS [# nomor perangkat,] elemen [, elemen ]....
4. CATATAN UMUM PENGGUNAAN:
4.a. Lingkungan Interaktif
Lingkungan interaktif disediakan jika bendera INTERAKTIF
didefinisikan sebagai BENAR dalam bwbasic.h, sehingga garis dengan a
nomor baris dapat dimasukkan pada prompt bwBASIC dan itu akan menjadi
ditambahkan ke program dalam memori.
Nomor baris tidak mutlak diperlukan, tetapi berguna jika:
lingkungan interaktif digunakan untuk pemrograman. Untuk lebih lama
entri program, seseorang mungkin lebih suka menggunakan editor teks ASCII, dan
dalam hal ini baris dapat dimasukkan tanpa angka. Seseorang dapat menggunakan
DO NUM dan DO UNNUM ke baris nomor atau unnumber. Lihat juga
dokumentasi di bawah ini untuk EDIT pseudo-command.
4.b. Konvensi Penamaan
Nama perintah dan nama fungsi tidak peka huruf besar-kecil,
sehingga "Run" dan "RUN" dan "run" setara dan "abs()"
dan "ABS()" dan "Abs()" setara. NAMUN, variabel
nama ADALAH case sensitif di bwbASIC, sehingga "d$" dan "D$"
adalah variabel yang berbeda. Ini berbeda dari beberapa BASIC
implementasi di mana nama variabel tidak peka huruf besar-kecil.
Nama variabel dapat menggunakan karakter alfabet apa pun, titik
dan menggarisbawahi karakter dan angka desimal (tetapi tidak di
posisi pertama). Mereka dapat diakhiri dengan '#' atau '!' ke
izinkan nama tipe Microsoft, meskipun presisinya
tidak relevan dengan bwBASIC.
4.c. Konstanta numerik
Konstanta numerik dapat dimulai dengan angka 0-9 (desimal), dengan
"&H" atau "&h" (heksadesimal) atau "&o" atau "&O" (oktal).
Bilangan desimal dapat diakhiri dengan 'E', 'e', 'D', atau 'd'
diikuti oleh angka eksponen untuk menunjukkan notasi eksponensial.
Konstanta desimal juga dapat diakhiri dengan tanda '#' atau '!'
untuk mematuhi terminator presisi gaya Microsoft, meskipun
presisi yang ditentukan tidak akan relevan dengan bwBASIC.
4.d. Eksekusi Baris Perintah
Nama file dapat ditentukan pada baris perintah dan akan menjadi
LOADed dan RUN segera, sehingga baris perintah
prog.basic bw
akan memuat dan menjalankan "prog.bas".
4.e. Penyimpanan Program
Semua program disimpan sebagai file teks ASCII.
4.f. Benar dan salah
TRUE didefinisikan sebagai -1 dan FALSE didefinisikan sebagai 0 dalam default
distribusi bwBASIC. Definisi ini dapat diubah dengan
yang mengkompilasi bwBASIC (lihat file BWBASIC.H).
4.g. Tugas
Tugas harus dibuat untuk variabel. Ini berbeda dari beberapa
implementasi BASIC di mana penugasan dapat dibuat untuk a
fungsi. Implikasi: "INSTR( 3, x$, y$ ) = z$" tidak akan
bekerja di bawah bwBASIC.
4.h. Operator dan Prioritas
bwBASIC mengenali operator berikut, dengan levelnya
prioritas yang diberikan (1 = tertinggi):
^ 1 eksponensial
* 2 perkalian
/ 2 divisi
pembagian 3 bilangan bulat
+ 5 tambahan
- 5 pengurangan
= 6 persamaan atau penugasan
MOD 4 modulus (sisa) aritmatika
<> 7 ketimpangan
<8 kurang dari
> 9 lebih besar dari
<= 10 kurang dari atau sama dengan
=< 10 kurang dari atau sama dengan
>= 11 lebih besar atau sama dengan
=> 11 lebih besar dari atau sama dengan
BUKAN 12 negasi
DAN 13 konjungsi
ATAU 14 disjungsi
XOR 15 eksklusif atau
Implikasi IMP 16
Kesetaraan EQV 17
4.h. Presisi Numerik (TIDAK)
bwBASIC menggunakan angka dengan hanya satu tingkat presisi. Jika
bendera NUMBER_DOUBLE didefinisikan sebagai TRUE di bwbasic.h, the
presisi yang diimplementasikan akan menjadi tipe data "ganda" C;
jika tidak (default) presisi akan menjadi "float" C
Tipe. Di sejumlah titik terdapat perintah (atau pseudo-
perintah) yang tampaknya mengenali presisi gaya Microsoft
perbedaan, tetapi sebagian besar ini hanya penyelesaian
alias untuk memungkinkan program bergaya Microsoft dijalankan.
5. REFERENSI YANG DIPERLUAS UNTUK PERINTAH DAN FUNGSI
"Ketergantungan" yang tercantum dalam bahan referensi berikut
mengacu pada flag yang harus disetel ke TRUE di bwbasic.h untuk
perintah atau fungsi terkait yang akan diimplementasikan. Bendera ini
adalah sebagai berikut:
(inti) Perintah dan Fungsi dalam setiap implementasi dari
bwDASAR; ini adalah inti ANSI Minimal BASIC
Perintah INTERAKTIF yang mendukung pemrograman interaktif
lingkungan Hidup
COMMON_CMDS Perintah di luar ANSI Minimal BASIC yang umum
ke ANSI BASIC dan Microsoft BASIC Penuh
COMMON_FUNCS Berfungsi di luar inti ANSI Minimal BASIC, tetapi
umum untuk ANSI Full BASIC dan Microsoft-style
Varietas DASAR
UNIX_CMDS Perintah yang memerlukan direktori gaya Unix dan
rutinitas lingkungan tidak ditentukan dalam C
STRUCT_CMDS Perintah yang terkait dengan pemrograman terstruktur; semua
di antaranya adalah bagian dari standar ANSI BASIC Penuh
ANSI_FUNCS Fungsi unik untuk ANSI Full BASIC
Perintah MS_CMDS unik untuk Microsoft BASICs
MS_FUNCS Fungsi unik untuk Microsoft BASICs
------------------------------------------
Fungsi: ABS (nomor)
Deskripsi: ABS mengembalikan nilai absolut dari argumen 'angka'.
Ketergantungan: (inti)
------------------------------------------
Fungsi: ASC( string$ )
Deskripsi: ASC mengembalikan kode ASCII untuk huruf pertama di
string argumen$.
Dependensi: MS_FUNCS
------------------------------------------
Fungsi: ATN (nomor)
Deskripsi: ATN mengembalikan nilai arctangent dari argumen 'angka'
dalam radian.
Ketergantungan: (inti)
------------------------------------------
Perintah: CALL nama subrutin
Deskripsi: CALL memanggil subrutin bernama (lihat SUB dan END SUB).
Dependensi: STRUCT_CMDS
------------------------------------------
Perintah: KASUS LAIN | ekspresi parsial JIKA | konstan
Deskripsi: CASE memperkenalkan elemen pernyataan SELECT CASE
(lihat PILIH KASUS). KASUS JIKA memperkenalkan kondisional
SELECT CASE elemen, dan CASE ELSE memperkenalkan a
elemen SELECT CASE default.
Dependensi: STRUCT_CMDS
------------------------------------------
Perintah: RANTAI [MERGE] nama file [, nomor baris] [, SEMUA]
Deskripsi: CHAIN meneruskan kontrol ke program BASIC lain.
Variabel yang dideklarasikan COMMON (qv) akan diteruskan
ke program baru.
Dependensi: COMMON_CMDS
------------------------------------------
Perintah: nama jalur CHDIR$
Deskripsi: CHDIR mengubah direktori saat ini menjadi yang ditunjukkan
dengan argumen pathname$.
Dependensi: UNIX_CMDS
------------------------------------------
Fungsi: CHR$( nomor )
Deskripsi: CHR$ mengembalikan string satu karakter dengan karakter
sesuai dengan kode ASCII yang ditunjukkan oleh argumen
'nomor'.
Dependensi: COMMON_FUNCS
------------------------------------------
Fungsi: CINT (nomor)
Deskripsi: CINT mengembalikan bilangan bulat terpotong untuk argumen
'nomor'.
Dependensi: MS_FUNCS
------------------------------------------
Perintah: CLEAR
Deskripsi: CLEAR menyetel semua variabel numerik ke 0, dan semua
variabel string menjadi nol.
Dependensi: COMMON_CMDS
------------------------------------------
Perintah: TUTUP [[#]nomor-file]...
Deskripsi: CLOSE menutup file yang ditunjukkan oleh file-number
(lihat BUKA).
Dependensi: COMMON_CMDS
------------------------------------------
Perintah: CLS
Deskripsi: CLS membersihkan layar tampilan (IBM dan yang kompatibel
hanya pada versi 2.10).
Dependensi: IMP_IQC dan IMP_CMDLOC
------------------------------------------
Perintah: CMDS
Deskripsi: CMDS adalah perintah debugging yang mencetak daftar
dari semua perintah bwBASIC yang diimplementasikan.
Dependensi: DEBUG
------------------------------------------
Perintah: variabel UMUM [, variabel...]
Deskripsi: COMMON menunjuk variabel yang akan diteruskan ke CHAINed
program (lihat RANTAI).
Dependensi: COMMON_CMDS
------------------------------------------
Fungsi: COS (nomor)
Deskripsi: COS mengembalikan kosinus dari argumen 'angka'
dalam radian.
Ketergantungan: (inti)
------------------------------------------
Fungsi: CSNG (nomor)
Deskripsi: CSNG adalah fungsi semu yang tidak memiliki efek di bawah
bwDASAR. Ini mereplikasi perintah tipe Microsoft
yang akan mengubah 'angka' menjadi presisi tunggal.
Dependensi: MS_FUNCS
------------------------------------------
Fungsi: CVD( string$ )
Deskripsi: CVD mengubah string argumen$ menjadi bwBASIC
nomor (presisi tidak relevan dalam bwBASIC karena
nomor bwBASIC hanya memiliki satu presisi).
Catatan Khusus Implementasi:
CVD(), CVI(), CVS(), MKI$(), MKD$(), MKS$(): Fungsi-fungsi ini
diimplementasikan, tetapi bergantung pada a) ukuran untuk bilangan bulat,
float, dan nilai ganda pada sistem tertentu, dan b) bagaimana
versi tertentu dari C menyimpan nilai numerik ini. NS
implikasinya adalah bahwa file data dibuat menggunakan fungsi-fungsi ini
pada komputer mikro berbasis DOS mungkin tidak diterjemahkan dengan benar
oleh bwBASIC berjalan pada komputer berbasis Unix. Demikian pula, data
file yang dibuat oleh bwBASIC yang dikompilasi oleh satu versi C mungkin tidak
dapat dibaca oleh bwBASIC yang dikompilasi oleh versi C lainnya (bahkan di bawah
sistem operasi yang sama). Jadi berhati-hatilah dengan ini.
Dependensi: MS_FUNCS
------------------------------------------
Fungsi: CVI( string$ )
Deskripsi: CVI mengubah argumen string$ menjadi bwBASIC
nomor (presisi tidak relevan dalam bwBASIC karena
nomor bwBASIC hanya memiliki satu presisi; Lihat juga
catatan di CVD).
Dependensi: MS_FUNCS
------------------------------------------
Fungsi: CVS( string$ )
Deskripsi: CVI mengubah argumen string$ menjadi bwBASIC
nomor (presisi tidak relevan dalam bwBASIC karena
nomor bwBASIC hanya memiliki satu presisi; Lihat juga
catatan di CVD).
Dependensi: MS_FUNCS
------------------------------------------
Perintah: DATA konstan[,konstan]...
Deskripsi: DATA menyimpan konstanta numerik dan string menjadi
diakses oleh READ (qv).
Ketergantungan: (inti)
------------------------------------------
Fungsi: TANGGAL$
Deskripsi: DATE$ mengembalikan tanggal saat ini berdasarkan komputer
jam internal sebagai string dalam bentuk "YYYY-MM-DD".
Seperti yang diterapkan di bawah bwBASIC, DATE$ tidak dapat digunakan untuk
penugasan (yaitu, untuk mengatur tanggal sistem).
Catatan: bwBASIC saat ini (v2.10) tidak mengizinkan penugasan
ke suatu fungsi.
Dependensi: COMMON_FUNCS
------------------------------------------
Perintah: DEF FNname(arg...)] = ekspresi
Deskripsi: DEF mendefinisikan fungsi yang ditulis pengguna. Fungsi ini
sesuai dengan implementasi tipe Microsoft, meskipun
di bwBASIC DEF adalah setara dengan FUNCTION.
Ketergantungan: (inti)
------------------------------------------
Perintah: DEFDBL letter[-letter](, letter[-letter])...
Deskripsi: DEFDBL mendeklarasikan variabel dengan nama satu huruf
sebagai variabel numerik (presisi tidak relevan dalam
bwDASAR).
Dependensi: MS_CMDS
------------------------------------------
Perintah: DEFINT letter[-letter](, letter[-letter])...
Deskripsi: DEFINT mendeklarasikan variabel dengan nama satu huruf
sebagai variabel numerik (presisi tidak relevan dalam
bwDASAR).
Dependensi: MS_CMDS
------------------------------------------
Perintah: DEFSNG letter[-letter](, letter[-letter])...
Deskripsi: DEFSNG mendeklarasikan variabel dengan nama satu huruf
sebagai variabel numerik (presisi tidak relevan dalam
bwDASAR).
Dependensi: MS_CMDS
------------------------------------------
Perintah: DEFSTR letter[-letter](, letter[-letter])...
Deskripsi: DEFSTR mendeklarasikan variabel dengan nama satu huruf
sebagai variabel string.
Dependensi: MS_CMDS
------------------------------------------
Perintah: HAPUS baris[-baris]
Deskripsi: DELETE menghapus baris program yang ditunjukkan oleh
argumen. Jika Anda ingin menggunakan DELETE untuk non-
program bernomor, pertama gunakan DO NUM, lalu DELETE,
kemudian LAKUKAN UNNUM.
Ketergantungan: INTERAKTIF
------------------------------------------
Perintah: variabel DIM(elemen...)[variabel(elemen...)]...
Deskripsi: DIM menentukan variabel yang memiliki lebih dari satu
elemen dalam satu dimensi, yaitu, tersusun
variabel.
Catatan: Seperti yang diterapkan di bawah bwBASIC, DIM hanya menerima
tanda kurung sebagai pembatas untuk bidang variabel.
(Beberapa BASIC mengizinkan penggunaan tanda kurung siku.)
Ketergantungan: (inti)
------------------------------------------
Perintah: LAKUKAN NUM|UNNUM
Deskripsi: DO NUM nomor semua baris dalam suatu program. Pertama
baris diberi nomor 10, dan baris berikutnya
diberi nomor urut kelipatan 10. DO
UNNUM menghapus semua nomor baris dari sebuah program.
CATATAN bahwa fungsi-fungsi ini tidak melakukan apa pun terhadap garis
angka, misalnya, mengikuti pernyataan GOSUB atau GOTO;
perintah ini tidak dapat digunakan sebagai pengganti
RENUM (tersedia di beberapa sistem, tetapi tidak bwBASIC).
Dengan perintah ini, bagaimanapun, seseorang dapat mengembangkan
program tidak bernomor dengan memasukkan baris baru dengan angka,
kemudian jalankan DO UNNUM untuk menghapus nomor baris.
Bersama dengan LOAD dan SAVE (qv) seseorang dapat menggunakan
bwBASIC sebagai editor teks primitif.
Ketergantungan: INTERAKTIF
------------------------------------------
Perintah: LAKUKAN [WHILE ekspresi]
Deskripsi: DO mengimplementasikan sejumlah bentuk program loop.
LAKUKAN...LOOP hanya loop; satu-satunya jalan keluar adalah dengan
KELUAR; LAKUKAN WHILE...LOOP loop saat "ekspresi" adalah
benar (ini setara dengan WHILE-WEND yang lebih lama
loop, juga diimplementasikan di bwBASIC); LAKUKAN...LOOP SAMPAI
loop sampai ekspresi berikut SAMPAI benar.
Dependensi: STRUCT_CMDS
------------------------------------------
Perintah: EDIT
Deskripsi: EDIT adalah perintah semu yang memanggil editor teks
ditentukan dalam variabel BWB.EDITOR$ untuk mengedit
program dalam memori. Setelah panggilan ke editor teks,
program (diedit) dimuat ulang ke dalam memori. pengguna
biasanya harus menentukan jalur dan nama file yang valid di
BWB.EDITOR$ sebelum perintah ini akan berguna.
Dependensi: COMMON_CMDS
------------------------------------------
Perintah: LAINNYA
Deskripsi: ELSE memperkenalkan kondisi default dalam IF . multi-baris
pernyataan.
Dependensi: STRUCT_CMDS
------------------------------------------
Perintah: ELSEIF
Deskripsi: ELSEIF memperkenalkan kondisi sekunder dalam multi-
pernyataan IF baris.
Dependensi: STRUCT_CMDS
------------------------------------------
Perintah: SELESAI JIKA | FUNGSI | PILIH | SUB
Deskripsi: END IF mengakhiri pernyataan IF multi-baris. FUNGSI AKHIR
mengakhiri definisi fungsi multi-baris. AKHIR PILIHAN
mengakhiri pernyataan SELECT CASE. END SUB mengakhiri multi-
definisi subrutin baris.
Dependensi: STRUCT_CMDS
------------------------------------------
Perintah: ENVIRON variabel-string$ = string$
Deskripsi: ENVIRON menetapkan variabel lingkungan yang diidentifikasi oleh
variabel-string$ ke string$.
Dapat dicatat bahwa ini berbeda dari implementasi
ENVIRON di beberapa versi BASIC, tetapi ENVIRON bwBASIC
memungkinkan variabel BASIC digunakan di kedua sisi persamaan
tanda. Perhatikan bahwa fungsi ENVIRON$() berbeda dari
perintah, dan perhatikan fakta bahwa di beberapa sistem operasi
variabel lingkungan yang ditetapkan dalam suatu program tidak akan diteruskan
ke cangkang induknya.
Dependensi: UNIX_CMDS
------------------------------------------
Fungsi: LINGKUNGAN$( variabel-string$ )
Deskripsi: ENVIRON$ mengembalikan variabel lingkungan yang terkait dengan
nama variabel-string$.
Dependensi: MS_FUNCS
------------------------------------------
Fungsi: EOF (nomor perangkat)
Deskripsi: EOF mengembalikan TRUE (-1) jika perangkat terkait dengan
nomor perangkat ada di akhir file, jika tidak, itu
mengembalikan FALSE (0).
Dependensi: MS_FUNCS
------------------------------------------
Perintah: HAPUS variabel[, variabel]...
Deskripsi: ERASE menghilangkan variabel array dari sebuah program.
Dependensi: COMMON_CMDS
------------------------------------------
Fungsi: ERL
Deskripsi: ERL mengembalikan nomor baris dari kesalahan terbaru.
Dependensi: MS_FUNCS
------------------------------------------
Fungsi: ERR
Deskripsi: ERR mengembalikan nomor kesalahan dari kesalahan terbaru.
Perhatikan bahwa jika PROG_ERRORS telah didefinisikan ketika bwBASIC adalah
dikompilasi, variabel ERR tidak akan disetel dengan benar
kesalahan. Ini hanya berfungsi ketika pesan kesalahan standar digunakan.
Dependensi: MS_FUNCS
------------------------------------------
Perintah: nomor ERROR
Deskripsi: ERROR mensimulasikan kesalahan, yaitu menampilkan pesan
tepat untuk kesalahan itu. Perintah ini sangat membantu
secara tertulis ON ERROR GOSUB rutinitas yang dapat mengidentifikasi
beberapa kesalahan untuk perlakuan khusus dan kemudian ERROR ERR
(yaitu, penanganan default) untuk semua yang lain.
Dependensi: COMMON_CMDS
------------------------------------------
Perintah: KELUAR [UNTUK]
Deskripsi: EXIT dengan sendirinya keluar dari loop DO...LOOP;
EXIT FOR keluar dari loop FOR...NEXT.
Dependensi: STRUCT_CMDS
------------------------------------------
Fungsi: EXP (nomor)
Deskripsi: EXP mengembalikan nilai eksponensial 'angka'.
Ketergantungan: (inti)
------------------------------------------
Perintah: FIELD [#] device-number, number AS string-variable$ [, number AS string-variable$...]
Deskripsi: FIELD mengalokasikan ruang dalam buffer file acak untuk perangkat
ditunjukkan oleh nomor perangkat, mengalokasikan 'angka' byte
dan menetapkan byte pada posisi ini ke variabel
string-variabel$.
Dependensi: COMMON_CMDS
------------------------------------------
Perintah: FILES filespec$
Deskripsi: FILES adalah pseudocommand yang memanggil program direktori
ditentukan dalam variabel BWB.FILES$ dengan argumen
spesifikasi file$. Biasanya, pengguna harus mengatur variabel ini
sebelum FILES dapat digunakan. Misalnya, untuk komputer tipe PC,
BWB.FILES$ = "DIR"
akan bekerja, untuk mesin Unix,
BWB.FILES$ = "ls -l"
dan sebagainya
Dependensi: COMMON_CMDS
------------------------------------------
Perintah: FNCS
Deskripsi: CMDS adalah perintah debugging yang mencetak daftar
dari semua fungsi bwBASIC yang telah ditentukan sebelumnya.
Dependensi: DEBUG
------------------------------------------
Perintah: FUNGSI
Deskripsi: FUNCTION memperkenalkan definisi fungsi, biasanya
diakhiri dengan FUNGSI AKHIR. Dalam bwBASIC, FUNCTION dan
DEF bekerja setara, jadi keduanya bisa digunakan
dengan definisi fungsi satu baris atau dengan multi-
definisi baris diakhiri oleh END FUNCTION.
Dependensi: STRUCT_CMDS
------------------------------------------
Perintah: FOR counter = start TO finish [STEP increment]
Deskripsi: FOR memulai loop FOR-NEXT dengan variabel
'counter' awalnya disetel ke 'start' dan bertambah
dalam langkah 'kenaikan' (default adalah 1) hingga 'penghitung'
sama dengan 'selesai'.
Ketergantungan: (inti)
------------------------------------------
Perintah: DAPATKAN [#] nomor perangkat [, nomor catatan]
Deskripsi: GET membaca catatan berikutnya dari file akses acak
atau perangkat ke dalam buffer yang terkait dengan file itu.
Jika record-number ditentukan, perintah GET membaca:
catatan yang ditentukan.
Dependensi: COMMON_CMDS
------------------------------------------
Perintah: baris GOSUB | label
Deskripsi: GOSUB memulai panggilan subrutin ke saluran (atau label)
ditentukan. Subrutin harus diakhiri dengan RETURN.
Ketergantungan: (inti), tetapi STRUCT_CMDS untuk label
------------------------------------------
Perintah: baris GOTO | label
Deskripsi: Eksekusi program cabang GOTO ke baris yang ditentukan
(atau label).
Ketergantungan: (inti), tetapi STRUCT_CMDS untuk label
------------------------------------------
Fungsi: HEX$( nomor )
Deskripsi: HEX$ mengembalikan string yang memberikan heksadesimal (basis 16)
nilai untuk 'angka'.
Dependensi: MS_FUNCS
------------------------------------------
Perintah: IF ekspresi THEN [pernyataan [ELSE statement]]
Deskripsi: JIKA mengevaluasi 'ekspresi' dan melakukan THEN
pernyataan jika itu benar atau (opsional)
pernyataan ELSE jika FALSE. Jika STRUCT_CMDS
diatur ke TRUE, bwBASIC memungkinkan IF . multi-baris
pernyataan dengan kasus ELSE dan ELSEIF, diakhiri
dengan JIKA AKHIR.
Dependensi: (inti), STRUCT_CMDS untuk pernyataan IF multi-baris
------------------------------------------
Fungsi: INKEY$
Deskripsi: INKEY$ membaca status keyboard, dan satu
penekanan tombol, jika tersedia. Jika penekanan tombol tidak tersedia,
kemudian INKEY$ segera mengembalikan string nol ("").
Saat ini (v2.10) diimplementasikan di bwx_iqc.c saja.
Dependensi: IMP_IQC dan IMP_CMDLOC
------------------------------------------
Perintah: INPUT [# device-number]|[;]["string prompt";]daftar variabel
Deskripsi: INPUT memungkinkan input dari terminal atau perangkat
ditentukan oleh nomor perangkat. Jika terminal, "prompt
string" adalah output, dan input ditugaskan ke
variabel yang sesuai ditentukan.
bwBASIC tidak mendukung fitur opsional INPUT
yang menekan carriage-return dan line-feed di akhir
dari masukan. Ini karena C saja tidak menyediakan
sarana input selain string yang diakhiri CR-LF.
Ketergantungan: (inti)
------------------------------------------
Fungsi: INSTR( [posisi awal,] pencarian string$, pola string$ )
Deskripsi: INSTR mengembalikan posisi di mana string-pattern$
terjadi di string-searched$, dimulai dari posisi awal.
Seperti yang diterapkan di bwBASIC, INSTR tidak dapat digunakan untuk
tugas.
Catatan: bwBASIC saat ini (v2.10) tidak mengizinkan penugasan
ke suatu fungsi.
Dependensi: MS_FUNCS
------------------------------------------
Fungsi: INT (nomor)
Deskripsi: INT mengembalikan bilangan bulat terbesar yang kurang dari atau sama dengan
argumen 'angka'. CATATAN bahwa ini bukan "terpotong"
fungsi integer, yang lihat CINT.
Ketergantungan: (inti)
------------------------------------------
Perintah: MEMBUNUH nama file$
Deskripsi: KILL menghapus file yang ditentukan oleh nama-file$.
Dependensi: UNIX_CMDS
------------------------------------------
Fungsi: LEFT$( string$, jumlah spasi )
Deskripsi: LEFT$ mengembalikan substring string$ dengan jumlah spasi
dari kiri (awal) string). Seperti yang diterapkan
di bawah bwBASIC, itu tidak dapat digunakan untuk penugasan.
Dependensi: MS_FUNCS
------------------------------------------
Fungsi: LEN( string$ )
Deskripsi: LEN mengembalikan panjang dalam byte string$.
Dependensi: COMMON_FUNCS
------------------------------------------
Perintah: variabel LET = ekspresi
Deskripsi: LET memberikan nilai 'ekspresi' ke variabel.
Seperti yang saat ini diimplementasikan, bwBASIC mendukung LET . yang tersirat
pernyataan (misalnya, "X = 4.5678" di awal
garis atau segmen garis, tetapi tidak mendukung penugasan
ke beberapa variabel (misalnya, "x, y, z = 3.141596").
Ketergantungan: (inti)
------------------------------------------
Perintah: LINE INPUT [[#] device-number,]["prompt string";] string-variable$
Deskripsi: LINE INPUT membaca seluruh baris dari keyboard atau file
atau perangkat ke string-variabel$. Jika masukan dari
keyboard (stdin), maka "string prompt" akan dicetak
pertama. Tidak seperti INPUT, LINE INPUT membaca seluruh baris,
tidak berhenti untuk item data yang dibatasi koma.
Dependensi: COMMON_CMDS
------------------------------------------
Perintah: DAFTAR baris[-baris]
Deskripsi: LIST mencantumkan baris program sebagaimana ditentukan dalam argumennya.
Ketergantungan: INTERAKTIF
------------------------------------------
Perintah: LOAD nama file
Deskripsi: LOAD memuat program ASCII BASIC ke dalam memori.
Ketergantungan: INTERAKTIF
------------------------------------------
Fungsi: LOC (nomor perangkat)
Deskripsi: LOC mengembalikan catatan berikutnya yang pernyataan GET atau PUT
akan menggunakan.
Dependensi: MS_FUNCS
------------------------------------------
Perintah: TEMUKAN baris, kolom
Deskripsi: LOCATE alamat curor ke baris tertentu dan
kolom. Saat ini (v2.10) diimplementasikan di bwx_iqc.c saja.
Dependensi: IMP_IQC dan IMP_CMDLOC
------------------------------------------
Fungsi: LOF (nomor perangkat)
Deskripsi: LOF mengembalikan panjang file (ditentukan oleh nomor perangkat)
dalam byte.
Dependensi: MS_FUNCS
------------------------------------------
Fungsi: LOG (nomor)
Deskripsi: LOG mengembalikan logaritma natural dari argumen 'angka'.
Ketergantungan: (inti)
------------------------------------------
Perintah: LOOP [SAMPAI ekspresi]
Deskripsi: LOOP mengakhiri loop program: lihat DO.
Dependensi: STRUCT_CMDS
------------------------------------------
Perintah: LSET string-variable$ = ekspresi
Deskripsi: LSET mentransfer data dari 'ekspresi' ke tangan kiri
sisi variabel string atau bidang buffer akses acak.
Dependensi: COMMON_CMDS
------------------------------------------
Perintah: MERGE nama file
Deskripsi: MERGE menambahkan baris program dari 'nama file' ke program
dalam kenangan. Tidak seperti LOAD, itu tidak menghapus program
saat ini dalam memori.
Dependensi: COMMON_CMDS
------------------------------------------
Fungsi: MID$( string$, start-position-in-string[, number-of-spaces ] )
Deskripsi: MID$ mengembalikan substring string$ yang dimulai dari
start-position-in-string dan melanjutkan untuk
jumlah spasi byte.
Dependensi: MS_FUNCS
------------------------------------------
Perintah: nama jalur MKDIR$
Deskripsi: MKDIR membuat jalur direktori baru seperti yang ditentukan oleh
nama jalur$.
Dependensi: UNIX_CMDS
------------------------------------------
Fungsi: MKD$( nomor )
Deskripsi: MKD$, MKI$, dan MKS$ semuanya setara di bwBASIC.
Mereka mengubah nilai numerik 'angka' menjadi string
yang dapat disimpan dalam bentuk yang lebih terkompresi dalam file
(terutama untuk akses file acak). Sejak bwBASIC melakukannya
tidak mengenali perbedaan presisi, perintah ini
secara efektif setara.
Dependensi: MS_FUNCS
------------------------------------------
Fungsi: MKI$( nomor )
Keterangan: Setara dengan MKD$ (qv)
Dependensi: MS_FUNCS
------------------------------------------
Fungsi: MKS$( nomor )
Deskripsi: Setara dengan MKD$ (qv).
Dependensi: MS_FUNCS
------------------------------------------
Perintah: NAMA nama file lama SEBAGAI nama file baru
Deskripsi: NAME mengganti nama file yang ada (nama file lama) sebagai
nama-file-baru.
Dependensi: UNIX_CMDS
------------------------------------------
Perintah: BARU
Deskripsi: BARU menghapus program di memori dan menghapus semua
variabel.
Ketergantungan: INTERAKTIF
------------------------------------------
Perintah: NEXT [variabel penghitung]
Deskripsi: NEXT hadir di akhir perulangan FOR-NEXT; lihat UNTUK.
Ketergantungan: (inti)
------------------------------------------
Fungsi: OCT$( nomor )
Deskripsi: OCT$ mengembalikan string yang memberikan oktal (basis 8)
representasi dari 'angka'.
Dependensi: MS_FUNCS
------------------------------------------
Perintah: PADA variabel GOTO|GOSUB baris[,baris,baris,...]
Deskripsi: ON salah satu cabang (GOTO) atau memanggil subrutin
(GOSUB) berdasarkan nilai pembulatan variabel;
jika 1, baris pertama disebut, jika 2, yang kedua
garis disebut, dll.
Ketergantungan: (inti)
------------------------------------------
Perintah: ON ERROR GOSUB line|label
Deskripsi: ON ERROR menyiapkan subrutin penanganan kesalahan. Lihat
juga KESALAHAN.
Dependensi: COMMON_CMDS, STRUCT_CMDS untuk label
------------------------------------------
Perintah: OPEN "O"|"I"|"R", [#]device-number, file-name [,record length]
nama file UNTUK INPUT|OUTPUT|TAMBAHKAN SEBAGAI [#]nomor perangkat [LEN = panjang rekaman]
Deskripsi: OPEN mengalokasikan memori akses acak untuk akses ke disk
file atau perangkat lain. Perhatikan bahwa dua bentuk yang sangat berbeda
pernyataan OPEN didukung. Dalam bentuk pertama,
"O" (perhatikan bahwa huruf-huruf ini harus diapit tanda kutip
tanda) menunjukkan output berurutan, "I" menunjukkan berurutan
input, dan "R" menunjukkan input dan output akses acak.
Setelah BUKA, sejumlah operasi dapat dilakukan
pada perangkat (lihat MENULIS #, MASUKAN #, CETAK #, dll.).
Dependensi: COMMON_CMDS
------------------------------------------
Perintah: nomor DASAR OPSI
Deskripsi: OPTION BASE menetapkan nilai terendah untuk subskrip array,
baik 0 atau 1.
Ketergantungan: (inti)
------------------------------------------
Fungsi: POS
Deskripsi: POS mengembalikan posisi kursor saat ini di baris.
Dependensi: COMMON_FUNCS
------------------------------------------
Perintah: CETAK [# nomor perangkat,][MENGUNAKAN format-string$;] ekspresi...
Deskripsi: PRINT mengeluarkan teks ke layar atau ke file atau perangkat
ditentukan oleh nomor perangkat. Dalam implementasi saat ini
dari bwBASIC, ekspresi yang akan dicetak harus dipisahkan oleh
koma (keluaran tab), titik koma (langsung
output sekuensial) atau tanda tambah (sekuensial langsung
keluaran dengan rangkaian string). Ekspresi dipisahkan
oleh kosong atau tab tidak didukung. Jika MENGGUNAKAN ditentukan,
sejumlah tanda pemformatan mungkin muncul dalam format
tali:
! mencetak karakter pertama dari sebuah string
\ mencetak 2+x karakter string, di mana x =
jumlah spasi di antara garis miring terbalik
& bidang string panjang variabel
# mewakili satu digit dalam format output untuk
sebuah angka
. titik desimal dalam angka
+ tanda angka (akan menampilkan + atau -)
- trailing minus setelah angka
** isi spasi utama dengan tanda bintang
$$ mengeluarkan tanda dolar di depan angka
^^ nomor keluaran dalam format eksponensial
_ menampilkan karakter berikutnya secara harfiah
Seperti yang diterapkan saat ini, format eksponensial
akan yang digunakan oleh compiler C.
Dependensi: (inti), COMMON_FUNCS untuk MENGGUNAKAN
------------------------------------------
Perintah: PUT [#] device-number [, record-number]
Deskripsi: PUT mengeluarkan rekaman atau rekaman berikutnya yang tersedia
ditentukan oleh record-number ke file atau perangkat
dilambangkan dengan nomor perangkat.
Dependensi: COMMON_CMDS
------------------------------------------
Perintah: KELUAR
Deskripsi: QUIT adalah sinonim untuk SYSTEM; dengan INTERAKTIF
lingkungan, itu keluar dari program ke
sistem operasi (atau program panggilan).
Ketergantungan: INTERAKTIF
------------------------------------------
Perintah: RANDOMIZE nomor
Deskripsi: RANDOMIZE seed generator nomor acak (lihat RND).
Di bawah bwBASIC, fungsi TIMER (qv) dapat digunakan
untuk memasok benih 'nomor' untuk nomor acak
generator.
Ketergantungan: (inti)
------------------------------------------
Perintah: BACA variabel[, variabel]...
Deskripsi: READ membaca nilai dari pernyataan DATA dan menetapkan ini
nilai ke variabel bernama. Tipe variabel dalam READ
pernyataan harus cocok dengan tipe data dalam pernyataan DATA
seperti yang terjadi. Lihat juga DATA dan KEMBALIKAN.
Ketergantungan: (inti)
------------------------------------------
Perintah: senar REM
Deskripsi: REM memungkinkan komentar untuk dimasukkan dalam program. Sebagai
saat ini diimplementasikan, seluruh baris mengikuti
REM diabaikan oleh penerjemah (dengan demikian, bahkan jika
MULTISEG_LINES diatur, jalur REM tidak akan dapat
untuk menemukan pembatas segmen (":") diikuti oleh yang lain
segmen garis dengan perintah. bwBASIC saat ini tidak
menerapkan penggunaan kutipan tunggal gaya Microsoft
tanda untuk menunjukkan komentar.
Ketergantungan: (inti)
------------------------------------------
Perintah: KEMBALIKAN baris
Deskripsi: RESTORE mengatur ulang penghitung garis dan posisi untuk DATA
dan BACA pernyataan ke bagian atas file program atau
ke awal baris yang ditentukan. (Saat ini
harus berupa nomor baris.)
Ketergantungan: (inti)
------------------------------------------
Perintah: KEMBALI
Deskripsi: RETURN menyimpulkan subrutin yang dipanggil oleh GOSUB.
Ketergantungan: (inti)
------------------------------------------
Fungsi: KANAN$( string$, jumlah spasi )
Deskripsi: RIGHT$ mengembalikan substring string$ dengan jumlah spasi
dari kanan (ujung) string). Seperti yang diterapkan
di bawah bwBASIC, itu tidak dapat digunakan untuk penugasan.
Dependensi: MS_FUNCS
------------------------------------------
Perintah: nama jalur RMDIR
Deskripsi: RMDIR menghapus jalur direktori yang ditunjukkan oleh nama jalur.
Dependensi: UNIX_CMDS
------------------------------------------
Fungsi: RND (nomor)
Deskripsi: RND mengembalikan nomor pseudo-acak. Nilai 'angka'
diabaikan oleh bwBASIC jika disediakan. RANDOMISASI
command (qv) mereseed generator nomor acak.
Ketergantungan: (inti)
------------------------------------------
Perintah: RSET string-variable$ = ekspresi
Deskripsi: RSET mentransfer data dari 'ekspresi' ke tangan kanan
sisi variabel string atau bidang buffer akses acak.
Dependensi: COMMON_CMDS
------------------------------------------
Perintah: RUN [baris][nama-file$]
Deskripsi: RUN mengeksekusi program di memori. Jika nama file$ adalah
disediakan, maka file yang ditentukan dimuat ke dalam memori
dan dieksekusi. Jika nomor baris diberikan, maka eksekusi
dimulai pada baris itu.
Ketergantungan: INTERAKTIF
------------------------------------------
Perintah: SIMPAN nama file$
Deskripsi: SAVE menyimpan program dalam memori ke nama-file$. bwDASAR
hanya menyimpan file dalam format ASCII.
Ketergantungan: INTERAKTIF
------------------------------------------
Perintah: SELECT CASE ekspresi
Deskripsi: SELECT CASE memperkenalkan pemilihan kondisional multi-baris
penyataan. Ekspresi yang diberikan sebagai argumen untuk SELECT
CASE akan dievaluasi oleh pernyataan CASE berikut. NS
Pernyataan SELECT CASE diakhiri dengan END SELECT
pernyataan.
Seperti yang saat ini diimplementasikan, pernyataan CASE dapat diikuti
dengan nilai string, tetapi dalam hal ini hanya perbandingan sederhana
(sama, tidak sama) dapat dilakukan.
Dependensi: STRUCT_CMDS
------------------------------------------
Fungsi: SGN (nomor)
Deskripsi: SGN mengembalikan tanda argumen 'angka', +1
untuk bilangan positif, 0 untuk 0, dan -1 untuk bilangan negatif.
Ketergantungan: (inti)
------------------------------------------
Fungsi: SIN (nomor)
Deskripsi: SIN mengembalikan sinus dari argumen 'angka'
dalam radian.
Ketergantungan: (inti)
------------------------------------------
Fungsi: SPACE$( nomor )
Deskripsi: SPACE$ mengembalikan string 'angka' spasi kosong
byte panjang.
Dependensi: MS_FUNCS
------------------------------------------
Fungsi: SPC (nomor)
Deskripsi: SPC mengembalikan string 'angka' spasi kosong
byte panjang.
Dependensi: MS_FUNCS
------------------------------------------
Fungsi: SQR (nomor)
Deskripsi: SQR mengembalikan akar kuadrat dari argumen 'angka'.
Ketergantungan: (inti)
------------------------------------------
Perintah: BERHENTI
Deskripsi: STOP menginterupsi eksekusi program. Seperti yang diterapkan di bawah
bwBASIC, STOP mengeluarkan sinyal SIGINT.
Ketergantungan: (inti)
------------------------------------------
Fungsi: STR$( nomor )
Deskripsi: STR$ mengembalikan string yang memberikan desimal (basis 10)
representasi dari argumen 'angka'.
Dependensi: COMMON_FUNCS
------------------------------------------
Fungsi: STRING$( angka, nilai ascii|string$ )
Deskripsi: STRING$ mengembalikan string 'angka' byte yang panjangnya terdiri
dari karakter pertama string$ atau karakter
menjawab nilai ASCII nilai ascii.
Dependensi: MS_FUNCS
------------------------------------------
Perintah: SUB-subrutin-nama
Deskripsi: SUB memperkenalkan subrutin multi-baris bernama. NS
subrutin dipanggil oleh pernyataan CALL, dan menyimpulkan
dengan pernyataan END SUB.
Dependensi: STRUCT_CMDS
------------------------------------------
Perintah: variabel SWAP, variabel
Deskripsi: SWAP menukar nilai dari dua variabel. Kedua variabel
harus dari jenis yang sama (baik numerik atau string).
Dependensi: COMMON_CMDS
------------------------------------------
Perintah: SISTEM
Deskripsi: SYSTEM keluar dari bwBASIC ke program pemanggil atau
(lebih biasanya) sistem operasi.
Ketergantungan: INTERAKTIF
------------------------------------------
Fungsi: TAB (nomor)
Deskripsi: TAB mengeluarkan spasi hingga kolom yang ditunjukkan oleh
'nomor' telah tercapai.
Ketergantungan: (inti)
------------------------------------------
Fungsi: TAN (nomor)
Deskripsi: TAN mengembalikan tangen dari argumen 'angka'
dalam radian.
Ketergantungan: (inti)
------------------------------------------
Fungsi: WAKTU$
Deskripsi: TIME$ mengembalikan waktu saat ini berdasarkan komputer
jam internal sebagai string dalam bentuk "HH-MM-SS".
Seperti yang diterapkan di bawah bwBASIC, TIME$ tidak dapat digunakan untuk
penugasan (yaitu, untuk mengatur waktu sistem).
Catatan: bwBASIC saat ini (v2.10) tidak mengizinkan penugasan
ke suatu fungsi.
Dependensi: COMMON_FUNCS
------------------------------------------
Fungsi: TIMER
Deskripsi: TIMER mengembalikan waktu dalam jam sistem dalam hitungan detik
berlalu sejak tengah malam.
Dependensi: MS_FUNCS
------------------------------------------
Perintah: TROFF
Keterangan: TROFF ternyata fasilitas jejak; lihat TRON.
Dependensi: COMMON_CMDS
------------------------------------------
Perintah: TRON
Deskripsi: TRON menyalakan fasilitas pelacakan. Fasilitas ini akan mencetak
setiap nomor baris dalam tanda kurung siku sebagai programnya
dieksekusi. Ini berguna dalam men-debug program dengan
nomor baris. Untuk men-debug program tak bernomor dengan
TRON, panggil DO NUM dulu, tapi ingat untuk menelepon DO UNNUM
sebelum Anda menyimpan program nanti.
Dependensi: COMMON_CMDS
------------------------------------------
Fungsi: VAL( string$ )
Deskripsi: VAL mengembalikan nilai numerik dari string$.
Dependensi: COMMON_FUNCS
------------------------------------------
Perintah: VARS
Deskripsi: VARS adalah perintah debugging yang mencetak daftar
semua variabel didefinisikan yang memiliki lingkup global.
Dependensi: DEBUG
------------------------------------------
Perintah: WEND
Deskripsi: WEND menyimpulkan loop WHILE-WEND; lihat SAAT.
Dependensi: COMMON_CMDS
------------------------------------------
Perintah: ekspresi WHILE
Deskripsi: WHILE memulai loop WHILE-WEND. Loop berakhir dengan
WEND, dan eksekusi mengulangi melalui loop sebagai
selama 'ekspresi' adalah TRUE (-1).
Dependensi: COMMON_CMDS
------------------------------------------
Perintah: LEBAR [# nomor perangkat,] nomor
Deskripsi: WIDTH menyetel output layar atau perangkat ke 'angka'
kolom. device-number menentukan perangkat
atau file untuk output.
Dependensi: COMMON_CMDS
------------------------------------------
Perintah: TULIS [# nomor perangkat,] elemen [, elemen ]....
Deskripsi: MENULIS mengeluarkan variabel ke layar atau ke file
atau perangkat yang ditentukan oleh nomor perangkat. koma
disisipkan di antara keluaran ekspresi, dan string
diapit oleh tanda petik.
Dependensi: COMMON_CMDS
------------------------------------------
6. VARIABEL YANG DITETAPKAN
BWB.EDITOR$
BWB.FILE$
BWB.PROMPT$
BWB.IMPLEMENTASI$
Perintah EDIT dan FILES adalah perintah semu yang diluncurkan
program shell bernama dalam variabel BWB.EDITOR$ dan BWB.FILES$,
masing-masing. Nilai default untuk variabel ini dapat
diubah di bwbasic.h (DEF_EDITOR dan DEF_FILES), atau mereka
dapat diubah dengan cepat oleh pengguna. Sebuah ide mungkin untuk
inisialisasi variabel-variabel ini di "profile.bas" untuk spesifik
implementasi; misalnya, BWB.FILES$ dapat didefinisikan sebagai
"ls -l" pada sistem Unix atau "dir" pada sistem DOS.
Variabel preset BWB.PROMPT$ dapat digunakan untuk mengatur prompt
string untuk bwBASIC. Sekali lagi, disarankan agar pengguna
prompt yang dipilih dapat diatur di "profile.bas" untuk menjadi
diinisialisasi setiap kali bwBASIC dimulai. Perhatikan bahwa khusus
karakter dapat ditambahkan ke string prompt, misalnya,
BWB.PROMPT$ = "Oke"+CHR$(10)
akan memberikan prompt "Ok" diikuti oleh umpan baris.
Variabel preset BWB.IMPLEMENTATION$ akan mengembalikan "TTY" untuk
implementasi bwx_tty dan akan mengembalikan "IQC" untuk
IBM PC atau Kompatibel dengan implementasi QuickC (bwx_iqc).
Ini mungkin berguna dalam menentukan perintah dan fungsi mana
(khususnya CLS, LOCATE, dan INKEY$) mungkin tersedia.
7. PERINTAH DAN FUNGSI YANG TIDAK DITERAPKAN, DAN AGENDA UNTUK PENGEMBANGAN
Ada beberapa item yang sudah lama tidak diimplementasikan
bagian dari BASIC standar yang ketidakhadirannya akan tampak mengejutkan.
Namun, dalam setiap kasus, implementasinya akan membutuhkan operasi
fungsi khusus sistem ting atau fungsi khusus terminal
yang tidak dapat diberikan secara universal. Beberapa contoh spesifik:
CLOAD Mengandalkan konvensi CP/M atau MSDOS untuk biner
file yang dapat dieksekusi.
LANJUT Lihat RESUME di bawah (ketidaktahuan programmer?).
DEF USR Mengandalkan konvensi CP/M atau MSDOS untuk biner
file yang dapat dieksekusi.
FRE() Kemampuan untuk melaporkan jumlah memori bebas
sisanya adalah khusus sistem karena pola yang bervariasi
alokasi memori dan akses; akibatnya ini
kemampuan tidak ada di ANSI atau versi sebelumnya
dari C dan fungsi ini tidak tersedia di bwBASIC.
INPUT$() C dengan sendirinya tidak dapat membaca keyboard tanpa gema
input, dan dapat membaca input keyboard hanya setelah a
Carriage-Return telah dimasukkan.
INP Panggilan ke port perangkat keras, seperti bahasa mesin
rutinitas, sangat spesifik sistem dan tidak dapat
diimplementasikan di C saja.
DAFTAR Lihat LPRINT di bawah.
LPOS Lihat LPRINT di bawah.
LPRINT dan LLIST, dll., memerlukan akses ke perangkat printer,
dan ini bervariasi dari satu sistem ke sistem lainnya. Pengguna
mungkin mencoba MEMBUKA perangkat printer sendiri
sistem operasi (misalnya, "/ dev/lp" pada sistem Unix,
atau "PRN" di bawah DOS) dan lihat apakah pencetakan dapat dilakukan
dari bwBASIC dengan cara ini.
NULL Dalam hal ini, saya yakin bahwa NULL tidak lagi
diperlukan, karena sangat sedikit printer yang sekarang memerlukan NULL
di akhir baris.
KELUAR Lihat INP di atas (panggilan ke port perangkat keras).
PEEK() PEEK dan POKE mengaktifkan BASIC sebelumnya untuk mengatasi
lokasi memori tertentu. Meskipun bwBASIC
mungkin bisa mengimplementasikan perintah ini (POKE) dan
fungsi ini (PEEK()), batasannya adalah
sangat dibatasi oleh sistem yang berbeda untuk
akses memori dalam sistem yang berbeda.
POKE lihat MENGINTIP() di atas.
RENUM Karena baris tak bernomor dapat dimasukkan dan
dieksekusi di bawah bwBASIC, itu tidak akan
mungkin untuk menerapkan rutinitas RENUM.
Sebagai gantinya, bwBASIC menggunakan DO NUM dan DO UNNUM.
RESUME Apakah ini mungkin di bawah C? Jika demikian, saya
hanya gagal untuk mengetahuinya.
Mea culpa (tetapi tidak maxima).
USR Lihat CALL dan DEF USR di atas (bahasa mesin
subrutin).
VARPTR Lihat MENGINTIP dan POKE di atas.
TUNGGU Lihat INP dan OUT di atas.
Ada perintah, fungsi, dan detail implementasi lainnya
yang sedang saya kerjakan, dan yang ada dalam daftar agenda untuk masa depan
versi bwBASIC. Agenda tersebut antara lain:
PARACT yaitu, kemampuan untuk mengeksekusi TINDAKAN PARALEL. Ini
dijelaskan dalam ANSI BASIC, meskipun saya belum melihatnya
dilaksanakan sebelumnya. Ini akan menawarkan kasar, non-
bentuk preemptive multitasking dalam ruang lingkup
dari program BASIC. Pemrogram akan mencatat poin di mana
sudah ada kait untuk PARACT di bwBASIC.
Komputer tipe PC XMEM harus dapat menggunakan perpanjangan
Penyimpanan. Jika kita bisa menggunakan memori tambahan untuk program
garis, variabel, dan definisi fungsi, kita bisa
menulis program yang lebih panjang. Ini akan memerlukan,
namun, penulisan ulang program yang cukup serius
untuk memanfaatkan pegangan memori untuk fitur penyimpanan ini
bukannya pointer memori langsung.
Windows Penambahan pegangan memori selain
eksekusi non-preemptive dari baris program (dalam a
bentuk kasar, sudah ada) akan memungkinkan
untuk mengembangkan implementasi untuk Windows dan mungkin
untuk antarmuka pengguna grafis lainnya. Tapi bentuk apa?
ini harus ambil? Yang saya pikirkan saat ini adalah BASIC
yang akan berjalan di latar belakang, hanya muncul
sebagai ikon di ruang GUI, dengan editor pop-up
dan jendela keluaran. Jadi, bahasa yang ditafsirkan
akan melayani tujuan seperti 'cron' (tugas
penjadwal) di bawah sistem Unix. Anda mungkin memiliki beberapa
refleksi yang akan membantu saya dalam hal ini.
Grafik Di sini kita menghadapi perbedaan yang cukup kritis dalam perbedaan
gaya dan implementasi grafik, misalnya, antara
GWBASIC, ANSI BASIC, VisualBASIC, dll. Tapi itu
mungkin perintah dan fungsi Grafik bisa
ditambahkan. Ini semua akan menjadi spesifik implementasi.
Standar ANSI untuk BASIC lengkap tidak menentukan yang mana
perintah atau fungsi harus diimplementasikan, dan sebenarnya standar
sangat kuat. Mungkin tidak akan pernah ada implementasi BASIC
termasuk semua item, tetapi beberapa perintah dan fungsi ANSI yang
tetap tidak dilaksanakan adalah:
ACCESS
SUDUT
DAERAH
HITUNG
HIMPUNAN
ASK
BSTR
BVAL
CEIL
SEL
CLIP
MENYUSUN
MENGHUBUNG
TONGKAT PENDEK
DATE
DEBUG
DESIMAL
MENYATAKAN
DERAJAT
ALAT
MEMUTUSKAN
DISPLAY
DOT
SERI
MENGHAPUS
EVENT
PENGECUALIAN
GRAFIK
PANGAN
IMAGE
KUNCI
LCASE
LINES
LOG10
LOG2
MAT
MIX
MULTIPOIN
KELUAR MASUK
KELUARAN
PARAK
GAMBAR
piksel
MERENCANAKAN
POIN
RADIAN
MENERIMA
MEMBERI NOMOR BARU
MENULIS KEMBALI
MEMUTAR
ROUND
MENANGKAP
KIRIM
SHIFT
SINH
TANH
TIMEOUT
TRACE
MENGUBAH
MEMOTONG
TERBATAS
UCASE
TAMPILAN
TUNGGU
TAMPILAN
LEBAR ZONA
8. KISAH DASAR BYWATER
Program ini awalnya dimulai pada tahun 1982 oleh nenek saya, Ny.
Verda Mantra dari Beaumont, TX. Dia menulis program menggunakan
kompiler ANSI C pada komputer Osborne I CP/M dan meskipun my
kakek (Lockwood Spell) telah membeli PC IBM dengan 256 ribu
RAM nenek saya tidak akan menggunakannya, memparafrasekan George Herbert
bahwa "Dia yang tidak bisa di program 64k, tidak bisa di 512k."
Dia telah menggunakan Microsoft BASIC dan meskipun dia tidak menentang
itu dia mengatakan berulang kali bahwa dia tidak mengerti mengapa Digital
Penelitian tidak "menuntut kaus kaki dari Microsoft" untuk versi 1.0
dari MSDOS dan jadi saya rasa dia berharap untuk melemahkan Microsoft
seluruh pasar dan akhirnya membangun kerajaan perangkat lunak baru di
ujung utara Beaumont. Upaya pemrogramannya dipotong
sangat pendek ketika dia terlempar dari Beaumont ke Port
Kereta komuter Arthur pada musim panas 1986. Saya menemukan sumbernya
kode ke bwBASIC pada disket Osborne berdensitas tunggal dalam rajutannya
tas dan akhirnya berhasil menyalin semuanya ke PC
disket. Saya telah merevisinya sedikit sebelum rilis ini. Anda
harus tahu, bahwa saya sendiri adalah seorang sejarawan, bukan seorang programmer.
9. KOMUNIKASI:
email: [email dilindungi]
Oktober 11, 1993 BWBASIC(1)
Gunakan bwbasic online menggunakan layanan onworks.net