Skip to content

JoranHonig/tree-sitter-cairo

Repository files navigation

🌴 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/syntax_codegen/src/cairo_spec.rs

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