Answers:
^"
>#001p#"<>:#,_@#1-8*3:-1*57+55-1*79*57:-1:*77**278\-1:*57$p:1: error: declaration expected
在线尝试!:Befunge-93,C
感谢randomdude999指出文件名需要匹配的引号才能起作用。
必须保存在文件名下^"\n>#001p#"<>:#,_@#1-8*3:-1*57+55-1*79*57:-1:*77**278\-1:*57$p
,其中\n
是换行符。因此,用于C的TIO不能完全按预期运行。经测试可在Lubuntu上使用。
该程序无法编译,并且tcc愉快地输出文件名作为其错误消息的一部分。根据代码的开头,您可能会遇到多个编译错误。^
开始时给我们一个declaration expected
简短的字母,不包含任何有问题的字符如"
。另一方面,gcc和clang开发人员非常悲观,他们选择一次输出多个错误,这不是很好,因此我们不使用它们的编译器。
由于"
命令切换字符串模式,因此Befunge的代码使用方便,因为它们的代码也可用作字符数据。首先,我们执行一些无用的堆栈操作,然后发出p
(放置命令)将NUL字符放置在(0,1)处。然后,我们将指令指针反射到左侧,并开始以字符串形式读取所有内容。由于堆栈的LIFO性质,因此必须向左执行此操作。环绕并"
再次到达字符后,字符串结束。请注意,NUL字符替换了$
字符,在字符串的中间创建一个定界符。然后,我们将3个数字压入堆栈并跳过NUL(因为不幸的是,作为指令运行时,它会挂住解释器)。错误消息的静态部分必须在这里执行。它的大多数字符都是无操作的,但是该p
命令使用三个参数(因此为什么我们要压入3个数字,否则将在这里吃掉一部分字符串),而:
&1
字符会将总共4个值压入堆栈,我们用a p
和a $
(弹出和丢弃)指令进行抵消。然后,执行某种算术以将ASCII码压入^"\n>#001p#"
,最后循环将所有值作为字符打印出堆栈,直到找到NUL字符并终止。
/
。我现在无法测试自己。
<define>:1: error: missing terminating " character
。
?SYNTAX ERROR
在Apple []仿真器中,RESET按键进入BASIC模式。
在Commodore LCD仿真器中,单击RightArrowEnter进入BASIC应用程序。
请勿同时输入?SYNTAX ERROR
全部大写字母,因为它们会自动大写。