🌴 tree-sitter-cairo

Node.js CI npm version

💡 this grammar is still in development, the structure of the generated AST is not stable

This repository contains a grammar for tree-sitter.

The goal of this project is to provide an efficient low-dependency parser for cairo 1.0 which is designed to enable metaprogramming.

Navigating this repository

The primary file in this repository is grammar.js which describes the tree-sitter grammar.

```

Primary file:

grammar.js

Tests:

/test/*/

Auto generated:

/src/*/ index.js binding.gyp ```

References

-> Language Examples https://github.com/starkware-libs/cairo/blob/main/examples

-> Soft language specification https://github.com/starkware-libs/cairo/blob/main/crates/syntaxcodegen/src/cairospec.rs

-> Cairo pre 1.0 grammar https://github.com/archseer/tree-sitter-cairo