首页 > 解决方案 > 如何模拟while循环?

问题描述

我有一个问题。假设我有一种语言,它只分配给变量、一些操作,但只有 do-while 作为流控制结构。我怎样才能模拟一段时间的结构?

让我们假设这个简单的语法更容易沟通,但我接受任何其他可读的语法:

X->S | A
S->do { X } while ( E ); | print(E) | input();
A->var id = E;
E->true | false | integer | E == E

有了这个语法,我们就可以有很多程序了。我要问的是,¿是否可以模拟 while 循环行为,或受此限制的 if() 行为?

如果不是,我如何证明这种语言不如仅使用 while() 的语言。(或一种方法)

我已经证明这一点的主要问题来自“无迭代”流程,在一个while循环中,你可以有一个没有迭代的代码,使用“while语言”我可以跳过代码,但我不是能够找到任何解决方案,既不是通过重新排列句子或尝试其他方式来做到这一点。

标签: programming-languagescomputability

解决方案


推荐阅读