是否有MKS Yacc的替代品支持“选择偏好语法”或类似的东西?

时间:2009-01-24 09:31:19

标签: unix open-source yacc

MKS Yacc支持其网站称为“selection preference syntax”的表示法。它没有被说明,但它由方括号中的标记组成,可选地带有插入符号,它表示特定标记需要遵循或不必遵循其余规则:

non_terminal:  TOKEN1 non_terminal2 TOKEN2 [TOKEN3]

non_terminal:  TOKEN1 non_terminal2 TOKEN2 [^TOKEN3]

(我不清楚括号中的项目是否可以是非终端。我使用符号看到的代码总是使用令牌或几个空格分隔的令牌,而不是非终端。)< / p>

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

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


另请参阅:Has anyone used the "selection preference" mechanism provided by MKS Yacc?

1 个答案:

答案 0 :(得分:1)

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