# 使用 Homebrew 安装 goyacc

查看 goyacc 的安装路径、可执行文件、元数据以及面向 AI 代理工作流的安全说明。

## 安装

```sh
sudo av install brew:goyacc
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install goyacc
```

  证据: local Homebrew formula metadata

## 软件包事实

- **软件包键:** brew:goyacc
- **软件包管理器:** Homebrew
- **版本:** 1.0.3
- **来源摘要:** Parser Generator for Go
- **主页:** <https://pkg.go.dev/modernc.org/goyacc>
- **最后更新:** 2026-07-25T20:55:27-04:00
- **已生成:** 2026-08-03T19:37:03+00:00

## 可执行文件

- goyacc (别名)

## 安装行为

- Bottle: 不可用

## 版本和新鲜度

- 页面生成时间: 2026-08-03
- 管理器版本: 1.0.3
## 项目历史与用法

modernc.org/goyacc is Jan Mercl's Go parser-generator command derived from the Go toolchain's goyacc lineage. It reads yacc grammars and emits Go parsers, while adding compatibility and diagnostics features beyond the older `go tool yacc` style.

### 项目历史

The modernc.org implementation begins in public history in November 2014. Its source comments state that it uses portions of code previously published in the Go tool `yacc` program, while the Go tools documentation describes that upstream goyacc as largely transliterated from Inferno's Limbo version, itself largely transliterated from the Plan 9 C version.

The project moved its import path and repository root to modernc.org in 2018, and pkg.go.dev records `gitlab.com/cznic/goyacc` as the repository for the modernc.org module.

### 采用历史

goyacc is part of a long Unix parser-generator tradition adapted for Go. The Go project used goyacc as an example in the Go 1.4 `go generate` announcement, showing how generated parsers fit into Go package maintenance even though generation is run explicitly by package authors.

### 使用方式

The command accepts a yacc input file or standard input and writes a Go parser, defaulting to `y.go`, with options for the symbol prefix, parser report output, follow sets, conflict explanations, and generated error examples. Generated parsers use a Go lexer interface instead of C yacc globals.

### 为什么软件包爱好者会关心

For package maintainers, goyacc is a compact bridge between old compiler-construction workflows and Go modules: grammars can live beside Go source, generation can be driven by `go generate`, and the installed binary is small enough to package directly in Homebrew.

### 时间线

- 2014: modernc.org/goyacc public history begins and records the initial release work.
- 2014: Go 1.4 introduces `go generate`, with goyacc used as a code-generation example.
- 2015: The modernc.org command adds generated error-message support via examples.
- 2017: The command adds follow-set reporting.
- 2018: The project moves its repository root to modernc.org and tags v1.0.0.
- 2023: v1.0.3 tag updates dependencies.

### Related projects

- golang.org/x/tools/cmd/goyacc is the Go tools implementation in the same yacc-for-Go lineage.
- Plan 9 yacc and Inferno yacc are earlier implementations named in the Go tools documentation.
- modernc.org/y and modernc.org/parser/yacc are related modernc parser packages used by the command.

### 来源

- <https://gitlab.com/cznic/goyacc>
- <https://go.dev/blog/generate>
- <https://pkg.go.dev/golang.org/x/tools/cmd/goyacc>
- <https://pkg.go.dev/modernc.org/goyacc>


## 安全说明

narrow executable package without higher-risk signals.

- **Geiger 风险:** 绿色 / 低
- narrow executable package without higher-risk signals


## Combined YAML source

View the package source record on GitHub. [combined/goyacc.yml](https://github.com/mxcl/pkgdb/blob/main/combined/goyacc.yml)


## 来源

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- cross-ecosystem install command graph
