3 ms·
@chrisseaton you are correct, the JSON file is generated. The handwritten parts are: - https://github.com/tree-sitter/tree-sitter-ruby/blob/32cd5a04adb4accb0c1
by tclem 6y ago
@chrisseaton you are correct, the JSON file is generated. The handwritten parts are:
- https://github.com/tree-sitter/tree-sitter-ruby/blob/32cd5a04adb4accb0c121f037ab59df3c3488228/grammar.js https://github.com/tree-sitter/tree-sitter-ruby/blob/32cd5a0...
- https://github.com/tree-sitter/tree-sitter-ruby/blob/32cd5a04adb4accb0c121f037ab59df3c3488228/src/scanner.cc https://github.com/tree-sitter/tree-sitter-ruby/blob/32cd5a0...
So about 2k loc.
The trickiest (and most verbose) parts of the external scanner have to do with heredocs and the various ways to declare literals (strings, symbols, regexes, etc).