Incremental parsing system
  • TypeScript 99.5%
  • JavaScript 0.5%
Find a file
2026-04-16 19:21:32 +02:00
src Move zero-length reductions after skipped tokens in front of them 2026-04-16 19:16:57 +02:00
.gitignore Add a build process 2019-04-18 18:00:08 +02:00
.npmignore Add an .npmignore that doesn't omit dist/ 2019-07-09 20:27:40 +02:00
build.js Fix type errors in build 2023-09-19 15:51:47 +02:00
CHANGELOG.md Mark version 1.4.9 2026-04-16 19:21:32 +02:00
LICENSE Update maintainer email 2023-01-24 08:28:47 +01:00
package.json Mark version 1.4.9 2026-04-16 19:21:32 +02:00
README.md Update github links 2026-04-14 17:24:26 +02:00
tsconfig.json Export NestMap type 2021-06-25 17:45:00 +02:00

@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.