我有这样的有效结构
start if
start if
start end
start else
start if
start if
end if
end if
start end
如何验证非结构化语句?(语法错误,即如果正确则不能结束启动)
任何算法或逻辑都是一种帮助。
答案 0 :(得分:0)
使用像Stack这样的数据结构。如果你看到一些东西开始,或者开始其他推送到堆栈。如果你看到从堆栈弹出结束。然后检查违反结构的条件。例如,尝试从空堆栈中弹出(意味着您刚刚看到并结束语句而没有任何启动),这应该被视为违规。请注意,还有更多,但这应该是一个很好的例子,让您可以自己开始考虑它们。
以上是有效的算法,通过调整解决了上述许多问题。我建议阅读有关反向抛光符号的内容,它非常相似。