ORVYL ve WYLBUR - ORVYL and WYLBUR

ORVYL ve WYLBUR
GeliştiriciStanford Üniversitesi
Yazılmış360/370 Assembly dili
Çalışma durumuÜretimden kaldırıldı
Kaynak modelAslında Açık kaynak; sonraki tescilli sürümler lisanslı kaynağa sahipti
İlk sürüm1967, 1968
Uyguningilizce
PlatformlarIBM S / 360, S / 370 ve halefleri
LisansBaşlangıçta kamu malı; sonraki tescilli sürümlerin farklı lisansları vardı
Resmi internet sitesi.stanford.edu/ dept/onun/destek/ wylorv/
IBM ana bilgisayar işletim sistemlerinin geçmişi

ORVYL bir zaman paylaşımı tarafından geliştirilen monitör Stanford Üniversitesi için IBM System / 360 ve Sistem / 370 1967–68 yıllarında bilgisayarlar.[1] ORVYL ilklerden biriydi zaman paylaşımı IBM bilgisayarları için sağlanacak sistemler. Wylbur bir Metin düzeltici ve kelime işlemci ORVYL olmadan veya ORVYL ile birlikte çalışmak üzere tasarlanmış bir program.[2]

Genel Bakış

ORVYL ve WYLBUR isimleri genellikle birbirinin yerine kullanılır, ancak:

  • ORVYL, bir dosya sistemini, komut dilini, program yürütmeyi ve hata ayıklamayı destekleyen ve gözetmen hizmetleri sağlayan bir zaman paylaşımı monitörüdür.[1]
  • WYLBUR bir metin editörü, kelime işlemcidir,[a] iş gönderme ve alma ve ORVYL ile veya IBM'in IBM'in sunduğu e-posta programı ile bağlantılı olarak çalışmak üzere tasarlanmış e-posta programı OS / 360, SVS, ve MVS işletim sistemleri.[2] ve
  • MILTEN, ORVYL ve WYLBUR tarafından aşağıdakiler için kullanılan terminal kontrol yazılımıdır. başla dur terminaller.[1]

WYLBUR, kalıbında tam bağımsız bir işletim sistemi değildir. Dartmouth Zaman Paylaşım Sistemi (DTSS) veya Unix. Bunun yerine, bir IBM toplu işletim sisteminin (OS / 360, SVS, MVS) üzerinde çalışır. Remote Job Entry sistemine sahip bir düzenleyici biçimini alır ve bu nedenle IBM işletim sistemleriyle büyük ölçüde aynı ilişkiye sahiptir. Emacs Unix'e yapar. Bu nedenlerden dolayı, WYLBUR genellikle bir zaman paylaşım sistemi yerine bir metin editörü olarak düşünülür. Ancak Unix, metin düzenleme hizmetleri sağlamak için Emacs'e ihtiyaç duymazken, IBM'in işletim sistemleri başlangıçta WYLBUR'a ihtiyaç duyuyordu. IBM'inki gibi sonraki yenilikler Zaman Paylaşımı Seçeneği (TSO), WYLBUR'u IBM kullanıcıları için daha az alakalı hale getirdi ve kademeli olarak değiştirdi.

Bu makale, komutlar ve anahtar kelimeler için tam büyük harf yazımı kullanacaktır. Karakterlere ve dizeye yapılan tüm referanslar bir EBCDIC kod sayfasını varsayar.

Kullanım

ORVYL ve WYLBUR, Stanford Doğrusal Hızlandırıcı Merkezi (SLAC), Avrupa Nükleer Araştırma Örgütü (CERN), ABD Ulusal Sağlık Enstitüleri (NIH) ve diğer birçok site. 1990'ların sonlarında çoğu siteden emekli oldu. Y2K NIH'de Aralık 2009'a kadar kullanımda kaldı.[3] ORVYL ve WYLBUR, Stanford'dan hala açık kaynak olarak mevcuttur.[4] SuperWYlbur gibi tescilli sürümler de vardır.

ORVYL ve WYLBUR, "CERN'de Hesaplama: ana bilgisayar çağı" başlıklı 2004 tarihli bir makaleden bu alıntıda gösterildiği gibi çok beğenildi:

[1976'da IBM S / 370-168], bilgiçlik taslayan İş Kontrol Dili ile MVS (Çoklu Sanal Depolama) işletim sistemini de beraberinde getirdi ve CERN'e çok sevilen, akıllıca tasarlanmış WYLBUR'u tanıtma fırsatı sağladı. ve John Ehrman tarafından güzel bir şekilde el yazısıyla yazılmış ve resimli kılavuzu ile birlikte SLAC'ta geliştirilen dostça bir zaman paylaşım sistemi. WYLBUR, pek çok eşzamanlı kullanıcı arasında paylaşılan (o zamanlar) az bir güçle mucizelere ulaşan bir tasarım şaheseriydi. Uyumlu karakteri ile dostlar kazandı ve bilgisayar terminalleri laboratuvarda tanıtıldıkça delikli kart makinelerinin çıkışına başladı.[5]

Avantajlar ve dezavantajlar

ORVYL ve WYLBUR ilk olarak 1967-68'de piyasaya çıktı. TSS / 360, TSO veya IBM'den herhangi bir resmi zaman paylaşımı çözümü. Bu, kabaca üçüncü taraf zaman paylaşım sistemleriyle aynı zamandı. MTS kullanılabilir hale geldi ve radar altında geliştirme çabası CP-67 IBM'in kendi Cambridge Bilim Merkezi'nde gerçekleşti. WYLBUR, IBM'in genel işletim sistemiyle birlikte kullanılabilmesi gibi ek bir avantaja da sahipti. OS / 360.

WYLBUR, tek adres alanlı bir sistemdir. TSO. Bu hafıza, hafızanın değerli olduğu günlerde korunmuştu. Dolayısıyla, TSO mevcut olduğunda bile, bellek kullanımını en aza indirmeye çalışan kuruluşlar, TSO etkileşimli ortamını kullanmalarına izin vermek yerine, kullanıcılarının bir kısmını veya hatta çoğunluğunu WYLBUR'da tutacaktı.

WYLBUR sıkıştırılmış Bölümlendirilmiş Veri Kümeleri (PDS'ler, diğer adıyla kitaplıklar) disk alanından tasarruf etmek için. İçinde MVS kaynak kodu tipik olarak bir dizi kart görüntüsü (80 karakter satırı) olarak saklanır. Bir satır yalnızca bir veya birkaç karakter içeriyorsa, o satırı saklamak için hala 80 karakter kullanılmıştır. Veriler, örneğin kaynak kodu, değişken bloklu (VB) olarak depolandığında bile, gömülü boşluk dizilerinde alan israf edilebilir. WYLBUR, PDS'lerde (ve sıralı veri setlerinde) metnin akışa yönelik depolanmasını uygular, böylece bir karakter satırı depolamak için 80 yerine yalnızca 16 karakter (satır uzunluğu, ofset, yığın uzunluğu, karakter) alabilir. WYLBUR veya üzerinden çalıştırılan harici bir program JCL dosyaları WYLBUR DÜZENLEME biçimine dönüştürmek için kullanıldı.

TSO, bir kullanıcının kilitli bir WYLBUR sisteminin yaptığından daha fazlasını yapmasına izin verse de, normalde bir TSO hesabı gerektirecek, bir toplu iş iskeletini parametrelerle doldurarak, toplu işleri yürüten WYLBUR Exec komut dosyaları yazmak mümkündür. toplu işi gönderme, çıktıyı alma ve ekranda görüntüleme.

WYLBUR'un TSO'ya göre bazı güvenlik avantajları ve bazı dezavantajları vardır. Avantajlar şunları içerir:

  • Kullanıcıların sahip oldukları ve önekleri altında depolananlar dışındaki veri kümelerine kullanıcı erişimini kısıtlamak için kurallar yazabilme. Bu, bir kullanıcının UNIX'teki ana dizinine benzer ve WYL.AV99.HCO gibi bir şeye benziyor, burada AV99 kabaca "grup" ile ve HCO grup içindeki "kullanıcı" ile benzer.
  • Kaynak kullanımı konusunda daha adil olmak. WYLBUR, başkalarının uzun bir süre veri dosyalarına erişimini kasıtlı veya kasıtsız olarak engelleyebilecek veya muazzam miktarda bellek veya CPU süresi kullanabilecek TSO'nun tahsisi gibi komutları uygulamaz. Bu şekilde tek bir kullanıcının diğer tüm kullanıcılar üzerindeki etkisini en aza indirir.
  • Diğer kullanıcılar tarafından yürütülen komutlara belirli durum parametrelerini veya "casusluk" komutlarını ayarlama komutları yönetici kullanıcılarla sınırlandırıldı ve normal kullanıcılar tarafından yürütülemedi.

Güvenlikle ilgili dezavantajlar şunlardır:

  • WYLBUR, tek adresli bir alan sistemidir. Bu, bir kullanıcı adres alanındaki ham baytlara nasıl erişileceğini bulabilirse, sahip olmadığı bilgilere potansiyel olarak erişebileceği anlamına gelir. Örneğin, bir zamanlar iki üniversite öğrencisi tarafından WYLBUR Exec kodlama dilinde yazılmış ve WYLBUR'un hafızasından en son oturum açmış kullanıcının şifresini kazabilen bir program vardı.
  • WYLBUR işlemi, WYLBUR'a atanan sistem hesabı altında çalıştığı için, WYLBUR'da belirlenen kurallara göre veri kümesi erişim korumalarının uygulanmasına tamamen bağlıdır. Erişim kurallarının uygulanması, sistem bakımı amacıyla, onları yeniden etkinleştirmeyi hatırlamayan bir yönetici kullanıcı tarafından tamamen devre dışı bırakılabilir.
  • WYLBUR, ilginç bir bükülme ile disk kotalarını uygular: herhangi bir sistem kullanıcısı kotasının tamamını veya bir kısmını diğer kullanıcılara verebilir. Bu işlevsellik, her dönemin sonunda ortadan kaldırılan kursla ilgili tipik öğrenci hesapları ve düşük disk kotalarına sahip, süresi dolmayan bilgisayar meraklısı öğrenci personeliyle, üniversite personeli tarafından her zaman beklenmeyen bir şekilde birleştirilebilir.
  • Çalıştıran sistemlerde ACF2 Güvenlik paketi, hem TSO hem de WYLBUR'da aynı hesap adına bağlı hesapları olan bir kullanıcı, WYLBUR hesabının güvenlik kaydının içeriğini TSO içinden etkileşimli olarak sıfırlayabilir. Bu, normal bir WYLBUR kullanıcısını yönetici bir WYLBUR kullanıcısına dönüştürmek, disk kotasını artırmak vb. İçin kullanılabilir.
  • En azından 1960'larda WYLBUR güvenlik kuralları, aynı sistem üzerinde çalışan toplu işler için uygulanmadı. Bu nedenle, IEHLIST ve IEBGENER gibi yardımcı programlar diğer WYLBUR kullanıcılarına ait dosyaları keşfetmek, okumak ve değiştirmek için bu dosyaları parola ile korumazsanız, operasyonel olarak garip bir şekilde kullanılabilir.

Veri yönetimi

Wylbur, Wylbur veri kümeleri için sıkıştırılmış ve her satır için bir satır numarası ve revizyon bayrağı bulunan özel bir düzenleme biçimine sahipti. Ayrıca Wylbur, standart FB ve VB veri setlerini destekler. Bir Wylbur kullanıcısı normalde, özel bir kelime olan CATLG olabilen varsayılan bir birimi belirtir. mevcut bir veri seti için kataloğun aranmasını talep etmek ve yeni bir veri setinin kataloglanmasını talep etmek. Wylbur, satır numaralarını kurgu ve IBM veri kümeleri arasında, ölçeklenmiş tamsayılar olarak veya açık bir ondalık nokta ile dönüştürme yeteneğine sahiptir.

Düzenleme

Wylbur, diğer düzenleyicilerdeki tamponlara benzer şekilde geçici veri kümeleriyle çalışan bir satır düzenleyici sağlar. Herhangi bir zamanda geçici veri kümelerinden biri varsayılan olarak belirlenir. Wylbur, her geçici veri kümesi için geçerli bir satır göstericisi tutar. Kullanıcı, bir komut üzerinde açık bir çalışma veri seti belirleyebilir; atlarsa, varsayılan geçici veri kümesi çalışma veri kümesi olarak kullanılır.

Operasyon birimi bir dizi hattır (ilişkisel aralık) ve tek tek satırlar 0,0 ila 99999,999 aralığında bir satır numarasıyla tanımlanır; tamsayı bölümünde baştaki sıfırlar ve kesirli bölümdeki sondaki sıfırlar atlanabilir. Kullanıcı aşağıdaki yollardan herhangi biriyle bir satır numarası belirleyebilir

  1. Mutlak satır numarası: ddddd.ddd
  2. İLK: çalışma veri setinin ilk satırı
  3. CURRENT: çalışma veri seti için mevcut satır
  4. SON: çalışma veri setinin son satırı
  5. END: çalışma veri kümesindeki son satırı izleyen kopyalar için bir hedef
  6. göreli: satır + sıra veya satır -ordinal.
  7. bir çizgi içeren makro değişkeni

Wylbur kitaplıklarının standart olmayan bir biçimi vardır, ancak kullanıcının tamsayı sıra numaralarına sahip yerel işletim sistemi dosyalarına dışa aktarmasına ve tam sayı sıralı yerel işletim sistemi dosyalarını içe aktarmasına ve satır numarasını 1000 faktör ile yeniden ölçeklendirmesine olanak tanır.

Bir aralık, bir kombinasyonu olarak belirtilebilir

  1. Açık bir aralık, ör. 5.3-2/7.4+3
  2. Bir desen, ör. 'X' RAKAMLAR*3
  3. Sütun aralığı olan bir kalıp, ör. 'BAL' 10/15
  4. Sıralı, ör. 3RD 'BAL' 10/15
  5. Bir eşleşmeye göre sıralı, ör. 3RD SONRA 'BAL' 10/15
  6. Bir eşleşmeyi izleyen bir dizi satır, ör. HER 3RD SONRA 'BAL' 10/15
  7. Bir Boole işlemi, ör. 'SAYFA' KAVŞAK TAMAMLAYICI 'NUMARA'
  8. SET ön ekine sahip parantez içindeki bir özellik, ör. 'SAYFA' KAVŞAK AYARLAMAK (TAMAMLAYICI 'NUMARA')

Bir desen bir Düzenli ifade, ancak sözdizimi şuna daha yakın SNOBOL bundan daha Unix veya Perl, geriye dönük izleme yoktur ve yalnızca NIH Wylbur alt desenleri yakalayabilir. Bir model şunlar olabilir:

  • 'string'
  • "dize"
  • desen deseni
  • (Desen)
  • desen * basamak
  • desen * rakamlar / rakamlar
  • YUKARIDA 'dize'
  • desen VE desen
  • HİÇ
  • GERİ ALAN
  • AŞAĞIDAKİ 'dize'
  • BOŞ
  • BLANKS
  • BOL
  • BOS
  • MERMİ
  • DASH
  • HANE
  • RAKAMLAR
  • ECB
    Eşit, virgül, boş
  • ECBS
    Eşittir, virgül, boşluk
  • BOŞ
  • EOL
  • EOS
  • HEX [#] onaltılık sayılar
  • LBRACKET
  • MEKTUP
  • DÜŞÜK
  • DEĞİL desen
  • desen VEYA desen
  • PARAGRAF
  • NOKTALAMA
  • RBRAKET
  • BÖLÜM
  • UZAY
  • MEKANLAR
  • BAZI 'dizge'
  • desen THRU deseni
  • YAZDIRILAMAZ
  • UPLOW 'dize'
  • ÜST

Örnek komutlar

 HER 3. 'ABC' HATASINDA 73 / 80'i X10 + 10'U DEĞİŞTİRİN 1.5-2 / 3.7 + 2KOPİ 'BAL' 10 / 15'İNDE 1 / 3'ÜNDE DEĞİŞTİRİN HER 3. HATTA BAŞLANGIÇ 2'NİN HER 3'ÜNDE HATTININ BAŞLANGICI 2'İNDE '10/15 DEĞİŞTİR' ('RAKAMLAR * 3') 'ALT BİZE 2/4

Taban + artış belirtimi, ilk satırdaki ikame metninin temel olduğu ve sonraki satırlarda artırıldığı anlamına gelir, böylece X10 + 10 ilk satırdaki eşleşen metni şununla değiştirir: X10ikinci satırda X20 ve üçüncü satırda X30. SUBSTRING 2 / 4'ün belirtimi, eşleşen dizginin sütun 2-4'ü anlamına gelir; bunun yakalamalardan daha az esnek olduğunu unutmayın.

Gelişmiş sürümler

Çeşitli kuruluşlar, Wylbur'un gelişmiş sürümlerini geliştirdi. Bunlar dahil

SuperWylbur ™

SuperWylbur, orijinal Wylbur'a göre birkaç geliştirmeye sahiptir. En önemlileri

  1. 3270, 3767 ve NTO terminallerini VTAM üzerinden destekler; diğer tescilli Wylbur sürümlerinde olduğu gibi, SuperWylbur VTAM terminalleri için MILTEN kullanmaz.
  2. Gelişmiş bir makro tesis.
  3. Kullanıcı tarafından yazılan tam ekran panelleri destekleme

SuperWylbur makro Tesisi

Makro işlemci, Wylbur'a komutlar, sabitler, işlevler ve ifadeler ekler. Komut sözdizimi, ifade olarak tanımlanmış parametreleri içermese bile, kullanıcı formları kullanabilir %(ifade) ve %%(ifade) değerlendirmeyi zorlamak için. İfade, bağımsız değişken veya değişken içermeyen bir işlevse, parantezler çıkarılabilir, ör. %.ZAMAN onun yerine %(.ZAMAN). İki katına çıkan bir%, değerin kote edilmesini ister.

SuperWylbur sabitleri

SuperWylbur'un iki tür sabiti vardır:

  • Sayısal sabitler
    • [işaret]rakamlar[E[işaret]üs]
    • #onaltılık sayılar
  • dize sabitleri
    • 'karakterler'
    • "karakterler"

SuperWylbur operatörleri

Adları yalnızca özel karakterler içeren SuperWylbur operatörlerinin boşluklarla ayrılmasına gerek yoktur. İsimleri nokta ve harfler içeren operatörler boşluklarla ayrılmalıdır. SuperWylbur, aşağıdaki operatör türlerine sahiptir:

SuperWylbur aritmetik operatörleri
  • + Artı
  • - Eksi
  • * Zamanlar
  • / Böl
  • // Tamsayı bölme
  • .DIV eşanlamlı //
  • .MOD Modül
  • ** Üstel
SuperWylbur ilişkisel operatörleri
  • < (.LT) Daha az
  • <= (.LE) Az veya eşit
  • = (.EQ) Eşittir
  • >= (.GE) Daha büyük veya eşit
  • > (GT) Büyük
  • ¬< (.NLT) Daha az olmayan
  • ¬<= (.NLE) Küçük veya eşit değil
  • ¬= (.NEQ) Eşit değil
  • ¬>= (.NGE) Büyük veya eşit değil
  • ¬> (.NGT) Büyük değil
SuperWylbur mantıksal operatörler
  • & (.VE) Ve
  • | (.VEYA) Veya
  • ¬ (.DEĞİL) Değil

SuperWylbur makro işlevleri

Bir makro işlevinin adı bir noktayla başlar. Bağımsız değişkenler varsa, iki nokta üst üste onları addan ayırır. Noktalı virgül, ardışık argümanları ayırır. SuperWylbur, aşağıdaki makro işlevi türlerini sağlar:

aritmetik fonksiyonlar

  • .ABS
  • .ACOS
  • .DE OLDUĞU GİBİ
  • .ATAN
  • .TAVAN
  • .COS
  • .COSH
  • .COTAN
  • .DEG
  • .E
  • .ERF
  • .ERFC
  • .TECRÜBE
  • .FLOOR
  • .FRAKSİYON
  • .GAMA
  • .LGAMMA
  • .LOG
  • .LOG10
  • .PI
  • .RAD
  • .ROUND
  • .GÜNAH
  • .SINH
  • .SQRT
  • .TAN
  • .TANH
  • .TRUNCATE

muhasebe fonksiyonları:

  • .ŞARJ ETMEK
  • .CONNTIME
  • .CPUTIME
  • .MEMACT
  • .MEMCPU
  • .HAFIZA
  • .MEMTIME
  • SAYFALAR
  • .PAGESECS
  • SAYFA
  • .TERMIO

tarih ve saat dönüşümü: s parametreler varsayılan olarak geçerli tarih veya saate

  • .DATE
  • .DATE4
  • .GÜNLER
  • .GÜNLER
  • .FULLDATE
  • .JDATE
  • .JDATE4
  • .ZAMAN
  • .TIME100
  • .TIME24
  • .ZAMANLI

çevresel sorular; bu dönüş değerlerinin çoğu AYARLAMAK komutlar:

  • .ACCOUNT
  • .ALARM
  • OTOLOG
  • .GERİ
  • .BATCH
  • .ÇÖP KUTUSU
  • .DURUM
  • .ONAYLAMAK
  • .CONT
  • .İŞLEMCİ
  • .DSFORMAT
  • .DÜZENLE
  • .EXTDS
  • .FSASIZE
  • UZUNLUK
  • .LNDP
  • .LOGONID
  • .MAILDSN
  • .MAILVOL
  • BİLDİRİM
  • .LİMAN
  • .ÖNEK
  • .PRIV
  • PROJE
  • .PROMEM
  • .PUBPREFIX
  • .PUBVOL
  • .RECDSN
  • .RECVOL
  • .ROOM
  • .RSASIZE
  • .SCRSIZE
  • BÜYÜKLÜK
  • .SWCOUNT
  • .SWSYSPRE
  • .SYSMDSN
  • .SYSMVOL
  • .SYSNAME
  • .T3270
  • .TABS
  • KONUŞ
  • .TERMİNAL
  • .TERSE
  • .ZAMAN AŞIMI
  • .USER
  • .VERSION
  • .SES
  • .GENİŞLİK

tam ekran işlevleri:

  • CURSORPOSN
  • .CURSORVAR
  • .DÜZENLE
  • .EDITLINE
  • .ENTRYKEY
  • .SCRNUPDT
  • .VARUPDATE

JES işlevleri:

  • .FETCHLIN
  • .SON İŞ

makro işlevleri:

  • .ARG
  • .CARG
  • .CMDCOUNT
  • .CMDLIMIT
  • .CMDMAX
  • .DSEXIST
  • .DSNAME
  • .INITIAL
  • .SON İŞ
  • .LATTN
  • .LERR
  • .MRETURN
  • DOĞAL
  • .XLATTN
  • .XLERR

dize işlevleri:

  • .BAYT
  • .CHAR
  • .COLUMNS
  • .DASH
  • .EXTEND
  • .FINDEX
  • .HEX
  • .HEXSTR
  • .INDEX
  • DÜŞÜK
  • .PAD
  • .ALINTI
  • .TERSİNE ÇEVİRMEK
  • .ROMA
  • .STRHEX
  • .STRING
  • .STRLEN
  • .SUBSTRING
  • .ÇEVİRMEK
  • .TRIM
  • .ÜST
  • .DOĞRULAYIN

çalışma dosyası işlevleri; s bağımsız değişkenler varsayılan olarak geçerli varsayılan çalışma veri kümesidir

  • .CURRENT
  • .SON
  • .İLK
  • .SON
  • UZUNLUK
  • .HAT
  • .LINENO
  • .MAKRO
  • .MAXTEMPS
  • .NUMTEMPS
  • .BOYUT
  • .GEÇİCİ
  • .TEMPSLEFT
  • .TEMPUPD
  • .METİN

Makro işlevlerinin tam listesi:

  • .ABS:n
    Mutlak değer
  • .ACCOUNT
    Oturum açma kimliğinden hesap numarası
  • .ACOS:x
    Ark kosinüs x
  • .ALARM
    1 sonraki terminal yazımında bip sesi çıkarırsa
  • .ARG
    Makroya aktarılan bağımsız değişkenler
  • .DE OLDUĞU GİBİ:x
    Ark sinüs x
  • .ATAN:x
    Ark tanjant x
  • OTOLOG
    Değeri OTOMATİK AYARLA; önceki oturumdan kurtarma için kullanılır
  • .GERİ
    AYARLAMAK seçenek: GERİ veya GERİ DÖNÜŞ YOK
  • .BATCH:s
    Değeri GRUP AYARLA seçenek s
  • .ÇÖP KUTUSU
    Değer ODA AYARLA
  • .BAYT:(s[;ben])
    Baytı dönüştür ben nın-nin s tamsayıya
  • .CARG
    İle tanımlanan kullanıcı tanımlı bir komuta iletilen bağımsız değişkenler KOMUT AYARLA
  • .DURUM
    Değer DURUM AYARLA: ÜST veya YÜKLE
  • .TAVAN:n
    Kesmek
  • .CHAR:ben
    Dönüştürmek ben tek bir EBCDIC karakterine
  • .ŞARJ ETMEK
    Dolar ve sent cinsinden mevcut oturum ücreti
  • .CMCOUNT
    Terminal G / Ç'siz makro komutları
  • .CMDCOUNT
    Terminal G / Ç'siz makro komutları
  • .CMDLIMIT
    Değer CMDLIMIT AYARLA; terminal G / Ç'siz maksimum makro komutu
  • .CMDMAX
    Maksimum izin verilen CMDLIMIT AYARLA
  • .CMLIMIT
    Değer CMDLIMIT AYARLA; terminal G / Ç'siz maksimum makro komutu
  • .COLUMNS:s;i1[;i2]
    Alt dizesi s sütundan i1 sütuna i2
  • .ONAYLAMAK
    1 eğer ONAYLA
  • .CONNTIME
    Tinme'yi saniyeler içinde 2 ondalık basamağa bağlayın
  • .CONT
    Devam karakteri
  • .COS:x
    Kosinüs x
  • .COSH:x
    Hiperbolik kosinüs x
  • .COTAN:x
    Kotanjant x
  • .İŞLEMCİ
    SMF'den CPU kimliği
  • .CPUTIME
    2 ondalık basamağa kadar saniye cinsinden CPU süresi
  • .CURRENT[:s]
    Çalışan veri kümesinin mevcut satır numarası s; -1 yoksa eğer boşsa -2
  • .KURPOSN
    Form satırındaki son kesmedeki imleç konumu + sütun / 1000; -1, 3270 değilse
  • .CURSORVAR
    Son kesmede imleci içeren alan için değişken adı
  • .DASH
    Tarafından kullanılan kısa çizgi karakteri HİFENAT ('62'X)
  • .DATE[:s]
    Jülyen tarihini dönüştür s (yy.ddd veya yyyy.ddd) aa / gg / yy'ye
  • .DATE4[:s]
    Jülyen tarihini dönüştür s (yy.ddd veya yyyy.ddd) aa / gg / yyyy'ye
  • .GÜN[:s]
    Haftanın günü s (aa / gg / yy veya aa / gg / yyyy) düşüyor
  • .GÜNLER[:s]
    01/01/1900 tarihinden itibaren
    s
  • .DEG:x
    Dönüştürmek x radyandan dereceye
  • .DSEXIST:s1[;s2)
    1 eğer veri seti s1 hacimde var s2 (olabilir CATLG)
  • .DSFORMAT
    Değer DSFORMAT AYARLA: TERSE veya VERBOSE
  • .DSNAME:s
    Dönüşümler s tam nitelikli bir veri kümesi adına
  • .E
    e
  • .DÜZENLE
    1 tam ekran düzenleme ortamındaysa
  • .EDITLINE
    Düzenleme çerçevesinin üstündeki satır numarası, 3270 değilse -1, tam ekran düzenleme yoksa -2, -3 boş
  • .SON[:s]
    Çalışan veri kümesindeki son satır numarasından sonraki tam sayı s
  • .ENTRYKEY
    Son kesmeye neden olan anahtar: AÇIK, CURSEL, GİRİŞ, PA1-PA3, PFK1-PRK24
  • .ERF:x
    Hata fonksiyonu
  • .ERFC:x
    Hata fonksiyonu
  • .TECRÜBE:x
    e^x
  • .EXTDS
    1 sessiona 3270 genişletilmiş veri akışını destekliyorsa
  • .EXTEND :(s1;ben[;s2])
    Kadar kopyasını ekle s2 (varsayılan "") gerektiği gibi s1 uzunluk almak ben
  • .FETCHLIN
    Tarafından getirilen satırlar FETCH komut
  • .İLK[:s]
    Çalışan veri setinin ilk satır numarası s; -1 yoksa eğer boşsa -2
  • .FLOOR:ben
    Aşağı kes
  • .FRAKSİYON:n
    N'nin kesirli kısmı
  • .FSASIZE
    3270 tam ekran alanı boyutu
  • .FULLDATE[:s]
    Aa / gg / yy veya aa / gg / yyyy'yi ay gününe, yyyy'ye dönüştürün
  • .GAMA:x
    Gama(x)
  • .HELPDSN
    Yardım veri kümesinin adı
  • .HELPVOL
    Yardım veri setinin cilt seri numarası veya CATLG
  • .HEX :(i1[;i2])
    Dönüştürmek i1 onaltılık, uzunluğa sıfır dolgulu i2
  • .HEXSTR:s
    Onaltılı dönüştürme s dizeye
  • .INDEX:s1[;s2])
    İlk sütun s2 oluşur s1; 0 eşleşme yoksa
  • .INITIAL:s
    1 değişken ise s başlatıldı
  • .GİRİŞ:ben
    Mevcut kanal satırının içeriği ben; geçerli satır işaretçisini ilerle
  • .JDATE[:s]
    Dönüştürmek s aa / gg / yy veya aa / gg / yyyy'den Jülyen tarih yy.ddd'ye
  • .JDATE4[:s]
    Dönüştürmek s aa / gg / yy veya aa / gg / yyyy'den Jülyen tarih yyyy.ddd'ye
  • .SON[:s]
    Çalışan veri setinin son satır numarası s; -1 yoksa eğer boşsa -2
  • .SON İŞ
    İle gönderilen son işin iş numarası KOŞMAK komut
  • .LATTN
    Mevcut makro seviyede dikkat çıkışı alındığında hattın hat numarası; -1 temizlenmişse veya çıkış yapılmamışsa
  • UZUNLUK
    Değer UZUNLUK AYARLA
  • .LENGTH:n[;[s][;ben]])
    Hat uzunluğu ben satırdan sonraki satırlar (negatifse önce) n çalışma veri seti s
  • .LERR
    Geçerli makro düzeyinde hata çıkışı alındığında satırın satır numarası; -1 temizlenmişse veya çıkış yapılmamışsa
  • .LGAMMA:x
    Ln (Gama (x))
  • .HAT:n[;[s][;ben]])
    Hat ben satırdan sonraki satırlar (negatifse önce) n çalışma veri seti s
  • .LINENO:n[;[s][;ben]])
    Numara ben satırdan sonraki satırlar (negatifse önce) n çalışma veri seti s
  • .LNDP
    Satır numarası ondalık basamaklar (3)
  • .LOG:x
    Ln x
  • .LOGONID
    Mevcut oturum için kullanılan oturum açma kimliği
  • .LOG10:x
    Günlük10 x
  • .LOWER:s
    Dönüştürmek s küçük harfe
  • .MAKRO
    Şu anda yürütülmekte olan makronun adı
  • .MAILDSN
    Posta veri kümesinin veri kümesi adı
  • .MAILVOL
    Posta veri kümesinin toplu seri numarası veya CATLG
  • .MAXTEMPS
    Oturumda izin verilen maksimum varsayılan olmayan geçici program sayısı
  • .MEMACT
    Oturum sırasında erişilen bayt sayısı
  • .MEMCPU
    Bayt * saniye ila 2 ondalık basamak
  • .HAFIZA
    Kullanımda çalışma depolama
  • .MEMTIME
    Depolama * saniye ila 2 ondalık basamak
  • .MRETURN
    Halihazırda yürütülmekte olan makro satırının satır numarası
  • DOĞAL[:ben]
    1 eğer DOĞAL KONTROL makro düzeyde etkilidir ben (varsayılan akım)
  • .SONRAKİ:ben
    Kanal için geçerli satır işaretçisi ben
  • BİLDİRİM
    1 eğer BİLDİRİM AYARLA yürürlükte
  • .NUMARA:s
    İfade değerinin dizgi gösterimi s
  • .NUMTEMPS
    Oturuma göre kullanımda olan temerrütlü olmayan geçicilerin sayısı
  • .PAD:n [ ; [-]i1[;i2]])
    İle aynı .STRING ancak boşluk yerine sıfır ile doldurun
  • SAYFALAR
    Oturuma göre kullanılan SuperWylbur sayfalarının sayısı
  • .PAGESECS
    Sayfa * saniye
  • SAYFA
    Geçerli oturumdaki sayfalama işlemi sayısı
  • .PI
    π (Pi)
  • .PINDEX:s1;s2)
    İlk model eşleşmesi s2 içinde s1; sütun + kesir (uzunluk / 1000); 0 eşleşme yoksa
  • .LİMAN
    VTAM düğüm adı veya cuu
  • .ÖNEK
    Değer ÖN EKİ AYARLA
  • .PRIV:s
    1 kullanıcı ayrıcalığa sahipse s
  • PROJE
    Proje Adı
  • .PROMEM
    ProfIle üyesi iyileşmede değilken
  • .PUBPREFIX
    Herkese açık veri kümeleri için önek (&HALKA AÇIK)
  • .PUBVOL
    Herkese açık veri setlerinin cilt seri numarası veya CATLG
  • .ALINTI:s1[;s2])
    Alıntı s1 çerçeveleme karakteri kullanarak s2
  • .RAD:x
    Dönüştürmek x radyana derece
  • .RECDSN
    Kurtarma veri kümesinin veri kümesi adı LOGOFF INTACT
  • .RECVOL
    Kurtarma veri kümelerinin oluşturulacağı birim veya CATLG
  • .TERSİNE ÇEVİRMEK:s
    Dizenin sırasını tersine çevirin s
  • .RJECMD
    Sayısı JES oturum sırasında verilen komutlar
  • .ROMA:ben
    Küçük harf Roma rakamları ben
  • .ROOM
    Değer ODA AYARLA
  • .ROUND:n[;ben])
    Yuvarlak n -e ben ondalık
  • .RSASIZE
    3270 rezerve ekran alanı boyutu
  • .SCRNUPDT
    Kullanıcı son yazımdan bu yana bir panel alanını güncelledi
  • .SCRSIZE
    Satır olarak ekran boyutu. Sütunlar ondalık noktadan sonra 3 hane) veya 3270 değilse -1
  • .GÜNAH:x
    Sinüs x
  • .SINH:x
    Hiperbolik sinüs x
  • .BOYUT[:s]
    Çalışan veri setindeki satır sayısı s; -1 yoksa
  • .SQRT:x
    Karekökü x
  • BÜYÜKLÜK
    3270 standart ekran alanı boyutu
  • .STRHEX:s
    EBCIDIC dizesindeki ilk 127 karakteri dönüştür s onaltılık
  • .STRING:n
    Üstel gösterimi olmayan ifadenin değeri
  • .STRING :(n;i1)
    Uzunluk ile ifade değeri i1
  • .STRING :(n;i1;i2)
    Uzunluk ile ifade değeri i1 ve i2 ondalık
  • .STRING :(n;-i1)
    Maksimum uzunlukta ifade değeri i1
  • .STRING :(n;-i1;i2)
    Maksimum uzunlukta ifade değeri i1 ve i2 ondalık
  • .STRLEN:s
    İçindeki karakter sayısı s
  • .SUBSTRING :(s;i1[;i2])
    Alt dizesi s sütundan i1 için i2 sütunlar
  • .SWCOUNT
    Bu SuperWylbur görevinde oturum açan kullanıcı sayısı
  • .SWSYSPRE
    Sistem veri seti öneki
  • .SYSMDSN
    Genel sistem makro veri kümesi adı
  • .SYSMVOL
    Genel sistem makro birimi seri numarası veya CATLG
  • .SYSNAME
    Geçerli SuperWylbur örneğinin görev adı
  • .TABS
    Virgülle ayrılmış sekme ayarları
  • KONUŞ
    Değer KONUŞMAYI AYARLA (MOLA AYARLA): KONUŞ veya KONUŞMA
  • .TAN:x
    Teğet x
  • .TANH:x
    Hiperbolik tanjant x
  • .GEÇİCİ
    Yeni geçici için benzersiz ad
  • .TEMPSLEFT
    Oturum için mevcut varsayılan olmayan geçici programların sayısı
  • .TEMPUPD[:s]
    1 dosya çalışıyorsa s son günden beri güncellendi KAYIT ETMEK
  • .TERMİNAL
    Terminal adı veya değeri .LİMAN
  • .TERMIO
    Geçerli oturumdaki terminal G / Ç işlemlerinin sayısı
  • .TERSE
    TERSE veya VERBOSE
  • .METİN
    Mevcut varsayılan çalışma veri seti
  • .ZAMAN
    Formda 12 saatlik zaman hh:mm:ss x.m.
  • .ZAMANLI
    Gece yarısından bu yana 11 haneli mikrosaniye
  • .ZAMAN AŞIMI
    0 eğer ZAMAN AŞIMI AYARLA, 1 eğer ZAMAN AŞIMI AYARLA, Hayır ise -1 ZAMAN ayrıcalık
  • .ZAMAN AŞIMI:(ben[;s])
    İçin i'inci zaman aşımı aralığının değeri s (KULLANICI veya SİSTEM)
  • .TIME100
    Gece yarısından itibaren 2 ondalık basamağa kadar geçen saniye sayısı
  • .TIME24
    24 saatlik zaman
  • .ÇEVİRMEK:(s1;s2;s3)
    Çevirmek s1 giriş tablosunu kullanma s2 ve çıktı tablosu s3
  • .TRIM :(s1;s2[;s3])
    Kaldırmak s2 sonlarından s1 göre s3: L = sol, R = sağ (varsayılan), B = her ikisi
  • .TRUNCATE :(n[;ben])
    Kes n -e ben ondalık
  • .T3270
    1 eğer 3270
  • .ÜST:s
    Dönüştürmek s büyük harfe
  • .USER
    Oturum açma kimliğinin kullanıcı kısmı
  • .VARUPDATE
    Son yazma işleminden bu yana kullanıcının güncellediği panel ekranı değişkenlerinin sayısı; -1, 3270 değilse
  • .DOĞRULAYIN:(s1[;s2])
    İlk pozisyon s1 mevcut değil s2; 0 eğer içindeki tüm karakterler s1 içeride s2
  • .VERSION
    Form version.release'de SuperWylbur seviyesi - PTF
  • .SES
    Seans için ses ayarı, CATLG veya boş
  • .GENİŞLİK
    Değeri GENİŞLİK AYARLA
  • .XLATTN
    Mevcut makro düzey için dikkat çıkışının satır numarası; -1 dikkat çıkış seti yoksa
  • .XLERR
    Mevcut makro seviyesi için hata çıkışının satır numarası; -1 hata çıkış seti yoksa

SuperWylbur makro sözde işlevleri

Sözde işlevler, bir atamanın sol tarafında görünmeleri dışında işlevler gibidir, örneğin LET.foo:bar=baz.

  • .COLUMNS :(v;i1[;i2])
    Sütunları değiştiri1 vasıtasıyla i2 nın-nin v
  • .CURSOR
    İmlecin yerleştirileceği panel değişkenini ayarlayın
  • .DOSYA:ben
    Çalışan bir veri kümesini kanalla ilişkilendirin ben
  • .HAT:(n[;[s][;ben]])
    Değiştir veya satır ekle n çalışma veri kümesinde s Eğer ben ihmal edilmiş veya sıfır
    Satırı değiştir ben çalışma veri kümesi 's' içinde (negatifse önce) satır 'n' sonrasındaki satırlar
  • .SONRAKİ:ben
    Kanal için geçerli satır işaretçisini ayarla ben
  • .ÇIKTI:ben
    Mevcut kanal satırını ekle veya değiştir ben, geçerli satır işaretçisini ilerle
  • .SUBSTRING :(v;i1[;i2])
    Sütunu değiştir i1 nın-nin v için i2 sütunlar
  • .GÜNCELLEME:ben
    Kanaldan okunan son satırı değiştirin ben

SuperWylbur makro ifadeleri

  • ¬komut[;komut] * (yerel komut)
  • TELEFON ETMEK ne geçici seçenekler süreç seçenekleri arg DEĞER var-name
  • AÇIK YERELLER
  • AÇIK MAKRO
  • AÇIK MAKROS
  • AÇIK İZLEME
  • YORUM YAP
  • KONTROL
  • TALEP
  • YAPMAK
  • YAPMAK A KADAR
  • YAPMAK SÜRE
  • SON
  • YÜRÜT
  • ÇIKIŞ
  • GİT
  • GİT KİME
  • EĞER
  • İZİN VERMEK değişken = ifade
  • DÖNGÜ [KULLANIMI değişken] FROM ifade-1 KİME ifade-2 [TARAFINDAN ifade-3]
  • EŞLEŞME Desen ifade komut
  • AKSİ TAKDİRDE
  • DURAKLAT
  • SEÇ [ifade]
  • AYARLAMAK ÇIKIŞ
  • AYARLAMAK SINIR
  • AYARLAMAK İZLEME
  • TARAMA ANAHTAR KELİME
  • TARAMA KONUMSAL
  • GÖSTERMEK KÜRESELLER
  • GÖSTERMEK SINIR
  • GÖSTERMEK YERELLER
  • GÖSTERMEK MAKRO
  • GÖSTERMEK MAKROS
  • GÖSTERMEK PANELLER
  • SİNYAL
  • TÜR
  • İ YAZ
  • BEKLE Aralık
  • BEKLE b
  • NE ZAMAN (ifade [;ifade]*)

Ayrıca bakınız

Notlar

  1. ^ Kendi kullanarak biçimlendirme dili

Referanslar

  1. ^ a b c ORVYL / 370 Zaman Paylaşımı Sistemi İşlevsel Açıklaması, Stanford Üniversitesi, 1978
  2. ^ a b WYLBUR Referans Kılavuzu, Stanford Üniversitesi, 1984
  3. ^ "WYLBUR Kullanımdan Kaldırılacak" Arşivlendi 6 Mayıs 2009, Wayback Makinesi, Titan Haberleri, Bilgi Teknolojileri Merkezi, Ulusal Sağlık Enstitüleri (NIH), 7 Nisan 2009
  4. ^ "ORVYL, WYLBUR ve MILTEN kaynağı ve belgeleri". Stanford Üniversitesi'nden, "Açık Kaynak Girişimi (OSI)" tarafından onaylanan "Mozilla 1.1 Lisansı" nın ardından modellenen bir lisans altında Açık Kaynak olarak ücretsiz olarak sunulmaktadır
  5. ^ "CERN'de bilgi işlem: ana bilgisayar çağı" Chris Jones, CERN Kurye, 6 Eylül 2004
  6. ^ Wylbur Temelleri. Ulusal Sağlık Enstitüleri. Kasım 1980.
  7. ^ Wylbur Genel Kurgu. Ulusal Sağlık Enstitüleri. Şubat 1984.
  8. ^ Wylbur Komuta Prosedürleri. Ulusal Sağlık Enstitüleri. Aralık 1980.
  9. ^ Wylbur Belge Biçimlendirme. Ulusal Sağlık Enstitüleri. Aralık 1980.
  10. ^ SuperWylbur® Komut Kılavuzu. SuperWylbur® Systems, Inc. Eylül 1996.
  11. ^ SuperWylbur® Belge Hazırlama. SuperWylbur® Systems, Inc. Eylül 1996.
  12. ^ SuperWylbur® İşe Giriş ve Erişim. SuperWylbur® Systems, Inc. Eylül 1996.
  13. ^ SuperWylbur® Makro Programlama ve Kullanıcı Panelleri. SuperWylbur® Systems, Inc. Eylül 1996.
  14. ^ SuperWylbur® Metin Düzenleme. SuperWylbur® Systems, Inc. Eylül 1996.

Dış bağlantılar