lezer-circom
A Lezer grammar for the circom language.
⚠️ This is a low-level library for parsing a low-level circom AST - if you're looking for the CodeMirror language extension, you want the codemirror-lang-circom package instead.
⚠️ This grammar is very rough alpha-quality! There are almost certainly bugs.
Table of Contents
Install
npm i lezer-circom
Usage
import { parser } from "lezer-circom"
const tree = parser.parse(`
pragma circom 2.0.1;
// ...
`)
// do something with tree.cursor() or tree.topNode ...
You can find documentation for the LR parser interface on the Lezer website.
API
import type { LRParser } from "@lezer/lr"
export const parser: LRParser
Testing
Tests use AVA and live in the test directory.
npm run test
Contributing
This library is just intended to export the compiled lezer grammar, so I don't expect to add any features or functionality beyond that. If you find issues with the grammar definition itself please open an issue to discuss them!
License
GPLv3 © 2021 Joel Gustafson