Skip to content

Parser generator for the lezer incremental parser

License

Notifications You must be signed in to change notification settings

lezer-parser/generator

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

Packages

No packages published