0

有人可以举一个函数声明和函数使用的野牛语法示例,如果声明和使用中的参数数量不同,解析器会产生错误吗?

4

1 回答 1

2

这样的决定不能通过上下文无关文法来完成,即不可能将其写入 Bison 使用的“纯”文法(“纯”意指只包含带有符号的规则而没有嵌入动作的文法)。

为了完成您的任务,您需要将语义操作添加到语法的适当规则中,这些规则使用符号表在声明和使用该函数之间传达有关函数参数数量的信息(在声明规则中,您将条目添加到符号表,并在函数使用规则中检查参数的数量)。

传统上,此类检查被认为是语义分析的一部分,并且通常在语法分析(解析)之后的单独步骤中完成。

于 2015-11-10T11:44:04.737 回答