Ini ialah perintah comterp yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.
JADUAL:
NAMA
comterp - demonstrator jurubahasa arahan yang diedarkan
SINOPSIS
comterp
comterp jauh
comterp pelayan "portnum"
comterp pembalak "portnum"
comterp klien "hos" "portnum" ["fail"]
comterp telcat "hos" "portnum" ["fail"]
comterp jalankan "fail"
comterp "expr"
DESCRIPTION
comterp menunjukkan penterjemah arahan yang digabungkan ke dalam ivtools. Seorang pengguna (atau klien
program) boleh berinteraksi dengan comterp melalui stdin dan stdout atau telnet (apabila ACE terbina dalam).
Sintaks arahan ialah senarai arahan yang dipisahkan koma bertitik dengan bilangan arbitrari
parameter yang disertakan dalam kurungan, dengan sokongan untuk parameter pilihan dan kata kunci
hujah, iaitu:
command2(arg1 arg2 arg3 :key1 val1 :key2 val2);
command1(arg1 arg2 arg3 :key1 val1 :key2 val2)
Ungkapan binari seperti C boleh dibenamkan di mana-mana dalam bahasa arahan, menggunakan
operator dalam jadual di bawah. Pembolehubah boleh dibuat dengan cepat dengan tugasan
operator (iaitu "ball=1" mencipta pembolehubah "bola" integer yang ditetapkan kepada 1). Tidak ditamatkan
ungkapan menyebabkan sambungan baris arahan automatik (sehingga penghurai menentukan
ungkapan lengkap). "(), "{}", dan "[]" semuanya boleh digunakan secara bergantian.
COMMAND PILIHAN
comterp
Panggil penterjemah arahan tunggal untuk berinteraksi melalui stdin dan stdout.
comterp jauh
Panggil penterjemah perintah tunggal, seperti lalai, dan sertakan perintah jauh untuk
mengakses comterp lain dalam mod pelayan.
pelayan comterp "portnum"
Mendengar dan menerima sambungan pada portnum, kemudian sediakan penterjemah arahan untuk menunggu
untuk dan memproses arahan daripada sambungan itu.
comterp logger "portnum"
Mendengar dan menerima sambungan pada portnum, kemudian hanya memajukan mesej masuk
untuk stdout, sambil menerima kembali dengan baris baharu. Untuk tujuan penyahpepijatan, bukan kegunaan sebenarnya
jurubahasa.
klien comterp "hos" "portnum" ["fail"]
Sambung ke portnum pada hos dan hantar/terima penimbal teks ditamatkan baris baharu. Untuk
tujuan penyahpepijatan, sebenarnya bukan penggunaan penterjemah.
comterp telcat "hos" "portnum" ["fail"]
Sambungkan ke portnum pada hos, catkan fail, kemudian tutup sambungan. Bukan guna sebenarnya
daripada jurubahasa sama ada.
comterp run "fail"
Jalankan kandungan fail kemudian keluar.
comterp "expr"
Nilai ungkapan tunggal kemudian keluar.
PENGENDALI JADUAL
Nama Perintah Pengendali Jenis Pesanan Keutamaan
--------- ------------ -------- ----- ----
. dot 130 R-to-L binari
` bpetikan 125 R-to-L awalan-saturi
! menafikan 110 R-to-L awalan-unari
~ bit_not 110 R-to-L unary-prefix
++ incr 110 R-to-L unary-prefix
++ incr_after 110 R-to-L unary-postfix
- tolak 110 R-to-L awalan-unari
-- decr 110 R-to-L awalan-unari
-- decr_after 110 R-to-L unary-postfix
** ulangi 90 perduaan L-to-R
.. lelaran 80 L-to-R binari
% mod 70 L-to-R binari
* mpy 70 L-to-R binari
/ div 70 L-to-R binari
+ tambah 60 perduaan L-ke-R
- sub 60 L-to-R binari
<< lshift 55 L-to-R binari
>> rshift 55 L-to-R binari
< lt 50 L-ke-R binari
<= lt_or_eq 50 L-to-R binari
> gt 50 L-to-R binari
>= gt_or_eq 50 L-to-R binari
!= not_eq 45 perduaan L-to-R
== eq 45 perduaan L-to-R
& bit_dan 44 perduaan L-to-R
^ bit_xor 43 binari L-to-R
| bit_atau 42 L-to-R binari
&& dan 41 perduaan L-to-R
|| atau 40 L-to-R binari
, tuple 35 L-to-R binari
,, strim concat 33 L-to-R binari
$ stream 32 R-to-L unary-prefix
$$ senarai 32 R-to-L unary-prefix
%= mod_assign 30 perduaan R-to-L
*= mpy_assign 30 perduaan R-to-L
+= add_assign 30 R-to-L binary
-= sub_assign 30 perduaan R-to-L
/= div_assign 30 R-to-L binary
= berikan 30 perduaan R-to-L
; seq 10 L-to-R binari
MATEMATIK PERINTAH:
n=min(ab) -- pulangkan minimum a dan b
n=maks(ab) -- pulangkan maksimum a dan b
n=abs(a) -- kembalikan nilai mutlak a
dbl=exp(x) -- mengembalikan nilai e yang dinaikkan kepada kuasa x
dbl=log(x) -- mengembalikan logaritma asli bagi x
dbl=log10(x) -- mengembalikan logaritma asas-10 bagi x
dbl=log2(x) -- mengembalikan logaritma asas-2 bagi x
dbl=pow(xy) -- mengembalikan nilai x yang dinaikkan kepada kuasa y
dbl=acos(x) -- mengembalikan kosinus lengkok bagi x dalam radian
dbl=asin(x) -- mengembalikan sinus arka bagi x dalam radian
dbl=atan(x) -- mengembalikan tangen lengkok x dalam radian
dbl=atan2(yx) -- mengembalikan tangen lengkok y ke atas x
dbl=cos(x) -- mengembalikan kosinus x radian
dbl=sin(x) -- mengembalikan sinus bagi x radian
dbl=tan(x) -- mengembalikan tangen bagi x radian
dbl=sqrt(x) -- mengembalikan punca kuasa dua bagi x
dbl=pi() -- mengembalikan nilai pi
dbl=radtodeg(dbl) -- tukar radian kepada darjah
dbl=degtorad(dbl) -- tukar darjah kepada radian
num=floor(num) -- kembalikan nilai integer terdekat kurang daripada atau sama dengan argumen
num=ceil(num) -- kembalikan nilai integer terdekat yang lebih besar daripada atau sama dengan argumen
num=round(num) -- kembalikan nilai integer terdekat
AFFINE MENJADIKAN DAN MATRIX PERINTAH:
titik=xbentuk(x,y a00,a01,a10,a11,a20,a21) -- penjelmaan affine bagi koordinat x,y
affine=invert(a00,a01,a10,a11,a20,a21) -- terbalikkan perubahan affine
matriks=xpose(matriks) -- transpose matriks arbitrari
matriks=matriks*matriks -- pendaraban matriks
STATISTIK/RANDOM PERINTAH:
sum(val1[,val2[,...,valn]]) -- kembalikan jumlah nilai
min(val1[,val2[,...,valn]]) -- pulangkan min nilai
var(val1[,val2[,...,valn]]) -- mengembalikan varians nilai
stddev(val1[,val2[,...,valn]]) -- kembalikan sisihan piawai nilai
rand([minval,maxval]) -- kembalikan nombor rawak antara 0 dan 1 atau minval,maxval
srand(seedval) -- penjana nombor rawak benih
SENARAI PERINTAH:
lst=list([olst|strm|val] :strmlst :attr :saiz n) -- buat senarai, salin senarai atau tukar
aliran
val=at(senarai|attrlist|str n :set val :ins val) -- kembalikan (atau tetapkan atau masukkan selepas) item ke-
dalam senarai atau rentetan
num=size(list|attrlist|str) -- saiz kembalikan senarai (atau rentetan)
val=index(list|str val|char|str :last :all :substr) -- kembalikan indeks nilai (atau char atau
rentetan) dalam senarai (atau rentetan), tiada jika tidak dijumpai.
STREAM PERINTAH:
val=next(strim) -- kembalikan nilai seterusnya daripada strim
strm=stream(ostrm|list|attrlist|val) -- salin strim atau tukar senarai
cnt=each(strm) -- aliran lintasan mengembalikan panjangnya
comp=filter(comps classid) -- strim penapis comps untuk memadankan classid
KAWALAN PERINTAH (menggunakan hantar penilaian):
val=cond(testexpr trueexpr falseexpr) -- nilaikan testexpr, dan jika benar, nilaikan dan
pulangkan trueexpr, jika tidak nilai dan pulangkan falseexpr
val=if(testexpr :then expr :else expr) -- nilaikan testexpr dan laksanakan :then
ungkapan jika benar, ungkapan :else jika salah.
val=for(initexpr whileexpr [nextexpr [bodyexpr]] :body expr) -- untuk gelung
val=while([testexpr [bodyexpr]] :nilchk :sehingga :body expr ) -- gelung while
val=switch(val key-body-pairs) -- pernyataan suis (:casen for pos., :case_n for neg.,
sebaliknya :simbol)
teruskan -- langkau ke lelaran seterusnya bagi gelung untuk atau sementara
break([retval]) -- keluar dari gelung for atau while
LAIN PERINTAH
help(cmdname [cmdname ...] :semua :posteval) -- bantuan untuk arahan
val=trace([flag] :get) -- togol atau tetapkan mod jejak
jeda([msgstr]) -- jeda pelaksanaan skrip sehingga C/R
step() -- togol perlaksanaan skrip stepwise
fileobj|pipeobj=open([nama fail [modestr]] :pipe :in :out :err) -- buka arahan fail
close(fileobj|pipeobj) -- tutup arahan fail
[str]=print([fmtstr] [val [val1 [... valn]]] :rentetan|:str :keluar :err :fileobj|pipeobj
:prefix str) -- nilai cetak dengan rentetan format pilihan
str=gets(fileobj|pipeobj) -- mendapat rentetan ditamatkan baris baharu daripada fail
val=global(simbol)|global(simbol)=val|global(simbol :clear)|global(:cnt) -- buat simbol
global
int|lst=symid(simbol [simbol ...] | :maks) -- kembalikan id integer yang dikaitkan dengan
simbol
sym|lst=symbol(symid [symid ...]) -- kembali simbol(s) yang dikaitkan dengan integer id(s)
val|lst=symval(simbol [simbol ...]) -- nilai pulangan yang dikaitkan dengan simbol
pembolehubah
sym|lst=symadd(sym|str [sym|str ...]) -- cipta simbol dan kembali tanpa mencari.
sym=symvar(sym) -- kembalikan simbol sebagaimana adanya
str=symstr(sym) -- kembalikan versi rentetan simbol
n=strref(str|symid) -- kembalikan kiraan rujukan rentetan
lst=split(simbol|string :tokstr [delim] :tokval [delim] :keep :reverse) -- simbol split
atau rentetan ke dalam senarai aksara (atau token).
str=join(clist :sym) -- cantumkan senarai aksara ke dalam rentetan
str=substr(str n|str :selepas :nonil) -- ekstrak aksara daripada rentetan (:nonil kembali
rentetan jika tiada padanan)
bool=eq(str1 str2 :n len) -- perbandingan rentetan separa
bool=eq(sym1 sym2 :sym) -- simbol perbandingan
postfix(arg1 [arg2 [arg3 ... [argn]]]) -- echo hujah postfix yang tidak dinilai (dengan
[narg|nkey] selepas arahan yang ditakrifkan, {narg|nkey} selepas perintah yang tidak ditentukan, (narg) selepas
kunci, dan * mengikuti arahan pasca penilaian)
parse(fileobj) -- menghuraikan satu ungkapan daripada fail
arr=posteval(arg1 [arg2 [arg3 ... [argn]]]) -- post-evaluate setiap hujah tetap (sehingga
nil) dan tatasusunan kembali
sym=attrname(atribut) -- kembalikan medan nama pasangan bertitik
val=attrval(atribut) -- medan nilai pulangan pasangan bertitik
dotlst=dot(nama) -- bina senarai pasangan bertitik kosong
quit() -- quit the penterjemah
exit() -- keluar dari keseluruhan aplikasi
kosong() -- pernyataan kosong
val=run(nama fail :str :popen) -- jalankan arahan daripada fail (atau rentetan)
val=remote(hoststr portnum cmdstr :nowait) -- nilai rentetan arahan dari jauh kemudian
menilai rentetan hasil secara tempatan
val=eval(cmdstr|funcobj [cmdstr|funcobj ...] :symret ) -- nilai rentetan (atau funcobj) sebagai
arahan, secara pilihan mengembalikan simbol dan bukannya nil
funcobj=func(body :echo) -- merangkum badan perintah ke dalam objek boleh laku
val=shell(cmdstr) -- nilaikan arahan dalam shell
tidur(msec) -- mikrosaat tidur
mute([bendera]) -- tetapkan atau togol bendera bisu
nil([...]) -- terima sebarang hujah dan kembalikan nil
c=char(num :u) -- tukar mana-mana angka kepada char
s=short(num :u) -- tukar sebarang numerik kepada short
i=int(num :u) -- tukar sebarang angka kepada int
l=long(num :u) -- tukar sebarang numerik kepada panjang
f=float(num) -- tukar sebarang angka kepada float
d=double(num) -- tukar mana-mana angka kepada double
sym|lst=type(val [val ...]) -- simbol jenis pulangan untuk nilai
sym|lst=class(val [val ...]) -- kembalikan simbol kelas untuk nilai jenis objek
int=ctoi(char) -- tukar aksara kepada integer
flag=isspace(char) -- kembalikan benar jika aksara ialah ruang putih
flag=isdigit(char) -- kembalikan benar jika aksara ialah digit berangka
flag=isspace(char) -- kembalikan benar jika aksara adalah mengikut abjad
str=arg(n) -- kembalikan hujah baris arahan
n=narg(n) -- kembalikan bilangan argumen baris arahan
num=nand(ab) -- bitwise NAND(dinafikan DAN)
num=nor(ab) -- bitwise NOR (dinafikan ATAU)
num=xnor(ab) -- bitwise XNOR (XOR dinafikan)
MESTI IN SERVER MODE
str=timeexpr(comstr :sec n) -- rentetan arahan untuk dilaksanakan pada selang waktu
Gunakan comterp dalam talian menggunakan perkhidmatan onworks.net