Unix 是否有MKS Yacc的替代方案支持;“选择首选项语法”;或者类似的东西?

Unix 是否有MKS Yacc的替代方案支持;“选择首选项语法”;或者类似的东西?,unix,open-source,yacc,Unix,Open Source,Yacc,MKS Yacc支持其网站称为“”的符号。未对其进行说明,但它由方括号中的标记组成,可选地带有插入符号,并指示特定标记需要遵循或不需要遵循其余规则: non_terminal: TOKEN1 non_terminal2 TOKEN2 [TOKEN3] non_terminal: TOKEN1 non_terminal2 TOKEN2 [^TOKEN3] (我不清楚括号中的项是否可以是非终结符。我看到的使用符号的代码总是使用一个标记或两个空格分隔的标记,而不是非终结符。) 有人知道在Uni

MKS Yacc支持其网站称为“”的符号。未对其进行说明,但它由方括号中的标记组成,可选地带有插入符号,并指示特定标记需要遵循或不需要遵循其余规则:

non_terminal:  TOKEN1 non_terminal2 TOKEN2 [TOKEN3]

non_terminal:  TOKEN1 non_terminal2 TOKEN2 [^TOKEN3]
(我不清楚括号中的项是否可以是非终结符。我看到的使用符号的代码总是使用一个标记或两个空格分隔的标记,而不是非终结符。)

有人知道在Unix或Linux机器上运行的替代Yacc兼容系统(最好是开源系统)提供相同的支持(符号可以不同-功能不能不同),最好是源代码格式

(MKS Yacc在处理错误和调整错误行为方面也提供了一定的灵活性。一种可以使用的方法是,当关键字被视为关键字时,如果它们处于毫无意义的位置,则将其视为标识符。我能够将其改装成
byacc
-Berkeley Yacc-但我没有没有足够的时间研究如何处理“选择首选项”。)



另请参见:

为了完整起见,因为我在回答中将此链接到了您的另一个版本,似乎有一个来自Call的产品,类似于yacc,支持选择器语法。它们位于Kitchner中,显然与MKS密切相关,但从网站上看,它们似乎也负责MKS的文档,因此ybe如果所有其他方法都失败,您可以将其称为“询问这些选择首选项到底是什么意思”。-

只是为了完整起见,因为我在答案中将此链接到了您的其他版本,因此似乎有一个来自called的产品,类似于yacc,并且支持选择器语法。他们在Kitchner,显然与MKS有着密切的联系,但从网站上看,他们似乎也负责MKS的文档,因此,如果其他一切都失败了,你可以打电话给他们,问他们这些选择偏好到底是什么意思。;-)