ใช้ห้องสมุด G ของฉัน
https://github.com/luser-dr00g/G
มันเป็นไฟล์ข้อความ ไม่มีส่วนขยายสำหรับไวยากรณ์ที่สั้นที่สุดที่เป็นไปได้ในการโหลด
อนุญาตให้โปรแกรมสามเหลี่ยม Sierpinksi 203-char นี้
[48(0-1+0+1-0)49(11)43(+)45(-)/s{dup
0 eq{exch{[48{1 0 rlineto}49 1 index
43{240 rotate}45{120 rotate}>>exch
get exec}forall}{exch{load
exch 1 sub s}forall}ifelse 1 add}>>begin
9 9 moveto(0-1-1)9 s fill
ที่จะเขียนใหม่ใน 151 bytes เป็น
3(G)run $
{A - B + A + B - A}
{B B}
{A - B - B}7{[ex{du w{(>K?\2u)$}if}fora]}rep
cvx[/A{3 0 rl}/B 1 in/-{120 rot}/+{-120 rot}>>b
100 200(k?B9)$ showp
workfile พร้อมความคิดเห็น
การใช้คุณสมบัติชื่อระบบย่อนั้น1(G)runจะช่วยลดภาระของชื่อผู้ดำเนินการที่มีความยาวได้อย่างสมบูรณ์ ชื่อโอเปอเรเตอร์ต้องยาวพอที่จะแยกความแตกต่างจากชื่ออื่นเท่านั้น
ดังนั้น
add กลายเป็น ad
mul กลายเป็น mu
index กลายเป็น i
- ฯลฯ
ใช้PLRMภาคผนวก F สำหรับตารางชื่อผู้ดำเนินการมาตรฐาน
และคุณสมบัติของ Operator Strings จะสามารถใช้งานได้แม้ว่าจะไม่ได้เลือกชื่อย่อ ไลบรารีเปล่ามีการเลือก "ระดับฐาน" โดยเพิ่มอย่างง่าย ๆ(G)runโดยไม่มีการตกแต่งเพิ่มเติม
ระดับฐานรวมถึงฟังก์ชั่นใหม่ .ที่ยอมรับรหัสจำนวนเต็มสำหรับผู้ประกอบการ (ภาคผนวก F เดียวกันที่กล่าวถึงข้างต้น) และดำเนินการมัน
ฟังก์ชั่นใหม่$วนซ้ำผ่านสตริงและการเรียก.แต่ละอัน ดังนั้นรหัส ascii จะเลือกผู้ให้บริการโดยตรงตามหมายเลข
ฟังก์ชั่นใหม่ @ช่วยให้คุณเอื้อมถึงด้านล่างของตารางในภาคผนวก F โดยปฏิบัติกับอักขระช่องว่าง (Ascii 0x20) เป็น 0
ฟังก์ชั่นใหม่#ช่วยให้คุณสามารถเข้าถึงเพิ่มเติมในตารางได้โดยการเพิ่ม 95 (0x5F) ก่อนดังนั้น space char 0x20 จะถือว่าเป็น 127 (0x7F) ซึ่งเป็นรหัสถัดไปหลังจากตัวอักษร ascii สุดท้ายที่พิมพ์ได้~ 126 (0x7E)
ฟังก์ชั่นใหม่สองฟังก์ชั่นใหม่!ช่วยให้คุณเข้าถึงโครงสร้างของอาร์เรย์และ / หรือ dicts ที่ลึกล้ำด้วยอาร์เรย์ดัชนีของดัชนี / คีย์มากกว่าการแสดงออกที่น่าเบื่อของผู้ประกอบการget(และput) หลายคน
(G)run 7 ตัวอักษรซื้อระดับฐาน
1(G)run 8 ตัวอักษรซื้อและชื่อระบบย่อ
3(G)run $9 ตัวอักษรเริ่มต้นทันทีบรรทัดการสแกนบล็อกโดยนัยจนกระทั่งบรรทัดว่างถัดไปและกำหนดบรรทัดแรกเป็นโพรซีเดอร์ที่เรียกว่าAบรรทัดถัดไปจะถูกกำหนดเป็นโพรซีเดอร์ที่เรียกว่าBเป็นต้นซึ่งควรลบส่วนที่defจำเป็นสำหรับการกำหนด มีสิ่งต่าง ๆ มากมายโดยไม่จำเป็นต้องห่อไว้ในพจนานุกรมหรือแม้แต่ตั้งชื่อให้พวกเขาอย่างชัดเจน