Lolcode - ไวยากรณ์
LOLCODE มีไวยากรณ์ที่แตกต่างกันเมื่อเทียบกับภาษาโปรแกรมอื่น ๆ แต่จำได้ง่ายกว่า บทนี้ให้ไวยากรณ์พื้นฐานของ LOLCODE
สร้าง
โครงสร้าง LOLCODE เป็นคำแสลง ตารางต่อไปนี้แสดงรายการตามตัวอักษรของโครงสร้างที่ดำเนินการจนถึงตอนนี้ -
ซีเนียร์ | สร้างและใช้งาน |
---|---|
1 | BTW เริ่มต้นความคิดเห็นบรรทัดเดียว |
2 | DOWN <variable>!!<times> สิ่งนี้สอดคล้องกับตัวแปร = ตัวแปร - ครั้ง โปรดทราบว่า "times" เป็นส่วนขยายภาษาสำหรับ wut-only |
3 | GIMMEH <variable> นี่แสดงถึงคำสั่งอินพุต |
4 | GTFO ซึ่งจะคล้ายกับ break ในภาษาอื่น ๆ และเป็นวิธีที่จะแยกออกจากลูป |
5 | HAI สิ่งนี้สอดคล้องกับ main ()ฟังก์ชันในภาษาอื่น ๆ เป็นจุดเริ่มต้นของโปรแกรมใน LOLCODE |
6 | HEREZ <label> นี่เป็นอีกหนึ่งส่วนขยายภาษา wut-only และประกาศป้ายกำกับสำหรับใช้กับ SHOO |
7 | I HAS A <type> <variable> สิ่งนี้ประกาศตัวแปรประเภทดังกล่าว LOLCODE มีสามประเภทในตัว -
โปรดทราบว่าประเภทเป็นส่วนขยายภาษา wut-only |
8 | IM IN YR LOOP สิ่งนี้เริ่มต้นการวนซ้ำที่ไม่มีที่สิ้นสุด วิธีเดียวที่จะออกจากลูปคือการใช้ GTFO สอดคล้องกับสำหรับ(;;) ในภาษาอื่น ๆ |
9 | IZ <expr1> <operator> <expr2>?: Conditional structure สิ่งนี้คล้ายกับตัวดำเนินการ if ในภาษาอื่น Operator เป็นหนึ่งใน: ใหญ่กว่าเล็กกว่า SAEM AS สังเกตว่า? ในตอนท้ายเป็นทางเลือก |
10 | KTHX มันจบบล็อก สอดคล้องกับ} |
11 | KTHXBAI ซึ่งจะสิ้นสุดโปรแกรม |
12 | NOWAI นี้สอดคล้องกับอื่น ๆ |
13 | PURR <expr> สิ่งนี้จะพิมพ์อาร์กิวเมนต์บนหน้าจอตามด้วยขึ้นบรรทัดใหม่ มันเป็นส่วนขยายภาษา wut เท่านั้น |
14 | RELSE สิ่งนี้สอดคล้องกับ else (if) |
15 | SHOO นี่เป็นอีกหนึ่งส่วนขยายภาษา wut-only ซึ่งสอดคล้องกับ goto (สยองขวัญ!) |
16 | UP <variable>!!<times> สิ่งนี้สอดคล้องกับตัวแปร = ตัวแปร + ครั้ง "ครั้ง" ในที่นี้คือส่วนขยายภาษา wut-only |
17 | VISIBLE <expr> สิ่งนี้จะพิมพ์อาร์กิวเมนต์บนหน้าจอ โปรดทราบว่าสิ่งนี้ไม่ได้พิมพ์ขึ้นบรรทัดใหม่ |
18 | YARLY นี่แสดงถึงจุดเริ่มต้นของบล็อกเงื่อนไข "จริง" |
ตัวอย่างบางส่วนของคำสแลงใน LOLCODE ได้แก่ -
- สวัสดีสวัสดี
- KTHXBYE โอเคขอบคุณลาก่อน
- BTW เป็นไปตามนั้น
- OBTW ก็โอแล้ว
- TLDR ยาวเกินไป ไม่ได้อ่าน
ช่องว่าง
ในภาษาโปรแกรมส่วนใหญ่คำหลักหรือโทเค็นอาจไม่มีช่องว่างระหว่างคำเหล่านี้ อย่างไรก็ตามในบางภาษาจะใช้ช่องว่างในโทเค็นเพื่อแยกความแตกต่าง
จุลภาค
เครื่องหมายจุลภาคจะทำงานเหมือนคีย์เวิร์ดขึ้นบรรทัดใหม่ในภาษาส่วนใหญ่เช่น \n ใน Java และ C คุณสามารถเขียนคำสั่งจำนวนมากในบรรทัดเดียวใน LOLCODE โดยที่คุณแยกคำสั่งโดยใช้ลูกน้ำ (,)
สามช่วงเวลา (…)
จุดสามจุด (…) ช่วยให้คุณสามารถรวมโค้ดหลายบรรทัดเป็นบรรทัดเดียวหรือคำสั่งเดียวโดยรวม (... ) ที่ท้ายบรรทัด สิ่งนี้ทำให้คอมไพเลอร์ถือว่าเนื้อหาของบรรทัดถัดไปเป็นเนื้อหาของบรรทัดก่อนหน้าเท่านั้น โค้ดไม่สิ้นสุดสามารถเขียนร่วมกันเป็นคำสั่งเดียวได้ตราบเท่าที่แต่ละบรรทัดสิ้นสุดด้วยจุดสามจุด
ความคิดเห็นถูกยกเลิกโดยขึ้นบรรทัดใหม่ โปรดทราบว่าความต่อเนื่องของบรรทัด (... ) และ (,) หลังความคิดเห็น (BTW) จะถูกละเว้นโดย lci
ความคิดเห็น
ความคิดเห็นบรรทัดเดียวเขียนตามด้วยคีย์เวิร์ด BTW อาจเกิดขึ้นที่ใดก็ได้ภายในเนื้อหาของโปรแกรม: อาจอยู่ที่บรรทัดแรกของโปรแกรมระหว่างโปรแกรมระหว่างบรรทัดบางบรรทัดหรือเมื่อสิ้นสุดโปรแกรม
ทั้งหมดนี้เป็นความคิดเห็นบรรทัดเดียวที่ถูกต้อง
I HAS A VAL ITZ 19 BTW VAL = 19
I HAS A VAL ITZ 19, BTW VAL = 19
I HAS A VAL ITZ 14
BTW VAR = 14
ใน LOLCODE ความคิดเห็นหลายบรรทัดจะเขียนตามด้วย OBTW และลงท้ายด้วย TLDR
นี่คือความคิดเห็นหลายบรรทัดที่ถูกต้อง -
I HAS A VAL ITZ 51
OBTW this is a comment
No it’s a two line comment
Oops no.. it has many lines here
TLDR
การสร้างไฟล์
โปรแกรม LOLCODE เริ่มต้นด้วยคีย์เวิร์ด HAI และควรลงท้ายด้วย KTHXBYE เนื่องจาก LOLCODE ใช้ภาษาชวเลข HAI ย่อมาจาก Hi และ KTHXBYE สามารถจำได้ว่าเป็น“Ok, thanks, bye ”.
ตัวอย่าง
HAI 1.2
I HAS A NAME
VISIBLE "NAME::"!
GIMMEH NAME
VISIBLE "tutorialsPoint " NAME "!"
KTHXBYE