需要帮助了解优先顺序

时间:2010-12-19 20:51:58

标签: grammar operator-precedence

有人能给我一个简短的描述,说明如何在语法中确定一件事与另一件事的优先顺序吗?我似乎无法在我的书籍或网上找到一个好的答案,尽管我很确定它非常简单。实施例

S-> B
B-> B and T | T
T-> T or F | F
F-> not F| (B)|true|false

问题是“什么是优先权”和“相对于”或“在上述语法中?”。

“和”的优先级低于“或”,但我不确定原因。

1 个答案:

答案 0 :(得分:1)

符号B代表and语句,其定义包含T or。您可以从andor,但不是相反。因此,如果您将语言语句视为堆栈,您将继续进行替换并添加到堆栈顶部,直到您最终评估整个语句,然后当您弹出项目时,您将反向并{ {1}}语句将始终位于or之上(因此在之前进行评估)。希望这是有道理的。