问题标签 [esoteric-languages]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
compilation - 为什么 Befunge 被认为难以编译?
Befunge 的设计目标之一是难以编译。但是,它很容易解释。可以用传统语言编写解释器,比如 C。要将 Befunge 程序翻译成等效的机器代码,可以将 Befunge 代码硬编码到 C 解释器中,然后将生成的 C 程序编译为机器代码。或者“编译”是否意味着排除这种翻译的更受限制的东西?
conditional-statements - 深奥的语言,ComeFrom 命令
其中一种深奥的语言引入了ComeFrom
命令,它与以下相反Goto
:
等于:
我的问题是:如何实现条件跳转ComeFrom
?
brainfuck - Brainfuck语言中的记忆指数
我是这种语言的新手。
命令<
用于递减内存索引的指针。
下面的代码用于添加两个个位数。
根据这个程序,它首先接受输入,然后将其存储在 memory[0] 中,因为最初的内存索引位于位置 0。然后它递减内存索引,使其现在变为 -1,因此它应该显示运行时。为什么它在 IDEone 中运行成功?
内存块是否处于循环中?
esoteric-languages - Befunge 98:来自标准输入的 eof
当遇到 EOF 时, befunge-98~
中的指令的预期行为是什么?
直观地说,它应该将 -1 放在堆栈上,但我发现在这方面有一些变化:
- Befunge-93 JS解释器遵循“直观”的方式。(以下脚本输出:“
-1 -1 97
”) - Michael Riley 的解释器将 EOF 视为 LF 字符(ASCII 10),并在读取额外(不存在的)字符时将其置于顶部。(输出:“
10 10 97
”) - Matti Niemenmaa 的解释器也将 EOF 视为 LF,但在读取额外字符时继续等待用户输入。(无输出)
这是测试:
使用 test.fg 如下(读取三个字符并输出它们的代码):
实际上是否存在正确处理 EOF 的解释器(即与 LF 不同)并且仍然支持完整的 befunge-98 规范?
compiler-construction - 图灵完备语言中最小的编译器?
Brainfuck 以其极小的编译器而闻名。我有一个非常小的设备,它的数据可能甚至无法容纳最小的 Brainfuck 编译器。有没有一种深奥的编程语言,它的编译器比 Brainfuck 还要小,并且是一种图灵完备的语言? 这已经过时了,但请随时提出您自己的答案,我会检查
virtual-machine - 如果我的 malbolge 程序只包含 1 条指令,应该填充什么内存?
根据'98 的原始规范,Ben Olmstead Malbolge VM 对先前的两个单元使用疯狂的操作来填充空的内存单元。“通过对前两个单元重复执行操作来设置未初始化的单元。” IE
如果程序只包含 1 条指令,我应该怎么做?
或者我应该假设最后一个字符总是EOF
?
mime-types - 什么是深奥语言的正确 mime 类型
什么是正确的 mime 类型的深奥语言?
我到处搜索,我什至试图问 Chuck Norris,但我在任何地方都找不到答案。
我已经为 Brainfuck 尝试过这些:
但它们似乎都不起作用。
binary - WireWorld 中的信号格式?
WireWorld 元胞自动机规则(语言)中使用哪些格式在模式(程序)的各个部分之间发出信号?
if-statement - 在 Brainfuck 中创建 if(x==y) 语句
所以我正在开发一个读取文件然后再次输出的程序,但是我无法让程序在文件末尾停止输入。我希望它停在一个特定的字符上,比如 '0' 或 '$' 或任何其他字符,因为我的 Brainf 解释器无法将一个字符 NULL 读入。这是到目前为止的代码:
问题开始于[>,]
输入永远不会是 NULL 这个循环永远不会结束。
那么如何插入一个 if 语句来终止这个循环,如果它到达一个预先指定的结束字符呢?