ออร์วิลและวิลเบอร์
ORVYLเป็น มอนิเตอร์ แบบแบ่งเวลาที่พัฒนาโดยมหาวิทยาลัยสแตนฟอร์ดสำหรับคอมพิวเตอร์IBM System/360และSystem/370 ในปี 1967–68 [ 1 ] ORVYL เป็นหนึ่งใน ระบบ แบ่งเวลาระบบ แรกๆ ที่มีให้ใช้งานสำหรับคอมพิวเตอร์ IBM Wylburเป็น โปรแกรม แก้ไขข้อความและประมวลผลคำที่ออกแบบมาให้ทำงานได้โดยไม่ต้องใช้ ORVYL หรือทำงานร่วมกับ ORVYL ก็ได้[ 2 ] [ 3 ]
ภาพรวม
ชื่อ ORVYL และ WYLBUR มักถูกใช้สลับกัน แต่:
- ORVYL เป็นมอนิเตอร์แบบแบ่งเวลาที่รองรับระบบไฟล์ ภาษาคำสั่ง การดำเนินการโปรแกรมและการดีบัก และให้บริการควบคุมดูแล[ 1 ]เวอร์ชันแรกทำงานบน360/67 เท่านั้น แต่เวอร์ชันต่อมาทำงานบนSystem/ 370
- WYLBUR เป็นโปรแกรมแก้ไขข้อความ โปรแกรมประมวลผลคำ โปรแกรมส่งและเรียกค้นงาน และโปรแกรมอีเมลที่ออกแบบมาเพื่อทำงานร่วมกับ ORVYL หรือระบบปฏิบัติการOS/360 , SVSและMVS ของ IBM [ 2 ]
- MILTEN เป็นซอฟต์แวร์ควบคุมเทอร์มินัลที่ทั้ง ORVYL และ WYLBUR ใช้สำหรับเทอร์มินัลเริ่มต้น/หยุด[ 1 ]
WYLBUR ไม่ใช่ระบบปฏิบัติการแบบสแตนด์อโลนเต็มรูปแบบเหมือนกับDartmouth Time-Sharing System (DTSS) หรือUnixแต่ทำงานอยู่บนระบบปฏิบัติการแบบแบตช์ของ IBM (OS/360, SVS, MVS) มันมีลักษณะเป็นโปรแกรมแก้ไขข้อความที่มีระบบป้อนงานระยะไกล (Remote Job Entry) ดังนั้นจึงมีความสัมพันธ์กับระบบปฏิบัติการของ IBM ในลักษณะเดียวกับที่Emacsมีความสัมพันธ์กับ Unix ด้วยเหตุนี้ WYLBUR จึงมักถูกมองว่าเป็นโปรแกรมแก้ไขข้อความมากกว่าระบบแบ่งเวลาใช้งาน อย่างไรก็ตาม ในขณะที่ Unix ไม่จำเป็นต้องใช้ Emacs เพื่อให้บริการแก้ไขข้อความ ระบบปฏิบัติการของ IBM เดิมทีจำเป็นต้องใช้ WYLBUR นวัตกรรมในภายหลัง เช่นระบบ Administrative Terminal System (ATS), Conversational Remote Batch Entry (CRBE), Conversational Remote Job Entry (CRJE) และTime Sharing Option (TSO) ของ IBM ทำให้ WYLBUR มีความสำคัญน้อยลงสำหรับผู้ใช้ IBM และค่อยๆ เข้ามาแทนที่ในที่สุด
บทความนี้จะใช้ตัวพิมพ์ใหญ่ทั้งหมดในการสะกดคำสั่งและคำหลัก การอ้างอิงถึงอักขระและสตริงทั้งหมดจะถือว่าใช้รหัสหน้าEBCDIC
ใช้
ORVYL และ WYLBUR ถูกใช้ที่Stanford Linear Accelerator Center (SLAC) , European Organization for Nuclear Research (CERN) , US National Institutes of Health (NIH)และสถานที่อื่นๆ อีกมากมาย ถูกยกเลิกการใช้งานจากสถานที่ส่วนใหญ่ในช่วงปลายทศวรรษ 1990 เนื่องจากความกังวลเกี่ยวกับ ปัญหา Y2Kแต่ยังคงใช้งานอยู่ที่ NIH จนถึงเดือนธันวาคม 2009 [ 4 ] ORVYL และ WYLBUR ยังคงมีให้ใช้งานในรูปแบบโอเพนซอร์สจาก Stanford [ 5 ]นอกจากนี้ยังมีเวอร์ชันที่เป็นกรรมสิทธิ์ เช่น SuperWYlbur
ORVYL และ WYLBUR ได้รับการยกย่องอย่างมาก ดังที่แสดงให้เห็นจากข้อความที่ตัดตอนมาจากบทความปี 2004 เรื่อง "การคำนวณที่ CERN: ยุคเมนเฟรม":
- [ในปี พ.ศ. 2519 IBM S/370-168] ยังนำระบบปฏิบัติการ MVS (Multiple Virtual Storage) มาพร้อมกับภาษาควบคุมงาน (Job Control Language) ที่เข้มงวด และเปิดโอกาสให้ CERN นำ WYLBUR มาใช้ ซึ่งเป็นระบบแบ่งเวลาใช้งานที่ได้รับความนิยม ออกแบบอย่างชาญฉลาดและใช้งานง่าย พัฒนาขึ้นที่ SLAC พร้อมกับคู่มือที่เขียนด้วยลายมือและภาพประกอบอย่างสวยงามโดย John Ehrman WYLBUR เป็นผลงานชิ้นเอกด้านการออกแบบ สามารถสร้างปาฏิหาริย์ได้ด้วยพลังงานเพียงเล็กน้อย (ในขณะนั้น) ที่แบ่งปันให้กับผู้ใช้พร้อมกันจำนวนมาก มันได้รับความนิยมจากลักษณะที่เอื้ออำนวย และเป็นจุดเริ่มต้นของการเลิกใช้ เครื่อง เจาะรูบัตรเมื่อมีการนำเทอร์มินัลคอมพิวเตอร์มาใช้ทั่วทั้งห้องปฏิบัติการ[ 6 ]
ข้อดีและข้อเสีย
ORVYL และ WYLBUR เปิดตัวครั้งแรกในปี 1967–68 ก่อนที่TSS/360 , TSOหรือโซลูชันการแบ่งเวลาใช้งานอย่างเป็นทางการอื่นๆ จาก IBM จะวางจำหน่าย ซึ่งเป็นช่วงเวลาเดียวกับที่ระบบแบ่งเวลาใช้งานจากบริษัทภายนอก เช่นMTSเริ่มวางจำหน่าย และเป็นช่วงเวลาเดียวกับที่ IBM เริ่มพัฒนาCP-67 อย่างเงียบๆ ที่ศูนย์วิทยาศาสตร์เคมบริดจ์ของ IBM เอง WYLBUR มีข้อได้เปรียบเพิ่มเติมคือสามารถใช้งานร่วมกับระบบปฏิบัติการหลักของ IBM อย่างOS/360ได้
WYLBUR เป็นระบบที่มีพื้นที่แอดเดรสเดียว ซึ่งแตกต่างจากTSOนี่ช่วยประหยัดหน่วยความจำในยุคที่หน่วยความจำมีค่ามาก ดังนั้นแม้ว่า TSO จะพร้อมใช้งานแล้ว องค์กรที่ต้องการลดการใช้หน่วยความจำมักจะให้ผู้ใช้บางส่วนหรือส่วนใหญ่ใช้ WYLBUR แทนที่จะให้พวกเขาใช้สภาพแวดล้อมแบบโต้ตอบของ TSO
WYLBUR ให้บริการชุดข้อมูลแบบแบ่งส่วน (PDS หรือที่เรียกว่าไลบรารี) ที่บีบอัดเพื่อประหยัดพื้นที่ดิสก์ ในMVS นั้น โดยทั่วไป แล้วซอร์สโค้ดจะถูกจัดเก็บเป็นลำดับของภาพการ์ด (บรรทัดละ 80 ตัวอักษร) หากบรรทัดนั้นมีเพียงหนึ่งหรือสองสามตัวอักษร ก็ยังคงใช้พื้นที่ 80 ตัวอักษรในการจัดเก็บบรรทัดนั้น แม้ว่าข้อมูล เช่น ซอร์สโค้ด จะถูกจัดเก็บในรูปแบบบล็อกตัวแปร (VB) ก็ยังอาจมีการสิ้นเปลืองพื้นที่กับสตริงของช่องว่างที่ฝังอยู่ WYLBUR ใช้การจัดเก็บข้อความแบบสตรีมใน PDS (และชุดข้อมูลแบบลำดับ) เพื่อให้บรรทัดที่มีหนึ่งตัวอักษรอาจใช้พื้นที่เพียง 16 ตัวอักษร (ความยาวบรรทัดออฟเซ็ตความยาวส่วน ตัวอักษร) แทนที่จะเป็น 80 ตัวอักษรในการจัดเก็บ WYLBUR หรือโปรแกรมภายนอกที่ทำงานผ่านJCLถูกใช้เพื่อแปลงไฟล์ไปและกลับจากรูปแบบ WYLBUR EDIT
แม้ว่า TSO จะอนุญาตให้ผู้ใช้ทำสิ่งต่างๆ ได้มากกว่าระบบ WYLBUR ที่ถูกจำกัดไว้ แต่ก็เป็นไปได้ที่จะเขียนสคริปต์ WYLBUR Exec ที่เรียกใช้งานงานแบบแบตช์เพื่อดำเนินการฟังก์ชันต่างๆ ที่โดยปกติแล้วจะต้องใช้บัญชี TSO โดยการกรอกโครงร่างงานแบตช์ด้วยพารามิเตอร์ ส่งงานแบตช์ ดึงผลลัพธ์ และแสดงผลบนหน้าจอ
WYLBUR มีข้อดีด้านความปลอดภัยบางประการเหนือกว่า TSO และก็มีข้อเสียบางประการเช่นกัน ข้อดีได้แก่:
- ความสามารถในการเขียนกฎเพื่อจำกัดการเข้าถึงชุดข้อมูลของผู้ใช้ นอกเหนือจากชุดข้อมูลที่ผู้ใช้เป็นเจ้าของและจัดเก็บไว้ภายใต้คำนำหน้าชื่อของผู้ใช้ สิ่งนี้คล้ายคลึงกับไดเร็กทอรีส่วนตัว ของผู้ใช้ บนระบบ UNIX และมีลักษณะเช่น WYL.AV99.HCO โดยที่ AV99 เปรียบเสมือน "กลุ่ม" และ HCO เปรียบเสมือน "ผู้ใช้" ภายในกลุ่ม
- การใช้ทรัพยากรอย่างเป็นธรรมมากขึ้น WYLBUR ไม่ใช้คำสั่งอย่างเช่น alloc ของ TSO ซึ่งอาจจงใจหรือไม่จงใจปิดกั้นการเข้าถึงไฟล์ข้อมูลของผู้อื่นเป็นเวลานาน หรือใช้หน่วยความจำหรือเวลาประมวลผล CPU จำนวนมหาศาล ด้วยวิธีนี้ จึงช่วยลดผลกระทบของผู้ใช้แต่ละรายต่อผู้ใช้รายอื่นทั้งหมดให้น้อยที่สุด
- คำสั่งในการตั้งค่าพารามิเตอร์สถานะบางอย่าง หรือ "สอดแนม" คำสั่งที่ผู้ใช้รายอื่นกำลังดำเนินการอยู่นั้น ถูกจำกัดไว้เฉพาะผู้ดูแลระบบเท่านั้น และผู้ใช้ทั่วไปไม่สามารถดำเนินการได้
ข้อเสียที่เกี่ยวข้องกับความปลอดภัย ได้แก่:
- WYLBUR เป็นระบบที่มีพื้นที่แอดเดรสเดียว นั่นหมายความว่า หากผู้ใช้สามารถหาวิธีเข้าถึงไบต์ดิบในพื้นที่แอดเดรสได้ พวกเขาก็อาจเข้าถึงข้อมูลที่พวกเขาไม่ได้เป็นเจ้าของได้ ตัวอย่างเช่น เคยมีโปรแกรมที่เขียนโดยนักศึกษาสองคนโดยใช้ภาษาสคริปต์ WYLBUR Exec ซึ่งสามารถดึงรหัสผ่านของผู้ใช้ที่ล็อกอินล่าสุดออกมาจากหน่วยความจำของ WYLBUR ได้
- เนื่องจากกระบวนการ WYLBUR ทำงานภายใต้บัญชีระบบที่กำหนดให้กับ WYLBUR ดังนั้นจึงต้องพึ่งพาการบังคับใช้การป้องกันการเข้าถึงชุดข้อมูลตามกฎที่ตั้งไว้ใน WYLBUR อย่างสมบูรณ์ การบังคับใช้กฎการเข้าถึงอาจถูกปิดใช้งานโดยผู้ดูแลระบบเพื่อวัตถุประสงค์ในการบำรุงรักษาระบบ ซึ่งอาจลืมเปิดใช้งานอีกครั้ง
- WYLBUR ใช้ระบบจำกัดพื้นที่ดิสก์ แต่มีจุดเด่นที่น่าสนใจคือ ผู้ใช้ระบบทุกคนสามารถมอบพื้นที่ดิสก์ทั้งหมดหรือบางส่วนให้กับผู้ใช้รายอื่นได้ ฟังก์ชันนี้สามารถนำไปใช้ร่วมกับบัญชีนักศึกษาที่ใช้ในการเรียนการสอนทั่วไป ซึ่งจะหมดอายุเมื่อสิ้นสุดภาคการศึกษา และบัญชีนักศึกษาที่เป็นเจ้าหน้าที่ที่เชี่ยวชาญด้านคอมพิวเตอร์ซึ่งมีบัญชีที่ไม่หมดอายุแต่มีพื้นที่ดิสก์จำกัด ในลักษณะที่เจ้าหน้าที่มหาวิทยาลัยอาจไม่คาดคิดมาก่อน
- ในระบบที่ใช้ แพ็คเกจความปลอดภัย ACF2ผู้ใช้ที่มีบัญชีทั้งใน TSO และ WYLBUR ซึ่งเชื่อมโยงกับชื่อบัญชีเดียวกัน สามารถรีเซ็ตเนื้อหาของบันทึกความปลอดภัยของบัญชี WYLBUR ได้โดยตรงผ่าน TSO ซึ่งสามารถนำไปใช้เพื่อเปลี่ยนผู้ใช้ WYLBUR ทั่วไปให้เป็นผู้ดูแลระบบ WYLBUR เพิ่มโควต้าพื้นที่ดิสก์ ฯลฯ ได้
- อย่างน้อยจนถึงช่วงทศวรรษ 1960 กฎความปลอดภัยของ WYLBUR ไม่ได้ถูกบังคับใช้กับงานแบบแบตช์ที่ทำงานบนระบบเดียวกัน ดังนั้นยูทิลิตี้ต่างๆ เช่น IEHLIST และ IEBGENER จึงสามารถใช้เพื่อค้นหา อ่าน และแก้ไขไฟล์ที่เป็นของผู้ใช้ WYLBUR รายอื่นได้ เว้นแต่คุณจะตั้งรหัสผ่านป้องกันไฟล์เหล่านั้น ซึ่งเป็นเรื่องที่ยุ่งยากในการใช้งาน
การจัดการข้อมูล
Wylbur มีรูปแบบการแก้ไขพิเศษสำหรับชุดข้อมูล Wylbur ซึ่งจะถูกบีบอัดและมีหมายเลขบรรทัดและแฟล็กการแก้ไขสำหรับแต่ละบรรทัด นอกจากนี้ Wylbur ยังรองรับชุดข้อมูล FB และ VB มาตรฐาน ผู้ใช้ Wylbur โดยปกติจะระบุวอลุ่มเริ่มต้น ซึ่งอาจเป็นคำพิเศษ CATLG โดยอาจร้องขอให้ค้นหาชุดข้อมูลที่มีอยู่แล้วในแคตตาล็อก หรือร้องขอให้จัดทำแคตตาล็อกชุดข้อมูลใหม่ Wylbur มีความสามารถในการแปลงหมายเลขบรรทัดระหว่างชุดข้อมูลแบบแก้ไขและชุดข้อมูล IBM ไม่ว่าจะเป็นจำนวนเต็มที่ ปรับขนาดแล้ว หรือมีจุดทศนิยมที่ระบุอย่างชัดเจน
การแก้ไข
Wylbur มีตัวแก้ไขบรรทัดที่ทำงานกับชุดข้อมูลชั่วคราว คล้ายกับบัฟเฟอร์ในตัวแก้ไขอื่นๆ ในแต่ละช่วงเวลา จะมีการกำหนดชุดข้อมูลชั่วคราวชุดใดชุดหนึ่งเป็นค่าเริ่มต้น Wylbur จะเก็บตัวชี้บรรทัดปัจจุบันสำหรับแต่ละชุดข้อมูลชั่วคราว ผู้ใช้สามารถระบุชุดข้อมูลที่ต้องการใช้งานได้อย่างชัดเจนในคำสั่ง หากผู้ใช้ไม่ได้ระบุ ชุดข้อมูลชั่วคราวเริ่มต้นจะถูกใช้เป็นชุดข้อมูลที่ใช้งาน
หน่วยการทำงานคือชุดของเส้น ( ช่วงการเชื่อมโยง ) และแต่ละเส้นจะถูกระบุด้วยหมายเลขเส้นในช่วง 0.0 ถึง 99999.999 โดยอาจละเว้นเลขศูนย์นำหน้าในส่วนจำนวนเต็มและเลขศูนย์ต่อท้ายในส่วนทศนิยมได้ ผู้ใช้สามารถระบุหมายเลขเส้นได้ด้วยวิธีใดวิธีหนึ่งต่อไปนี้
- หมายเลขบรรทัดแบบสัมบูรณ์: ddddd.ddd
- อันดับแรก: บรรทัดแรกในชุดข้อมูลที่ใช้ในการทำงาน
- ปัจจุบัน: บรรทัดปัจจุบันสำหรับชุดข้อมูลที่ใช้งานอยู่
- LAST: บรรทัดสุดท้ายในชุดข้อมูลที่ใช้งานอยู่
- END: เป้าหมายสำหรับการคัดลอก โดยต่อจากบรรทัดสุดท้ายในชุดข้อมูลที่ใช้งานอยู่
- สัมพันธ์: เส้น + ลำดับ หรือ เส้น - ลำดับ
- ตัวแปรมาโครที่มีบรรทัด
ไลบรารี Wylbur มีรูปแบบที่ไม่เป็นมาตรฐาน อย่างไรก็ตาม มันอนุญาตให้ผู้ใช้ส่งออกไปยังไฟล์ระบบปฏิบัติการดั้งเดิมที่มีหมายเลขลำดับเป็นจำนวนเต็ม และนำเข้าไฟล์ระบบปฏิบัติการดั้งเดิมที่มีหมายเลขลำดับเป็นจำนวนเต็ม พร้อมทั้งปรับขนาดหมายเลขบรรทัดด้วยตัวคูณ 1000 ได้
ช่วงสามารถระบุได้โดยใช้การผสมผสานของ
- ช่วงที่ระบุอย่างชัดเจน เช่น
5.3-2/7.4+3 - รูปแบบ เช่น
'X'DIGITS*3 - รูปแบบที่มีช่วงคอลัมน์ เช่น
'BAL'10/15 - ลำดับที่ เช่น
3RD'BAL'10/15 - ลำดับที่สัมพันธ์กับการจับคู่ เช่น
3RDAFTER 'BAL'10/15 - ลำดับของบรรทัดที่ตามหลังการจับคู่ เช่น
EVERY3RDAFTER 'BAL'10/15 - การดำเนินการทางตรรกะแบบบูลีน เช่น
'PAGE'INTERSECTIONCOMPLEMENT'NUMBER' - ข้อกำหนดที่อยู่ในวงเล็บโดยมีคำว่า SET นำหน้า เช่น
'PAGE'INTERSECTIONSET (COMPLEMENT'NUMBER')
รูปแบบ (Pattern) คล้ายกับนิพจน์ปกติ (Regular Expression ) แต่ไวยากรณ์จะใกล้เคียงกับSNOBOLมากกว่าUnixหรือPerlไม่มีการย้อนกลับ (Backtracking) และมีเพียง NIH Wylbur เท่านั้นที่สามารถจับภาพรูปแบบย่อยได้ รูปแบบอาจเป็นดังนี้:
- 'สตริง'
- "สตริง"
- รูปแบบ รูปแบบ
- (ลวดลาย)
- รูปแบบ*ตัวเลข
- รูปแบบ*ตัวเลข/ตัวเลข
- เหนือ 'สตริง'
- รูปแบบและรูปแบบ
- ใดๆ
- แบ็คสเปซ
- ด้านล่าง 'สตริง'
- ว่างเปล่า
- ช่องว่าง
- โบล
- บอส
- กระสุน
- แดช
- ดิจิท
- ดิจิทัล
- ECB เท่ากับ คอมมา ช่องว่าง
- ECBS เท่ากับ คอมมา ช่องว่าง
- ว่างเปล่า
- สิ้นสุดอายุการใช้งาน
- อีเอสโอ
- เลขฐานสิบหก [#]
- วงเล็บ
- จดหมาย
- ต่ำกว่า
- ไม่ใช่รูปแบบ
- รูปแบบ หรือ รูปแบบ
- ย่อหน้า
- เครื่องหมายวรรคตอน
- RBRACKET
- ส่วน
- ช่องว่าง
- พื้นที่
- 'เชือก' บางเส้น
- แพทเทิร์นผ่านแพทเทิร์น
- ไม่สามารถพิมพ์ได้
- เชือกเส้นล่าง
- ส่วนบน
ตัวอย่างคำสั่ง
เปลี่ยน73 / 80 เป็นx10 + 10 ในทุกบรรทัดที่3 ของ' ABC' 1 / 3 ใน1 . 5 - 2 / 3 . 7 + 2 คัดลอก'BAL' 10 / 15 ไปที่EMD เปลี่ยน73 / 80 เป็น'' ในทุกบรรทัดที่3 เริ่ม2 ของ'BAL' 10 / 15 เปลี่ยน'(' DIGITS * 3 ')' เป็นSUBSTRING 2 / 4การกำหนดค่า base+increment หมายความว่าข้อความที่จะใช้แทนที่ในบรรทัดแรกจะเป็นค่าเริ่มต้น และจะเพิ่มขึ้นทีละค่าในบรรทัดถัดไป ดังนั้นX10+10จะแทนที่ข้อความที่ตรงกันในบรรทัดแรกด้วยX10ในบรรทัดที่สองด้วยX20และในบรรทัดที่สามด้วยX30การกำหนดค่า SUBSTRING 2/4 หมายถึงคอลัมน์ที่ 2-4 ของสตริงที่ตรงกัน โปรดทราบว่าวิธีนี้มีความยืดหยุ่นน้อยกว่าการจับภาพ
เวอร์ชันปรับปรุง
องค์กรต่างๆ ได้พัฒนา Wylbur เวอร์ชันที่ได้รับการปรับปรุงให้ดีขึ้น ซึ่งรวมถึง...
- สถาบันสุขภาพแห่งชาติ[ 7 ] [ 8 ] [ 9 ] [ 10 ]
- บริษัท Online Business Systems ถูกซื้อกิจการโดย ACS (Affiliated Computer Services Inc)
- Optimum Systems Inc. ถูกขายให้กับElectronic Data Systemsและต่อมาแยกตัวออกมาเป็นSuperWylbur® Systems, Inc. [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ]
- บริษัท RAND:
- ศูนย์บัญชาการวิลเบอร์ 1975
- คู่มือนี้อธิบายถึงฟังก์ชันการทำงานที่เกี่ยวข้องสองอย่างที่ต่อยอดจาก WYLBUR ไปในทิศทางของภาษาโปรแกรมที่รองรับการป้อนข้อความแบบมีโครงสร้างและแอปพลิเคชันการจัดการข้อความ
- ฟังก์ชันแรกคือส่วนขยายของชุดคำสั่งของ WYLBUR ซึ่งทำให้ WYLBUR มีความสามารถหลายอย่างที่เกี่ยวข้องกับภาษาโปรแกรมแบบดั้งเดิม ส่วนขยายนี้เขียนโดย Paul Andersen
- ส่วนที่สองคือตัวประมวลผลล่วงหน้าแบบกลุ่ม (batch preprocessor) ซึ่งช่วยให้นักเขียนโปรแกรม WYLBUR สามารถพัฒนาโปรแกรมคำสั่ง WYLBUR ในภาษาที่คล้ายกับ PL/I ได้ ตัวประมวลผลล่วงหน้านี้ได้รับการพัฒนาโดย David J. Smith
- คู่มือนี้อธิบายถึงฟังก์ชันการทำงานที่เกี่ยวข้องสองอย่างที่ต่อยอดจาก WYLBUR ไปในทิศทางของภาษาโปรแกรมที่รองรับการป้อนข้อความแบบมีโครงสร้างและแอปพลิเคชันการจัดการข้อความ
- คู่มือผู้เรียน WYLBUR
- คู่มืออ้างอิง WYLBUR
- ศูนย์บัญชาการวิลเบอร์ 1975
ซูเปอร์วิลเบอร์
SuperWylbur มีการปรับปรุงหลายอย่างเหนือกว่า Wylbur รุ่นดั้งเดิม การปรับปรุงที่สำคัญที่สุดคือ
- รองรับเทอร์มินัล 3270, 3767 และ NTO ผ่านVTAM ; เช่นเดียวกับเวอร์ชัน Wylbur ที่เป็นกรรมสิทธิ์อื่นๆ SuperWylbur ไม่ใช้ MILTEN สำหรับเทอร์มินัล VTAM
- สิ่งอำนวยความสะดวกระดับมหภาคที่ได้รับการปรับปรุงแล้ว
- รองรับการสร้างแผงแบบเต็มหน้าจอโดยผู้ใช้
สิ่งอำนวยความสะดวกมาโคร SuperWylbur
ตัวประมวลผลมาโครจะเพิ่มคำสั่ง ค่าคงที่ ฟังก์ชัน และนิพจน์ลงใน Wylbur แม้ว่าไวยากรณ์ของคำสั่งจะไม่รวมพารามิเตอร์ที่กำหนดให้เป็นนิพจน์ ผู้ใช้ก็สามารถใช้รูปแบบ%( expression )และ%%( expression )เพื่อบังคับให้ประเมินผลได้ หากนิพจน์เป็นฟังก์ชันที่ไม่มีอาร์กิวเมนต์หรือตัวแปร ก็สามารถละวงเล็บได้ เช่น%.TIMEแทนที่จะเป็น%(.TIME) การใช้ % สองครั้งจะขอให้ใส่เครื่องหมายอัญประกาศกำกับค่า
ค่าคงที่ SuperWylbur
SuperWylbur มีค่าคงที่อยู่สองประเภท:
- ค่าคงที่เชิงตัวเลข
- [ เครื่องหมาย ] ตัวเลข [ E [ เครื่องหมาย ] เลขชี้กำลัง ]
- # เลขฐานสิบหก
- ค่าคงที่สตริง
- ' ตัวละคร'
- " ตัวละคร"
ผู้ปฏิบัติงาน SuperWylbur
ตัวดำเนินการใน SuperWylbur ที่มีชื่อประกอบด้วยอักขระพิเศษเท่านั้น ไม่จำเป็นต้องคั่นด้วยช่องว่าง ส่วนตัวดำเนินการที่มีชื่อประกอบด้วยจุดและตัวอักษร จะต้องคั่นด้วยช่องว่าง SuperWylbur มีตัวดำเนินการประเภทต่างๆ ดังต่อไปนี้:
ตัวดำเนินการทางคณิตศาสตร์ SuperWylbur
- +พลัส
- -ลบ
- *ไทม์ส
- /แบ่ง
- //การหารจำนวนเต็ม
- .DIVเป็นคำพ้องความหมายของ//
- โมดูลัส.MOD
- **เลขชี้กำลัง
ตัวดำเนินการเชิงสัมพันธ์ SuperWylbur
- < ( .LT ) น้อยกว่า
- < = ( .LE ) น้อยกว่าหรือเท่ากับ
- = ( .EQ ) เท่ากับ
- > = ( .GE ) มากกว่าหรือเท่ากับ
- > ( GT ) ยิ่งใหญ่กว่า
- ¬ < ( .NLT ) ไม่น้อยกว่า
- ¬ < = ( .NLE ) ไม่น้อยกว่าหรือเท่ากับ
- ¬= ( .NEQ ) ไม่เท่ากัน
- ¬ > = ( .NGE ) ไม่มากกว่าหรือเท่ากับ
- ¬ > ( .NGT ) ไม่มากกว่า
ตัวดำเนินการตรรกะ SuperWylbur
- & ( .และ ) และ
- | ( .OR ) หรือ
- ¬ ( .NOT ) ไม่ใช่
ฟังก์ชันมาโครของ SuperWylbur
ชื่อของฟังก์ชันมาโครจะขึ้นต้นด้วยจุด หากมีอาร์กิวเมนต์ จะใช้เครื่องหมายโคลอนคั่นระหว่างอาร์กิวเมนต์กับชื่อ และใช้เครื่องหมายเซมิโคลอนคั่นระหว่างอาร์กิวเมนต์ที่ต่อเนื่องกัน SuperWylbur มีฟังก์ชันมาโครประเภทต่อไปนี้:
ฟังก์ชันเลขคณิต
- .ABS
- .เอคอส
- .ASIN
- .ATAN
- .เพดาน
- .COS
- .COSH
- .โคตัน
- .DEG
- .E
- .ERF
- .ERFC
- .EXP
- .พื้น
- เศษส่วน
- แกมม่า
- .LGAMMA
- .บันทึก
- .LOG10
- .PI
- .RAD
- .กลม
- .บาป
- ซินห์
- .SQRT
- .TAN
- .TANH
- .ตัด
หน้าที่ทางบัญชี
- .ค่าใช้จ่าย
- .CONNTIME
- เวลาใช้งาน CPU
- เมแมคท์
- .MEMCPU
- .หน่วยความจำ
- .เวลาจำ
- .เพจ
- .เพจเซคส์
- การแบ่งหน้า
- .TERMIO
การแปลงวันที่และเวลา
ค่าเริ่มต้นของพารามิเตอร์ sคือวันที่หรือเวลาปัจจุบัน
- .วันที่
- วันที่ 4
- วัน
- วัน
- .FULLDATE
- .JDATE
- .JDATE4
- .เวลา
- .TIME100
- .TIME24
- .ไทม์มิค
คำถามด้านสิ่งแวดล้อม
ค่าที่ส่งคืนส่วนใหญ่เหล่านี้มาจาก คำสั่ง SET :
- .บัญชี
- .เตือน
- อัตโนมัติ
- .กลับ
- .ชุด
- .BIN
- .กรณี
- .ยืนยัน
- ต่อ
- ซีพียู
- .DSFORMAT
- .แก้ไข
- .EXTDS
- ขนาดไฟล์ .FSASIZE
- .ความยาว
- .LNDP
- .LOGONID
- .MAILDSN
- .MAILVOL
- .แจ้ง
- .ท่าเรือ
- .พรีฟิกซ์
- .PRIV
- .โครงการ
- .โปรเมม
- .PUBPREFIX
- .PUBVOL
- .RECDSN
- .RECVOL
- .ห้อง
- ขนาด.RS
- ขนาดหน้าจอ
- ขนาด
- .SWCOUNT
- .SWSYSPRE
- .SYSMDSN
- .SYSMVOL
- .SYSNAME
- .T3270
- แท็บ
- .พูดคุย
- .เทอร์มินัล
- .สั้น
- หมดเวลา
- ผู้ใช้
- .เวอร์ชั่น
- .ปริมาณ
- .ความกว้าง
ฟังก์ชันเต็มหน้าจอ
- .CURSORPOSN
- .เคอร์เซอร์วาร์
- .แก้ไข
- .EDITLINE
- .ENTRYKEY
- .SCRNUPDT
- .VARUPDATE
ฟังก์ชัน JES
- .เฟทช์ลิน
- งานสุดท้าย
ฟังก์ชันมาโคร
- .ARG
- .CARG
- .CMDCOUNT
- .CMDLIMIT
- .CMDMAX
- .DSEXIST
- .DSNAME
- .อักษรย่อ
- งานสุดท้าย
- .LATTN
- .LERR
- .MRETURN
- .พื้นเมือง
- .XLATTN
- .XLERR
ฟังก์ชันสตริง
- ไบต์
- .ชาร์
- คอลัมน์
- .แดช
- .ขยาย
- .FINDEX
- .HEX
- .เฮกซ์สตร
- .ดัชนี
- .ต่ำกว่า
- .PAD
- .อ้าง
- .ย้อนกลับ
- .โรมัน
- .STRHEX
- สตริง
- .STRLEN
- .ซับสตริง
- แปล
- .TRIM
- .บน
- .ตรวจสอบ
ฟังก์ชันไฟล์ทำงาน
อาร์กิวเมนต์ sจะใช้ชุดข้อมูลการทำงานเริ่มต้นปัจจุบันเป็นค่าเริ่มต้น
- .ปัจจุบัน
- .จบ
- .อันดับแรก
- .ล่าสุด
- .ความยาว
- .เส้น
- .LINENO
- .มาโคร
- .MAXTEMPS
- .NUMTEMPS
- .ขนาด
- .ชั่วคราว
- .TEMPSLEFT
- .TEMPUPD
- .ข้อความ
รายการฟังก์ชันมาโครทั้งหมด
- .ABS: n
- ค่าสัมบูรณ์
- .บัญชี
- หมายเลขบัญชีจากรหัสล็อกอิน
- .ACOS: x
- อาร์คโคไซน์x
- .เตือน
- 1. ถ้ามีเสียงบี๊บที่เทอร์มินัลถัดไป ให้เขียนข้อมูลลงไป
- .ARG
- อาร์กิวเมนต์ที่ส่งไปยังมาโคร
- ASIN: x
- อาร์คไซน์x
- .ATAN: x
- อาร์คแทนเจนต์x
- อัตโนมัติ
- ค่าของSET AUTOLOGใช้สำหรับการกู้คืนจากเซสชันก่อนหน้า
- .กลับ
- ตัวเลือก การตั้งค่า : ย้อนกลับหรือไม่ย้อนกลับ
- .ชุด: s
- ค่าของตัวเลือกSET BATCH s
- .BIN
- คุ้มค่าจากSET ROOM
- .ไบต์:( s [ ; i ])
- แปลงไบต์iของsเป็นจำนวนเต็ม
- .CARG
- อาร์กิวเมนต์ที่ส่งไปยังคำสั่งที่ผู้ใช้กำหนดเองโดยใช้SET COMMAND
- .กรณี
- ค่าจากSET CASE : UPPERหรือUPLOW
- เพดาน: n
- ตัดทอน
- .CHAR: i
- แปลงiเป็นอักขระ EBCDIC ตัวเดียว
- .ค่าใช้จ่าย
- ค่าบริการปัจจุบัน (ดอลลาร์และเซนต์)
- .CMCOUNT
- คำสั่งมาโครที่ไม่มีการรับส่งข้อมูลทางเทอร์มินัล
- .CMDCOUNT
- คำสั่งมาโครที่ไม่มีการรับส่งข้อมูลทางเทอร์มินัล
- .CMDLIMIT
- ค่าจากSET CMDLIMIT ; คำสั่งมาโครสูงสุดโดยไม่ต้องใช้เทอร์มินัล I/O
- .CMDMAX
- ค่าสูงสุดที่อนุญาตในSET CMDLIMIT
- .CMLIMIT
- ค่าจากSET CMDLIMIT ; คำสั่งมาโครสูงสุดโดยไม่ต้องใช้เทอร์มินัล I/O
- คอลัมน์: s ; i1 [ ; i2 ]
- สตริงย่อยของsจากคอลัมน์i1ถึงคอลัมน์i2
- .ยืนยัน
- 1 ถ้าตั้งค่ายืนยันแล้ว
- .CONNTIME
- แปลงเวลาเป็นวินาทีให้เหลือทศนิยม 2 ตำแหน่ง
- ต่อ
- ตัวละครต่อเนื่อง
- .COS: x
- โคไซน์x
- .COSH: x
- โคไซน์ไฮเปอร์โบลิกx
- .COTAN: x
- โคแทนเจนต์x
- ซีพียู
- รหัส CPU จาก SMF
- เวลาใช้งาน CPU
- เวลาประมวลผลของ CPU ในหน่วยวินาที โดยปัดเศษทศนิยม 2 ตำแหน่ง
- .ปัจจุบัน [ : s ]
- หมายเลขบรรทัดปัจจุบันของชุดข้อมูลที่ใช้งานอยู่s ; -1 หากไม่มีอยู่, -2 หากว่างเปล่า
- .เคอร์พอสน์
- ตำแหน่งเคอร์เซอร์เมื่อถูกขัดจังหวะครั้งสุดท้ายในรูปแบบแถว+คอลัมน์/1000; -1 ถ้าไม่ใช่ 3270
- .เคอร์เซอร์วาร์
- ชื่อตัวแปรสำหรับฟิลด์ที่เก็บเคอร์เซอร์ ณ การขัดจังหวะครั้งล่าสุด
- .แดช
- อักขระ Dash ที่ใช้โดยHYPHENATE ('62'X)
- วันที่ [ : วินาที ]
- แปลง วัน ที่แบบจูเลียน (yy.ddd หรือ yyyy.ddd) เป็นรูปแบบ mm/dd/yy
- .DATE4 [ : s ]
- แปลงวันที่แบบจูเลียน( yy.ddd หรือ yyyy.ddd) เป็นรูปแบบ mm/dd/yyyy
- วัน [ : s ]
- วันในสัปดาห์(วว/ดด/ปปป หรือ วว/ดด/ปปปป) ตรงกับวันใด
- วัน [ : วินาที ]
- จำนวนวันนับตั้งแต่ 01/01/1900 ถึงs
- .DEG: x
- แปลงค่าx เรเดียนเป็นองศา
- .DSEXIST: s1 [ ; s2 )
- 1. ถ้าชุดข้อมูลs1มีอยู่ในไดรฟ์s2 (อาจเป็นCATLG )
- .DSFORMAT
- ค่าจากSET DSFORMAT : TERSEหรือVERBOSE
- .DSNAME: s
- แปลงค่าsให้เป็นชื่อชุดข้อมูลที่มีคุณสมบัติครบถ้วน
- .E
- อี
- .แก้ไข
- 1. หากอยู่ในสภาพแวดล้อมการแก้ไขแบบเต็มหน้าจอ
- .EDITLINE
- หมายเลขบรรทัดที่ด้านบนของกรอบแก้ไข -1 ถ้าไม่ใช่ 3270, -2 ถ้าไม่ใช่การแก้ไขแบบเต็มหน้าจอ, -3 ว่างเปล่า
- .END [ : s ]
- จำนวนเต็มถัดไปหลังจากหมายเลขบรรทัดสุดท้ายในชุดข้อมูลที่ใช้งานอยู่s
- .ENTRYKEY
- ปุ่มที่ทำให้เกิดการขัดจังหวะครั้งล่าสุด: CLEAR , CURSEL , ENTER , PA1 - PA3 , PFK1 - PRK24
- .ERF: x
- ฟังก์ชันข้อผิดพลาด
- .ERFC: x
- ฟังก์ชันข้อผิดพลาด
- .EXP: x
- e ^ x
- .EXTDS
- 1. ถ้า sessiona รองรับสตรีมข้อมูลแบบขยาย 3270
- .EXTEND:( s1 ; i [ ; s2 ] )
- เพิ่มสำเนาของs2 (ค่าเริ่มต้น " ") จำนวนมากเท่าที่จำเป็นลงในs1เพื่อให้ได้ความยาวi
- .เฟทช์ลิน
- บรรทัดที่ดึงมาโดยคำสั่งFETCH
- .แรก [ : s ]
- หมายเลขบรรทัดแรกของชุดข้อมูลที่ใช้งานอยู่s ; -1 หากไม่มีอยู่, -2 หากว่างเปล่า
- ชั้น: i
- ตัดทอน
- เศษส่วน: n
- ส่วนเศษส่วนของ n
- ขนาดไฟล์ .FSASIZE
- ขนาดพื้นที่เต็มหน้าจอ 3270
- .FULLDATE [ : s ]
- แปลง mm/dd/yy หรือ mm/dd/yyyy เป็นเดือน วัน และปี yyyy
- .GAMMA: x
- แกมมา( x )
- .HELPDSN
- ชื่อชุดข้อมูลช่วยเหลือ
- .HELPVOL
- หมายเลขลำดับของชุดข้อมูลช่วยเหลือหรือCATLG
- .HEX:( i1 [ ; i2 ] )
- แปลงi1เป็นเลขฐานสิบหก โดยเติมศูนย์จนครบความยาวi2
- .HEXSTR: s
- แปลงเลขฐานสิบหกเป็น สตริง
- .ดัชนี: s1 [ ; s2 ] )
- คอลัมน์แรกที่s2ปรากฏในs1 ; 0 ถ้าไม่พบการจับคู่
- .ชื่อย่อ: s
- 1 ถ้าตัวแปรsได้รับการกำหนดค่าเริ่มต้นแล้ว
- อินพุต: i
- เนื้อหาของบรรทัดปัจจุบันของช่องสัญญาณi ; เลื่อนตัวชี้บรรทัดปัจจุบันไปข้างหน้า
- .JDATE [ : s ]
- แปลงค่าจาก mm/dd/yy หรือ mm/dd/yyyy เป็นวันที่แบบจูเลียน yy.ddd
- .JDATE4 [ : s ]
- แปลงค่าจาก mm/dd/yy หรือ mm/dd/yyyy เป็นวันที่แบบจูเลียน yyyy.ddd
- .สุดท้าย [ : s ]
- หมายเลขบรรทัดสุดท้ายของชุดข้อมูลที่ใช้งานอยู่s ; -1 หากไม่มีอยู่, -2 หากว่างเปล่า
- งานสุดท้าย
- หมายเลขงานของงานสุดท้ายที่ส่งด้วยคำสั่งRUN
- .LATTN
- หมายเลขบรรทัดที่กำลังทำงานเมื่อมีการออกจากมาโครในระดับปัจจุบัน; -1 หากล้างแคชหรือไม่มีการออกจากมาโคร
- .ความยาว
- ค่าจากSET LENGTH
- ความยาว: n [ ; [ s ][[ ; i ]] )
- ความยาวของบรรทัดiคือจำนวนบรรทัดถัดจาก (หรือก่อนหน้าถ้าเป็นค่าลบ) บรรทัดnของชุดข้อมูลs ที่ใช้ในการทำงาน
- .LERR
- หมายเลขบรรทัดที่กำลังทำงานอยู่เมื่อเกิดข้อผิดพลาดและมีการออกจากโปรแกรมในระดับมาโครปัจจุบัน; -1 หากล้างข้อผิดพลาดหรือไม่มีการออกจากโปรแกรม
- .LGAMMA: x
- Ln(แกมมา( x ))
- .LINE: n [ ; [ s ][[ ; i ]] )
- บรรทัดที่iคือบรรทัดถัดจาก (หรือก่อนหน้าถ้าเป็นค่าลบ) บรรทัดที่nของชุดข้อมูลs ที่ใช้ในการทำงาน
- .LINENO: n [ ; [ วิ ] [[ ; ฉัน ]] )
- ลำดับที่iของบรรทัดถัดจาก (หรือก่อนหน้าถ้าเป็นค่าลบ) บรรทัดที่nของชุดข้อมูลs ที่ใช้ในการทำงาน
- .LNDP
- หมายเลขบรรทัด จำนวนทศนิยม (3)
- .LOG: x
- ลนx
- .LOGONID
- รหัสล็อกอินที่ใช้สำหรับเซสชันปัจจุบัน
- .LOG10: x
- บันทึกx
- .ล่าง: s
- แปลงตัวอักษรsเป็นตัวพิมพ์เล็ก
- .มาโคร
- ชื่อของมาโครที่กำลังทำงานอยู่
- .MAILDSN
- ชื่อชุดข้อมูลของชุดข้อมูลอีเมล
- .MAILVOL
- หมายเลขลำดับของชุดข้อมูลอีเมลหรือCATLG
- .MAXTEMPS
- จำนวนสูงสุดของตัวแปรชั่วคราวที่ไม่ใช่ค่าเริ่มต้นที่อนุญาตในเซสชัน
- เมแมคท์
- จำนวนไบต์ที่เข้าถึงระหว่างเซสชัน
- .MEMCPU
- หน่วยเป็นไบต์คูณวินาที โดยปัดเศษเป็นทศนิยม 2 ตำแหน่ง
- .หน่วยความจำ
- พื้นที่จัดเก็บใช้งาน
- .เวลาจำ
- หน่วยความจำ*วินาที (ปัดเศษเป็นทศนิยม 2 ตำแหน่ง)
- .MRETURN
- หมายเลขบรรทัดของมาโครที่กำลังทำงานอยู่
- .เนทีฟ [ : i ]
- 1 ถ้าCONTROL NATIVEมีผลใช้งานอยู่ที่ระดับมาโครi (ค่าเริ่มต้นคือ current)
- ถัดไป: i
- ตัวชี้บรรทัดปัจจุบันสำหรับช่องi
- .แจ้ง
- 1 ถ้าSET NOTIFYมีผลใช้งานอยู่
- หมายเลข: s
- สตริงที่แสดงค่าของนิพจน์s
- .NUMTEMPS
- จำนวนหน่วยความจำชั่วคราวที่ไม่ใช่ค่าเริ่มต้นที่ใช้งานอยู่ในแต่ละเซสชัน
- .PAD: n [ ; [-] i1 [[ ; i2 ]] )
- เหมือนกับ.STRINGแต่เติมเลขศูนย์แทนช่องว่าง
- .เพจ
- จำนวนหน้า SuperWylbur ที่ใช้งานอยู่ในแต่ละเซสชัน
- .เพจเซคส์
- หน้า*วินาที
- การแบ่งหน้า
- จำนวนการดำเนินการเพจในเซสชันปัจจุบัน
- .PI
- π (พาย)
- .PINDEX: s1 ; s2 )
- การจับคู่รูปแบบs2 ครั้งแรก ในs1 ; คอลัมน์ + เศษส่วน(ความยาว/1000); 0 ถ้าไม่พบการจับคู่
- .ท่าเรือ
- ชื่อโหนด VTAM หรือcuu
- .พรีฟิกซ์
- ค่าจากSET PREFIX
- .PRIV: s
- 1. ถ้าผู้ใช้มีสิทธิ์
- .โครงการ
- ชื่อโครงการ
- .โปรเมม
- สมาชิกโปรไฟล์เมื่อไม่ได้อยู่ในช่วงพักฟื้น
- .PUBPREFIX
- คำนำหน้าสำหรับชุดข้อมูลสาธารณะ ( &PUBLIC )
- .PUBVOL
- หมายเลขลำดับของชุดข้อมูลสาธารณะหรือCATLG
- .อ้างอิง: s1 [ ; s2 ] )
- อ้างอิงs1โดยใช้ตัวละครหลักs2
- .RAD: x
- แปลงค่าxองศาเป็นเรเดียน
- .RECDSN
- ชื่อชุดข้อมูลของชุดข้อมูลกู้คืนหลังจากออกจากระบบ (LOGOFF INTACT)
- .RECVOL
- ปริมาณที่ใช้สร้างชุดข้อมูลการกู้คืนหรือCATLG
- .ย้อนกลับ: s
- สลับลำดับของสตริง
- .RJECMD
- จำนวน คำสั่ง JESที่ออกระหว่างเซสชัน
- โรมัน: i
- ตัวเลขโรมันตัวเล็กสำหรับi
- .ห้อง
- คุ้มค่าจากSET ROOM
- .รอบ: n [ ; i ] )
- ปัดเศษnให้เหลือ ทศนิยม iตำแหน่ง
- ขนาด.RS
- ขนาดพื้นที่หน้าจอสำรอง 3270
- .SCRNUPDT
- ผู้ใช้ได้อัปเดตฟิลด์ในแผงควบคุมตั้งแต่การเขียนครั้งล่าสุด
- ขนาดหน้าจอ
- ขนาดหน้าจอเป็นจำนวนแถว x จำนวนคอลัมน์ (ปัดเศษเป็นตัวเลข 3 หลักหลังจุดทศนิยม) หรือ -1 ถ้าไม่ใช่ 3270
- .SIN: x
- ไซน์x
- .ซินห์: x
- ไฮเปอร์โบลิกไซน์x
- ขนาด [ : วินาที ]
- จำนวนบรรทัดในชุดข้อมูลที่ใช้งาน อยู่ s ; -1 หากไม่มีอยู่
- .SQRT: x
- รากที่สองของx
- ขนาด
- ขนาดพื้นที่หน้าจอมาตรฐาน 3270 พิกเซล
- .STRHEX: s
- แปลงอักขระ 127 ตัวแรกในสตริง EBCIDIC เป็นเลขฐานสิบหก
- สตริง: n
- ค่าของนิพจน์ที่ไม่มีสัญกรณ์เลขยกกำลัง
- .สตริง:( n ; i1 )
- ค่าของนิพจน์ที่มีความยาวi1
- .สตริง:( n ; i1 ; i2 )
- ค่าของนิพจน์ที่มีความยาวi1และ ทศนิยม i2ตำแหน่ง
- .สตริง:( n ; -i1 )
- ค่าของนิพจน์ที่มีความยาวสูงสุดi1
- .สตริง:( n ; -i1 ; i2 )
- ค่าของนิพจน์ที่มีความยาวสูงสุดi1และi2ตำแหน่งทศนิยม
- .STRLEN: s
- จำนวนอักขระในs
- .SUBSTRING:( s ; i1 [ ; i2 ] )
- สตริงย่อยของsจากคอลัมน์i1สำหรับคอลัมน์i2
- .SWCOUNT
- จำนวนผู้ใช้ที่ล็อกอินเข้าสู่ภารกิจ SuperWylbur นี้
- .SWSYSPRE
- คำนำหน้าชุดข้อมูลระบบ
- .SYSMDSN
- ชื่อชุดข้อมูลมาโครระบบสาธารณะ
- .SYSMVOL
- หมายเลขซีเรียลของมาโครระบบสาธารณะ หรือCATLG
- .SYSNAME
- ชื่อของงานของอินสแตนซ์ SuperWylbur ปัจจุบัน
- แท็บ
- การตั้งค่าแท็บ คั่นด้วยเครื่องหมายจุลภาค
- .พูดคุย
- ค่าจากSET TALK ( SET BREAK ): TALKหรือNOTALK
- .TAN: x
- แทนเจนต์x
- .TANH: x
- แทนเจนต์ไฮเปอร์โบลิกx
- .ชั่วคราว
- ชื่อเฉพาะสำหรับสิ่งชั่วคราวใหม่
- .TEMPSLEFT
- จำนวนหน่วยความจำชั่วคราวที่ไม่ใช่ค่าเริ่มต้นที่พร้อมใช้งานสำหรับเซสชัน
- .TEMPUPD [ : s ]
- 1. หากไฟล์งานsได้รับการอัปเดตตั้งแต่การบันทึกครั้ง ล่าสุด
- .เทอร์มินัล
- ชื่อเทอร์มินัลหรือค่าของ.PORT
- .TERMIO
- จำนวนการดำเนินการ I/O ของเทอร์มินัลในเซสชันปัจจุบัน
- .สั้น
- กระชับหรือเยิ่นเย้อ
- .ข้อความ
- ชุดข้อมูลการทำงานเริ่มต้นปัจจุบัน
- .เวลา
- เวลาในรูปแบบ 12 ชั่วโมง คือhh : mm : ss x .m.
- .ไทม์มิค
- ไมโครวินาที 11 หลักนับตั้งแต่เที่ยงคืน
- หมดเวลา
- 0 ถ้าไม่ตั้งค่าหมดเวลา , 1 ถ้าตั้งค่าหมดเวลา , -1 ถ้าไม่มีสิทธิ์ในการกำหนดเวลา
- .หมดเวลา:( i [ ; s ] )
- ค่าของช่วงเวลาหมดเวลาที่ i สำหรับs ( ผู้ใช้หรือระบบ )
- .TIME100
- จำนวนวินาทีตั้งแต่เที่ยงคืน (ปัดเศษเป็นทศนิยม 2 ตำแหน่ง)
- .TIME24
- เวลา 24 ชั่วโมง
- .แปล:( s1 ; s2 ; s3 )
- แปลงข้อมูลs1โดยใช้ตารางข้อมูลเข้าs2และตารางข้อมูลออกs3
- .TRIM:( s1 ; s2 [ ; s3 ] )
- ลบs2 ออก จากปลายของs1ตามs3 : L = ซ้าย, R = ขวา (ค่าเริ่มต้น), B = ทั้งสองข้าง
- .ตัดทอน:( n [ ; i ] )
- ตัดทศนิยมของ nให้เหลือiตำแหน่ง
- .T3270
- 1 ถ้า 3270
- .บน: s
- แปลงตัวอักษรsเป็นตัวพิมพ์ใหญ่
- ผู้ใช้
- ส่วนของผู้ใช้ในรหัสล็อกอิน
- .VARUPDATE
- จำนวนตัวแปรหน้าจอแผงควบคุมที่ผู้ใช้ได้อัปเดตตั้งแต่การเขียนครั้งล่าสุด; -1 ถ้าไม่ใช่ 3270
- .ตรวจสอบ:( s1 [ ; s2 ] )
- ตำแหน่งแรกในs1ไม่ปรากฏในs2 ; 0 ถ้าอักขระทั้งหมดในs1อยู่ในs2
- .เวอร์ชั่น
- SuperWylbur ระดับในรูปแบบเวอร์ชัน release - PTF
- .ปริมาณ
- ตั้งค่าระดับเสียงสำหรับเซสชันเป็นCATLGหรือค่าว่าง
- .ความกว้าง
- ค่าของSET WIDTH
- .XLATTN
- หมายเลขบรรทัดของทางออกความสนใจสำหรับระดับมาโครปัจจุบัน; -1 หากไม่มีการตั้งค่าทางออกความสนใจ
- .XLERR
- หมายเลขบรรทัดของทางออกข้อผิดพลาดสำหรับระดับมาโครปัจจุบัน; -1 หากไม่มีการตั้งค่าทางออกข้อผิดพลาด
ฟังก์ชันเสมือนมาโคร SuperWylbur
ฟังก์ชันเทียม (Pseudofunctions) มีลักษณะคล้ายฟังก์ชันทั่วไป เพียงแต่ปรากฏอยู่ทางด้านซ้ายของเครื่องหมายกำหนดค่า เช่นLET . foo : bar = baz .
- .คอลัมน์:( v ; i1 [ ; i2 ] )
- แทนที่คอลัมน์i1ถึงi2ของv
- .เคอร์เซอร์
- ตั้งค่าตัวแปรแผงที่จะวางเคอร์เซอร์
- ไฟล์: i
- เชื่อมโยงชุดข้อมูลการทำงานกับช่องสัญญาณi
- .LINE:( n [ ; [ s ][[ ; i ]] )
- แทนที่หรือแทรกบรรทัดnในชุดข้อมูลทำงานsหากiถูกละเว้นหรือเป็นศูนย์แทนที่บรรทัดiบรรทัดหลังจาก (หรือก่อนหากเป็นค่าลบ) บรรทัด 'n' ในชุดข้อมูลทำงาน 's'
- ถัดไป: i
- ตั้งค่าตัวชี้บรรทัดปัจจุบันสำหรับช่องi
- เอาต์พุต: i
- เพิ่มหรือแทนที่บรรทัดปัจจุบันของช่องสัญญาณiเลื่อนตัวชี้บรรทัดปัจจุบันไปข้างหน้า
- .SUBSTRING:( v ; i1 [ ; i2 ] )
- แทนที่คอลัมน์i1ของvด้วยคอลัมน์i2
- อัปเดต: ฉัน
- แทนที่บรรทัดสุดท้ายที่อ่านจากช่องi
คำสั่งมาโคร SuperWylbur
- ¬ command [ ; command ]* (คำสั่งดั้งเดิม)
- CALL what temp-opts process-opts arg VALUE var-name
- เคลียร์โลคัลส์
- ล้างมาโคร
- ล้างมาโคร
- ร่องรอยที่ชัดเจน
- ความคิดเห็น
- ควบคุม
- ความต้องการ
- ทำ
- ทำจนกว่า
- ทำไปพร้อมๆ กัน
- จบ
- ดำเนินการ
- ทางออก
- ไป
- ไปที่
- ถ้า
- LET variable = expression
- วนลูป [ โดยใช้ตัวแปร ] จากนิพจน์ที่ 1 ถึงนิพจน์ที่ 2 [ โดยนิพจน์ที่ 3 ]
- คำสั่งแสดงรูปแบบการจับคู่
- มิฉะนั้น
- หยุดชั่วคราว
- เลือก [ นิพจน์ ]
- ตั้งค่าทางออก
- กำหนดขีดจำกัด
- ตั้งค่าการติดตาม
- สแกนคำหลัก
- ตำแหน่งการสแกน
- แสดงสินค้าทั่วโลก
- แสดงขีดจำกัด
- แสดงสถานที่ต่างๆ
- แสดงมาโคร
- แสดงมาโคร
- แผงแสดง
- สัญญาณ
- พิมพ์
- ประเภทที่ 1
- ช่วงเวลารอ
- รอb
- เมื่อ( expression [ ; expression ]* )
ดูเพิ่มเติม
หมายเหตุ
- 1 2 3 ORVYL/370 คำอธิบายการทำงานของระบบไทม์แชร์ริ่งมหาวิทยาลัยสแตนฟอร์ด ปี 1978
- 1 2คู่มืออ้างอิง WYLBURมหาวิทยาลัยสแตนฟอร์ด พ.ศ. 2527
- ↑ "WYLBUR, ORVYL (MILTEN และเพื่อนๆ)" . hercules-390.yahoogroups.narkive.com . สืบค้นเมื่อ2023-10-09 .
- ↑ "WYLBUR จะเกษียณ" เก็บถาวรเมื่อวันที่ 6 พฤษภาคม 2552 ที่Wayback Machine , Titan News , ศูนย์เทคโนโลยีสารสนเทศ, สถาบันสุขภาพแห่งชาติ (NIH), 7 เมษายน 2552
- ↑ "แหล่งข้อมูลและเอกสารประกอบของ ORVYL, WYLBUR และ MILTEN "ซอฟต์แวร์นี้เปิดให้ใช้งานได้ฟรีในรูปแบบโอเพนซอร์สจากมหาวิทยาลัยสแตนฟอร์ด ภายใต้สัญญาอนุญาตที่จำลองมาจาก "สัญญาอนุญาต Mozilla 1.1" ซึ่งได้รับการรับรองโดย "Open Source Initiative (OSI)"
- ↑ "การคำนวณที่ CERN: ยุคเมนเฟรม"คริส โจนส์, CERN Courier , 6 กันยายน 2547
- ↑ หลักการพื้นฐานของ Wylburสถาบันสุขภาพแห่งชาติ พฤศจิกายน 1980
- ↑ กองบรรณาธิการทั่วไปของ Wylburสถาบันสุขภาพแห่งชาติ กุมภาพันธ์ 1984
- ↑ ขั้นตอนคำสั่ง Wylburสถาบันสุขภาพแห่งชาติ ธันวาคม 1980
- ↑ การจัดรูปแบบเอกสารของ Wylburสถาบันสุขภาพแห่งชาติ ธันวาคม 1980
- ↑ คู่มือการใช้งาน SuperWylbur®บริษัท SuperWylbur® Systems, Inc. กันยายน 1996
- ↑ การเตรียมเอกสารด้วย SuperWylbur®บริษัท SuperWylbur® Systems, Inc. กันยายน 1996
- ↑ การป้อนและเรียกดูข้อมูลงาน SuperWylbur®บริษัท SuperWylbur® Systems, Inc. กันยายน 1996
- ↑ การตั้งโปรแกรมมาโครและแผงควบคุมผู้ใช้ของ SuperWylbur®บริษัท SuperWylbur® Systems, Inc. กันยายน 1996
- ↑ การแก้ไขข้อความด้วย SuperWylbur®บริษัท SuperWylbur® Systems, Inc. กันยายน 1996
ลิงก์ภายนอก
- Roger Fajman; John Borgelt (พฤษภาคม 1973). "WYLBUR: ระบบแก้ไขข้อความแบบโต้ตอบและระบบป้อนงานระยะไกล" . Communications of the ACM . 16 (5): 314– 322. doi : 10.1145/362041.362234 . ISSN 0001-0782 . S2CID 6892186 .
- ดาวน์โหลดซอฟต์แวร์ ORVYL และ WYLBURจากมหาวิทยาลัยสแตนฟอร์ด
- บันทึก Usenet เกี่ยวกับ WYLBUR
- ศูนย์บัญชาการไวล์เบอร์ศูนย์คำนวณแรนด์ R-1555/10 บริษัทแรนด์ 1975