Skip to content

Parser generator for the lezer incremental parser

License

Notifications You must be signed in to change notification settings

Programming-Language/js-generator-lezer

This branch is 1 commit behind lezer-parser/generator:main.

Folders and files

NameName
Last commit message
Last commit date
Jan 28, 2024
Aug 27, 2024
Jul 25, 2024
Aug 17, 2023
Aug 3, 2021
Jul 9, 2019
Jun 19, 2024
Jan 24, 2023
Jan 8, 2024
Aug 20, 2023
Jun 19, 2024
Aug 3, 2021

Repository files navigation

@lezer/generator

[ WEBSITE | ISSUES | FORUM | CHANGELOG ]

This is an LR(1) (more precisely pseudo-LALR,with opt-in GLR) parser generator which outputs grammars that can be used by the Lezer parser.

This package exports both a command-line parser generator tool called lezer-generator and a programming interface.

The grammar format that the tool accepts is documented in the system guide.

See test/cases/ for some simple example grammars, or lezer-javascript for a real grammar.

You can import "@lezer/generator/rollup" to get a Rollup plugin that will transform files ending in .grammar or .grammar.terms (a pseudo-source referring to the terms produced by the .grammar file) as part of the rollup build process.

import {lezer} from "@lezer/generator/rollup"

export default {
  input: "./in.js",
  output: {file: "out.js", format: "cjs"},
  plugins: [lezer()]
}

The plugin can be passed lezer({exportName}) option to configure the name of the parser export.

The code is licensed under an MIT license.

About

Parser generator for the lezer incremental parser

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 97.8%
  • JavaScript 2.2%