Skip to content

a language server for a custom programming language (dod) with parsing capabilities in rust

Notifications You must be signed in to change notification settings

mahmoudyusof/dod_parsre_lsp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DOD parser / language server in rust

NOTE: this is an educational project, I wanted to learn about compilers, parsers, lsps and rust, so I built this.

tokenizer

The tokenizer is the first part of the compilation process and it is very simple.
Given an iterator of characters, it is supposed to group them by token (e.g. 'if', 'let', 'for', '{', etc...).

Parser

The next step involves taking the tokens and try to build an AST ([A]bstract [S]yntax [T]ree), which will try to make sense of those tokens.
If it fails to do so, then there must be some kind of syntax issue.

LSP ([L]anguage [S]erver [P]rotocol)

The language server protocol is a protocol that allows for the communication between editors/IDEs and the (Language Servers), kinda like an API.
They could communicate via TCP or STDIN-STDOUT and I choose the latter for this project.

To learn more check the lsp specifications

About

a language server for a custom programming language (dod) with parsing capabilities in rust

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages