# Treetop

> Ruby parsing expression grammar language

**Wikidata**: [Q109307476](https://www.wikidata.org/wiki/Q109307476)  
**Source**: https://4ort.xyz/entity/treetop

## Summary
Treetop is a Ruby parsing expression grammar language, a programming language designed for communicating instructions to a machine. It was first developed in 2006 and is licensed under the MIT License, making it open-source and freely usable. The language is particularly noted for its ability to define grammars for parsing text, with versions released as recently as 2025.

## Key Facts
- **Type**: Programming language, specifically a parsing expression grammar language.
- **License**: MIT License (as of 2021-10-29).
- **Inception**: 2006-12-29.
- **Latest Version**: 1.6.14 (released 2025-01-22, marked as stable).
- **Operating System**: Cross-platform.
- **Website**: [https://cjheath.github.io/treetop/](https://cjheath.github.io/treetop/) (English).
- **Source Code**: Hosted on GitHub ([https://github.com/cjheath/treetop](https://github.com/cjheath/treetop)).
- **Package Names**: `dev-ruby/treetop` (Gentoo), `rubygem-treetop-1_4` (openSUSE).
- **File Formats**: Readable and writable in the Treetop file format.
- **Related Projects**: Repology project name: `ruby:treetop`.

## FAQs
- **What is Treetop used for?** Treetop is used to define grammars for parsing text, making it useful for tasks like syntax analysis and language processing.
- **Is Treetop open-source?** Yes, Treetop is licensed under the MIT License, allowing free use and modification.
- **What platforms does Treetop support?** Treetop is cross-platform, meaning it can run on various operating systems.
- **Where can I find the source code?** The source code is available on GitHub at [https://github.com/cjheath/treetop](https://github.com/cjheath/treetop).
- **What versions of Treetop are available?** Versions include 1.2.5, 1.4.10, 1.4.11, 1.4.12, 1.4.14, 1.4.15, 1.5.0, 1.5.1, 1.5.3, 1.6.4, 1.6.5, 1.6.10, 1.6.11, 1.6.12, and the latest stable version, 1.6.14.

## Why It Matters
Treetop plays a crucial role in the field of parsing and grammar definition, particularly for Ruby developers. Its MIT License ensures broad adoption and community contributions. The language’s ability to handle parsing tasks efficiently makes it a valuable tool for syntax analysis and language processing. Its cross-platform compatibility further extends its utility across different environments.

## Notable For
- **First Release**: Officially launched in 2006, predating many modern parsing tools.
- **Stable Version**: The latest stable release, 1.6.14, was published in 2025, indicating ongoing maintenance.
- **Cross-Platform**: Works across multiple operating systems, enhancing accessibility.
- **Open-Source**: Licensed under the MIT License, promoting community involvement and customization.

## Body
### History
Treetop was first developed on 2006-12-29 and has since undergone multiple updates, with the most recent stable version, 1.6.14, released on 2025-01-22. The project has seen numerous releases, including 1.2.5, 1.4.10, 1.4.11, 1.4.12, 1.4.14, 1.4.15, 1.5.0, 1.5.1, 1.5.3, 1.6.4, 1.6.5, 1.6.10, 1.6.11, and 1.6.12, each introducing improvements and bug fixes.

### Technical Details
Treetop is a parsing expression grammar language, meaning it is designed to define grammars for parsing text. It supports the Treetop file format for both reading and writing. The language is cross-platform, ensuring compatibility across different operating systems. The source code is hosted on GitHub, with the primary repository available at [https://github.com/cjheath/treetop](https://github.com/cjheath/treetop).

### Ecosystem
Treetop is packaged for various Linux distributions, including Gentoo (`dev-ruby/treetop`) and openSUSE (`rubygem-treetop-1_4`). It is also listed on Repology under the project name `ruby:treetop`, indicating its presence in package repositories. The official website provides documentation and user guides in English.

### Community and Support
The project benefits from an active community due to its open-source nature. Users can contribute to the project by accessing the source code on GitHub. The MIT License ensures that modifications and redistributions are permitted, fostering a collaborative environment.

## References

1. [Source](https://github.com/cjheath/treetop/blob/master/LICENSE)
2. [Release 1.2.5. 2009](https://github.com/cjheath/treetop/releases/tag/v1.2.5)
3. [Release 1.4.10. 2011](https://github.com/cjheath/treetop/releases/tag/v1.4.10)
4. [Release 1.4.11. 2012](https://github.com/cjheath/treetop/releases/tag/v1.4.11)
5. [Release 1.4.12. 2012](https://github.com/cjheath/treetop/releases/tag/v1.4.12)
6. [Release 1.4.14. 2013](https://github.com/cjheath/treetop/releases/tag/v1.4.14)
7. [Release 1.4.15. 2013](https://github.com/cjheath/treetop/releases/tag/v1.4.15)
8. [Release 1.5.0. 2014](https://github.com/cjheath/treetop/releases/tag/v1.5.0)
9. [Release 1.5.1. 2014](https://github.com/cjheath/treetop/releases/tag/v1.5.1)
10. [Release 1.5.3. 2014](https://github.com/cjheath/treetop/releases/tag/v1.5.3)
11. [Release 1.6.4. 2016](https://github.com/cjheath/treetop/releases/tag/v1.6.4)
12. [Release 1.6.5. 2016](https://github.com/cjheath/treetop/releases/tag/v1.6.5)
13. [Release 1.6.10. 2018](https://github.com/cjheath/treetop/releases/tag/v1.6.10)
14. [Release 1.6.11. 2020](https://github.com/cjheath/treetop/releases/tag/v1.6.11)
15. [Release 1.6.12. 2022](https://github.com/cjheath/treetop/releases/tag/v1.6.12)
16. [Release 1.6.14. 2025](https://github.com/cjheath/treetop/releases/tag/v1.6.14)