Skip to content

Incremental parsing system

License

Notifications You must be signed in to change notification settings

lezer-parser/lr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@lezer/lr

[ WEBSITE | ISSUES | FORUM | CHANGELOG ]

Lezer ("reader" in Dutch, pronounced pretty much as laser) is an incremental GLR parser intended for use in an editor or similar system, which needs to keep a representation of the program current during changes and in the face of syntax errors.

It prioritizes speed and compactness (both of parser table files and of syntax tree) over having a highly usable parse tree—trees nodes are just blobs with a start, end, tag, and set of child nodes, with no further labeling of child nodes or extra metadata.

This package contains the run-time LR parser library. It consumes parsers generated by @lezer/generator.

The parser programming interface is documented on the website.

The code is licensed under an MIT license.

This project was hugely inspired by tree-sitter.