นี่คือคำสั่ง intercalcp ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
intercalc - เครื่องคิดเลขตั้งโต๊ะ CLC-INTERCAL
เรื่องย่อ
ระหว่างการคำนวณ [ตัวเลือก]
DESCRIPTION
ระหว่างการคำนวณ เป็นเครื่องคิดเลขตั้งโต๊ะอย่างง่าย ให้ผู้ใช้ป้อนคำสั่ง INTERCAL (to
ดูสิ่งที่พวกเขาทำ) และการแสดงออก (เพื่อดูว่าพวกเขาสร้างคุณค่าอะไร); มันใช้ล่าม
วัตถุจาก CLC-INTERCAL เพื่อให้ข้อเสนอแนะทันที
เครื่องคิดเลขแบบตั้งโต๊ะยอมรับตัวเลือกต่างๆ มากมาย ซึ่งบางส่วนได้รับการบันทึกไว้ที่นี่
ผู้ใช้งาน อินเตอร์เฟซ Options
-X / --กราฟฟิค
เข้าสู่ส่วนต่อประสานกราฟิกกับผู้ใช้แบบ X-based ต้องใช้ Perl-GTK นี่คือค่าเริ่มต้น if
ติดตั้ง Perl-GTK แล้ว ตัวแปรสภาพแวดล้อม $จอแสดงผล ถูกกำหนดและการเปิดของ
การแสดง X สำเร็จ
-c / --สาปแช่ง
เข้าสู่หน้าจอแบบเต็มหน้าจอตามคำสาป นี่เป็นค่าเริ่มต้นหาก X ตาม
ไม่สามารถเริ่มอินเทอร์เฟซได้ ตัวแปรสภาพแวดล้อม $TERM ถูกตั้งค่าและเทอร์มินัล
ชื่อเป็นที่รู้จัก
--ไลน์
เข้าสู่ส่วนต่อประสานผู้ใช้โหมดบรรทัด นี่เป็นค่าเริ่มต้นหากใช้ X และคำสาป
อินเทอร์เฟซที่ใช้ไม่ทำงาน
ในโหมดนี้ โปรแกรมจะรันแต่ละบรรทัดจากอินพุตมาตรฐานตาม
โหมดและภาษาปัจจุบัน และพิมพ์ผลลัพธ์ไปยังเอาต์พุตมาตรฐาน สายเริ่มต้น
ด้วยแบ็คสปาร์คจะถูกตีความว่าเป็นคำสั่งของเครื่องคิดเลข ใช้ backspark-g ถึง
ยอมแพ้ (คุณจะต้องทำสองครั้ง) หรือ backspark-h เพื่อแสดง ehm หน้าช่วยเหลือ
สิ่งต่าง ๆ ที่มีอยู่ในรายการเมนูบนอินเทอร์เฟซ Curses และ X ก็เช่นกัน
ได้จากแบ็คสปาร์ค สำหรับตอนนี้ คุณสามารถอ้างถึงซอร์สโค้ดสำหรับรายการได้
การแก้ไขบรรทัดคำสั่งและประวัติคำสั่งมีให้โดยไลบรารี readline สั่งการ
ความสมบูรณ์ทำงานได้หากคอมไพเลอร์พื้นฐานรองรับ (คอมไพเลอร์ที่มาพร้อมกับ
การแจกแจงทำ)
--แบทช์
หลีกเลี่ยงการเข้าสู่โหมดโต้ตอบ นี่เป็นค่าเริ่มต้นหากอินพุตและเอาต์พุตมาตรฐาน
ไม่ได้เชื่อมต่อกับเทอร์มินัลและไม่สามารถเริ่มอินเทอร์เฟซที่ใช้ X ได้ โหมดนี้
คล้ายกับโหมดบรรทัดมาก ยกเว้นว่าการแก้ไขบรรทัดคำสั่งและประวัติคำสั่ง
ไม่ได้ดำเนินการ Backspark หนีทำงานได้เหมือนกัน
-iชนิด / --อินเตอร์เฟซ=ชนิด
เลือกอินเทอร์เฟซผู้ใช้ ชนิด. ปัจจุบันเท่านั้น X, คำสาป, Line และ ไม่มี มีการกำหนด
แต่สามารถติดตั้งเพิ่มเติมเป็นคอมไพเลอร์ปลั๊กอินได้ หากอินเทอร์เฟซที่เลือกคือ ไม่มี,
ระหว่างการคำนวณ จะทำงานในโหมดแบทช์ นอกจากนี้ สตริงว่างจะคืนสถานะ
พฤติกรรมเริ่มต้น
แหล่ง ภาษา และ การรวบรวม ตัวเลือก
--บั๊ก=จำนวน
เลือกความน่าจะเป็นที่แตกต่างกันสำหรับข้อบกพร่องของคอมไพเลอร์ ข้อผิดพลาดของคอมไพเลอร์ถูกนำมาใช้
โดยเริ่มต้นสถานะของคอมไพเลอร์ด้วยความน่าจะเป็นที่ต้องการ: เมื่อคำสั่ง
ถูกคอมไพล์ (โดยปกติอยู่ที่รันไทม์) คำสั่ง "BUG" จะถูกปล่อยออกมาพร้อมกับค่าที่จำเป็น
ความน่าจะเป็น ค่าเริ่มต้นคือ 1%
--อูบั๊ก=จำนวน
เลือกความน่าจะเป็นสำหรับข้อผิดพลาดของคอมไพเลอร์ที่ไม่สามารถอธิบายได้ นี่คือข้อผิดพลาดของคอมไพเลอร์
ซึ่งเกิดขึ้นเมื่อความน่าจะเป็นของข้อผิดพลาดของคอมไพเลอร์ (อธิบายได้) เป็นศูนย์ ขี้งกเท่านั้น
จะใช้ตัวเลือกนี้ ค่าเริ่มต้นคือ 0.01%
-Iเส้นทาง / --รวม=เส้นทาง
เพิ่มไดเร็กทอรีก่อนพาธการค้นหามาตรฐานสำหรับออบเจ็กต์คอมไพเลอร์และซอร์สโค้ด
หากไฟล์สามารถเข้าถึงได้จากไดเร็กทอรีปัจจุบัน ไฟล์นั้นจะไม่ถูกค้นหาในใดๆ
รวมเส้นทาง
หากตัวเลือกนี้ซ้ำ เส้นทางที่กำหนดจะถูกค้นหาตามลำดับที่กำหนด
ตามด้วยเส้นทางมาตรฐาน
-lภาษา / --ภาษา=ภาษา
เลือกภาษาที่จะใช้ในการตีความการป้อนข้อมูลของผู้ใช้ สิ่งนี้ควรสอดคล้องกับ
ชื่อของคอมไพเลอร์ซึ่งเป็นอ็อบเจ็กต์ INTERCAL ซึ่งเดิมสร้างขึ้นโดย
ไอแอค. ใช้เฉพาะตัวแยกวิเคราะห์นิพจน์และคำสั่งเท่านั้น จึงสามารถทดสอบได้
คอมไพเลอร์ที่ไม่สมบูรณ์โดยการโหลดลงใน ระหว่างการคำนวณ แม้ว่าพวกเขาจะไม่ได้ทำงานด้วย ป่วย.
ค่าเริ่มต้นจะได้รับจาก ป่วย ตัวเลือก .INTERCALC.ภาษา.
--oตัวเลือก ---ตัวเลือก=ตัวเลือก
เพิ่มตัวเลือกภาษา ตัวอย่างเช่น, --o3 เลือกการคำนวณฐาน 3 และ --oคนโง่
เลือกโหมด wimp หากไม่มีตัวเลือกให้และภาษาเริ่มต้นถูกนำมาจาก
ป่วย ไฟล์ ตัวเลือกเริ่มต้นจะถูกนำมาจากไฟล์ ป่วย ไฟล์. สังเกตว่าถ้า
ตัวเลือกหรือภาษาที่ระบุไว้ในบรรทัดคำสั่ง the ป่วย ค่าเริ่มต้นคือ
ละเว้น
ไม่เหมือนเวอร์ชั่นก่อนหน้าของ ระหว่างการคำนวณเวอร์ชันนี้จะตรวจสอบว่าตัวเลือกต่างๆ เหมาะสมหรือไม่
ในบริบทของเครื่องคิดเลข เช่น พยายามโหลดคอมไพเลอร์เป็นตัวเลือก
จะทำให้เกิดข้อผิดพลาด แต่ส่วนขยายคอมไพเลอร์จะใช้ได้
-mโหมด / --โหมด=โหมด
เลือกโหมดการทำงาน ปัจจุบัน โหมดที่ใช้ได้เท่านั้นคือ เต็ม, ด่วน และ หนึ่ง. ดู
"โหมดการทำงาน". หากไม่ได้ระบุไว้ ค่าเริ่มต้นจะถูกนำมาจาก ป่วย
ตัวเลือก ..INTERCALC.MODE.
อื่น ๆ Options
-rชื่อ / --rcfile=ชื่อ
ดำเนินการคำสั่งจากไฟล์ ชื่อ ก่อนจะเริ่มรับข้อมูล ตัวเลือกนี้สามารถ
ซ้ำ เพื่อดำเนินการมากกว่าหนึ่งไฟล์ หากไม่ได้ระบุไว้ ไลบรารีมาตรฐาน
ไดเร็กทอรีปัจจุบันและโฮมไดเร็กทอรีของผู้ใช้ปัจจุบันจะถูกค้นหาสำหรับไฟล์
ด้วยชื่อ system.sickrc or .sickrcซึ่งจะดำเนินการแล้ว ลำดับการค้นหานี้
คือ: ไลบรารีที่ระบุ (--รวม), ไลบรารีระบบ, โฮมไดเร็กทอรี, ไดเร็กทอรีปัจจุบัน
ซึ่งแตกต่างจากลำดับการค้นหาที่ใช้เมื่อค้นหาวัตถุหรือซอร์สโค้ด
หากไดเร็กทอรีมีทั้ง .sickrc และ system.sickrcที่ system.sickrc ถูกประหารชีวิต
อันดับแรก ตามด้วย .sickrc. โปรดทราบด้วยว่าหากไดเร็กทอรีปัจจุบันหรือโฮม
ไดเร็กทอรีปรากฏในเส้นทางการค้นหาและมีหนึ่งในไฟล์เหล่านี้ ซึ่งจะเป็น
ดำเนินการสองครั้ง
หากมีการระบุชื่อไฟล์ไว้อย่างชัดเจน จะต้องมีคุณสมบัติครบถ้วน: เส้นทางการค้นหา
ไม่ได้ใช้เพื่อค้นหาพวกเขา
--nouserrc
ป้องกันการโหลดผู้ใช้ rcfile (.sickrc); ยัง จำกัด การโหลด system.sickrc ไปที่
พบรายแรก ปกติตัวเลือกนี้จะใช้เมื่อทดสอบการติดตั้งเท่านั้น ถึง
ป้องกันการรบกวนจาก CLC-INTERCAL เวอร์ชันก่อนหน้า
การดำเนินงาน โหมด
เครื่องคิดเลขสามารถทำงานได้ในโหมดต่อไปนี้:
ล่าม INTERCAL ที่ทำงานได้เต็มรูปแบบ
เครื่องคิดเลขสามารถแยกวิเคราะห์และดำเนินการคำสั่งหรือนิพจน์ใดๆ
คำสั่งถูกรวบรวมเป็นโปรแกรมคำสั่งเดียวและดำเนินการ ค่าลงทะเบียนใด ๆ
ฯลฯ จะถูกเก็บไว้ระหว่างคำสั่ง ดังนั้นการป้อนรายการคำสั่งคือ
เทียบเท่ากับการรันโปรแกรมซึ่งคำสั่งเหล่านี้ทั้งหมดจะถูกดำเนินการใน
ลำดับ.
สิ่งสำคัญคือต้องสังเกตว่าคำสั่งบางอย่างจะไม่ดำเนินการในลักษณะปกติ
ตัวอย่างเช่น COME FROM จะถูกแยกวิเคราะห์แต่จะไม่มีผลใดๆ เว้นแต่จะเป็นอะไรบางอย่าง
ชอบ:
(1) โปรดมาจาก (1)
ซึ่งทำให้เครื่องคิดเลขค้าง ในทางกลับกัน งดเว้นจาก หรือ a
REINSTATE จะทำงานตามที่คาดไว้ เช่นเดียวกับ CREATE และ DESTROY ยอมแพ้ไม่ได้
ทำให้เครื่องคิดเลขหยุดทำงาน ข้อแตกต่างประการสุดท้ายคือความคิดเห็นไม่
แยกวิเคราะห์และดังนั้นคุณจะได้รับ "ข้อผิดพลาดทางไวยากรณ์" จากเครื่องคิดเลขแทนที่จะเป็นa
เครื่องหมาย *000 จากล่าม INTERCAL
สำหรับนิพจน์ เครื่องคิดเลขจะอ่านผลลัพธ์ของนิพจน์ ผลข้างเคียงใดๆ
จะถูกจดจำ ดังนั้นหากการแสดงออกมีมากเกินไป พวกเขาจะยังคงหลอกหลอน
เครื่องคิดเลข
ล่ามนิพจน์ expr INTERCAL
เครื่องคิดเลขสามารถแยกวิเคราะห์นิพจน์หรืองานที่มอบหมายเท่านั้น ไม่ว่าในกรณีใด
ค่าที่คำนวณได้คือ READ OUT; การมอบหมายจะเก็บค่าไว้ที่
ปลายทาง ในขณะที่นิพจน์จะละทิ้งผลลัพธ์
โอไอซี One Iคำแนะนำ Cเครื่องปั่นไฟ
นี่คือสิ่งที่เราทำขึ้นในเช้าตรู่วันหนึ่งในขณะที่คุยกันเรื่องเครื่องคิดเลขบนโต๊ะ
(อย่างที่ใครคนหนึ่งทำ) ไม่ใช่ INTERCAL เลย อันที่จริงได้แรงบันดาลใจจาก One
ชุดคำสั่งคอมพิวเตอร์.
เครื่องคิดเลขมีหน่วยความจำจำนวนหนึ่ง (ค่าเริ่มต้น 100 - สามารถเปลี่ยนได้โดย
ต่อท้ายตัวเลขในโหมดการทำงาน เช่น oic10 จะใช้หน่วยความจำ 10 ตัว
เครื่องคิดเลข) ความทรงจำเหล่านี้ระบุด้วยตัวอักษร m ตามด้วยตัวเลข ใน
รุ่นหน่วยความจำ 100 เริ่มต้น ตัวเลขสองหลักแรกหลัง m คือความทรงจำ และสิ่งใดๆ
ตัวเลขต่อมาเป็นส่วนหนึ่งของตัวถูกดำเนินการถัดไป ในตอนเริ่มต้น ทุกความทรงจำคือ
เริ่มต้นเป็น 0
เนื่องจากมีการดำเนินการเพียงครั้งเดียว จึงไม่จำเป็นต้องระบุ ดังนั้น "การดำเนินการ"
เป็นลำดับของตัวถูกดำเนินการสามตัวและผลลัพธ์ ผลที่ได้จะต้องเป็นความทรงจำในขณะที่แต่ละ
ตัวถูกดำเนินการสามารถเป็นตัวเลขหรือหน่วยความจำ โดยมีข้อจำกัดว่าจำนวนที่ต่อเนื่องกันคือ
ยอมรับได้ก็ต่อเมื่อ parser สามารถกำหนดได้ว่าจุดสิ้นสุดและจุดถัดไปจะเริ่มขึ้น
ตัวอย่างเช่น "1-0" เป็นตัวถูกดำเนินการที่เป็นตัวเลขสองตัว คือ 1 และ -0 (หรือที่รู้จักว่า 0); "1.2.3" ก็คือสอง
ตัวถูกดำเนินการ 1.2 และ 3; "12" เป็นตัวถูกดำเนินการตัวเดียว แม้ว่าคุณตั้งใจให้เป็นสองก็ตาม
ตัวถูกดำเนินการ 1 และ 2 และแม้ว่าคุณจะใส่ช่องว่าง: "1 2" ยังคงถูกตีความว่าเป็น
ตัวถูกดำเนินการเดี่ยว 12.
การดำเนินการที่ดำเนินการคือผลต่างระหว่างตัวถูกดำเนินการสองตัวแรก หารด้วย
ที่สาม. ตัวอย่างเช่น การดำเนินการทั้งสาม:
7 ม01 2 ม01
1 ม02 1 ม02
ตร.ม.1 .5 ตร.ม.2 ม03
จะให้ผลลัพธ์ m01=3.5 ((7-0)/2); m02=1 ((1-0)/1); m03=3 ((3.5-.5)/1). และ
จะสร้างผลลัพธ์ต่อไปนี้หากเครื่องคิดเลขทำงานในโหมดแบทช์:
ม.01 3.5 (7 - ม.01) / 2
ม.02 1 (1 - ม.02) / 1
ม.03 3 (ม.01 - .5) / ม.02
ใช้ intercalcp ออนไลน์โดยใช้บริการ onworks.net