Tree-sitter grammar length as a measure of language simplicity

I like simple programming languages, and it turns out a nice proxy for simplicity is the number of lines in a treesitter grammar:

LangGrammar LOCgrammar.js
Clojure528tree-sitter-clojure
Lua634tree-sitter-lua
R786tree-sitter-r
Zig898tree-sitter-zig
Go983tree-sitter-go
Python1,229tree-sitter-python
C++1,603tree-sitter-cpp
Rust1,693tree-sitter-rust

Figures as of 2026-08-27

Lua and R are probably my 2 favourite languages. I have a love-hate relationship with Rust - and the hate tends to come down to issues caused by language complexity. I use Python a lot but I wish I didn't.

Perhaps the moral of the story is what I already knew - I should really try Zig.