Este proyecto es mi estudio para la implementación del servidor del protocolo de servidor de idiomas (LSP).
Curage-lang en sí es un lenguaje diminuto y sin interés. Estoy implementando un servidor LSP para el idioma. Tiene algunas características, como informe de errores de sintaxis, cambio de nombre de símbolos, etc.
lsp
: la implementación del servidor de idiomas y la extensión VSCode.src/extension.ts
: punto de entrada de la extensión VSCode.src/server.ts
: Punto de entrada del servidor. La sintaxis de Curage-lang es muy simple. A continuación se describe la sintaxis en notación similar a PEG.
expression = int / name
statement = " let " name " be " expression " n "
program = statement *
Leyendas:
A*
significa una secuencia de A o vacía,A+
significa una secuencia de A al menos uno,A / B
significa A o B.Ejemplo:
let x be 1
let y be x
Cambiar el nombre de los símbolos no necesita captura de pantalla.
let x be 1
↓ (Cambiar el nombre x
a new_x
)
let new_x be 1
Estoy escribiendo una serie de artículos para explicar los códigos fuente de este repositorio. Escrito en idioma japonés.