Ini adalah comterp perintah 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
comterp - demonstran penerjemah perintah terdistribusi
RINGKASAN
komputer
komputer terpencil
komputer server "portnum"
komputer pencatat "portnum"
komputer klien "host" "portnum" ["file"]
komputer telcat "host" "portnum" ["file"]
komputer jalankan "file"
komputer "expr"
DESKRIPSI
comterp mendemonstrasikan penerjemah perintah yang dimasukkan ke dalam ivtools. Seorang pengguna (atau klien
program) dapat berinteraksi dengan comterp melalui stdin dan stdout atau telnet (ketika ACE terpasang).
Sintaks perintah adalah daftar perintah yang dipisahkan titik koma dengan jumlah
parameter terlampir dalam tanda kurung, dengan dukungan untuk parameter opsional dan kata kunci
argumen, yaitu:
perintah2(arg1 arg2 arg3 :key1 val1 :key2 val2);
perintah1(arg1 arg2 arg3 :key1 val1 :key2 val2)
Ekspresi biner mirip-C dapat disematkan di mana saja dalam bahasa perintah, menggunakan
operator pada tabel di bawah ini. Variabel dapat dibuat dengan cepat dengan tugas
operator (yaitu "bola=1" membuat variabel "bola" bilangan bulat yang disetel ke 1). tak terputus
ekspresi menyebabkan ekstensi baris perintah otomatis (sampai parser menentukan
ekspresi selesai). "(), "{}", dan "[]" semuanya bisa digunakan secara bergantian.
COMMAND PILIHAN
komputer
Panggil juru bahasa perintah tunggal untuk berinteraksi melalui stdin dan stdout.
jarak jauh komputer
Panggil juru bahasa perintah tunggal, seperti default, dan sertakan perintah jarak jauh untuk
mengakses komputer lain dalam mode server.
server komputer "portnum"
Mendengarkan dan menerima koneksi pada portnum, lalu mengatur juru bahasa perintah untuk menunggu
untuk dan memproses perintah dari koneksi itu.
comterp logger "portnum"
Dengarkan dan terima koneksi di portnum, lalu teruskan pesan masuk
ke stdout, sambil kembali dengan baris baru. Untuk tujuan debugging, tidak benar-benar menggunakan
penerjemah.
comterp klien "host" "portnum" ["file"]
Hubungkan ke portnum pada host dan kirim/terima buffer teks yang diakhiri baris baru. Untuk
tujuan debugging, tidak benar-benar menggunakan juru bahasa.
comterp telcat "host" "portnum" ["file"]
Hubungkan ke portnum pada host, cat file, lalu tutup koneksi. Tidak benar-benar berguna
dari penerjemah juga.
comterp menjalankan "file"
Jalankan isi file lalu keluar.
komputer "expr"
Evaluasi ekspresi tunggal lalu keluar.
OPERATOR TABEL
Nama Perintah Operator Jenis Urutan Prioritas
--------- ------------ -------- ----- ----
. dot 130 R-ke-L biner
` bquote 125 awalan unary R-to-L
! meniadakan 110 R-ke-L unary-prefix
~ bit_not 110 awalan unary R-to-L
++ termasuk 110 R-to-L unary-prefix
++ incr_after 110 R-to-L unary-postfix
- minus 110 awalan unary R-to-L
-- decr 110 R-ke-L unary-prefix
-- decr_after 110 R-to-L unary-postfix
** ulangi 90 biner L-ke-R
.. iterasi 80 biner L-ke-R
% mod 70 biner L-ke-R
* mpy 70 L-ke-R biner
/ div 70 biner L-ke-R
+ tambahkan 60 biner L-ke-R
- sub 60 L-ke-R biner
<< lshift 55 biner L-ke-R
>> rshift 55 L-to-R biner
< lt 50 biner L-ke-R
<= lt_or_eq 50 L-to-R biner
> gt 50 L-ke-R biner
>= gt_or_eq 50 biner L-ke-R
!= not_eq 45 Biner L-ke-R
== persamaan 45 biner L-ke-R
& bit_dan 44 biner L-ke-R
^ bit_xor 43 L-to-R biner
| bit_or 42 L-to-R biner
&& dan 41 biner L-ke-R
|| atau 40 biner L-ke-R
, tupel 35 L-ke-R biner
,, stream concat 33 biner L-to-R
$ stream 32 awalan unary R-to-L
$$ daftar 32 R-to-L unary-prefix
%= mod_assign 30 biner R-ke-L
*= mpy_assign 30 biner R-ke-L
+= tambahkan_tetapkan 30 biner R-ke-L
-= sub_assign 30 biner R-ke-L
/= div_assign 30 biner R-ke-L
= menetapkan 30 biner R-ke-L
; seq 10 biner L-ke-R
MATEMATIS PERINTAH:
n=min(ab) -- mengembalikan minimum a dan b
n=max(ab) -- mengembalikan maksimum a dan b
n=abs(a) -- mengembalikan nilai absolut dari a
dbl=exp(x) -- mengembalikan nilai e yang dipangkatkan x
dbl=log(x) -- mengembalikan logaritma natural dari x
dbl=log10(x) -- mengembalikan logaritma basis-10 dari x
dbl=log2(x) -- mengembalikan logaritma basis-2 dari x
dbl=pow(xy) -- mengembalikan nilai x yang dipangkatkan y
dbl=acos(x) -- mengembalikan busur kosinus x dalam radian
dbl=asin(x) -- mengembalikan sinus busur x dalam radian
dbl=atan(x) -- mengembalikan tangen busur x dalam radian
dbl=atan2(yx) -- mengembalikan tangen busur y terhadap x
dbl=cos(x) -- mengembalikan kosinus dari x radian
dbl=sin(x) -- mengembalikan sinus dari x radian
dbl=tan(x) -- mengembalikan garis singgung dari x radian
dbl=sqrt(x) -- mengembalikan akar kuadrat dari x
dbl=pi() -- mengembalikan nilai pi
dbl=radtodeg(dbl) -- mengubah radian ke derajat
dbl=degtorad(dbl) -- mengubah derajat ke radian
num=floor(num) -- mengembalikan nilai integer terdekat kurang dari atau sama dengan argumen
num=ceil(num) -- mengembalikan nilai integer terdekat lebih besar dari atau sama dengan argumen
num=round(num) -- mengembalikan nilai integer terdekat
AFFIN MENGUBAH DAN MATRIX PERINTAH:
point=xform(x,y a00,a01,a10,a11,a20,a21) -- transformasi affine koordinat x,y
affine=invert(a00,a01,a10,a11,a20,a21) -- invert transformasi affine
matriks =xpose(matriks) -- transpose matriks arbitrer
matriks=matriks*matriks -- perkalian matriks
STATISTIK/RANDOM PERINTAH:
sum(val1[,val2[,...,valn]]) -- mengembalikan jumlah nilai
mean(val1[,val2[,...,valn]]) -- mengembalikan rata-rata nilai
var(val1[,val2[,...,valn]]) -- mengembalikan varian nilai
stddev(val1[,val2[,...,valn]]) -- mengembalikan standar deviasi nilai
rand([minval,maxval]) -- mengembalikan angka acak antara 0 dan 1 atau minval,maxval
srand(seedval) -- penghasil angka acak seed
DAFTAR PERINTAH:
lst=list([olst|strm|val] :strmlst :attr :size n) -- buat daftar, salin daftar, atau konversi
aliran
val=at(list|attrlist|str n :set val :ins val) -- return (atau set atau insert after) item ke-n
dalam daftar atau string
num=size(list|attrlist|str) -- mengembalikan ukuran daftar (atau string)
val=index(list|str val|char|str :last :all :substr) -- mengembalikan indeks nilai (atau char atau
string) dalam daftar (atau string), nihil jika tidak ditemukan.
ALIRAN PERINTAH:
val=next(stream) -- kembalikan nilai berikutnya dari stream
strm=stream(ostrm|list|attrlist|val) -- salin aliran atau konversi daftar
cnt=each(strm) -- traverse stream mengembalikan panjangnya
comp=filter(comps classid) -- filter stream dari comps untuk mencocokkan classid
PENGENDALIAN PERINTAH (menggunakan pos evaluasi):
val=cond(testexpr trueexpr falseexpr) -- evaluasi testexpr, dan jika benar, evaluasi dan
kembalikan trueexpr, jika tidak, evaluasi dan kembalikan falseexpr
val=if(testexpr :then expr :else expr) -- evaluasi testexpr dan jalankan :then
ekspresi jika benar, ekspresi :else jika salah.
val=for(initexpr whileexpr [nextexpr [bodyexpr]] :body expr) -- untuk loop
val=sementara([testexpr [bodyexpr]] :nilchk :sampai :body expr ) -- while loop
val=switch(val key-body-pairs) -- pernyataan switch (:case untuk pos., :case_n untuk neg.,
sebaliknya :simbol)
lanjutkan -- lewati ke iterasi berikutnya dari for atau while loop
break([retval]) -- keluar dari for atau while loop
LAIN PERINTAH
help(cmdname [cmdname ...] :all :posteval) -- bantuan untuk perintah
val=trace([flag] :get) -- aktifkan atau atur mode jejak
pause([msgstr]) -- jeda eksekusi skrip hingga C/R
step() -- aktifkan eksekusi skrip bertahap
fileobj|pipeobj=open([nama file [modestr]] :pipe :in :out :err) -- perintah open file
tutup(fileobj|pipeobj) -- tutup perintah file
[str]=print([fmtstr] [val [val1 [... valn]]] :string|:str :keluar :err :file fileobj|pipeobj
:prefix str) -- nilai cetak dengan format string opsional
str=gets(fileobj|pipeobj) -- mendapatkan string diakhiri baris baru dari file
val=global(simbol)|global(simbol)=val|global(simbol :jelas)|global(:cnt) -- buat simbol
global
int|lst=symid(simbol [simbol ...] | :max) -- mengembalikan id integer yang terkait dengan
simbol
sym|lst=symbol(symmid [symid ...]) -- mengembalikan simbol yang terkait dengan id bilangan bulat
val|lst=symval(simbol [simbol ...]) -- nilai kembalian yang terkait dengan simbol
variabel
sym|lst=symadd(sym|str [sym|str ...]) -- buat simbol dan kembalikan tanpa pencarian.
sym=symvar(sym) -- kembalikan simbol apa adanya
str=symstr(sym) -- mengembalikan versi string dari simbol
n=strref(str|symid) -- mengembalikan jumlah referensi string
lst=split(simbol|string :tokstr [delim] :tokval [delim] :keep :reverse) -- simbol split
atau string ke dalam daftar karakter (atau token).
str=join(clist :sym) -- gabungkan daftar karakter menjadi string
str=substr(str n|str :setelah :nonil) -- ekstrak karakter dari string (:nonil kembali
string jika tidak cocok)
bool=eq(str1 str2 :n len) -- perbandingan string parsial
bool=eq(sym1 sym2 :sym) -- perbandingan simbol
postfix(arg1 [arg2 [arg3 ... [argn]]]) -- echo argumen postfix yang tidak dievaluasi (dengan
[narg|nkey] setelah perintah yang ditentukan, {narg|nkey} setelah perintah yang tidak ditentukan, (narg) setelah
kunci, dan * mengikuti perintah pasca-evaluasi)
parse(fileobj) -- mengurai satu ekspresi dari sebuah file
arr=posteval(arg1 [arg2 [arg3 ... [argn]]]) -- post-evaluate setiap argumen tetap (sampai
nil) dan kembalikan array
sym=attrname(attribute) -- mengembalikan bidang nama dari pasangan putus-putus
val=attrval(attribute) -- mengembalikan bidang nilai dari pasangan putus-putus
dotlst=dot(name) -- buat daftar pasangan putus-putus yang kosong
quit() -- keluar dari penerjemah
exit() -- keluar dari seluruh aplikasi
kosong() -- pernyataan kosong
val=run(nama file :str :popen) -- menjalankan perintah dari file (atau string)
val=remote(hoststr portnum cmdstr :nowait) -- evaluasi string perintah dari jarak jauh
mengevaluasi string hasil secara lokal
val=eval(cmdstr|funcobj [cmdstr|funcobj ...] :symret ) -- evaluasi string (atau funcobj) sebagai
perintah, secara opsional mengembalikan simbol alih-alih nil
funcobj=func(body :echo) -- merangkum badan perintah menjadi objek yang dapat dieksekusi
val=shell(cmdstr) -- evaluasi perintah di shell
kamu tidur(msec) -- mikrodetik tidur
mute([flag]) -- atur atau alihkan tanda mute
nil([...]) -- terima argumen apa pun dan kembalikan nil
c=char(num :u) -- mengonversi sembarang angka menjadi char
s=short(num :u) -- ubah sembarang angka menjadi short
i=int(num :u) -- mengonversi sembarang angka menjadi int
l=long(num :u) -- ubah sembarang angka menjadi long
f=float(num) -- ubah sembarang angka menjadi float
d=double(num) -- ubah sembarang angka menjadi dobel
sym|lst=type(val [val ...]) -- mengembalikan jenis simbol untuk nilai
sym|lst=class(val [val ...]) -- mengembalikan simbol kelas untuk nilai tipe objek
int=ctoi(char) -- mengubah karakter menjadi integer
flag=isspace(char) -- mengembalikan nilai true jika karakter adalah spasi
flag=isdigit(char) -- mengembalikan nilai true jika karakter adalah angka numerik
flag=isspace(char) -- mengembalikan nilai true jika karakternya alfabetis
str=arg(n) -- kembalikan argumen baris perintah
n=narg(n) -- mengembalikan jumlah argumen baris perintah
num=nand(ab) -- bitwise NAND(negasi DAN)
num=nor(ab) -- bitwise NOR (negasi OR)
num=xnor(ab) -- bitwise XNOR (XOR dinegasikan)
HANYA IN SERVER MODE
str=timeexpr(comstr :sec n) -- perintah string untuk dieksekusi pada interval
Gunakan komputer online menggunakan layanan onworks.net