# Install treecc with Homebrew, MacPorts

Aspect-oriented approach to writing compilers. Version 0.3.10 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:treecc
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install treecc
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install treecc
```

  Evidence: MacPorts ports tree: devel/treecc/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:treecc
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/treecc>
- **Version:** 0.3.10
- **Source summary:** Aspect-oriented approach to writing compilers
- **Homepage:** <https://gnu.org/software/dotgnu/treecc/treecc.html>
- **Repository:** <https://git.savannah.gnu.org/cgit/dotgnu-pnet>
- **Upstream docs:** <https://www.gnu.org/software/dotgnu/treecc/treecc.html>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://download.savannah.gnu.org/releases/dotgnu-pnet/treecc-0.3.10.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- treecc (cli)
- treecc (alias)

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.3.10
- Local data: ok
- Upstream repository: https://gnu.org/software/dotgnu/treecc/treecc.html
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

treecc is an older GNU/DotGNU compiler-construction tool for generating tree-building and tree-walking code from declarative input files.

### Project history

The GNU treecc manual frames the tool as a complement to lex and yacc: traditional parser tools help with tokenizing and parsing, but leave semantic analysis, tree construction, and code generation largely to the programmer.

treecc's approach is to use a simple rule-based language, with embedded implementation code, that a translator converts into ordinary source code. The generated code helps build and walk trees and checks that relevant operations have been implemented for node types.

Historically, treecc lived inside the DotGNU/Portable.NET world. GNU's DotGNU page lists Portable.NET as an implementation of the Common Language Infrastructure and records releases that included TreeCC in the mid-2000s; it also states that DotGNU was decommissioned as of December 2012 except for libjit.

### Adoption history

treecc appears to have remained a niche compiler-construction utility rather than becoming a general parser ecosystem. Its package-manager interest is mostly archival and practical: keeping old DotGNU-era source packages buildable and keeping a small AOP-influenced compiler helper available.

### How it is used

The documented command form is `treecc [OPTIONS] INPUT ...`, with options to select output and header files, Java output directories, extensions, forced creation, no-output checking, and option values supplied from the command line.

### Why package nerds care

treecc is significant mainly as a preserved GNU-era compiler tool: small, specific, historically tied to Portable.NET, and useful to package maintainers who care about old language-runtime experiments.

### Timeline

- 2004: GNU DotGNU news records Portable.NET 0.6.4 and Treecc 0.3.0.
- 2005: GNU DotGNU news records Portable.NET 0.6.12 and TreeCC 0.3.6.
- 2009: The published treecc manual HTML was generated from its Texinfo source.
- 2012: GNU states the DotGNU project was decommissioned except for libjit.

### Related projects

- treecc was related to DotGNU Portable.NET, pnetC, pnetlib, and libjit in the old GNU/DotGNU stack.
- Conceptually it sits near lex/yacc-style compiler tools, but focuses on tree-building and tree-walking rather than lexical analysis or parsing.

### Sources

- <https://www.dotgnu.org/pnet-git.html>
- <https://www.gnu.org/software/dotgnu/>
- <https://www.gnu.org/software/dotgnu/treecc/treecc.html>
- <https://www.gnu.org/software/dotgnu/treecc/treecc_1.html>
- <https://www.gnu.org/software/dotgnu/treecc/treecc_3.html>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** treecc
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- MacPorts - treecc: normalized package name match | MacPorts ports tree: devel/treecc/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [autogen](https://www.automicvault.com/pkg/brew/autogen/) - Shares av.db curated category or tags: cli, code-generation, developer-tools, gnu.
- [gperf](https://www.automicvault.com/pkg/brew/gperf/) - Shares av.db curated category or tags: cli, code-generation, developer-tools, gnu.
- [configen](https://www.automicvault.com/pkg/brew/configen/) - Shares av.db curated category or tags: cli, code-generation, developer-tools.
- [counterfeiter](https://www.automicvault.com/pkg/brew/counterfeiter/) - Shares av.db curated category or tags: cli, code-generation, developer-tools.
- [cproto](https://www.automicvault.com/pkg/brew/cproto/) - Shares av.db curated category or tags: cli, code-generation, developer-tools.
- [crcany](https://www.automicvault.com/pkg/brew/crcany/) - Shares av.db curated category or tags: cli, code-generation, developer-tools.
- [create-api](https://www.automicvault.com/pkg/brew/create-api/) - Shares av.db curated category or tags: cli, code-generation, developer-tools.
- [dhall-bash](https://www.automicvault.com/pkg/brew/dhall-bash/) - Shares av.db curated category or tags: cli, code-generation, developer-tools.
- [bison](https://www.automicvault.com/pkg/brew/bison/) - Local package facts share a topical domain. Shared terms: cli, compiler, compiler-tools, developer, developer-tools.
- [source-highlight](https://www.automicvault.com/pkg/brew/source-highlight/) - Local package facts share a topical domain. Shared terms: cli, code, developer, developer-tools, generation.

## Combined YAML source

View the package source record on GitHub. [combined/treecc.yml](https://github.com/automic-vault/db/blob/main/combined/treecc.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
