在这种情况下,下推自动机是否有用?

时间:2016-10-25 16:20:34

标签: pushdown-automaton automaton

在大学里,他们让我使用语法和下推自动机来检查一部分Java代码的语法。由于我之前没有使用过这个自动机,我已经了解了它们的工作方式,我认为这个自动机在检查代码语法方面不是很有用,因为下推自动机用于验证任何令牌之间有一定比例的语法比如“0 ^ n 1 ^ 2n | n> = 0”。

令牌之间的比例在代码语法中不存在,因此我认为下推自动机在这种情况下没用。

  • 我是对的?
  • 我是否必须抱怨他们要求我做的这项工作?

1 个答案:

答案 0 :(得分:0)

非确定性下推接受者(NPDA)和上下文无关语法(CFG)在表示语言方面具有相同的权力。

由于大多数(如果不是全部)编程语言(如java)语法可以由CFG呈现,它也可以由NPDA呈现。

所以,没有抱怨,做任务。