@lezer/generator
TypeScript icon, indicating that this package has built-in type declarations

1.7.0 • Public • Published

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

Readme

Keywords

none

Package Sidebar

Install

npm i @lezer/generator

Weekly Downloads

71,197

Version

1.7.0

License

MIT

Unpacked Size

368 kB

Total Files

17

Last publish

Collaborators

  • marijn