# Tree-sitter

> parser generator tool and incremental parsing library

**Wikidata**: [Q111522956](https://www.wikidata.org/wiki/Q111522956)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/Tree-sitter_(parser_generator))  
**Source**: https://4ort.xyz/entity/tree-sitter

## Summary
Tree-sitter is a parser generator tool and incremental parsing library designed to efficiently analyze and manipulate source code. It was developed by Max Brunsfeld and influenced by computer scientist Tim Allen Wagner, who earned his Ph.D. from the University of California, Berkeley in 1997.

## Key Facts
- **Type**: Software (non-tangible executable component of a computer)
- **License**: MIT License (as of 2022-04-07)
- **Latest Version**: 0.15.1 (released on 2019-03-30)
- **Website**: [https://tree-sitter.github.io/tree-sitter/](https://tree-sitter.github.io/tree-sitter/)
- **Source Code**: Hosted on GitHub at [https://github.com/tree-sitter/tree-sitter](https://github.com/tree-sitter/tree-sitter)
- **Influenced By**: Tim Allen Wagner (computer scientist)
- **Copyright Status**: Copyrighted (as of 2022-04-07)
- **Aliases**: tree-sitter
- **Logo**: Available at [https://commons.wikimedia.org/wiki/Special:FilePath/Tree-sitter-small.png](https://commons.wikimedia.org/wiki/Special:FilePath/Tree-sitter-small.png)

## FAQs
### Q: What is Tree-sitter used for?
A: Tree-sitter is primarily used as a parser generator tool and incremental parsing library, enabling efficient analysis and manipulation of source code.

### Q: Who developed Tree-sitter?
A: Tree-sitter was developed by Max Brunsfeld, with influences from computer scientist Tim Allen Wagner.

### Q: Where can I find the source code for Tree-sitter?
A: The source code is available on GitHub at [https://github.com/tree-sitter/tree-sitter](https://github.com/tree-sitter/tree-sitter).

### Q: What license does Tree-sitter use?
A: Tree-sitter is released under the MIT License.

### Q: What is the latest version of Tree-sitter?
A: The latest version is 0.15.1, released on March 30, 2019.

## Why It Matters
Tree-sitter plays a crucial role in the field of programming language processing by providing a robust tool for generating parsers and enabling incremental parsing. Its development was influenced by Tim Allen Wagner, a notable computer scientist, and it has been widely adopted for its efficiency in analyzing and manipulating source code. The tool's open-source nature, under the MIT License, has contributed to its accessibility and integration into various software development workflows. By offering a structured approach to parsing, Tree-sitter enhances the capabilities of developers and researchers working with programming languages, making it a valuable asset in the software development ecosystem.

## Notable For
- **Incremental Parsing**: Tree-sitter is notable for its support of incremental parsing, which allows for efficient updates to parsed code structures.
- **Parser Generation**: It distinguishes itself as a tool for generating parsers, enabling developers to create custom parsers for specific programming languages.
- **Open-Source License**: The MIT License under which Tree-sitter is released promotes widespread adoption and modification by the developer community.
- **GitHub Integration**: The project's presence on GitHub, a popular platform for open-source software, facilitates collaboration and contributions from the global developer community.
- **Influence from Tim Allen Wagner**: The tool's development was influenced by the work of computer scientist Tim Allen Wagner, adding to its technical credibility.

## Body
### Overview
Tree-sitter is a parser generator tool and incremental parsing library designed to efficiently analyze and manipulate source code. It was developed by Max Brunsfeld and influenced by computer scientist Tim Allen Wagner, who earned his Ph.D. from the University of California, Berkeley in 1997.

### Development and Release
- **Developer**: Max Brunsfeld
- **Influenced By**: Tim Allen Wagner
- **Latest Version**: 0.15.1 (released on 2019-03-30)
- **License**: MIT License (as of 2022-04-07)
- **Copyright Status**: Copyrighted

### Technical Details
- **Website**: [https://tree-sitter.github.io/tree-sitter/](https://tree-sitter.github.io/tree-sitter/)
- **Source Code**: [https://github.com/tree-sitter/tree-sitter](https://github.com/tree-sitter/tree-sitter)
- **Logo**: [https://commons.wikimedia.org/wiki/Special:FilePath/Tree-sitter-small.png](https://commons.wikimedia.org/wiki/Special:FilePath/Tree-sitter-small.png)

### Versions
- **0.14.0**: Released on 2019-02-05
- **0.14.1**: Released on 2019-02-06
- **0.14.2**: Released on 2019-02-06
- **0.14.3**: Released on 2019-02-14
- **0.14.4**: Released on 2019-02-14
- **0.14.5**: Released on 2019-02-25
- **0.14.6**: Released on 2019-04-19
- **0.14.7**: Released on 2019-05-01
- **0.15.0**: Released on 2019-03-29
- **0.15.1**: Released on 2019-03-30

### Additional Information
- **Aliases**: tree-sitter
- **Different From**: Tree sitting (a distinct activity)
- **Wikipedia Title**: Tree-sitter (parser generator)
- **Wikipedia Languages**: English, Japanese
- **GitHub Topic**: tree-sitter
- **SlackBuilds Package**: libraries/tree-sitter
- **Chocolatey Community Package ID**: tree-sitter

## References

1. [Source](https://rfdonnelly.github.io/posts/using-tree-sitter-parsers-in-rust/)
2. [Source](https://www.bearer.com/blog/tips-for-using-tree-sitter-queries)
3. [Source](https://github.com/tree-sitter/tree-sitter/graphs/contributors)
4. [Source](https://github.com/tree-sitter/tree-sitter/blob/master/LICENSE)
5. [Release 0.14.0. 2019](https://github.com/tree-sitter/tree-sitter/releases/tag/0.14.0)
6. [Release 0.14.1. 2019](https://github.com/tree-sitter/tree-sitter/releases/tag/0.14.1)
7. [Release 0.14.2. 2019](https://github.com/tree-sitter/tree-sitter/releases/tag/0.14.2)
8. [Release 0.14.3. 2019](https://github.com/tree-sitter/tree-sitter/releases/tag/0.14.3)
9. [Release 0.14.4. 2019](https://github.com/tree-sitter/tree-sitter/releases/tag/0.14.4)
10. [Release 0.14.5. 2019](https://github.com/tree-sitter/tree-sitter/releases/tag/0.14.5)
11. [Release 0.14.6. 2019](https://github.com/tree-sitter/tree-sitter/releases/tag/0.14.6)
12. [Release 0.14.7. 2019](https://github.com/tree-sitter/tree-sitter/releases/tag/0.14.7)
13. [Release 0.15.0. 2019](https://github.com/tree-sitter/tree-sitter/releases/tag/0.15.0)
14. [Release 0.15.1. 2019](https://github.com/tree-sitter/tree-sitter/releases/tag/0.15.1)
15. [Release 0.15.2. 2019](https://github.com/tree-sitter/tree-sitter/releases/tag/0.15.2)
16. [Release 0.15.3. 2019](https://github.com/tree-sitter/tree-sitter/releases/tag/0.15.3)
17. [Release 0.15.4. 2019](https://github.com/tree-sitter/tree-sitter/releases/tag/0.15.4)
18. [Release 0.15.5. 2019](https://github.com/tree-sitter/tree-sitter/releases/tag/0.15.5)
19. [Release 0.15.6. 2019](https://github.com/tree-sitter/tree-sitter/releases/tag/0.15.6)
20. [Release 0.15.7. 2019](https://github.com/tree-sitter/tree-sitter/releases/tag/0.15.7)
21. [Release 0.15.8. 2019](https://github.com/tree-sitter/tree-sitter/releases/tag/0.15.8)
22. [Release 0.15.9. 2019](https://github.com/tree-sitter/tree-sitter/releases/tag/0.15.9)
23. [Release 0.15.10. 2019](https://github.com/tree-sitter/tree-sitter/releases/tag/0.15.10)
24. [Release 0.15.11. 2019](https://github.com/tree-sitter/tree-sitter/releases/tag/0.15.11)
25. [Release 0.15.12. 2019](https://github.com/tree-sitter/tree-sitter/releases/tag/0.15.12)
26. [Release 0.15.13. 2019](https://github.com/tree-sitter/tree-sitter/releases/tag/0.15.13)
27. [Release 0.15.14. 2019](https://github.com/tree-sitter/tree-sitter/releases/tag/0.15.14)
28. [Release 0.16.0. 2019](https://github.com/tree-sitter/tree-sitter/releases/tag/0.16.0)
29. [Release 0.16.1. 2019](https://github.com/tree-sitter/tree-sitter/releases/tag/0.16.1)
30. [Release 0.16.2. 2019](https://github.com/tree-sitter/tree-sitter/releases/tag/0.16.2)
31. [Release 0.16.3. 2020](https://github.com/tree-sitter/tree-sitter/releases/tag/0.16.3)
32. [Release 0.16.4. 2020](https://github.com/tree-sitter/tree-sitter/releases/tag/0.16.4)
33. [Release 0.16.5. 2020](https://github.com/tree-sitter/tree-sitter/releases/tag/0.16.5)
34. [Release 0.16.6. 2020](https://github.com/tree-sitter/tree-sitter/releases/tag/0.16.6)
35. [Release 0.16.7. 2020](https://github.com/tree-sitter/tree-sitter/releases/tag/0.16.7)
36. [Release 0.16.8. 2020](https://github.com/tree-sitter/tree-sitter/releases/tag/0.16.8)
37. [Release 0.16.9. 2020](https://github.com/tree-sitter/tree-sitter/releases/tag/0.16.9)
38. [Release 0.17.0. 2020](https://github.com/tree-sitter/tree-sitter/releases/tag/0.17.0)
39. [Release 0.17.1. 2020](https://github.com/tree-sitter/tree-sitter/releases/tag/0.17.1)
40. [Release 0.17.2. 2020](https://github.com/tree-sitter/tree-sitter/releases/tag/0.17.2)
41. [Release 0.17.3. 2020](https://github.com/tree-sitter/tree-sitter/releases/tag/0.17.3)
42. [Release 0.18.0. 2021](https://github.com/tree-sitter/tree-sitter/releases/tag/0.18.0)
43. [Release 0.18.1. 2021](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.18.1)
44. [Release 0.18.2. 2021](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.18.2)
45. [Release 0.18.3. 2021](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.18.3)
46. [Release 0.19.0. 2021](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.19.0)
47. [Release 0.19.1. 2021](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.19.1)
48. [Release 0.19.2. 2021](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.19.2)
49. [Release 0.19.3. 2021](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.19.3)
50. [Release 0.19.4. 2021](https://github.com/tree-sitter/tree-sitter/releases/tag/v0.19.4)