我写了一个更多类型的 test.y 文件。经过一定的限制,当我用命令编译文件时,go tool yacc test它恐慌,“在 yacc.go:891 中索引超出范围”当我查看文件https://golang.org/src/cmd/yacc/yacc.go 时,我在定义常量时看到了这个评论“以下可根据内存大小进行调整”是否有理由将第 74 行中的类型定义数量限制为 63(NTYPES = 63)(在上面链接中提到的文件中)
2 回答
侃侃尔雅
TA贡献1801条经验 获得超16个赞
有趣 - 我已经使用了go tool yacc
很多并且没有注意到这个限制。
之所以这样,是因为它是yacc.go
从 C 程序移植过来的,你看到的是明显的直接移植。
查看yacc.go
它的代码将非常简单地删除该限制并将typeset
数组转换为切片。
我会做的是打开一个问题(检查一个问题是否存在 - 我没有看到一个,但我没有仔细看)。接下来,如果您觉得勇敢,请使用go 贡献指南提交补丁。这是为 go 本身做贡献的好方法。
- 2 回答
- 0 关注
- 155 浏览
添加回答
举报
0/150
提交
取消