이 프로젝트는 LSP(언어 서버 프로토콜) 서버 구현에 대한 연구입니다.
Curage-lang 자체는 작고 흥미롭지 않은 언어입니다. 해당 언어에 대한 LSP 서버를 구현 중입니다. 구문 오류 보고, 기호 이름 바꾸기 등과 같은 일부 기능이 있습니다.
lsp
: 언어 서버 구현 및 VSCode 확장입니다.src/extension.ts
: VSCode 확장의 진입점입니다.src/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
나는 이 저장소의 소스 코드를 설명하기 위해 일련의 기사를 쓰고 있습니다. 일본어로 작성되었습니다.