โปรเจ็กต์นี้เป็นการศึกษาของฉันเกี่ยวกับการใช้งานเซิร์ฟเวอร์โปรโตคอลเซิร์ฟเวอร์ภาษา (LSP)
Curage-lang นั้นเป็นภาษาเล็กๆ ที่ไม่น่าสนใจ ฉันกำลังใช้เซิร์ฟเวอร์ LSP สำหรับภาษานั้น มีคุณลักษณะบางอย่าง เช่น การรายงานข้อผิดพลาดทางไวยากรณ์ การเปลี่ยนชื่อสัญลักษณ์ เป็นต้น
lsp
: การใช้งานเซิร์ฟเวอร์ภาษาและส่วนขยาย VSCodesrc/extension.ts
: จุดเริ่มต้นของส่วนขยาย VSCodesrc/server.ts
: จุดเริ่มต้นของเซิร์ฟเวอร์ ไวยากรณ์ของ Curage-lang นั้นง่ายมาก ข้อมูลต่อไปนี้จะอธิบายไวยากรณ์ในรูปแบบคล้าย PEG
expression = int / name
statement = " let " name " be " expression " n "
program = statement *
ตำนาน:
A*
หมายถึงลำดับของ A หรือว่างA+
หมายถึงลำดับของ A อย่างน้อยหนึ่งลำดับA / B
หมายถึง A หรือ Bตัวอย่าง:
let x be 1
let y be x
การเปลี่ยนชื่อสัญลักษณ์ไม่จำเป็นต้องมีภาพหน้าจอ
let x be 1
↓ (เปลี่ยนชื่อ x
เป็น new_x
)
let new_x be 1
ฉันกำลังเขียนบทความหลายชุดเพื่ออธิบายซอร์สโค้ดในพื้นที่เก็บข้อมูลนี้ เขียนเป็นภาษาญี่ปุ่น