首页 > 解决方案 > 吃鸡编程你好世界

问题描述

为了“有趣”,我试图理解深奥的编程语言Chicken,但似乎无法理解。Hello World 示例是我试图完全理解的示例。许多网站都引用了torso.me/Chicken,但不幸的是,该网站似乎已关闭。

使用 Esolang 提供的 Hello World 代码,我有几个问题: Q1:在第 12、13 和 14 行有 10、17 和 3 只鸡。这意味着我认为 0 将被压入堆栈,然后 7 将被压入,然后堆栈的顶部两个值将彼此相减,但由于我们压入了 0 和 7,因此将是 7 - 0 = 7. 不能简单地删除第 12 行和第 14 行,还是我的解释完全错误?

Q2:第 57 行有 8 只鸡。所以一个跳转语句。但是对于跳转语句,只有下一行的条件为真。下一行有 11 只鸡,所以只需推动 1,我认为这将永远是真的,这是否意味着它会继续循环?

Q3:我认为我没有从根本上理解一些东西。下面是一个简单的示例代码以及我期望该程序做的事情:

12 Chickens = Push 2 => Stack (bottom to top) => 2
15 Chickens = Push 5 => Stack (bottom to top) => 2 - 5
4 Chickens = multiply => Stack (bottom to top) => 10
11 Chickens = Push 1 => Stack (bottom to top) => 10 - 1
6 Chickens = Load next instructions 0 loads from stack
10 Chickens so load from stack top of stack points to stack index => 10 - 1 - 10
15 Chickens = Push 5 => Stack (bottom to top) => 10 - 1 - 10 - 5
12 Chickens = Push 2 => Stack (bottom to top) => 10 - 1 - 10 - 5 - 2
7 Chickens = Store => Stack (bottom to top) => 10 - 5 - 10 - 2
43 Chickens = Push 33 => Stack (bottom to top) => 10 - 5 - 10 - 2 - 33
9 Chickens = char => Stack (bottom to top) => 10 - 5 - 10 - 2 - 33 - !

任何帮助将不胜感激。

标签: esoteric-languages

解决方案


推荐阅读