To jest polecenie comterp, które można uruchomić w bezpłatnym dostawcy hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS
PROGRAM:
IMIĘ
comterp - demonstrator rozproszonego interpretera poleceń
STRESZCZENIE
komterp
komterp zdalny
komterp serwer „portnum”
komterp rejestrator „portnum”
komterp klient „host” „portnum” [„plik”]
komterp telcat „host” „portnum” [„plik”]
komterp uruchom „plik”
komterp „wyrażenie”
OPIS
comterp demonstruje interpreter poleceń wbudowany w ivtools. Użytkownik (lub klient
program) może współdziałać z comterpem poprzez stdin i stdout lub telnet (jeśli wbudowany jest ACE).
Składnia polecenia to rozdzielona średnikami lista poleceń z dowolną liczbą
parametry ujęte w nawiasy, z obsługą opcjonalnych parametrów i słów kluczowych
argumenty, tj.:
polecenie2(arg1 arg2 arg3 :klucz1 wartość1 :klucz2 wartość2);
polecenie1(arg1 arg2 arg3 :klucz1 wartość1 :klucz2 wartość2)
Wyrażenia binarne podobne do języka C można osadzać w dowolnym miejscu języka poleceń, używając metody
operatorów w poniższej tabeli. Zmienne można tworzyć na bieżąco za pomocą przypisania
operator (tj. „ball=1” tworzy zmienną całkowitą „ball” ustawioną na 1). Niezakończony
wyrażenia powodują automatyczne rozszerzenie wiersza poleceń (dopóki parser nie określi
wyrażenie jest zakończone). „(), „{}” i „[]” można używać zamiennie.
COMMAND OPCJE
komterp
Wywołaj pojedynczy interpreter poleceń, z którym możesz wchodzić w interakcję poprzez stdin i stdout.
pilot do komputera
Wywołaj interpreter pojedynczego polecenia, taki jak domyślny, i dołącz zdalne polecenie dla
uzyskiwanie dostępu do innych komputerów w trybie serwera.
serwer comterp „portnum”
Nasłuchuje i akceptuje połączenia na portnum, następnie skonfiguruj interpreter poleceń, aby czekał
dla i przetwarzać polecenia z tego połączenia.
program rejestrujący comterp „portnum”
Nasłuchuje i akceptuje połączenia na Portnum, a następnie po prostu przekazuje przychodzące wiadomości
na standardowe wyjście, potwierdzając znak nowej linii. Do celów debugowania tak naprawdę nie jest to przydatne
tłumacz.
klient comterp „host” „portnum” [„plik”]
Połącz się z portnum na hoście i wysyłaj/odbieraj bufory tekstowe zakończone nową linią. Dla
do celów debugowania, a nie do użycia interpretera.
comterp telcat „host” „portnum” [„plik”]
Połącz się z portnum na hoście, zakotwicz plik, a następnie zamknij połączenie. Niezbyt przydatne
także tłumacza.
comterp uruchom „plik”
Uruchom zawartość pliku, a następnie wyjdź.
komputer "wyraż"
Oceń pojedyncze wyrażenie, a następnie wyjdź.
OPERATOR STÓL JADALNIANY
Operatory Nazwa polecenia Priorytet Typ rozkazu
--------- ------------ -------- ----- ----
. punkt 130, binarny od R do L
` bcytat 125 Jednoargumentowy przedrostek R-do-L
! zanegować 110 Jednoargumentowy przedrostek R-do-L
~ bit_not 110 Jednoargumentowy przedrostek R-do-L
++ incr 110 Jednoargumentowy przedrostek R do L
++ incr_after 110 Jednoargumentowy przyrostek R-do-L
- minus 110 Jednoargumentowy przedrostek R do L
-- decr 110 Jednoargumentowy przedrostek R-do-L
-- decr_after 110 Jednoargumentowy przyrostek R-do-L
** powtórz 90 binarnie L do R
.. wykonaj iterację binarną 80 L do R
% mod 70 Binarny L do R
*mpy 70 Binarny L do R
/ div 70 Binarny L do R
+ dodaj 60 plików binarnych L do R
- binarny sub 60 L do R
<< lshift 55 binarny L do R
>> rshift 55 Binarny L do R
< lt 50 binarny L do R
<= lt_or_eq 50 binarny L do R
> gt 50 binarny L do R
>= gt_or_eq 50 Binarny L do R
!= not_eq 45 Binarny L do R
== równanie 45 binarny L do R
& bit_i 44 binarny L do R
^ bit_xor 43 Binarny L do R
| bit_or 42 binarny L do R
&& i 41 binarny L do R
|| lub 40 binarnych L do R
, krotka 35 binarna L do R
,, strumień połączony 33 binarny L do R
$ strumień 32 Jednoargumentowy przedrostek R-do-L
$$ lista 32 Jednoargumentowy przedrostek R-do-L
%= mod_przypisanie 30 plików binarnych R do L
*= mpy_przypisanie 30 plików binarnych R do L
+= add_przypisz 30 plików binarnych R do L
-= sub_przypisanie 30 plików binarnych R do L
/= div_ przypisanie 30 plików binarnych R do L
= przypisz 30 plików binarnych R do L
; sekwencja 10 binarna L do R
MATEMATYCZNY POLECENIA:
n=min(ab) -- zwraca minimum a i b
n=max(ab) -- zwraca maksimum a i b
n=abs(a) -- zwraca wartość bezwzględną a
dbl=exp(x) -- zwraca wartość e podniesioną do potęgi x
dbl=log(x) -- zwraca logarytm naturalny x
dbl=log10(x) -- zwraca logarytm dziesiętny z x
dbl=log2(x) -- zwraca logarytm dziesiętny z x
dbl=pow(xy) -- zwraca wartość x podniesioną do potęgi y
dbl=acos(x) -- zwraca arcus cosinus x w radianach
dbl=asin(x) -- zwraca arcus sinus x w radianach
dbl=atan(x) -- zwraca tangens łuku x w radianach
dbl=atan2(yx) -- zwraca tangens łuku y przez x
dbl=cos(x) -- zwraca cosinus x radianów
dbl=sin(x) -- zwraca sinus x radianów
dbl=tan(x) -- zwraca tangens x radianów
dbl=sqrt(x) -- zwraca pierwiastek kwadratowy z x
dbl=pi() -- zwraca wartość pi
dbl=radtodeg(dbl) - konwertuje radiany na stopnie
dbl=degtorad(dbl) - konwertuje stopnie na radiany
num=floor(num) -- zwraca najbliższą wartość całkowitą mniejszą lub równą argumentowi
num=ceil(num) -- zwraca najbliższą wartość całkowitą większą lub równą argumentowi
num=round(num) -- zwraca najbliższą wartość całkowitą
pokrewne PRZEKSZTAŁĆ ROLNICZE MATRIX POLECENIA:
point=xform(x,y a00,a01,a10,a11,a20,a21) -- transformacja afiniczna współrzędnych x,y
affine=invert(a00,a01,a10,a11,a20,a21) -- odwraca transformację afiniczną
macierz=xpozycja(macierz) -- transponuj dowolną macierz
matrix=macierz*macierz -- mnożenie macierzy
STATYSTYCZNE/Losowe POLECENIA:
sum(val1[,val2[,...,valn]]) -- zwraca sumę wartości
mean(val1[,val2[,...,valn]]) -- zwraca średnią wartości
var(val1[,val2[,...,valn]]) – zwraca wariancję wartości
stddev(val1[,val2[,...,valn]]) – zwraca odchylenie standardowe wartości
Rand([minval,maxval]) – zwraca losową liczbę z zakresu od 0 do 1 lub minval,maxval
srand(seedval) – generator liczb losowych inicjujący
WYKAZ POLECENIA:
lst=list([olst|strm|val] :strmlst :attr :size n) -- utwórz listę, skopiuj listę lub przekonwertuj
strumień
val=at(list|attrlist|str n :set val :ins val) -- zwraca (lub ustawia lub wstawia po) n-ty element
na liście lub w ciągu znaków
num=size(list|attrlist|str) -- zwraca rozmiar listy (lub ciągu znaków)
val=index(list|str val|char|str :last :all :substr) -- zwraca indeks wartości (lub znak lub
string) na liście (lub string), zero jeśli nie zostanie znaleziony.
STRUMIEŃ POLECENIA:
val=next(stream) – zwraca następną wartość ze strumienia
strm=stream(ostrm|list|attrlist|val) -- skopiuj strumień lub przekonwertuj listę
cnt=each(strm) -- przemierza strumień, zwracając jego długość
comp=filter(comps classid) -- filtruje strumień kompozycji w celu dopasowania identyfikatora klasy
CONTROL POLECENIA (przy użyciu pisać ocena):
val=cond(testexpr trueexpr falseexpr) -- oceń testexpr i jeśli jest prawdziwy, oceń i
zwróć trueexpr, w przeciwnym razie oceń i zwróć falseexpr
val=if(testexpr :then expr :else expr) -- wyceń testexpr i wykonaj :then
wyrażenie, jeśli jest prawdziwe, wyrażenie :else, jeśli jest fałszywe.
val=for(initexpr whileexpr [nextexpr [bodyexpr]] :body expr) -- pętla for
val=while([testexpr [bodyexpr]] :nilchk :until :body expr ) -- pętla while
val=switch(val pary klucz-ciało) -- instrukcja switch (:casen dla pozycji, :case_n dla neg.,
w przeciwnym razie: symbol)
kontynuuj — przejdź do następnej iteracji pętli for lub while
break([retval]) – przerwanie pętli for lub while
INNE POLECENIA
help(nazwa cmd [nazwa cmd ...] :all :posteval) -- pomoc dotycząca poleceń
val=trace([flaga] :get) -- przełącza lub ustawia tryb śledzenia
pauza([msgstr]) -- wstrzymaj wykonywanie skryptu do czasu C/R
step() — przełącza krokowe wykonywanie skryptu
fileobj|pipeobj=open([nazwa pliku [modestr]] :pipe :in :out :err) -- polecenie otwarcia pliku
zamknij(fileobj|pipeobj) - polecenie zamknięcia pliku
[str]=print([fmtstr] [val [wartość1 [... wartość]]] :string|:str :out :err :file fileobj|pipeobj
:prefix str) -- drukuj wartość z opcjonalnym ciągiem formatującym
str=gets(fileobj|pipeobj) – pobiera z pliku ciąg znaków zakończony nową linią
val=global(symbol)|global(symbol)=val|global(symbol :clear)|global(:cnt) -- utwórz symbol
światowy
int|lst=symid(symbol [symbol ...] | :max) -- zwraca identyfikatory całkowite powiązane z
symbolika)
sym|lst=symbol(symid [symid ...]) -- zwraca symbole powiązane z identyfikatorami całkowitymi
val|lst=symval(symbol [symbol ...]) -- zwraca wartości powiązane z symbolem
zmienne
sym|lst=symadd(sym|str [sym|str ...]) - utwórz symbol(e) i powróć bez wyszukiwania.
sym=symvar(sym) -- zwraca symbol w niezmienionej postaci
str=symstr(sym) -- zwraca wersję ciągu symbolu
n=strref(str|symid) -- zwraca liczbę odwołań w ciągu znaków
lst=split(symbol|string :tokstr [delim] :tokval [delim] :keep :reverse) -- symbol podziału
lub ciąg znaków na listę znaków (lub tokenów).
str=join(clist :sym) -- łączy listę znaków w ciąg
str=substr(str n|str :after :nonil) -- wyodrębnia znaki z łańcucha (:nonil zwraca
ciąg znaków, jeśli nie ma dopasowania)
bool=eq(str1 str2 :n len) -- częściowe porównanie ciągów
bool=eq(sym1 sym2 :sym) -- porównanie symboli
postfix(arg1 [arg2 [arg3 ... [argn]]]) -- echo nieocenionych argumentów postfiksowych (z
[narg|nkey] po zdefiniowanych poleceniach, {narg|nkey} po niezdefiniowanych poleceniach, (narg) po
klawisze i * następujące polecenia po ocenie)
parse(fileobj) -- analizuje pojedyncze wyrażenie z pliku
arr=posteval(arg1 [arg2 [arg3 ... [argn]]]) -- ocenia później każdy ustalony argument (aż
nil) i zwróć tablicę
sym=attrname(attribute) -- zwraca pole nazwy pary kropkowanej
val=attrval(atrybut) -- zwraca pole wartości pary kropkowanej
dotlst=dot(nazwa) -- utwórz pustą listę par kropkowanych
Quit() - zakończ interpreter
exit() — zamyka całą aplikację
pusty() -- pusta instrukcja
val=run(nazwa pliku :str :popen) -- uruchamia polecenia z pliku (lub ciągu znaków)
val=remote(hoststr portnum cmdstr :nowait) -- wtedy zdalnie oceń ciąg poleceń
lokalnie oceń ciąg wynikowy
val=eval(cmdstr|funcobj [cmdstr|funcobj ...] :symret ) -- oceń ciąg (lub funcobj) jako
polecenia, opcjonalnie zwróć symbol zamiast zera
funcobj=func(body :echo) -- hermetyzuje treść poleceń w obiekcie wykonywalnym
val=shell(cmdstr) -- oceń polecenie w powłoce
śpisz(msec) — mikrosekundy uśpienia
mute([flaga]) -- ustawia lub przełącza flagę wyciszenia
nil([...]) -- zaakceptuj dowolne argumenty i zwróć zero
c=char(num :u) -- konwertuje dowolną liczbę na znak
s=short(num :u) -- konwertuje dowolną liczbę na krótką
i=int(num :u) -- konwertuje dowolną liczbę na liczbę całkowitą
l=long(num :u) - konwertuje dowolną liczbę na wartość długą
f=float(num) — konwertuje dowolną liczbę na liczbę zmiennoprzecinkową
d=double(num) — konwertuje dowolną liczbę na liczbę podwójną
sym|lst=type(val [val ...]) -- zwraca symbole typu dla wartości
sym|lst=class(val [val ...]) -- zwraca symbol(e) klasy dla wartości typu obiektu
int=ctoi(char) -- konwertuje znak na liczbę całkowitą
flag=isspace(char) — zwraca wartość true, jeśli znak jest białym znakiem
flag=isdigit(char) -- zwraca wartość true, jeśli znak jest cyfrą
flag=isspace(char) -- zwraca wartość true, jeśli znak jest alfabetyczny
str=arg(n) -- zwraca argument wiersza poleceń
n=narg(n) -- zwraca liczbę argumentów wiersza poleceń
num=nand(ab) -- bitowa NAND(zanegowana AND)
num=nor(ab) -- bitowy NOR (zanegowany OR)
num=xnor(ab) -- bitowy XNOR (zanegowany XOR)
TYLKO IN SERVER TRYB
str=timeexpr(comstr :sec n) -- ciąg poleceń do wykonywania w określonych odstępach czasu
Korzystaj z comterp online, korzystając z usług onworks.net