เมนูนำทาง
ภาษาพีต ความหมายและการทำงานความหมายของคำสั่งสามารถแปลได้จากความต่างของค่าสี (hue) และความสว่าง (lightness) ระหว่างโคเดลก่อนหน้ากับโคเดลปัจจุบันในขณะทำงาน โดยการวนรอบ (cycle) เพื่อพิจารณาความต่างของค่าสีจะเรียงลำดับจาก แดง→เหลือง→เขียว→ฟ้า→น้ำเงิน→ม่วง→แดง และความสว่างเรียงตาม อ่อน→กลาง→เข้ม→อ่อน ส่วนสีขาวและสีดำไม่อยู่ในการวนรอบใดๆ ซึ่งคำสั่งทุกอย่างจะแปลผลด้วยอินเทอร์พรีเตอร์และเก็บทุกสิ่งที่คำนวณได้ไว้ในสแต็ก (stack) หากคำสั่งใดไม่สามารถกระทำได้ คำสั่งนั้นจะถูกข้ามไป เช่น คำสั่ง pop ออกจากสแต็กว่างเปล่า เป็นต้น
ความสว่าง | |||
---|---|---|---|
ค่าสี | ไม่ต่าง | ต่าง 1 ขั้น | ต่าง 2 ขั้น |
ไม่ต่าง | - | push | pop |
ต่าง 1 ขั้น | add | subtract | multiply |
ต่าง 2 ขั้น | divide | mod | not |
ต่าง 3 ขั้น | greater | pointer | switch |
ต่าง 4 ขั้น | duplicate | roll | in (ตัวเลข) |
ต่าง 5 ขั้น | in (ตัวอักษร) | out (ตัวเลข) | out (ตัวอักษร) |
การทำงานจะเริ่มจากโคเดลที่มุมซ้ายบนสุดของภาพและเดินต่อไปบนโคเดลที่อยู่ติดกัน ทิศทางของการเดินถูกกำหนดด้วย พอยเตอร์ทิศทาง (DP) โดยมีทิศทางไปทางขวาเป็นค่าเริ่มต้น ซึ่งพอยเตอร์ทิศทางนี้สามารถเปลี่ยนให้เป็นค่าบน ล่าง ซ้าย ขวา ได้ตามต้องการ และยังมีตัวแปรหนึ่งเรียกว่า ตัวเลือกโคเดล (CC) ใช้สำหรับพิจารณาเปลี่ยนการเดินไปทางซ้ายหรือทางขวาเมื่อโคเดลถัดไปนั้นเดินต่อไปไม่ได้หรือไม่มี กล่าวคือ เป็นโคเดลสีดำหรืออยู่ที่สุดขอบภาพ ซึ่งโคเดลสีดำเปรียบเสมือน "กำแพง" ที่ไม่สามารถเดินผ่านไปได้ ส่วนโคเดลสีขาวจะไม่ทำงานใดๆ (เดินผ่านไป) โปรแกรมจะสิ้นสุดการทำงานเมื่อไม่มีทางอื่นให้เดินต่อไป ทั้งพอยเตอร์ทิศทางและตัวเลือกโคเดลอาจมีการเปลี่ยนแปลงบ่อยในโปรแกรมหนึ่งๆ และทุกโคเดลในภาพไม่จำเป็นต้องเดินผ่านทั้งหมด
เมนูนำทาง
ภาษาพีต ความหมายและการทำงานใกล้เคียง
ภาษาพีต ภาษาพีเอชพี ภาษาคีตัน ภาษาพีดมอนต์แหล่งที่มา
WikiPedia: ภาษาพีต http://www.bertnase.de/npiet/ http://www.retas.de/thomas/computer/programs/usele... http://www.dangermouse.net/esoteric/piet.html http://esolangs.org/wiki/Piet