0
Q
转换减少冲突
A
回答
1
悬挂其他问题的基本含义是这样的:
if (x) then if (y) then a; else b;
可被分析为要么
if (x) then {
if (y) {
then a;
else b;
}
}
或
if (x) then {
if (y)
then a;
}
else b;
大多数语言要求第一个 - 和这正是yacc所做的,所以它很少是一个真正的问题(事实上,yacc的S/R冲突很少是m关心的问题)。
相关问题
- 1. 转换减少冲突
- 2. yacc转换/减少冲突
- 3. yacc有一个转换/减少冲突
- 4. 转换减少野牛语法冲突
- 5. 转变/减少冲突
- 6. 如何解决强制转换或减少的转换/减少冲突?
- 7. 野牛减少/减少冲突
- 8. 野牛:减少/减少冲突
- 9. YACC语法减少/减少冲突
- 10. 野牛转变/减少冲突
- 11. 如何解决转变/减少冲突?
- 12. 转移/减少与SableCC的冲突
- 13. 缩小/减少冲突
- 14. 野牛移减少冲突
- 15. 移位/减少冲突yacc
- 16. YACC降低/减少冲突
- 17. 移位减少冲突
- 18. 移位/减少冲突byaccj
- 19. 移位减少冲突
- 20. 永久转换 - 减少Goldparser中的冲突
- 21. 这个Bison代码中的转换/减少冲突在哪里?
- 22. 转换/减少冲突与if ... else语句
- 23. 一个明确的语法上的yacc转换/减少冲突
- 24. 野牛减少/减少,移位/减少冲突
- 25. 分析器移位/减少减少/减少冲突
- 26. 由于括号冲突/减少LALR(1)冲突
- 27. 我得到了与银联的冲突/减少冲突
- 28. 语法冲突 - 减少冲突Gold稀疏
- 29. Jison:减少实际上没有冲突的冲突
- 30. yacc减少/减少冲突我无法解释
无论他们是否担心,只有在了解它是什么以及它为什么出现在语法中的特定位置后才能说出。 LadyMadonne234试图理解它真的很好。 – Ingo 2011-04-10 20:55:19
@Ingo:哦,对此我没有任何争论。我只是注意到(例如)决定试图从语法中摆脱所有的S/R冲突,这是很不值得的。 – 2011-04-10 20:57:57
谢谢,这很清楚问题是什么。但是,你能否解释下面显示的改进语法如何解决问题? 'full_if:something | IF expression THEN full_if ELSE full_if ; open_if:IF expression THEN语句 | IF表达式然后full_if ELSE open_if ;' 所以在堆栈中,如果你有一个语句,如“如果A然后如果B然后C否则D” - 对我来说,它仍然看起来像你有同样的问题......即,如果你在“如果A然后如果B然后C”并且你看到一个Else到来,你仍然可以使用open_if规则的第一部分减少对吗? – LadyMadonna234 2011-04-10 21:08:16